Page MenuHomeFreeBSD

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index 91b19cc67d7a..471ca6e5a946 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -1,357 +1,357 @@
PORTNAME= chromium
-PORTVERSION= 110.0.5481.177
+PORTVERSION= 111.0.5563.64
CATEGORIES= www wayland
MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \
https://nerd.hu/distfiles/:external
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
chrome-linux-${PORTVERSION}-llvm13.profdata${EXTRACT_SUFX}:external
MAINTAINER= chromium@FreeBSD.org
COMMENT= Google web browser based on WebKit
WWW= https://www.chromium.org/Home
LICENSE= BSD3CLAUSE LGPL21 MPL11
LICENSE_COMB= multi
ONLY_FOR_ARCHS= aarch64 amd64 i386
BUILD_DEPENDS= bash:shells/bash \
${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \
gperf:devel/gperf \
flock:sysutils/flock \
node:www/node \
xcb-proto>0:x11/xcb-proto \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
${LOCALBASE}/share/usbids/usb.ids:misc/usbids \
${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \
${LOCALBASE}/include/va/va.h:multimedia/libva \
${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \
${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \
${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
libatspi.so:accessibility/at-spi2-core \
libspeechd.so:accessibility/speech-dispatcher \
libsnappy.so:archivers/snappy \
libFLAC.so:audio/flac \
libopus.so:audio/opus \
libspeex.so:audio/speex \
libdbus-1.so:devel/dbus \
libdbus-glib-1.so:devel/dbus-glib \
libepoll-shim.so:devel/libepoll-shim \
libevent.so:devel/libevent \
libffi.so:devel/libffi \
libicuuc.so:devel/icu \
libjsoncpp.so:devel/jsoncpp \
libpci.so:devel/libpci \
libnspr4.so:devel/nspr \
libre2.so:devel/re2 \
libcairo.so:graphics/cairo \
libdrm.so:graphics/libdrm \
libexif.so:graphics/libexif \
libpng.so:graphics/png \
libwebp.so:graphics/webp \
libopenh264.so:multimedia/openh264 \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz \
libharfbuzz-icu.so:print/harfbuzz-icu \
libgcrypt.so:security/libgcrypt \
libsecret-1.so:security/libsecret \
libnss3.so:security/nss \
libexpat.so:textproc/expat2 \
libfontconfig.so:x11-fonts/fontconfig \
libwayland-client.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon \
libxshmfence.so:x11/libxshmfence
RUN_DEPENDS= xdg-open:devel/xdg-utils \
noto-basic>0:x11-fonts/noto-basic
USES= bison compiler:c++17-lang cpe desktop-file-utils gl gnome iconv jpeg \
localbase:ldflags ninja perl5 pkgconfig python:3.7+,build qt:5 shebangfix \
tar:xz xorg
CPE_VENDOR= google
CPE_PRODUCT= chrome
USE_GL= gbm gl
USE_GNOME= atk dconf gdkpixbuf2 glib20 gtk30 libxml2 libxslt
USE_LDCONFIG= ${DATADIR}
USE_PERL5= build
USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \
xorgproto xrandr xrender xscrnsaver xtst
USE_QT= buildtools:build
SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format
MAKE_ARGS= -C out/${BUILDTYPE}
ALL_TARGET= chrome
BINARY_ALIAS= python3=${PYTHON_CMD} \
moc=${PREFIX}/bin/moc-qt5
# TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn)
#
# Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables.
# Some parts don't have use_system_* flag, and can be turned on/off by using
# replace_gn_files.py script, some parts just turned on/off for target host
# OS "target_os == is_bsd", like libusb, libpci.
GN_ARGS+= clang_use_chrome_plugins=false \
enable_backup_ref_ptr_support=false \
enable_hangout_services_extension=true \
enable_js_type_check=false \
enable_nacl=false \
enable_remoting=false \
fatal_linker_warnings=false \
icu_use_data_file=false \
is_clang=true \
optimize_webui=true \
toolkit_views=true \
treat_warnings_as_errors=false \
use_allocator_shim=false \
use_aura=true \
use_custom_libcxx=false \
use_gnome_keyring=false \
use_lld=true \
use_partition_alloc=true \
use_partition_alloc_as_malloc=false \
use_sysroot=false \
use_system_freetype=false \
use_system_harfbuzz=true \
use_system_libffi=true \
use_system_libjpeg=true \
use_udev=false \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
# TODO: investigate building with these options:
# use_system_minigbm
GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
# FreeBSD Chromium Api Key
# Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
# Note: these are for FreeBSD use ONLY. For your own distribution,
# please get your own set of keys.
GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8"
SUB_FILES= chromium-browser.desktop chrome
SUB_LIST+= COMMENT="${COMMENT}"
OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO TEST
OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO
OPTIONS_EXCLUDE_aarch64=LTO
OPTIONS_GROUP= AUDIO
OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO
OPTIONS_RADIO= KERBEROS
OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT
OPTIONS_SUB= yes
CODECS_DESC= Compile and enable patented codecs like H.264
DRIVER_DESC= Install chromedriver
HEIMDAL_BASE_DESC= Heimdal Kerberos (base)
HEIMDAL_DESC= Heimdal Kerberos (security/heimdal)
MIT_DESC= MIT Kerberos (security/krb5)
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \
alsa-lib>=1.1.1_1:audio/alsa-lib
ALSA_VARS= GN_ARGS+=use_alsa=true
ALSA_VARS_OFF= GN_ARGS+=use_alsa=false
CODECS_VARS= GN_ARGS+=ffmpeg_branding="Chrome" \
GN_ARGS+=proprietary_codecs=true
CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \
GN_ARGS+=proprietary_codecs=false
CUPS_LIB_DEPENDS= libcups.so:print/cups
CUPS_VARS= GN_ARGS+=use_cups=true
CUPS_VARS_OFF= GN_ARGS+=use_cups=false
DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild
DEBUG_VARS= BUILDTYPE=Debug \
GN_ARGS+=is_debug=true \
GN_ARGS+=is_component_build=false \
GN_ARGS+=symbol_level=1 \
GN_BOOTSTRAP_FLAGS+=--debug \
WANTSPACE="21 GB"
DEBUG_VARS_OFF= BUILDTYPE=Release \
GN_ARGS+=blink_symbol_level=0 \
GN_ARGS+=is_debug=false \
GN_ARGS+=is_official_build=true \
GN_ARGS+=symbol_level=0 \
WANTSPACE="14 GB"
DRIVER_MAKE_ARGS= chromedriver
HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal
KERBEROS_VARS= GN_ARGS+=use_kerberos=true
KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false
LTO_VARS= GN_ARGS+=use_thin_lto=true \
GN_ARGS+=thin_lto_enable_optimizations=true \
WANTSPACE="14 GB"
LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false
MIT_LIB_DEPENDS= libkrb.so.3:security/krb5
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true
PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false
# With SNDIO=on we exclude audio_manager_linux from the build (see
# media/audio/BUILD.gn) and use audio_manager_openbsd which does not
# support falling back to ALSA or PulseAudio.
SNDIO_PREVENTS= ALSA PULSEAUDIO
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_VARS= GN_ARGS+=use_sndio=true
SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
.include "Makefile.tests"
TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \
test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz:external
TEST_ALL_TARGET= ${TEST_TARGETS}
.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>
.if ${OSREL} == "12.3"
IGNORE= does not compile, libc++ too old
.endif
.if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so)
IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base
.endif
.if ${COMPILER_VERSION} != 130
LLVM_DEFAULT= 13
BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \
cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \
c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \
ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \
nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \
ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT}
.else
BINARY_ALIAS+= ar=/usr/bin/llvm-ar \
nm=/usr/bin/llvm-nm
.endif
# swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only
.if ${ARCH} == aarch64
PLIST_SUB+= NOT_AARCH64="@comment "
.else
PLIST_SUB+= NOT_AARCH64=""
.endif
# Allow relocations against read-only segments (override lld default)
LDFLAGS_i386= -Wl,-znotext
# TODO: -isystem, would be just as ugly as this approach, but more reliably
# build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set.
MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
CPLUS_INCLUDE_PATH=${LOCALBASE}/include
pre-everything::
@${ECHO_MSG}
@${ECHO_MSG} "To build Chromium, you should have around 2GB of memory"
@${ECHO_MSG} "and around ${WANTSPACE} of free disk space."
@${ECHO_MSG}
post-extract-TEST-on:
@${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts
@${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/
pre-configure:
# We used to remove bundled libraries to be sure that chromium uses
# system libraries and not shipped ones.
# cd ${WRKSRC} && ${PYTHON_CMD} \
#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
./build/linux/unbundle/replace_gn_files.py --system-libraries \
flac fontconfig freetype harfbuzz-ng icu libdrm libevent libpng \
libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE}
# Chromium uses an unreleased version of FFmpeg, so configure it
.for brand in Chrome Chromium
${CP} -R \
${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/linux/ \
${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/freebsd
.endfor
do-configure:
# GN generator bootstrapping and generating ninja files
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \
READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \
./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS}
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \
gen --args='${GN_ARGS}' out/${BUILDTYPE}
# Setup nodejs dependency
@${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin
${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node
# Setup buildtools/freebsd
@${MKDIR} ${WRKSRC}/buildtools/freebsd
${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd
${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd
${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip
do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \
${STAGEDIR}${MANPREFIX}/man/man1/chrome.1
@${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \
${STAGEDIR}${MANPREFIX}/man/man1/chrome.1
${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png
.for s in 22 24 48 64 128 256
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps
${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \
${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png
.endfor
${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR}
.for d in protoc mksnapshot
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR}
.endfor
.for d in snapshot_blob.bin v8_context_snapshot.bin
${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR}
.endfor
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \
${STAGEDIR}${DATADIR}
cd ${WRKSRC}/out/${BUILDTYPE} && \
${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR}
@${MKDIR} ${STAGEDIR}${DESKTOPDIR}
${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \
${STAGEDIR}${DESKTOPDIR}
${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin
${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \
${STAGEDIR}${DATADIR}
# ANGLE, EGL, Vk
.for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
.endfor
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \
${STAGEDIR}${DATADIR}/libvulkan.so
.if ${BUILDTYPE} == Debug
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR}
.endif
# SwiftShader
.if ${ARCH} != aarch64
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR}
.endif
post-install-DEBUG-on:
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \
${STAGEDIR}${DATADIR}
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \
${STAGEDIR}${DATADIR}
post-install-DRIVER-on:
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \
${STAGEDIR}${PREFIX}/bin/chromedriver
do-test-TEST-on:
.for t in ${TEST_TARGETS}
cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \
./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE}
.endfor
.include <bsd.port.post.mk>
diff --git a/www/chromium/distinfo b/www/chromium/distinfo
index 5aed2d667b40..78f48bfc872c 100644
--- a/www/chromium/distinfo
+++ b/www/chromium/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1677095067
-SHA256 (chromium-110.0.5481.177.tar.xz) = 7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7
-SIZE (chromium-110.0.5481.177.tar.xz) = 1703390456
-SHA256 (chrome-linux-110.0.5481.177-llvm13.profdata.tar.xz) = 15110efdd507aea4b7da04331f42bed05d0e883e42d196c1568c5dd4678d68ba
-SIZE (chrome-linux-110.0.5481.177-llvm13.profdata.tar.xz) = 26252440
-SHA256 (chromium-110.0.5481.177-testdata.tar.xz) = f8c092b99b1a29cbd6e7deb6868c84ac4e05a276584332971c0a578a7187b06d
-SIZE (chromium-110.0.5481.177-testdata.tar.xz) = 265092148
+TIMESTAMP = 1678302648
+SHA256 (chromium-111.0.5563.64.tar.xz) = 7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074
+SIZE (chromium-111.0.5563.64.tar.xz) = 1740670460
+SHA256 (chrome-linux-111.0.5563.64-llvm13.profdata.tar.xz) = 4cc5876ee99fad5560dc5530aa16d2ac528c5a0b0675fe4390d38de1aabbe837
+SIZE (chrome-linux-111.0.5563.64-llvm13.profdata.tar.xz) = 26296256
+SHA256 (chromium-111.0.5563.64-testdata.tar.xz) = 944ddbc5c47541498d18f0f4d49d8dfe2f38c3553e8d589c1150748c6c7383eb
+SIZE (chromium-111.0.5563.64-testdata.tar.xz) = 263698728
SHA256 (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8
SIZE (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = 32624734
diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn
index cb1d395e4284..2fe95839e835 100644
--- a/www/chromium/files/patch-BUILD.gn
+++ b/www/chromium/files/patch-BUILD.gn
@@ -1,89 +1,89 @@
---- BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ BUILD.gn
@@ -60,7 +60,7 @@ declare_args() {
root_extra_deps = []
}
-if (is_official_build) {
+if (is_official_build && !is_bsd) {
# An official (maximally optimized!) component (optimized for build times)
# build doesn't make sense and usually doesn't work.
assert(!is_component_build)
@@ -90,7 +90,6 @@ group("gn_all") {
"//codelabs",
"//components:components_unittests",
"//components/gwp_asan:gwp_asan_unittests",
- "//infra/orchestrator:orchestrator_all",
"//net:net_unittests",
"//sandbox:sandbox_unittests",
"//services:services_unittests",
-@@ -425,7 +424,7 @@ group("gn_all") {
- ]
+@@ -417,7 +416,7 @@ group("gn_all") {
+ }
}
- if (is_linux || is_chromeos || is_android) {
+ if ((is_linux && !is_bsd) || is_chromeos || is_android) {
deps += [
"//third_party/breakpad:breakpad_unittests",
"//third_party/breakpad:core-2-minidump",
-@@ -624,6 +623,15 @@ group("gn_all") {
+@@ -616,6 +615,15 @@ group("gn_all") {
}
}
+ if (is_bsd) {
+ deps -= [
+ "//third_party/breakpad:dump_syms($host_toolchain)",
+ "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
+ "//third_party/breakpad:minidump_dump($host_toolchain)",
+ "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
+ ]
+ }
+
if (is_mac) {
deps += [
"//third_party/breakpad:crash_inspector",
-@@ -672,7 +680,7 @@ group("gn_all") {
+@@ -664,7 +672,7 @@ group("gn_all") {
host_os == "win") {
deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
}
- } else if (!is_android && !is_ios && !is_fuchsia) {
+ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) {
deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
}
-@@ -1094,7 +1102,7 @@ if (!is_ios) {
+@@ -1086,7 +1094,7 @@ if (!is_ios) {
]
}
- if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) {
+ if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) {
# WPT Webdriver tests runner
# chrome/test/chromedriver/test/run_webdriver_tests.py
script_test("webdriver_wpt_tests") {
-@@ -1190,7 +1198,7 @@ if (!is_ios) {
+@@ -1186,7 +1194,7 @@ if (!is_ios) {
data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
}
- if (!is_win && !is_android) {
+ if (!is_win && !is_android && !is_bsd) {
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
-@@ -1199,7 +1207,7 @@ if (!is_ios) {
+@@ -1195,7 +1203,7 @@ if (!is_ios) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux && !is_bsd) || is_chromeos) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
-@@ -1664,7 +1672,7 @@ group("chromium_builder_perf") {
+@@ -1661,7 +1669,7 @@ group("chromium_builder_perf") {
data_deps += [ "//chrome/test:performance_browser_tests" ]
}
- if (!is_win) {
+ if (!is_win && !is_bsd) {
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn
index 4878977ee27c..1dbc9ff8dbe4 100644
--- a/www/chromium/files/patch-base_BUILD.gn
+++ b/www/chromium/files/patch-base_BUILD.gn
@@ -1,163 +1,163 @@
---- base/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- base/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ base/BUILD.gn
-@@ -162,7 +162,7 @@ buildflag_header("ios_cronet_buildflags") {
+@@ -168,7 +168,7 @@ buildflag_header("ios_cronet_buildflags") {
flags = [ "CRONET_BUILD=$is_cronet_build" ]
}
-enable_message_pump_epoll = is_linux || is_chromeos || is_android
+enable_message_pump_epoll = (is_linux || is_chromeos || is_android) && !is_bsd
buildflag_header("message_pump_buildflags") {
header = "message_pump_buildflags.h"
header_dir = "base/message_loop"
-@@ -1052,7 +1052,7 @@ component("base") {
+@@ -1053,7 +1053,7 @@ component("base") {
"timer/hi_res_timer_manager_posix.cc",
]
- if (!is_nacl && !is_apple) {
+ if (!is_nacl && !is_apple && !is_bsd) {
sources += [
"profiler/stack_base_address_posix.cc",
"profiler/stack_base_address_posix.h",
-@@ -1063,6 +1063,14 @@ component("base") {
+@@ -1064,6 +1064,14 @@ component("base") {
"profiler/thread_delegate_posix.h",
]
}
+
+ if (is_bsd) {
+ sources += [
+ "profiler/stack_base_address_posix.cc",
+ "profiler/stack_base_address_posix.h",
+ "profiler/stack_sampler_posix.cc",
+ ]
+ }
}
if (is_win) {
-@@ -1550,11 +1558,23 @@ component("base") {
+@@ -1544,11 +1552,23 @@ component("base") {
# Needed for <atomic> if using newer C++ library than sysroot, except if
# building inside the cros_sdk environment - use host_toolchain as a
# more robust check for this.
- if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
+ if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) &&
host_toolchain != "//build/toolchain/cros:host") {
libs += [ "atomic" ]
}
+ # *BSD needs libkvm
+ if (is_bsd) {
+ libs += [ "kvm" ]
+ }
+
+ if (is_freebsd) {
+ libs += [
+ "execinfo",
+ "util",
+ ]
+ }
+
if (use_allocator_shim) {
sources += [
"allocator/partition_allocator/shim/allocator_shim.cc",
-@@ -1582,7 +1602,7 @@ component("base") {
+@@ -1576,7 +1596,7 @@ component("base") {
]
configs += [ "//base/allocator:mac_no_default_new_delete_symbols" ]
}
- if (is_chromeos || is_linux) {
+ if (is_chromeos || (is_linux && !is_bsd)) {
sources += [
"allocator/partition_allocator/shim/allocator_shim_override_cpp_symbols.h",
"allocator/partition_allocator/shim/allocator_shim_override_glibc_weak_symbols.h",
-@@ -1623,7 +1643,7 @@ component("base") {
+@@ -1617,7 +1637,7 @@ component("base") {
# Allow more direct string conversions on platforms with native utf8
# strings
- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) {
+ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) {
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -2211,6 +2231,39 @@ component("base") {
+@@ -2208,6 +2228,39 @@ component("base") {
}
}
+ if (is_bsd) {
+ sources -= [
+ "files/file_path_watcher_inotify.cc",
+ "files/scoped_file_linux.cc",
+ "process/process_linux.cc",
+ "system/sys_info_linux.cc",
+ "process/process_iterator_linux.cc",
+ "process/process_metrics_linux.cc",
+ "process/process_handle_linux.cc"
+ ]
+ sources += [
+ "files/file_path_watcher_kqueue.cc",
+ "files/file_path_watcher_kqueue.h",
+ "files/file_path_watcher_bsd.cc",
+ ]
+ }
+
+ if (is_openbsd) {
+ sources += [
+ "process/process_handle_openbsd.cc",
+ "process/process_iterator_openbsd.cc",
+ "process/process_metrics_openbsd.cc",
+ "system/sys_info_openbsd.cc",
+ ]
+ } else if (is_freebsd) {
+ sources += [
+ "process/process_handle_freebsd.cc",
+ "process/process_iterator_freebsd.cc",
+ "process/process_metrics_freebsd.cc",
+ "system/sys_info_freebsd.cc",
+ ]
+ }
+
# iOS
if (is_ios) {
sources -= [
-@@ -2306,7 +2359,7 @@ component("base") {
+@@ -2303,7 +2356,7 @@ component("base") {
}
if (dep_libevent) {
- deps += [ "//third_party/libevent" ]
+ public_deps += [ "//third_party/libevent" ]
}
if (use_libevent) {
-@@ -3560,7 +3613,7 @@ test("base_unittests") {
+@@ -3556,7 +3609,7 @@ test("base_unittests") {
}
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"debug/proc_maps_linux_unittest.cc",
"files/scoped_file_linux_unittest.cc",
-@@ -3606,7 +3659,7 @@ test("base_unittests") {
+@@ -3602,7 +3655,7 @@ test("base_unittests") {
"posix/file_descriptor_shuffle_unittest.cc",
"posix/unix_domain_socket_unittest.cc",
]
- if (!is_nacl && !is_apple) {
+ if (!is_nacl && !is_apple && !is_bsd) {
sources += [
"profiler/stack_base_address_posix_unittest.cc",
"profiler/stack_copier_signal_unittest.cc",
-@@ -3617,7 +3670,7 @@ test("base_unittests") {
+@@ -3613,7 +3666,7 @@ test("base_unittests") {
# Allow more direct string conversions on platforms with native utf8
# strings
- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) {
+ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) {
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -3827,7 +3880,7 @@ test("base_unittests") {
+@@ -3829,7 +3882,7 @@ test("base_unittests") {
}
}
- if (is_fuchsia || is_linux || is_chromeos) {
+ if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) {
sources += [
"debug/elf_reader_unittest.cc",
"debug/test_elf_image_builder.cc",
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h
index f16c9802cfb4..8731ac08d5c9 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h
@@ -1,20 +1,20 @@
---- base/allocator/partition_allocator/address_space_randomization.h.orig 2022-06-17 14:20:10 UTC
+--- base/allocator/partition_allocator/address_space_randomization.h.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/address_space_randomization.h
@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) {
#if defined(ARCH_CPU_64_BITS)
- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
+ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD)
// We shouldn't allocate system pages at all for sanitizer builds. However,
// we do, and if random hint addresses interfere with address ranges
-@@ -128,7 +128,7 @@ AslrMask(uintptr_t bits) {
+@@ -124,7 +124,7 @@ AslrMask(uintptr_t bits) {
return AslrAddress(0x20000000ULL);
}
- #elif BUILDFLAG(IS_LINUX)
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on
// page size and number of levels of translation pages used. We use
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc
index 7bf33397cb03..d20b0e1f28b4 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc
@@ -1,11 +1,11 @@
---- base/allocator/partition_allocator/partition_address_space.cc.orig 2023-02-08 09:03:45 UTC
+--- base/allocator/partition_allocator/partition_address_space.cc.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_address_space.cc
-@@ -440,7 +440,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting()
+@@ -416,7 +416,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting()
}
#endif
-#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
PageCharacteristics page_characteristics;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
index 336fa065c293..d033b2bb529b 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
@@ -1,11 +1,11 @@
---- base/allocator/partition_allocator/partition_alloc.gni.orig 2023-02-08 09:03:45 UTC
+--- base/allocator/partition_allocator/partition_alloc.gni.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_alloc.gni
-@@ -200,7 +200,7 @@ assert(!use_asan_unowned_ptr || is_asan,
- "AsanUnownedPtr requires AddressSanitizer")
+@@ -233,7 +233,7 @@ assert(!use_asan_backup_ref_ptr || use_hookable_raw_pt
+ "AsanBackupRefPtr requires RawPtrHookableImpl")
declare_args() {
- enable_pkeys = is_linux && target_cpu == "x64"
+ enable_pkeys = (is_linux && !is_bsd) && target_cpu == "x64"
}
assert(!enable_pkeys || (is_linux && target_cpu == "x64"),
"Pkeys are only supported on x64 linux")
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h
index 662c25d52366..a0673b1de88b 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h
@@ -1,29 +1,29 @@
---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-02-08 09:03:45 UTC
+--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_alloc_config.h
-@@ -84,7 +84,7 @@ static_assert(sizeof(void*) != 8, "");
-
+@@ -120,7 +120,7 @@ static_assert(sizeof(void*) != 8, "");
// POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific
// features such as futex(2).
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- #define PA_HAS_LINUX_KERNEL
- #endif
-
-@@ -220,7 +220,7 @@ constexpr bool kUseLazyCommit = false;
+ #define PA_CONFIG_HAS_LINUX_KERNEL() \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD))
+ // On some platforms, we implement locking by spinning in userspace, then going
+ // into the kernel only if there is contention. This requires platform support,
+@@ -267,7 +267,7 @@ constexpr bool kUseLazyCommit = false;
// On these platforms, lock all the partitions before fork(), and unlock after.
// This may be required on more platforms in the future.
--#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #define PA_HAS_ATFORK_HANDLER
- #endif
+ #define PA_CONFIG_HAS_ATFORK_HANDLER() \
+- (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
-@@ -264,7 +264,7 @@ constexpr bool kUseLazyCommit = false;
- //
+ // PartitionAlloc uses PartitionRootEnumerator to acquire all
+ // PartitionRoots at BeforeFork and to release at AfterFork.
+@@ -312,7 +312,7 @@ constexpr bool kUseLazyCommit = false;
// Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to
// larger slot spans.
--#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))
-+#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD)
- #define PA_PREFER_SMALLER_SLOT_SPANS
- #endif
+ #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() \
+- (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)))
++ (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD))
+ // Enable shadow metadata.
+ //
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h
index 62a3285219aa..5d8a2a2b1826 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h
@@ -1,20 +1,20 @@
---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-02-08 09:03:45 UTC
+--- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_alloc_constants.h
@@ -91,7 +91,7 @@ PartitionPageShift() {
return 18; // 256 KiB
}
#elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \
- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64))
PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
PartitionPageShift() {
return PageAllocationGranularityShift() + 2;
-@@ -278,7 +278,7 @@ constexpr size_t kNumPools = 3;
+@@ -277,7 +277,7 @@ constexpr size_t kNumPools = 3;
+ //
// When pointer compression is enabled, we cannot use large pools (at most
// 8GB for each of the glued pools).
- #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || \
-- defined(PA_POINTER_COMPRESSION)
-+ defined(PA_POINTER_COMPRESSION) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) || BUILDFLAG(IS_BSD)
constexpr size_t kPoolMaxSize = 8 * kGiB;
#else
constexpr size_t kPoolMaxSize = 16 * kGiB;
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h
index fbaa149594dc..816b59743e8e 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h
@@ -1,16 +1,16 @@
---- base/allocator/partition_allocator/partition_alloc_forward.h.orig 2022-11-06 16:08:29 UTC
+--- base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_alloc_forward.h
-@@ -25,9 +25,13 @@ namespace internal {
+@@ -27,9 +27,13 @@ namespace internal {
// the second one 16. We could technically return something different for
// malloc() and operator new(), but this would complicate things, and most of
// our allocations are presumably coming from operator new() anyway.
+#if defined(__i386__) && defined(OS_FREEBSD)
+constexpr size_t kAlignment = 8;
+#else
constexpr size_t kAlignment =
std::max(alignof(max_align_t),
static_cast<size_t>(__STDCPP_DEFAULT_NEW_ALIGNMENT__));
+#endif
static_assert(kAlignment <= 16,
"PartitionAlloc doesn't support a fundamental alignment larger "
"than 16 bytes.");
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
index e86be6c47792..3888bdcf2004 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc
@@ -1,38 +1,38 @@
---- base/allocator/partition_allocator/partition_root.cc.orig 2023-01-11 09:17:16 UTC
+--- base/allocator/partition_allocator/partition_root.cc.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/partition_root.cc
@@ -42,7 +42,7 @@
#include "wow64apiset.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <pthread.h>
#endif
-@@ -239,7 +239,7 @@ void PartitionAllocMallocInitOnce() {
- if (!g_global_init_called.compare_exchange_strong(expected, true))
+@@ -245,7 +245,7 @@ void PartitionAllocMallocInitOnce() {
return;
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// When fork() is called, only the current thread continues to execute in the
// child process. If the lock is held, but *not* by this thread when fork() is
// called, we have a deadlock.
-@@ -332,7 +332,7 @@ static size_t PartitionPurgeSlotSpan(
+@@ -339,7 +339,7 @@ static size_t PartitionPurgeSlotSpan(
constexpr size_t kMaxSlotCount =
(PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) /
MinPurgeableSlotSize();
-#elif BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
+#elif BUILDFLAG(IS_APPLE) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64))
// It's better for slot_usage to be stack-allocated and fixed-size, which
// demands that its size be constexpr. On IS_APPLE and Linux on arm64,
// PartitionPageSize() is always SystemPageSize() << 2, so regardless of
-@@ -789,7 +789,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions
+@@ -800,7 +800,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions
// apple OSes.
PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
(internal::SystemPageSize() == (size_t{1} << 14)));
-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)
// Check runtime pagesize. Though the code is currently the same, it is
// not merged with the IS_APPLE case above as a 1 << 16 case needs to be
// added here in the future, to allow 64 kiB pagesize. That is only
diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
index 4d89110c7401..4a64c356f7b0 100644
--- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
+++ b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
@@ -1,47 +1,53 @@
---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-07-22 17:30:31 UTC
+--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-03-09 06:31:50 UTC
+++ base/allocator/partition_allocator/spinning_mutex.cc
-@@ -18,7 +18,15 @@
+@@ -18,7 +18,16 @@
- #if defined(PA_HAS_LINUX_KERNEL)
+ #if PA_CONFIG(HAS_LINUX_KERNEL)
#include <errno.h>
+#if defined(OS_OPENBSD)
++#include <sys/time.h>
+#include <sys/futex.h>
+#elif defined(OS_FREEBSD)
+#include <sys/types.h>
+#include <sys/thr.h>
+#include <sys/umtx.h>
+#else
#include <linux/futex.h>
+#endif
#include <sys/syscall.h>
#include <unistd.h>
- #endif // defined(PA_HAS_LINUX_KERNEL)
-@@ -107,8 +115,13 @@ void SpinningMutex::FutexWait() {
+ #endif // PA_CONFIG(HAS_LINUX_KERNEL)
+@@ -107,8 +116,16 @@ void SpinningMutex::FutexWait() {
// |kLockedContended| anymore. Note that even without spurious wakeups, the
// value of |state_| is not guaranteed when this returns, as another thread
// may get the lock before we get to run.
+#if defined(OS_FREEBSD)
+ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
+ kLockedContended, nullptr, nullptr);
++#elif defined(OS_OPENBSD)
++ int err = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
++ kLockedContended, nullptr, nullptr);
+#else
int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
kLockedContended, nullptr, nullptr, 0);
+#endif
if (err) {
// These are programming error, check them.
-@@ -120,8 +133,14 @@ void SpinningMutex::FutexWait() {
+@@ -120,8 +137,16 @@ void SpinningMutex::FutexWait() {
void SpinningMutex::FutexWake() {
int saved_errno = errno;
+#if defined(OS_FREEBSD)
+ long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE,
+ 1 /* wake up a single waiter */, nullptr, nullptr);
++#elif defined(OS_OPENBSD)
++ long retval = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
++ 1 /* wake up a single waiter */, nullptr, nullptr);
+#else
long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
1 /* wake up a single waiter */, nullptr, nullptr, 0);
+#endif
-+
PA_CHECK(retval != -1);
errno = saved_errno;
}
diff --git a/www/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc
new file mode 100644
index 000000000000..4b542b972e47
--- /dev/null
+++ b/www/chromium/files/patch-base_debug_stack__trace.cc
@@ -0,0 +1,21 @@
+--- base/debug/stack_trace.cc.orig 2023-03-09 06:31:50 UTC
++++ base/debug/stack_trace.cc
+@@ -273,7 +273,9 @@ void StackTrace::Print() const {
+ }
+
+ void StackTrace::OutputToStream(std::ostream* os) const {
++#if !BUILDFLAG(IS_BSD)
+ OutputToStreamWithPrefix(os, nullptr);
++#endif
+ }
+
+ std::string StackTrace::ToString() const {
+@@ -281,7 +283,7 @@ std::string StackTrace::ToString() const {
+ }
+ std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
+ std::stringstream stream;
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD)
+ OutputToStreamWithPrefix(&stream, prefix_string);
+ #endif
+ return stream.str();
diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc
index 89b1d40c7ff3..c9a48bee057f 100644
--- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc
+++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc
@@ -1,38 +1,38 @@
---- base/debug/stack_trace_posix.cc.orig 2023-02-08 09:03:45 UTC
+--- base/debug/stack_trace_posix.cc.orig 2023-03-09 06:31:50 UTC
+++ base/debug/stack_trace_posix.cc
-@@ -39,7 +39,7 @@
+@@ -40,7 +40,7 @@
+ // execinfo.h and backtrace(3) are really only present in glibc and in macOS
+ // libc.
+ #if BUILDFLAG(IS_APPLE) || \
+- (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX))
++ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD))
+ #define HAVE_BACKTRACE
+ #include <execinfo.h>
+ #endif
+@@ -58,7 +58,7 @@
#include <AvailabilityMacros.h>
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/debug/proc_maps_linux.h"
#endif
-@@ -714,6 +714,9 @@ class SandboxSymbolizeHelper {
+@@ -761,6 +761,9 @@ class SandboxSymbolizeHelper {
// for the modules that are loaded in the current process.
// Returns true on success.
bool CacheMemoryRegions() {
+#if BUILDFLAG(IS_BSD)
+ return false;
+#else
// Reads /proc/self/maps.
std::string contents;
if (!ReadProcMaps(&contents)) {
-@@ -731,6 +734,7 @@ class SandboxSymbolizeHelper {
+@@ -778,6 +781,7 @@ class SandboxSymbolizeHelper {
is_initialized_ = true;
return true;
+#endif
}
// Opens all object files and caches their file descriptors.
-@@ -887,7 +891,7 @@ size_t CollectStackTrace(void** trace, size_t count) {
- // If we do not have unwind tables, then try tracing using frame pointers.
- return base::debug::TraceStackFramePointers(const_cast<const void**>(trace),
- count, 0);
--#elif !defined(__UCLIBC__) && !defined(_AIX)
-+#elif !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD)
- // Though the backtrace API man page does not list any possible negative
- // return values, we take no chance.
- return base::saturated_cast<size_t>(
diff --git a/www/chromium/files/patch-base_files_file__util__unittest.cc b/www/chromium/files/patch-base_files_file__util__unittest.cc
index 064f985c43b2..f4c26e9b010c 100644
--- a/www/chromium/files/patch-base_files_file__util__unittest.cc
+++ b/www/chromium/files/patch-base_files_file__util__unittest.cc
@@ -1,20 +1,20 @@
---- base/files/file_util_unittest.cc.orig 2023-01-11 09:17:16 UTC
+--- base/files/file_util_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ base/files/file_util_unittest.cc
-@@ -3558,7 +3558,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
+@@ -3749,7 +3749,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
}
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
FilePath file_path("/proc/cpuinfo");
std::string data = "temp";
-@@ -4281,7 +4281,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
+@@ -4472,7 +4472,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
NULL);
#else
size_t bytes_written =
- ::write(::fileno(output_file.get()), content.c_str(), content.length());
+ ::write(fileno(output_file.get()), content.c_str(), content.length());
#endif
EXPECT_EQ(content.length(), bytes_written);
::fflush(output_file.get());
diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
index b2744d4abb50..6d36a5d31542 100644
--- a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
+++ b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc
@@ -1,11 +1,11 @@
---- base/posix/unix_domain_socket_unittest.cc.orig 2022-02-28 16:54:41 UTC
+--- base/posix/unix_domain_socket_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ base/posix/unix_domain_socket_unittest.cc
@@ -10,6 +10,8 @@
#include <sys/types.h>
#include <unistd.h>
+#include <signal.h>
+
- #include "base/bind.h"
- #include "base/callback_helpers.h"
#include "base/files/file_util.h"
+ #include "base/files/scoped_file.h"
+ #include "base/functional/bind.h"
diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc
index 3acc49b349d8..85291ccdbdfd 100644
--- a/www/chromium/files/patch-base_process_process__metrics.cc
+++ b/www/chromium/files/patch-base_process_process__metrics.cc
@@ -1,54 +1,54 @@
---- base/process/process_metrics.cc.orig 2023-01-11 09:17:16 UTC
+--- base/process/process_metrics.cc.orig 2023-03-09 06:31:50 UTC
+++ base/process/process_metrics.cc
@@ -17,7 +17,7 @@ namespace base {
namespace {
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
int CalculateEventsPerSecond(uint64_t event_count,
uint64_t* last_event_count,
base::TimeTicks* last_calculated) {
@@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() {
SystemMetrics system_metrics;
system_metrics.committed_memory_ = GetSystemCommitCharge();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
GetSystemMemoryInfo(&system_metrics.memory_info_);
GetVmStatInfo(&system_metrics.vmstat_info_);
GetSystemDiskInfo(&system_metrics.disk_info_);
-@@ -73,7 +73,7 @@ Value SystemMetrics::ToValue() const {
- Value res(Value::Type::DICTIONARY);
+@@ -73,7 +73,7 @@ Value::Dict SystemMetrics::ToDict() const {
+ Value::Dict res;
- res.SetIntKey("committed_memory", static_cast<int>(committed_memory_));
+ res.Set("committed_memory", static_cast<int>(committed_memory_));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- Value meminfo = memory_info_.ToValue();
- Value vmstat = vmstat_info_.ToValue();
- meminfo.MergeDictionary(&vmstat);
-@@ -99,7 +99,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
+ Value::Dict meminfo = memory_info_.ToDict();
+ meminfo.Merge(vmstat_info_.ToDict());
+ res.Set("meminfo", std::move(meminfo));
+@@ -98,7 +98,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
#endif // !BUILDFLAG(IS_MAC)
}
-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX)
double ProcessMetrics::GetPlatformIndependentCPUUsage(
TimeDelta cumulative_cpu) {
TimeTicks time = TimeTicks::Now();
-@@ -125,7 +124,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
+@@ -124,7 +123,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
double ProcessMetrics::GetPlatformIndependentCPUUsage() {
return GetPlatformIndependentCPUUsage(GetCumulativeCPUUsage());
}
-#endif
#if BUILDFLAG(IS_WIN)
double ProcessMetrics::GetPreciseCPUUsage(TimeDelta cumulative_cpu) {
-@@ -156,7 +154,7 @@ double ProcessMetrics::GetPreciseCPUUsage() {
+@@ -155,7 +153,7 @@ double ProcessMetrics::GetPreciseCPUUsage() {
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
int ProcessMetrics::CalculateIdleWakeupsPerSecond(
uint64_t absolute_idle_wakeups) {
return CalculateEventsPerSecond(absolute_idle_wakeups,
diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h
index 76a855e9be6d..aedd549a2c36 100644
--- a/www/chromium/files/patch-base_process_process__metrics.h
+++ b/www/chromium/files/patch-base_process_process__metrics.h
@@ -1,120 +1,120 @@
---- base/process/process_metrics.h.orig 2023-01-11 09:17:16 UTC
+--- base/process/process_metrics.h.orig 2023-03-09 06:31:50 UTC
+++ base/process/process_metrics.h
-@@ -36,7 +36,7 @@
+@@ -37,7 +37,7 @@
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
#include <string>
#include <utility>
#include <vector>
-@@ -51,7 +51,7 @@ class Value;
+@@ -50,7 +50,7 @@ namespace base {
// Full declaration is in process_metrics_iocounters.h.
struct IoCounters;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// Minor and major page fault counts since the process creation.
// Both counts are process-wide, and exclude child processes.
//
-@@ -106,7 +106,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -105,7 +105,7 @@ class BASE_EXPORT ProcessMetrics {
// convenience wrapper for CreateProcessMetrics().
static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// Resident Set Size is a Linux/Android specific memory concept. Do not
// attempt to extend this to other platforms.
BASE_EXPORT size_t GetResidentSetSize() const;
-@@ -164,7 +164,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -163,7 +163,7 @@ class BASE_EXPORT ProcessMetrics {
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
// Emits the cumulative CPU usage for all currently active threads since they
// were started into the output parameter (replacing its current contents).
// Threads that have already terminated will not be reported. Thus, the sum of
-@@ -224,7 +224,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -223,7 +223,7 @@ class BASE_EXPORT ProcessMetrics {
int GetOpenFdSoftLimit() const;
#endif // BUILDFLAG(IS_POSIX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// Bytes of swap as reported by /proc/[pid]/status.
uint64_t GetVmSwapBytes() const;
-@@ -245,7 +245,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -244,7 +244,7 @@ class BASE_EXPORT ProcessMetrics {
#endif // !BUILDFLAG(IS_MAC)
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
#endif
#if BUILDFLAG(IS_APPLE)
-@@ -264,9 +264,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -263,9 +263,7 @@ class BASE_EXPORT ProcessMetrics {
// Used to store the previous times and CPU usage counts so we can
// compute the CPU usage between calls.
TimeTicks last_cpu_time_;
-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX)
TimeDelta last_cumulative_cpu_;
-#endif
#if BUILDFLAG(IS_WIN)
TimeTicks last_cpu_time_for_precise_cpu_usage_;
-@@ -274,7 +272,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -273,7 +271,7 @@ class BASE_EXPORT ProcessMetrics {
#endif
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
// Same thing for idle wakeups.
TimeTicks last_idle_wakeups_time_;
uint64_t last_absolute_idle_wakeups_;
-@@ -317,7 +315,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de
+@@ -316,7 +314,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Data about system-wide memory consumption. Values are in KB. Available on
// Windows, Mac, Linux, Android and Chrome OS.
//
-@@ -352,7 +350,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+@@ -351,7 +349,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
// This provides an estimate of available memory as described here:
// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
// NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always
-@@ -367,7 +365,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+@@ -366,7 +364,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
#endif
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
int buffers = 0;
int cached = 0;
int active_anon = 0;
-@@ -404,7 +402,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK
+@@ -403,7 +401,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK
// BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_AIX)
+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD)
// Parse the data found in /proc/<pid>/stat and return the sum of the
// CPU-related ticks. Returns -1 on parse error.
// Exposed for testing.
-@@ -592,7 +590,7 @@ class BASE_EXPORT SystemMetrics {
+@@ -591,7 +589,7 @@ class BASE_EXPORT SystemMetrics {
FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics);
size_t committed_memory_;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
SystemMemoryInfoKB memory_info_;
VmStatInfo vmstat_info_;
SystemDiskInfo disk_info_;
diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
index 395dc9eafc41..4b67feb8885a 100644
--- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc
@@ -1,296 +1,305 @@
---- base/process/process_metrics_freebsd.cc.orig 2022-10-25 08:25:05 UTC
+--- base/process/process_metrics_freebsd.cc.orig 2023-03-09 06:31:50 UTC
+++ base/process/process_metrics_freebsd.cc
@@ -3,20 +3,39 @@
// found in the LICENSE file.
#include "base/process/process_metrics.h"
+#include "base/notreached.h"
#include <stddef.h>
+#include <sys/types.h>
#include <sys/sysctl.h>
#include <sys/user.h>
#include <unistd.h>
+#include <fcntl.h> /* O_RDONLY */
+#include <kvm.h>
+#include <libutil.h>
+
#include "base/memory/ptr_util.h"
#include "base/process/process_metrics_iocounters.h"
+#include "base/values.h"
namespace base {
+namespace {
+int GetPageShift() {
+ int pagesize = getpagesize();
+ int pageshift = 0;
+ while (pagesize > 1) {
+ pageshift++;
+ pagesize >>= 1;
+ }
+
+ return pageshift;
+}
+}
+
ProcessMetrics::ProcessMetrics(ProcessHandle process)
- : process_(process),
- last_cpu_(0) {}
+ : process_(process) {}
// static
std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
@@ -24,22 +43,19 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
return WrapUnique(new ProcessMetrics(process));
}
-double ProcessMetrics::GetPlatformIndependentCPUUsage() {
+TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
struct kinfo_proc info;
- int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_};
- size_t length = sizeof(info);
+ size_t length = sizeof(struct kinfo_proc);
+ struct timeval tv;
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ };
+
if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
- return 0;
+ return TimeDelta();
- return (info.ki_pctcpu / FSCALE) * 100.0;
+ return Microseconds(info.ki_runtime);
}
-TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
- NOTREACHED();
- return TimeDelta();
-}
-
bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const {
return false;
}
-@@ -67,4 +83,221 @@ size_t GetSystemCommitCharge() {
- return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
- }
+@@ -65,6 +81,230 @@ size_t GetSystemCommitCharge() {
+ pagesize = getpagesize();
+ return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
++}
++
+int64_t GetNumberOfThreads(ProcessHandle process) {
+ // Taken from FreeBSD top (usr.bin/top/machine.c)
+
+ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open");
+ if (kd == NULL)
+ return 0;
+
+ struct kinfo_proc* pbase;
+ int nproc;
+ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc);
+ if (pbase == NULL)
+ return 0;
+
+ if (kvm_close(kd) == -1)
+ return 0;
+
+ return nproc;
+}
+
+bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) {
+ unsigned int mem_total, mem_free, swap_total, swap_used;
+ size_t length;
+ int pagesizeKB;
+
+ pagesizeKB = getpagesize() / 1024;
+
+ length = sizeof(mem_total);
+ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total,
+ &length, NULL, 0) != 0 || length != sizeof(mem_total))
+ return false;
+
+ length = sizeof(mem_free);
+ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0)
+ != 0 || length != sizeof(mem_free))
+ return false;
+
+ length = sizeof(swap_total);
+ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0)
+ != 0 || length != sizeof(swap_total))
+ return false;
+
+ length = sizeof(swap_used);
+ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0)
+ != 0 || length != sizeof(swap_used))
+ return false;
+
+ meminfo->total = mem_total * pagesizeKB;
+ meminfo->free = mem_free * pagesizeKB;
+ meminfo->swap_total = swap_total * pagesizeKB;
+ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB;
+
+ return true;
+}
+
+int ProcessMetrics::GetOpenFdCount() const {
+ struct kinfo_file * kif;
+ int cnt;
+
+ if ((kif = kinfo_getfile(process_, &cnt)) == NULL)
+ return -1;
+
+ free(kif);
+
+ return cnt;
+}
+
+int ProcessMetrics::GetOpenFdSoftLimit() const {
+ size_t length;
+ int total_count = 0;
+ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC };
+
+ length = sizeof(total_count);
+
+ if (sysctl(mib, std::size(mib), &total_count, &length, NULL, 0) < 0) {
+ total_count = -1;
+ }
+
+ return total_count;
+}
+
+size_t ProcessMetrics::GetResidentSetSize() const {
+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
+
+ if (kd == nullptr)
+ return 0;
+
+ struct kinfo_proc *pp;
+ int nproc;
+
+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
+ kvm_close(kd);
+ return 0;
+ }
+
+ size_t rss;
+
+ if (nproc > 0) {
+ rss = pp->ki_rssize << GetPageShift();
+ } else {
+ rss = 0;
+ }
+
+ kvm_close(kd);
+ return rss;
+}
+
+uint64_t ProcessMetrics::GetVmSwapBytes() const {
+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
+
+ if (kd == nullptr)
+ return 0;
+
+ struct kinfo_proc *pp;
+ int nproc;
+
+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
+ kvm_close(kd);
+ return 0;
+ }
+
+ size_t swrss;
+
+ if (nproc > 0) {
+ swrss = pp->ki_swrss > pp->ki_rssize
+ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift()
+ : 0;
+ } else {
+ swrss = 0;
+ }
+
+ kvm_close(kd);
+ return swrss;
+}
+
+int ProcessMetrics::GetIdleWakeupsPerSecond() {
+ NOTIMPLEMENTED();
+ return 0;
+}
+
+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+bool GetVmStatInfo(VmStatInfo* vmstat) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+SystemDiskInfo::SystemDiskInfo() {
+ reads = 0;
+ reads_merged = 0;
+ sectors_read = 0;
+ read_time = 0;
+ writes = 0;
+ writes_merged = 0;
+ sectors_written = 0;
+ write_time = 0;
+ io = 0;
+ io_time = 0;
+ weighted_io_time = 0;
+}
+
+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default;
+
+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
+
-+Value SystemDiskInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+
++Value::Dict SystemDiskInfo::ToDict() const {
++ Value::Dict res;
++
+ // Write out uint64_t variables as doubles.
+ // Note: this may discard some precision, but for JS there's no other option.
-+ res.SetDoubleKey("reads", static_cast<double>(reads));
-+ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged));
-+ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read));
-+ res.SetDoubleKey("read_time", static_cast<double>(read_time));
-+ res.SetDoubleKey("writes", static_cast<double>(writes));
-+ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged));
-+ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written));
-+ res.SetDoubleKey("write_time", static_cast<double>(write_time));
-+ res.SetDoubleKey("io", static_cast<double>(io));
-+ res.SetDoubleKey("io_time", static_cast<double>(io_time));
-+ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time));
++ res.Set("reads", static_cast<double>(reads));
++ res.Set("reads_merged", static_cast<double>(reads_merged));
++ res.Set("sectors_read", static_cast<double>(sectors_read));
++ res.Set("read_time", static_cast<double>(read_time));
++ res.Set("writes", static_cast<double>(writes));
++ res.Set("writes_merged", static_cast<double>(writes_merged));
++ res.Set("sectors_written", static_cast<double>(sectors_written));
++ res.Set("write_time", static_cast<double>(write_time));
++ res.Set("io", static_cast<double>(io));
++ res.Set("io_time", static_cast<double>(io_time));
++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time));
+
++ NOTIMPLEMENTED();
++
+ return res;
+}
+
-+Value SystemMemoryInfoKB::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+
-+ res.SetIntKey("total", total);
-+ res.SetIntKey("free", free);
-+ res.SetIntKey("available", available);
-+ res.SetIntKey("buffers", buffers);
-+ res.SetIntKey("cached", cached);
-+ res.SetIntKey("active_anon", active_anon);
-+ res.SetIntKey("inactive_anon", inactive_anon);
-+ res.SetIntKey("active_file", active_file);
-+ res.SetIntKey("inactive_file", inactive_file);
-+ res.SetIntKey("swap_total", swap_total);
-+ res.SetIntKey("swap_free", swap_free);
-+ res.SetIntKey("swap_used", swap_total - swap_free);
-+ res.SetIntKey("dirty", dirty);
-+ res.SetIntKey("reclaimable", reclaimable);
++Value::Dict SystemMemoryInfoKB::ToDict() const {
++ Value::Dict res;
++ res.Set("total", total);
++ res.Set("free", free);
++ res.Set("available", available);
++ res.Set("buffers", buffers);
++ res.Set("cached", cached);
++ res.Set("active_anon", active_anon);
++ res.Set("inactive_anon", inactive_anon);
++ res.Set("active_file", active_file);
++ res.Set("inactive_file", inactive_file);
++ res.Set("swap_total", swap_total);
++ res.Set("swap_free", swap_free);
++ res.Set("swap_used", swap_total - swap_free);
++ res.Set("dirty", dirty);
++ res.Set("reclaimable", reclaimable);
++
++ NOTIMPLEMENTED();
+
+ return res;
+}
+
-+Value VmStatInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
++Value::Dict VmStatInfo::ToDict() const {
++ Value::Dict res;
++ // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove
++ // casts below.
++ res.Set("pswpin", static_cast<int>(pswpin));
++ res.Set("pswpout", static_cast<int>(pswpout));
++ res.Set("pgmajfault", static_cast<int>(pgmajfault));
+
-+ res.SetIntKey("pswpin", pswpin);
-+ res.SetIntKey("pswpout", pswpout);
-+ res.SetIntKey("pgmajfault", pgmajfault);
++ NOTIMPLEMENTED();
+
+ return res;
-+}
+ }
+
} // namespace base
diff --git a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
index 70b2aa744c6c..1dcc7db4a903 100644
--- a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
@@ -1,215 +1,215 @@
---- base/process/process_metrics_openbsd.cc.orig 2022-09-24 10:57:32 UTC
+--- base/process/process_metrics_openbsd.cc.orig 2023-03-09 06:31:50 UTC
+++ base/process/process_metrics_openbsd.cc
@@ -6,14 +6,23 @@
#include <stddef.h>
#include <stdint.h>
+#include <fcntl.h>
#include <sys/param.h>
#include <sys/sysctl.h>
+#include <sys/vmmeter.h>
+#include <kvm.h>
+
#include "base/memory/ptr_util.h"
#include "base/process/process_metrics_iocounters.h"
+#include "base/values.h"
+#include "base/notreached.h"
namespace base {
+ProcessMetrics::ProcessMetrics(ProcessHandle process)
+ : process_(process) {}
+
// static
std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
ProcessHandle process) {
@@ -24,49 +33,23 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun
return false;
}
-static int GetProcessCPU(pid_t pid) {
+TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
struct kinfo_proc info;
- size_t length;
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
- sizeof(struct kinfo_proc), 0 };
+ size_t length = sizeof(struct kinfo_proc);
+ struct timeval tv;
- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0)
- return -1;
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_,
+ sizeof(struct kinfo_proc), 1 };
- mib[5] = (length / sizeof(struct kinfo_proc));
-
if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
- return 0;
+ return TimeDelta();
- return info.p_pctcpu;
-}
+ tv.tv_sec = info.p_rtime_sec;
+ tv.tv_usec = info.p_rtime_usec;
-double ProcessMetrics::GetPlatformIndependentCPUUsage() {
- TimeTicks time = TimeTicks::Now();
-
- if (last_cpu_time_.is_zero()) {
- // First call, just set the last values.
- last_cpu_time_ = time;
- return 0;
- }
-
- int cpu = GetProcessCPU(process_);
-
- last_cpu_time_ = time;
- double percentage = static_cast<double>((cpu * 100.0) / FSCALE);
-
- return percentage;
+ return Microseconds(TimeValToMicroseconds(tv));
}
-TimeDelta ProcessMetrics::GetCumulativeCPUUsage() {
- NOTREACHED();
- return TimeDelta();
-}
-
-ProcessMetrics::ProcessMetrics(ProcessHandle process)
- : process_(process),
- last_cpu_(0) {}
-
size_t GetSystemCommitCharge() {
int mib[] = { CTL_VM, VM_METER };
int pagesize;
@@ -84,6 +67,129 @@ size_t GetSystemCommitCharge() {
pagesize = getpagesize();
return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
+}
+
+int ProcessMetrics::GetOpenFdCount() const {
+ struct kinfo_file *files;
+ kvm_t *kd = NULL;
+ int total_count = 0;
+ char errbuf[_POSIX2_LINE_MAX];
+
+ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL)
+ goto out;
+
+ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_,
+ sizeof(struct kinfo_file), &total_count)) == NULL) {
+ total_count = 0;
+ goto out;
+ }
+
+ kvm_close(kd);
+
+out:
+ return total_count;
+}
+
+int ProcessMetrics::GetOpenFdSoftLimit() const {
+ return GetMaxFds();
+}
+
+uint64_t ProcessMetrics::GetVmSwapBytes() const {
+ NOTIMPLEMENTED();
+ return 0;
+}
+
+bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) {
+ NOTIMPLEMENTED_LOG_ONCE();
+ return false;
+}
+
-+SystemDiskInfo::SystemDiskInfo() {
-+ reads = 0;
-+ reads_merged = 0;
-+ sectors_read = 0;
-+ read_time = 0;
-+ writes = 0;
-+ writes_merged = 0;
-+ sectors_written = 0;
-+ write_time = 0;
-+ io = 0;
-+ io_time = 0;
-+ weighted_io_time = 0;
-+}
-+
-+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default;
-+
+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+bool GetVmStatInfo(VmStatInfo* vmstat) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+int ProcessMetrics::GetIdleWakeupsPerSecond() {
+ NOTIMPLEMENTED();
+ return 0;
+}
+
-+Value SystemMemoryInfoKB::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+ res.SetIntKey("total", total);
-+ res.SetIntKey("free", free);
-+ res.SetIntKey("available", available);
-+ res.SetIntKey("buffers", buffers);
-+ res.SetIntKey("cached", cached);
-+ res.SetIntKey("active_anon", active_anon);
-+ res.SetIntKey("inactive_anon", inactive_anon);
-+ res.SetIntKey("active_file", active_file);
-+ res.SetIntKey("inactive_file", inactive_file);
-+ res.SetIntKey("swap_total", swap_total);
-+ res.SetIntKey("swap_free", swap_free);
-+ res.SetIntKey("swap_used", swap_total - swap_free);
-+ res.SetIntKey("dirty", dirty);
-+ res.SetIntKey("reclaimable", reclaimable);
++Value::Dict SystemMemoryInfoKB::ToDict() const {
++ Value::Dict res;
++ res.Set("total", total);
++ res.Set("free", free);
++ res.Set("available", available);
++ res.Set("buffers", buffers);
++ res.Set("cached", cached);
++ res.Set("active_anon", active_anon);
++ res.Set("inactive_anon", inactive_anon);
++ res.Set("active_file", active_file);
++ res.Set("inactive_file", inactive_file);
++ res.Set("swap_total", swap_total);
++ res.Set("swap_free", swap_free);
++ res.Set("swap_used", swap_total - swap_free);
++ res.Set("dirty", dirty);
++ res.Set("reclaimable", reclaimable);
+
+ NOTIMPLEMENTED();
+
+ return res;
+}
+
-+Value VmStatInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
-+ res.SetIntKey("pswpin", pswpin);
-+ res.SetIntKey("pswpout", pswpout);
-+ res.SetIntKey("pgmajfault", pgmajfault);
++Value::Dict VmStatInfo::ToDict() const {
++ Value::Dict res;
++ res.Set("pswpin", static_cast<int>(pswpin));
++ res.Set("pswpout", static_cast<int>(pswpout));
++ res.Set("pgmajfault", static_cast<int>(pgmajfault));
+
+ NOTIMPLEMENTED();
+
+ return res;
++}
++
++SystemDiskInfo::SystemDiskInfo() {
++ reads = 0;
++ reads_merged = 0;
++ sectors_read = 0;
++ read_time = 0;
++ writes = 0;
++ writes_merged = 0;
++ sectors_written = 0;
++ write_time = 0;
++ io = 0;
++ io_time = 0;
++ weighted_io_time = 0;
+}
+
-+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo&) = default;
+
-+Value SystemDiskInfo::ToValue() const {
-+ Value res(Value::Type::DICTIONARY);
++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default;
+
++Value::Dict SystemDiskInfo::ToDict() const {
++ Value::Dict res;
++
+ // Write out uint64_t variables as doubles.
+ // Note: this may discard some precision, but for JS there's no other option.
-+ res.SetDoubleKey("reads", static_cast<double>(reads));
-+ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged));
-+ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read));
-+ res.SetDoubleKey("read_time", static_cast<double>(read_time));
-+ res.SetDoubleKey("writes", static_cast<double>(writes));
-+ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged));
-+ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written));
-+ res.SetDoubleKey("write_time", static_cast<double>(write_time));
-+ res.SetDoubleKey("io", static_cast<double>(io));
-+ res.SetDoubleKey("io_time", static_cast<double>(io_time));
-+ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time));
++ res.Set("reads", static_cast<double>(reads));
++ res.Set("reads_merged", static_cast<double>(reads_merged));
++ res.Set("sectors_read", static_cast<double>(sectors_read));
++ res.Set("read_time", static_cast<double>(read_time));
++ res.Set("writes", static_cast<double>(writes));
++ res.Set("writes_merged", static_cast<double>(writes_merged));
++ res.Set("sectors_written", static_cast<double>(sectors_written));
++ res.Set("write_time", static_cast<double>(write_time));
++ res.Set("io", static_cast<double>(io));
++ res.Set("io_time", static_cast<double>(io_time));
++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time));
+
+ NOTIMPLEMENTED();
+
+ return res;
}
} // namespace base
diff --git a/www/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc
index 7c23a1ea4882..a913f356eadd 100644
--- a/www/chromium/files/patch-base_process_process__unittest.cc
+++ b/www/chromium/files/patch-base_process_process__unittest.cc
@@ -1,11 +1,11 @@
---- base/process/process_unittest.cc.orig 2022-07-22 17:30:31 UTC
+--- base/process/process_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ base/process/process_unittest.cc
-@@ -193,7 +193,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
+@@ -194,7 +194,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
// was spawned and a time recorded after it was spawned. However, since the
// base::Time and process creation clocks don't match, tolerate some error.
constexpr base::TimeDelta kTolerance =
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux, process creation time is relative to boot time which has a
// 1-second resolution. Tolerate 1 second for the imprecise boot time and
// 100 ms for the imprecise clock.
diff --git a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
index 83ee17065193..bc70a714257b 100644
--- a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
+++ b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc
@@ -1,18 +1,18 @@
---- base/strings/safe_sprintf_unittest.cc.orig 2022-11-30 08:12:58 UTC
+--- base/strings/safe_sprintf_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ base/strings/safe_sprintf_unittest.cc
-@@ -740,6 +740,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
+@@ -733,6 +733,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
#endif
}
+#if !BUILDFLAG(IS_BSD)
TEST(SafeSPrintfTest, EmitNULL) {
char buf[40];
#if defined(__GNUC__)
-@@ -756,6 +757,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
+@@ -749,6 +750,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
#pragma GCC diagnostic pop
#endif
}
+#endif
TEST(SafeSPrintfTest, PointerSize) {
// The internal data representation is a 64bit value, independent of the
diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc
index 9433f80d7f28..f030b0307ea8 100644
--- a/www/chromium/files/patch-base_system_sys__info.cc
+++ b/www/chromium/files/patch-base_system_sys__info.cc
@@ -1,11 +1,11 @@
---- base/system/sys_info.cc.orig 2023-02-08 09:03:45 UTC
+--- base/system/sys_info.cc.orig 2023-03-09 06:31:50 UTC
+++ base/system/sys_info.cc
-@@ -107,7 +107,7 @@ std::string SysInfo::HardwareModelName() {
+@@ -106,7 +106,7 @@ std::string SysInfo::HardwareModelName() {
#endif
void SysInfo::GetHardwareInfo(base::OnceCallback<void(HardwareInfo)> callback) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
constexpr base::TaskTraits kTraits = {base::MayBlock()};
#else
constexpr base::TaskTraits kTraits = {};
diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc
index 26b0654e02ea..18541a4b9001 100644
--- a/www/chromium/files/patch-base_system_sys__info__posix.cc
+++ b/www/chromium/files/patch-base_system_sys__info__posix.cc
@@ -1,26 +1,26 @@
---- base/system/sys_info_posix.cc.orig 2023-02-08 09:03:45 UTC
+--- base/system/sys_info_posix.cc.orig 2023-03-09 06:31:50 UTC
+++ base/system/sys_info_posix.cc
-@@ -159,12 +159,12 @@ int NumberOfProcessors() {
+@@ -165,12 +165,12 @@ int NumberOfProcessors() {
} // namespace internal
-#if !BUILDFLAG(IS_OPENBSD)
+#if !BUILDFLAG(IS_BSD)
int SysInfo::NumberOfProcessors() {
static int number_of_processors = internal::NumberOfProcessors();
return number_of_processors;
}
-#endif // !BUILDFLAG(IS_OPENBSD)
+#endif // !BUILDFLAG(IS_BSD)
// static
uint64_t SysInfo::AmountOfVirtualMemory() {
-@@ -254,6 +254,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
+@@ -260,6 +260,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
arch = "x86";
} else if (arch == "amd64") {
arch = "x86_64";
+ } else if (arch == "arm64") {
+ arch = "aarch64";
} else if (std::string(info.sysname) == "AIX") {
arch = "ppc64";
}
diff --git a/www/chromium/files/patch-base_test_launcher_test__launcher.cc b/www/chromium/files/patch-base_test_launcher_test__launcher.cc
index c38d203671cb..7b9cbd580612 100644
--- a/www/chromium/files/patch-base_test_launcher_test__launcher.cc
+++ b/www/chromium/files/patch-base_test_launcher_test__launcher.cc
@@ -1,10 +1,10 @@
---- base/test/launcher/test_launcher.cc.orig 2023-02-08 09:03:45 UTC
+--- base/test/launcher/test_launcher.cc.orig 2023-03-09 06:31:50 UTC
+++ base/test/launcher/test_launcher.cc
-@@ -66,6 +66,7 @@
+@@ -67,6 +67,7 @@
#include "third_party/libxml/chromium/libxml_utils.h"
#if BUILDFLAG(IS_POSIX)
+#include <signal.h>
#include <fcntl.h>
#include "base/files/file_descriptor_watcher_posix.h"
diff --git a/www/chromium/files/patch-base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__posix.cc
index 0d4b2c3c5e79..0dd910306054 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc
@@ -1,21 +1,21 @@
---- base/threading/platform_thread_posix.cc.orig 2022-11-30 08:12:58 UTC
+--- base/threading/platform_thread_posix.cc.orig 2023-03-09 06:31:50 UTC
+++ base/threading/platform_thread_posix.cc
-@@ -78,7 +78,7 @@ void* ThreadFunc(void* params) {
+@@ -77,7 +77,7 @@ void* ThreadFunc(void* params) {
if (!thread_params->joinable)
base::DisallowSingleton();
-#if !BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(STARSCAN)
+ #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN)
partition_alloc::internal::PCScan::NotifyThreadCreated(
partition_alloc::internal::GetStackPointer());
-@@ -380,6 +380,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
+@@ -379,6 +379,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
MessagePumpType pump_type_hint) {
#if BUILDFLAG(IS_NACL)
NOTIMPLEMENTED();
+// avoid pledge(2) violation
+#elif BUILDFLAG(IS_BSD)
+ NOTIMPLEMENTED();
#else
if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint))
return;
diff --git a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
index 4058e29c6f7f..888d840be26e 100644
--- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
+++ b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc
@@ -1,38 +1,38 @@
---- base/threading/platform_thread_unittest.cc.orig 2023-02-08 09:03:45 UTC
+--- base/threading/platform_thread_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ base/threading/platform_thread_unittest.cc
@@ -31,7 +31,7 @@
#include "base/time/time.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <pthread.h>
#include <sys/syscall.h>
#include <sys/types.h>
@@ -422,7 +422,7 @@ TEST(PlatformThreadTest,
// and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
// proprerty changes for a given platform.
TEST(PlatformThreadTest, CanChangeThreadType) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
// able to increase priority to any level.
constexpr bool kCanIncreasePriority = false;
-@@ -696,12 +696,16 @@ INSTANTIATE_TEST_SUITE_P(
+@@ -701,12 +701,16 @@ INSTANTIATE_TEST_SUITE_P(
#endif // BUILDFLAG(IS_APPLE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
namespace {
bool IsTidCacheCorrect() {
+#if BUILDFLAG(IS_BSD)
+ return PlatformThread::CurrentId() == reinterpret_cast<int64_t>(pthread_self());
+#else
return PlatformThread::CurrentId() == syscall(__NR_gettid);
+#endif
}
void* CheckTidCacheCorrectWrapper(void*) {
diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn
index 36a12d51c8be..0b2b20e511f8 100644
--- a/www/chromium/files/patch-build_config_BUILD.gn
+++ b/www/chromium/files/patch-build_config_BUILD.gn
@@ -1,22 +1,22 @@
---- build/config/BUILD.gn.orig 2022-09-24 10:57:32 UTC
+--- build/config/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ build/config/BUILD.gn
-@@ -215,13 +215,17 @@ config("default_libs") {
+@@ -218,13 +218,17 @@ config("default_libs") {
"CoreText.framework",
"Foundation.framework",
]
- } else if (is_linux || is_chromeos) {
+ } else if ((is_linux && !is_bsd) || is_chromeos) {
libs = [
"dl",
"pthread",
"rt",
]
- }
+ } else if (is_bsd) {
+ libs = [
+ "pthread",
+ ]
+ }
}
group("common_deps") {
diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn
index efcbfb08d379..36fbf8576cb4 100644
--- a/www/chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,131 +1,131 @@
---- build/config/compiler/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- build/config/compiler/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ build/config/compiler/BUILD.gn
-@@ -224,13 +224,16 @@ config("default_include_dirs") {
+@@ -232,13 +232,16 @@ config("default_include_dirs") {
# Compiler instrumentation can introduce dependencies in DSOs to symbols in
# the executable they are loaded into, so they are unresolved at link-time.
config("no_unresolved_symbols") {
- if (!using_sanitizer &&
+ if (!using_sanitizer && !is_bsd &&
(is_linux || is_chromeos || is_android || is_fuchsia)) {
ldflags = [
"-Wl,-z,defs",
"-Wl,--as-needed",
]
}
+ if (current_cpu == "x86" && is_openbsd) {
+ ldflags = [ "-Wl,-z,notext" ]
+ }
}
# compiler ---------------------------------------------------------------------
-@@ -454,6 +457,10 @@ config("compiler") {
+@@ -462,6 +465,10 @@ config("compiler") {
}
}
+ if (is_openbsd) {
+ ldflags += [ "-Wl,-z,wxneeded" ]
+ }
+
# Linux-specific compiler flags setup.
# ------------------------------------
if (use_gold) {
-@@ -529,7 +536,7 @@ config("compiler") {
+@@ -537,7 +544,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
- if (is_clang && !is_nacl && current_os != "zos") {
+ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) {
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
if (save_reproducers_on_lld_crash && use_lld) {
ldflags += [
-@@ -813,7 +820,7 @@ config("compiler") {
+@@ -825,7 +832,7 @@ config("compiler") {
# lldb doesn't have the needed changes yet.
# * Fuchsia isn't supported as zxdb doesn't support simple template names yet.
# TODO(crbug.com/1379070): Remove if the upstream default ever changes.
- if (is_clang && !is_nacl && !is_win && !is_apple && !is_fuchsia) {
+ if (is_clang && !is_nacl && !is_win && !is_apple && !is_fuchsia && !is_bsd) {
cflags_cc += [ "-gsimple-template-names" ]
}
-@@ -973,7 +980,7 @@ config("compiler_cpu_abi") {
+@@ -1001,7 +1008,7 @@ config("compiler_cpu_abi") {
]
}
} else if (current_cpu == "arm") {
- if (is_clang && !is_android && !is_nacl &&
+ if (is_clang && !is_android && !is_nacl && !is_bsd &&
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ]
-@@ -988,7 +995,7 @@ config("compiler_cpu_abi") {
+@@ -1016,7 +1023,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
- if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd &&
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
-@@ -1322,7 +1329,7 @@ config("compiler_deterministic") {
+@@ -1350,7 +1357,7 @@ config("compiler_deterministic") {
# different build directory like "out/feature_a" and "out/feature_b" if
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
- if (is_nacl) {
+ if (is_nacl || is_bsd) {
# TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
-@@ -1374,7 +1381,7 @@ config("compiler_deterministic") {
+@@ -1402,7 +1409,7 @@ config("compiler_deterministic") {
}
config("clang_revision") {
- if (is_clang && clang_base_path == default_clang_base_path) {
+ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path) {
update_args = [
"--print-revision",
"--verify-version=$clang_version",
-@@ -1615,7 +1622,7 @@ config("default_warnings") {
+@@ -1643,7 +1650,7 @@ config("default_warnings") {
"-Wno-ignored-pragma-optimize",
]
- if (!is_nacl) {
+ if (!is_nacl && !is_bsd) {
cflags += [
# TODO(crbug.com/1343975) Evaluate and possibly enable.
"-Wno-deprecated-builtins",
-@@ -1794,7 +1801,7 @@ config("no_chromium_code") {
+@@ -1822,7 +1829,7 @@ config("no_chromium_code") {
# third-party libraries.
"-Wno-c++11-narrowing",
]
- if (!is_nacl) {
+ if (!is_nacl && !is_freebsd) {
cflags += [
# Disabled for similar reasons as -Wunused-variable.
"-Wno-unused-but-set-variable",
-@@ -2302,7 +2309,7 @@ config("afdo_optimize_size") {
+@@ -2330,7 +2337,7 @@ config("afdo_optimize_size") {
# There are some targeted places that AFDO regresses, so we provide a separate
# config to allow AFDO to be disabled per-target.
config("afdo") {
- if (is_clang) {
+ if (is_clang && !is_bsd) {
cflags = []
if (clang_emit_debug_info_for_profiling) {
# Add the following flags to generate debug info for profiling.
-@@ -2318,7 +2325,7 @@ config("afdo") {
+@@ -2346,7 +2353,7 @@ config("afdo") {
cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ]
inputs = [ _clang_sample_profile ]
}
- } else if (auto_profile_path != "" && is_a_target_toolchain) {
+ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) {
cflags = [ "-fauto-profile=${auto_profile_path}" ]
inputs = [ auto_profile_path ]
}
-@@ -2472,7 +2479,8 @@ config("symbols") {
+@@ -2501,7 +2508,8 @@ config("symbols") {
configs += [ "//build/config:compress_debug_sections" ]
}
- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") {
+ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" &&
+ !is_bsd) {
if (is_apple) {
# TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
# Make sure we don't use constructor homing on mac.
diff --git a/www/chromium/files/patch-build_config_linux_pkg-config.py b/www/chromium/files/patch-build_config_linux_pkg-config.py
index e48b205448bd..aedfccae77da 100644
--- a/www/chromium/files/patch-build_config_linux_pkg-config.py
+++ b/www/chromium/files/patch-build_config_linux_pkg-config.py
@@ -1,11 +1,11 @@
---- build/config/linux/pkg-config.py.orig 2022-02-07 13:39:41 UTC
+--- build/config/linux/pkg-config.py.orig 2023-03-09 06:31:50 UTC
+++ build/config/linux/pkg-config.py
-@@ -109,7 +109,7 @@ def main():
+@@ -108,7 +108,7 @@ def main():
# If this is run on non-Linux platforms, just return nothing and indicate
# success. This allows us to "kind of emulate" a Linux build from other
# platforms.
- if "linux" not in sys.platform:
+ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])):
print("[[],[],[],[],[]]")
return 0
diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni
index ed959f7cf230..5dae4ab6a718 100644
--- a/www/chromium/files/patch-build_config_rust.gni
+++ b/www/chromium/files/patch-build_config_rust.gni
@@ -1,11 +1,11 @@
---- build/config/rust.gni.orig 2023-02-08 09:03:45 UTC
+--- build/config/rust.gni.orig 2023-03-09 06:31:50 UTC
+++ build/config/rust.gni
-@@ -128,7 +128,7 @@ if (enable_rust) {
+@@ -134,7 +134,7 @@ if (enable_rust) {
rust_sysroot = "//third_party/rust-toolchain"
use_unverified_rust_toolchain = false
} else {
- if (host_os != "linux") {
+ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") {
assert(false,
"Attempt to use Android Rust toolchain on an unsupported platform")
}
diff --git a/www/chromium/files/patch-build_detect__host__arch.py b/www/chromium/files/patch-build_detect__host__arch.py
index 9d8ad2c44d2b..8f6db3a275ca 100644
--- a/www/chromium/files/patch-build_detect__host__arch.py
+++ b/www/chromium/files/patch-build_detect__host__arch.py
@@ -1,11 +1,11 @@
---- build/detect_host_arch.py.orig 2021-04-14 18:40:48 UTC
+--- build/detect_host_arch.py.orig 2023-03-09 06:31:50 UTC
+++ build/detect_host_arch.py
-@@ -21,6 +21,8 @@ def HostArch():
+@@ -20,6 +20,8 @@ def HostArch():
host_arch = 'ia32'
elif host_arch in ['x86_64', 'amd64']:
host_arch = 'x64'
+ elif host_arch.startswith('arm64'):
+ host_arch = 'arm64'
elif host_arch.startswith('arm'):
host_arch = 'arm'
elif host_arch.startswith('aarch64'):
diff --git a/www/chromium/files/patch-build_gn__run__binary.py b/www/chromium/files/patch-build_gn__run__binary.py
index cf65b6532d6f..09c4810630ff 100644
--- a/www/chromium/files/patch-build_gn__run__binary.py
+++ b/www/chromium/files/patch-build_gn__run__binary.py
@@ -1,11 +1,11 @@
---- build/gn_run_binary.py.orig 2022-02-07 13:39:41 UTC
+--- build/gn_run_binary.py.orig 2023-03-09 06:31:50 UTC
+++ build/gn_run_binary.py
-@@ -24,7 +24,7 @@ if not os.path.isabs(path):
+@@ -23,7 +23,7 @@ if not os.path.isabs(path):
# The rest of the arguments are passed directly to the executable.
args = [path] + sys.argv[2:]
-ret = subprocess.call(args)
+ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"})
if ret != 0:
if ret <= -100:
# Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
index f5fc81d6968b..f816fc449329 100644
--- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
+++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni
@@ -1,44 +1,44 @@
---- build/toolchain/gcc_toolchain.gni.orig 2023-02-08 09:03:45 UTC
+--- build/toolchain/gcc_toolchain.gni.orig 2023-03-09 06:31:50 UTC
+++ build/toolchain/gcc_toolchain.gni
@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) {
"enable_resource_allowlist_generation=true does not work for target_os=$target_os")
}
+declare_args() {
+ extra_cflags = ""
+ extra_cppflags = ""
+ extra_cxxflags = ""
+ extra_ldflags = ""
+}
+
# This template defines a toolchain for something that works like gcc
# (including clang).
#
-@@ -803,22 +810,12 @@ template("gcc_toolchain") {
+@@ -832,22 +839,12 @@ template("gcc_toolchain") {
# use_gold too.
template("clang_toolchain") {
gcc_toolchain(target_name) {
- _path = "$clang_base_path/bin"
- _is_path_absolute = get_path_info(_path, "abspath") == _path
-
- # Preserve absolute paths for tools like distcc.
- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) {
- prefix = _path
- } else {
- prefix = rebase_path(_path, root_build_dir)
- }
-
- cc = "${prefix}/clang"
- cxx = "${prefix}/clang++"
+ cc = "cc"
+ cxx = "c++"
ld = cxx
- readelf = "${prefix}/llvm-readelf"
- ar = "${prefix}/llvm-ar"
- nm = "${prefix}/llvm-nm"
+ readelf = "readelf"
+ ar = "ar"
+ nm = "nm"
forward_variables_from(invoker,
[
diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn
index 28c69bf60848..16f75af8bc6a 100644
--- a/www/chromium/files/patch-cc_BUILD.gn
+++ b/www/chromium/files/patch-cc_BUILD.gn
@@ -1,19 +1,19 @@
---- cc/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- cc/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ cc/BUILD.gn
-@@ -665,7 +665,7 @@ cc_test_static_library("test_support") {
+@@ -666,7 +666,7 @@ cc_test_static_library("test_support") {
if (enable_vulkan) {
deps += [ "//gpu/vulkan/init" ]
}
- if (!is_android) {
+ if (!is_android && !is_bsd) {
data_deps = [ "//third_party/mesa_headers" ]
}
}
-@@ -892,7 +892,6 @@ cc_test("cc_unittests") {
+@@ -893,7 +893,6 @@ cc_test("cc_unittests") {
data = [ "//components/viz/test/data/" ]
data_deps = [
"//testing/buildbot/filters:cc_unittests_filters",
- "//third_party/mesa_headers",
]
if (is_android && enable_chrome_android_internal) {
diff --git a/www/chromium/files/patch-chrome_app_chrome__command__ids.h b/www/chromium/files/patch-chrome_app_chrome__command__ids.h
index e5fe7eacffed..6f3fcf9ecf07 100644
--- a/www/chromium/files/patch-chrome_app_chrome__command__ids.h
+++ b/www/chromium/files/patch-chrome_app_chrome__command__ids.h
@@ -1,11 +1,11 @@
---- chrome/app/chrome_command_ids.h.orig 2022-06-17 14:20:10 UTC
+--- chrome/app/chrome_command_ids.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/chrome_command_ids.h
-@@ -67,7 +67,7 @@
- #define IDC_NAME_WINDOW 34049
+@@ -70,7 +70,7 @@
+ #endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#define IDC_USE_SYSTEM_TITLE_BAR 34051
#define IDC_RESTORE_WINDOW 34052
#endif
diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc
index 67ba7caf74ff..23847ee93aeb 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main.cc
@@ -1,20 +1,20 @@
---- chrome/app/chrome_main.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/app/chrome_main.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/chrome_main.cc
-@@ -25,7 +25,7 @@
+@@ -27,7 +27,7 @@
#include "chrome/app/notification_metrics.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/base_switches.h"
#endif
-@@ -151,7 +151,7 @@ int ChromeMain(int argc, const char** argv) {
+@@ -157,7 +157,7 @@ int ChromeMain(int argc, const char** argv) {
headless::SetUpCommandLine(command_line);
} else {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (headless::IsOldHeadlessMode()) {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
command_line->AppendSwitch(::headless::switches::kEnableCrashReporter);
diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
index 3e2e1c64b911..62585f961d8c 100644
--- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
+++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc
@@ -1,121 +1,121 @@
---- chrome/app/chrome_main_delegate.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/app/chrome_main_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/chrome_main_delegate.cc
-@@ -138,7 +138,7 @@
+@@ -137,7 +137,7 @@
#include "components/about_ui/credit_utils.h"
#endif
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
#include "components/nacl/common/nacl_paths.h"
#include "components/nacl/zygote/nacl_fork_delegate_linux.h"
#endif
-@@ -182,16 +182,16 @@
+@@ -181,16 +181,16 @@
#include "v8/include/v8.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/environment.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include "base/message_loop/message_pump_libevent.h"
#endif
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/policy/policy_path_parser.h"
#include "components/crash/core/app/crashpad.h"
#endif
-@@ -351,7 +351,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
+@@ -352,7 +352,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
// and resources loaded.
bool SubprocessNeedsResourceBundle(const std::string& process_type) {
return
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// The zygote process opens the resources for the renderers.
process_type == switches::kZygoteProcess ||
#endif
-@@ -436,7 +436,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
+@@ -437,7 +437,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Show the man page if --help or -h is on the command line.
void HandleHelpSwitches(const base::CommandLine& command_line) {
if (command_line.HasSwitch(switches::kHelp) ||
-@@ -550,7 +550,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+@@ -551,7 +551,7 @@ void InitializeUserDataDir(base::CommandLine* command_
std::string process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux, Chrome does not support running multiple copies under different
// DISPLAYs, so the profile directory can be specified in the environment to
// support the virtual desktop use-case.
-@@ -639,7 +639,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
+@@ -640,7 +640,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
#endif
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Record the startup process creation time on supported platforms. On Android
// this is recorded in ChromeMainDelegateAndroid.
startup_metric_utils::RecordStartupProcessCreationTime(
-@@ -927,6 +927,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
+@@ -928,6 +928,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
// not always enabled on ChromeOS.
#if BUILDFLAG(IS_CHROMEOS)
bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled();
+#elif BUILDFLAG(IS_BSD)
+ bool enable_gwp_asan = false;
#else
bool enable_gwp_asan = true;
#endif
-@@ -987,7 +989,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
+@@ -984,7 +986,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
base::internal::TimerBase::InitializeFeatures();
base::InitializeCpuReductionExperiment();
base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
base::MessagePumpLibevent::InitializeFeatures();
#elif BUILDFLAG(IS_MAC)
base::PlatformThread::InitFeaturesPostFieldTrial();
-@@ -1119,7 +1121,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo
+@@ -1116,7 +1118,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo
// TODO(crbug.com/1052397): Revisit the macro expression once build flag
// switch of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// This will directly exit if the user asked for help.
HandleHelpSwitches(command_line);
#endif
-@@ -1149,7 +1151,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo
+@@ -1146,7 +1148,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo
#if BUILDFLAG(IS_CHROMEOS)
chromeos::dbus_paths::RegisterPathProvider();
#endif
-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
nacl::RegisterPathProvider();
#endif
-@@ -1531,7 +1533,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+@@ -1528,7 +1530,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
if (command_line.HasSwitch(switches::kPreCrashpadCrashTest)) {
-@@ -1611,7 +1613,7 @@ absl::variant<int, content::MainFunctionParams> Chrome
+@@ -1608,7 +1610,7 @@ absl::variant<int, content::MainFunctionParams> Chrome
// This entry is not needed on Linux, where the NaCl loader
// process is launched via nacl_helper instead.
-#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
{switches::kNaClLoaderProcess, NaClMain},
#else
{"<invalid>", nullptr}, // To avoid constant array of size 0
diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd
index e8045be257dd..cd59ca98d8e1 100644
--- a/www/chromium/files/patch-chrome_app_generated__resources.grd
+++ b/www/chromium/files/patch-chrome_app_generated__resources.grd
@@ -1,74 +1,74 @@
---- chrome/app/generated_resources.grd.orig 2023-02-08 09:03:45 UTC
+--- chrome/app/generated_resources.grd.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/generated_resources.grd
@@ -2,7 +2,7 @@
<!--
This file contains definitions of resources that will be translated for each
-locale. The variables is_win, is_macosx, is_linux, and is_posix are available
+locale. The variables is_win, is_macosx, is_posix, and is_posix are available
for making strings OS specific. Other platform defines such as use_titlecase
are declared in tools/grit/grit_rule.gni.
-->
-@@ -3122,7 +3122,7 @@ are declared in tools/grit/grit_rule.gni.
+@@ -3181,7 +3181,7 @@ are declared in tools/grit/grit_rule.gni.
</if>
<!-- Bluetooth Device Credentials (i.e. PIN/Passkey) dialog -->
- <if expr="is_win or is_linux">
+ <if expr="is_win or is_posix">
<message name="IDS_BLUETOOTH_DEVICE_CREDENTIALS_TITLE" desc="Title of the Bluetooth device credentials prompt dialog.">
Device Credentials
</message>
-@@ -4868,7 +4868,7 @@ are declared in tools/grit/grit_rule.gni.
+@@ -4936,7 +4936,7 @@ are declared in tools/grit/grit_rule.gni.
Read information about your browser, OS, device, installed software, registry values and files
</message>
</if>
- <if expr="is_macosx or is_linux">
+ <if expr="is_macosx or is_posix">
<message name="IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS" desc="Permission string for enterprise private reporting permission on Linux and MacOS.">
Read information about your browser, OS, device, installed software and files
</message>
-@@ -5529,7 +5529,7 @@ Keep your key file in a safe place. You will need it t
+@@ -5603,7 +5603,7 @@ Keep your key file in a safe place. You will need it t
Old versions of Chrome Apps won't open on Windows devices after December 2022. Contact your administrator to update to a new version or remove this app.
</message>
</if>
- <if expr="is_linux">
+ <if expr="is_posix">
<message name="IDS_FORCE_INSTALLED_DEPRECATED_APPS_CONTENT" desc="Content of the force installed deprecated app dialog">
Old versions of Chrome Apps won't open on Linux devices after December 2022. Contact your administrator to update to a new version or remove this app.
</message>
-@@ -5575,7 +5575,7 @@ Keep your key file in a safe place. You will need it t
+@@ -5649,7 +5649,7 @@ Keep your key file in a safe place. You will need it t
Old versions of Chrome apps won't open on Windows devices after December 2022. You can check if there's a new version available.
</message>
</if>
- <if expr="is_linux">
+ <if expr="is_posix">
<message name="IDS_DEPRECATED_APPS_MONITOR_RENDERER" desc="Dialog content that educates users that Chrome Apps will soon no longer launch.">
Old versions of Chrome apps won't open on Linux devices after December 2022. You can check if there's a new version available.
</message>
-@@ -9287,7 +9287,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW
+@@ -9448,7 +9448,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW
Google Pay
</message>
- <if expr="is_linux">
+ <if expr="is_posix">
<message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders.">
Use system title bar and borders
</message>
-@@ -10620,7 +10620,7 @@ Please help our engineers fix this problem. Tell us wh
+@@ -10789,7 +10789,7 @@ Please help our engineers fix this problem. Tell us wh
Set as default
</message>
- <if expr="is_linux">
+ <if expr="is_posix">
<message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window.">
Minimize
</message>
-@@ -12735,7 +12735,7 @@ Please help our engineers fix this problem. Tell us wh
+@@ -12904,7 +12904,7 @@ Please help our engineers fix this problem. Tell us wh
Open Anyway
</message>
- <if expr="is_win or is_macosx or is_linux">
+ <if expr="is_win or is_macosx or is_posix">
<message name="IDS_UTILITY_PROCESS_SYSTEM_SIGNALS_NAME" desc="The name of the utility process used to collect system signals. Only spawned on Windows, Mac or Linux.">
System Signals Utilities
</message>
diff --git a/www/chromium/files/patch-chrome_app_settings__strings.grdp b/www/chromium/files/patch-chrome_app_settings__strings.grdp
index c797668519f7..361f4ab75cb3 100644
--- a/www/chromium/files/patch-chrome_app_settings__strings.grdp
+++ b/www/chromium/files/patch-chrome_app_settings__strings.grdp
@@ -1,20 +1,20 @@
---- chrome/app/settings_strings.grdp.orig 2023-02-08 09:03:45 UTC
+--- chrome/app/settings_strings.grdp.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/settings_strings.grdp
-@@ -154,7 +154,7 @@
+@@ -163,7 +163,7 @@
Theme
</message>
</if>
- <if expr="is_linux">
+ <if expr="is_posix">
<message name="IDS_SETTINGS_GTK_THEME" desc="Text of the label describing the system (GTK) browser theme on Linux">
GTK
</message>
-@@ -174,7 +174,7 @@
+@@ -183,7 +183,7 @@
Use Classic
</message>
</if>
- <if expr="not is_linux or is_chromeos or is_fuchsia">
+ <if expr="not is_posix or is_chromeos or is_fuchsia">
<message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme.">
Reset to default
</message>
diff --git a/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
index fa8c0da7d814..98ef6a198a1f 100644
--- a/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
+++ b/www/chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
@@ -1,29 +1,29 @@
---- chrome/app/theme/chrome_unscaled_resources.grd.orig 2023-02-08 09:03:45 UTC
+--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/theme/chrome_unscaled_resources.grd
@@ -16,7 +16,7 @@
<includes>
<if expr="_google_chrome">
<then>
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<include name="IDR_PRODUCT_LOGO_64" file="google_chrome/linux/product_logo_64.png" type="BINDATA" />
<include name="IDR_PRODUCT_LOGO_128" file="google_chrome/linux/product_logo_128.png" type="BINDATA" />
-@@ -61,7 +61,7 @@
+@@ -62,7 +62,7 @@
<else> <!-- not _google_chrome -->
- <if expr="_google_chrome_for_testing and _use_internal_chrome_for_testing_icons">
+ <if expr="_is_chrome_for_testing_branded">
<then>
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<include name="IDR_PRODUCT_LOGO_64" file="google_chrome/google_chrome_for_testing/linux/product_logo_64.png" type="BINDATA" />
<include name="IDR_PRODUCT_LOGO_128" file="google_chrome/google_chrome_for_testing/linux/product_logo_128.png" type="BINDATA" />
-@@ -75,7 +75,7 @@
+@@ -76,7 +76,7 @@
</if>
</then>
- <else> <!-- not (_google_chrome_for_testing and _use_internal_chrome_for_testing_icons) -->
+ <else> <!-- not _is_chrome_for_testing_branded -->
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<include name="IDR_PRODUCT_LOGO_64" file="chromium/linux/product_logo_64.png" type="BINDATA" />
<include name="IDR_PRODUCT_LOGO_128" file="chromium/linux/product_logo_128.png" type="BINDATA" />
diff --git a/www/chromium/files/patch-chrome_app_theme_theme__resources.grd b/www/chromium/files/patch-chrome_app_theme_theme__resources.grd
index b514eb1bf801..b6a15bca6dc8 100644
--- a/www/chromium/files/patch-chrome_app_theme_theme__resources.grd
+++ b/www/chromium/files/patch-chrome_app_theme_theme__resources.grd
@@ -1,59 +1,59 @@
---- chrome/app/theme/theme_resources.grd.orig 2023-02-08 09:03:45 UTC
+--- chrome/app/theme/theme_resources.grd.orig 2023-03-09 06:31:50 UTC
+++ chrome/app/theme/theme_resources.grd
@@ -135,14 +135,14 @@
</if>
<if expr="_google_chrome">
<then>
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/linux/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/linux/product_logo_32.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/linux/product_logo_32_beta.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_DEV" file="google_chrome/linux/product_logo_32_dev.png" />
</then>
- <else> <!-- not is_linux -->
+ <else> <!-- not is_posix -->
<if expr="not is_android">
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/product_logo_32.png" />
@@ -150,7 +150,7 @@
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/product_logo_32_beta.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_DEV" file="google_chrome/product_logo_32_dev.png" />
</else>
- </if> <!-- is_linux -->
+ </if> <!-- is_posix -->
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_CANARY" file="google_chrome/product_logo_32_canary.png" />
<if expr="not is_android">
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22" file="google_chrome/product_logo_name_22.png" />
@@ -162,7 +162,7 @@
<else> <!-- not _google_chrome -->
- <if expr="_google_chrome_for_testing and _use_internal_chrome_for_testing_icons">
+ <if expr="_is_chrome_for_testing_branded">
<then>
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/google_chrome_for_testing/linux/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/google_chrome_for_testing/linux/product_logo_32.png" />
@@ -171,10 +171,10 @@
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/google_chrome_for_testing/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/google_chrome_for_testing/product_logo_32.png" />
</else>
- </if> <!-- is_linux -->
+ </if> <!-- is_posix -->
</then>
- <else> <!-- not (_google_chrome_for_testing and _use_internal_chrome_for_testing_icons) -->
+ <else> <!-- not _is_chrome_for_testing_branded -->
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/linux/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/linux/product_logo_32.png" />
@@ -183,7 +183,7 @@
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/product_logo_16.png" />
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/product_logo_32.png" />
</else>
- </if> <!-- is_linux -->
+ </if> <!-- is_posix -->
</else>
- </if> <!-- _google_chrome_for_testing and _use_internal_chrome_for_testing_icons -->
+ </if> <!-- _is_chrome_for_testing_branded -->
<structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22" file="chromium/product_logo_name_22.png" />
diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc
index adc30fa90693..38f4ee589987 100644
--- a/www/chromium/files/patch-chrome_browser_about__flags.cc
+++ b/www/chromium/files/patch-chrome_browser_about__flags.cc
@@ -1,117 +1,126 @@
---- chrome/browser/about_flags.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/about_flags.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/about_flags.cc
-@@ -218,7 +218,7 @@
+@@ -219,7 +219,7 @@
#include "ui/ui_features.h"
#include "url/url_features.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/allocator/buildflags.h"
#endif
-@@ -294,7 +294,7 @@
- #include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h" // nogncheck
- #endif // ENABLE_SUPERVISED_USERS
+@@ -301,7 +301,7 @@
+ #include "device/vr/public/cpp/features.h"
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "ui/ozone/buildflags.h"
#include "ui/ozone/public/ozone_switches.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -401,7 +401,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap
+@@ -407,7 +407,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap
{"Max 3 Frames", &kDXGIWaitableSwapChain3Frames, 1, nullptr}};
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = {
{flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""},
{flag_descriptions::kOzonePlatformHintChoiceAuto,
-@@ -1317,7 +1317,7 @@ const FeatureEntry::FeatureVariation kLocalWebApproval
+@@ -1322,7 +1322,7 @@ const FeatureEntry::FeatureVariation kLocalWebApproval
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const FeatureEntry::FeatureParam
kOmniboxDocumentProviderCapLowQualitySuggestionsTo1[] = {
{"DocumentProviderMaxLowQualitySuggestions", "1"},
-@@ -4479,13 +4479,13 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -4375,13 +4375,13 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWebShare)},
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName,
flag_descriptions::kOzonePlatformHintDescription, kOsLinux,
MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)},
#endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{"skip-undecryptable-passwords",
flag_descriptions::kSkipUndecryptablePasswordsName,
flag_descriptions::kSkipUndecryptablePasswordsDescription,
-@@ -4752,7 +4752,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -4633,7 +4633,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(feed::kDiscoFeedEndpoint)},
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{"following-feed-sidepanel", flag_descriptions::kFollowingFeedSidepanelName,
flag_descriptions::kFollowingFeedSidepanelDescription, kOsDesktop,
FEATURE_VALUE_TYPE(feed::kWebUiFeed)},
-@@ -5331,7 +5331,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5191,7 +5191,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(omnibox::kZeroSuggestInMemoryCaching)},
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{"omnibox-experimental-keyword-mode",
flag_descriptions::kOmniboxExperimentalKeywordModeName,
flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop,
-@@ -5969,7 +5969,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5834,7 +5834,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kPointerLockOptionsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kPointerLockOptions)},
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"enable-async-dns", flag_descriptions::kAsyncDnsName,
flag_descriptions::kAsyncDnsDescription, kOsWin | kOsLinux,
FEATURE_VALUE_TYPE(features::kAsyncDns)},
-@@ -6969,7 +6969,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -6789,7 +6789,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{"global-media-controls-modern-ui",
flag_descriptions::kGlobalMediaControlsModernUIName,
flag_descriptions::kGlobalMediaControlsModernUIDescription,
-@@ -7737,7 +7737,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7532,7 +7532,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{"quick-commands", flag_descriptions::kQuickCommandsName,
flag_descriptions::kQuickCommandsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kQuickCommands)},
-@@ -7995,7 +7995,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7759,7 +7759,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(ash::features::kWallpaperPerDesk)},
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"enable-get-display-media-set", flag_descriptions::kGetDisplayMediaSetName,
+ flag_descriptions::kGetDisplayMediaSetDescription,
+ kOsCrOS | kOsLacros | kOsLinux,
+@@ -7809,7 +7809,7 @@ const FeatureEntry kFeatureEntries[] = {
#if BUILDFLAG(IS_WIN) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{
"ui-debug-tools",
flag_descriptions::kUIDebugToolsName,
-@@ -8554,7 +8554,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -8346,7 +8346,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
{"document-picture-in-picture-api",
flag_descriptions::kDocumentPictureInPictureApiName,
flag_descriptions::kDocumentPictureInPictureApiDescription,
diff --git a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
index bea2cd828782..a35891fc20c5 100644
--- a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
+++ b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
@@ -1,11 +1,11 @@
---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
@@ -90,7 +90,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
return metrics::OmniboxInputType::QUERY;
case ExternalProtocolHandler::UNKNOWN: {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Linux impl of GetApplicationNameForProtocol doesn't distinguish
+ // Linux impl of GetApplicationNameForScheme doesn't distinguish
// between URL schemes with handers and those without. This will
// make the default behaviour be search on Linux.
diff --git a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc
index fda0b258cd29..0efa589ecfab 100644
--- a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc
@@ -1,11 +1,11 @@
---- chrome/browser/background/background_mode_manager.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/background/background_mode_manager.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/background/background_mode_manager.cc
-@@ -892,7 +892,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
+@@ -889,7 +889,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
return gfx::ImageSkia();
return family->CreateExact(size).AsImageSkia();
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_PRODUCT_LOGO_128);
#elif BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc
index 167ccb912cd1..97d82e9e7c7e 100644
--- a/www/chromium/files/patch-chrome_browser_browser__features.cc
+++ b/www/chromium/files/patch-chrome_browser_browser__features.cc
@@ -1,11 +1,11 @@
---- chrome/browser/browser_features.cc.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/browser_features.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/browser_features.cc
-@@ -30,7 +30,7 @@ BASE_FEATURE(kColorProviderRedirectionForThemeProvider
+@@ -24,7 +24,7 @@ BASE_FEATURE(kClosedTabCache,
// the browser exits.
BASE_FEATURE(kDestroyProfileOnBrowserClose,
"DestroyProfileOnBrowserClose",
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT);
#else
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
index d4d9ac20cf0f..5f67687f7d49 100644
--- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc
@@ -1,29 +1,29 @@
---- chrome/browser/browser_process_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/browser_process_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/browser_process_impl.cc
-@@ -211,7 +211,7 @@
+@@ -212,7 +212,7 @@
#include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck
#endif
-@@ -1183,7 +1183,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
+@@ -1190,7 +1190,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() {
ApplyMetricsReportingPolicy();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
ChromeJsErrorReportProcessor::Create();
#endif
-@@ -1443,7 +1443,7 @@ void BrowserProcessImpl::Unpin() {
+@@ -1450,7 +1450,7 @@ void BrowserProcessImpl::Unpin() {
// Mac is currently not supported.
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
bool BrowserProcessImpl::IsRunningInBackground() const {
// Check if browser is in the background.
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
index 6baafafc10a1..52edbdb6ea92 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
@@ -1,71 +1,71 @@
---- chrome/browser/chrome_browser_interface_binders.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/chrome_browser_interface_binders.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/chrome_browser_interface_binders.cc
-@@ -114,13 +114,13 @@
+@@ -113,13 +113,13 @@
#endif // BUILDFLAG(FULL_SAFE_BROWSING)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h"
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h"
#include "ui/webui/resources/cr_components/app_management/app_management.mojom.h"
#endif
@@ -192,7 +192,7 @@
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#include "chrome/browser/ui/webui/discards/site_data.mojom.h"
-@@ -812,7 +812,7 @@ void PopulateChromeFrameBinders(
+@@ -853,7 +853,7 @@ void PopulateChromeFrameBinders(
#endif // BUILDFLAG(ENABLE_SPEECH_SERVICE)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (!render_frame_host->GetParent()) {
map->Add<chrome::mojom::DraggableRegions>(
base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed));
-@@ -820,7 +820,7 @@ void PopulateChromeFrameBinders(
+@@ -861,7 +861,7 @@ void PopulateChromeFrameBinders(
#endif
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) &&
!render_frame_host->GetParentOrOuterDocument()) {
// The service binder will reject non-primary main frames, but we still need
-@@ -885,14 +885,14 @@ void PopulateChromeWebUIFrameBinders(
+@@ -926,14 +926,14 @@ void PopulateChromeWebUIFrameBinders(
SegmentationInternalsUI>(map);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
RegisterWebUIControllerInterfaceBinder<
connectors_internals::mojom::PageHandler,
enterprise_connectors::ConnectorsInternalsUI>(map);
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
RegisterWebUIControllerInterfaceBinder<
app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map);
#endif
-@@ -1303,7 +1303,7 @@ void PopulateChromeWebUIFrameBinders(
+@@ -1332,7 +1332,7 @@ void PopulateChromeWebUIFrameBinders(
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
DiscardsUI>(map);
diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
index 0cdea082de9e..ffc9a400dcf9 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc
@@ -1,43 +1,43 @@
---- chrome/browser/chrome_browser_main.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/chrome_browser_main.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/chrome_browser_main.cc
@@ -240,11 +240,11 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/first_run/upgrade_util_linux.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "components/crash/core/app/crashpad.h"
#endif
@@ -279,7 +279,7 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
#include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h"
#include "chrome/browser/profiles/profile_activity_metrics_recorder.h"
-@@ -988,7 +988,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+@@ -986,7 +986,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_creator_->AddFirstRunTabs(master_prefs_->new_tabs);
}
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Create directory for user-level Native Messaging manifest files. This
// makes it less likely that the directory will be created by third-party
// software with incorrect owner or permission. See crbug.com/725513 .
-@@ -1044,7 +1044,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+@@ -1042,7 +1042,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
metrics::DesktopSessionDurationTracker::Initialize();
ProfileActivityMetricsRecorder::Initialize();
TouchModeStatsTracker::Initialize(
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
index 600447f12330..b1124d1564c8 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc
@@ -1,145 +1,163 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/chrome_content_browser_client.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/chrome_content_browser_client.cc
-@@ -401,7 +401,7 @@
- #include "components/user_manager/user_manager.h"
+@@ -412,7 +412,7 @@
#include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
#include "storage/browser/file_system/external_mount_points.h"
+ #include "ui/display/screen.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/chrome_browser_main_linux.h"
#elif BUILDFLAG(IS_ANDROID)
#include "base/android/application_status_listener.h"
-@@ -486,12 +486,12 @@
+@@ -497,12 +497,12 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "components/crash/core/app/crash_switches.h"
#include "components/crash/core/app/crashpad.h"
#endif
-@@ -500,13 +500,13 @@
+@@ -511,13 +511,13 @@
#include "components/crash/content/browser/crash_handler_host_linux.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h"
#include "chrome/browser/ui/webui/app_settings/web_app_settings_navigation_throttle.h"
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ||
// BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -535,11 +535,11 @@
+@@ -546,11 +546,11 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/chrome_browser_main_extra_parts_linux.h"
#elif BUILDFLAG(IS_OZONE)
#include "chrome/browser/chrome_browser_main_extra_parts_ozone.h"
-@@ -1649,7 +1649,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+@@ -1559,7 +1559,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre
+ policy::policy_prefs::kPPAPISharedImagesSwapChainAllowed, true);
+ registry->RegisterBooleanPref(
+ policy::policy_prefs::kForceEnablePepperVideoDecoderDevAPI, false);
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled,
+ true);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
+@@ -1666,7 +1666,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
#elif BUILDFLAG(IS_CHROMEOS_LACROS)
main_parts = std::make_unique<ChromeBrowserMainPartsLacros>(
is_integration_test, &startup_data_);
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
main_parts = std::make_unique<ChromeBrowserMainPartsLinux>(
is_integration_test, &startup_data_);
#elif BUILDFLAG(IS_ANDROID)
-@@ -1688,7 +1688,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+@@ -1705,7 +1705,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>());
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
main_parts->AddParts(
std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>());
#else
-@@ -1709,7 +1709,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+@@ -1726,7 +1726,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLacros>());
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLinux>());
#elif BUILDFLAG(IS_OZONE)
main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsOzone>());
-@@ -1728,7 +1728,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
+@@ -1745,7 +1745,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo
chrome::AddMetricsExtraParts(main_parts.get());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
main_parts->AddParts(
std::make_unique<
chrome::enterprise_util::ChromeBrowserMainExtraPartsEnterprise>());
-@@ -2550,6 +2550,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+@@ -2578,6 +2578,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
#elif BUILDFLAG(IS_POSIX)
#if BUILDFLAG(IS_ANDROID)
bool enable_crash_reporter = true;
+#elif BUILDFLAG(IS_BSD)
+ bool enable_crash_reporter = false;
#elif BUILDFLAG(IS_CHROMEOS)
bool enable_crash_reporter = false;
if (crash_reporter::IsCrashpadEnabled()) {
-@@ -2933,7 +2935,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+@@ -2949,7 +2951,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
command_line);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
// Opt into a hardened stack canary mitigation if it hasn't already been
// force-disabled.
if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) {
-@@ -4416,7 +4418,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
+@@ -4442,7 +4444,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
}
}
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
-@@ -4936,14 +4938,14 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
+@@ -4964,14 +4966,14 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
&throttles);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
MaybeAddThrottle(
WebAppSettingsNavigationThrottle::MaybeCreateThrottleFor(handle),
&throttles);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle::
MaybeCreateThrottleFor(handle),
&throttles);
-@@ -4978,7 +4980,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
+@@ -5010,7 +5012,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
handle));
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
MaybeCreateThrottleFor(handle),
&throttles);
+@@ -6616,7 +6618,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS
+ }
+
+ bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // This is possibly called before `g_browser_process` is initialized.
+ PrefService* local_state;
+ if (g_browser_process) {
diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
index 729784c58481..464da6aa1af5 100644
--- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
+++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h
@@ -1,11 +1,11 @@
---- chrome/browser/chrome_content_browser_client.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/chrome_content_browser_client.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/chrome_content_browser_client.h
-@@ -441,7 +441,7 @@ class ChromeContentBrowserClient : public content::Con
+@@ -444,7 +444,7 @@ class ChromeContentBrowserClient : public content::Con
void OverridePageVisibilityState(
content::RenderFrameHost* render_frame_host,
content::PageVisibilityState* visibility_state) override;
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
void GetAdditionalMappedFilesForChildProcess(
const base::CommandLine& command_line,
int child_process_id,
diff --git a/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
index 8b9b9115d38e..9a0d5f0fc543 100644
--- a/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
@@ -1,11 +1,11 @@
---- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc
-@@ -69,7 +69,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau
+@@ -68,7 +68,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau
// If true default protocol handlers will be removed if the OS level
// registration for a protocol is no longer Chrome.
bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// We don't do this on Linux as the OS registration there is not reliable,
// and Chrome OS doesn't have any notion of OS registration.
// TODO(benwells): When Linux support is more reliable remove this
diff --git a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
index 2da502532ccd..36a953dccc3a 100644
--- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
@@ -1,29 +1,29 @@
---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -1568,7 +1568,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
+@@ -1554,7 +1554,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
const base::FilePath& path) {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
return !download_prefs_->ShouldOpenPdfInSystemReader();
}
-@@ -1684,7 +1684,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
+@@ -1668,7 +1668,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
content::CheckDownloadAllowedCallback check_download_allowed_cb) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// Don't download pdf if it is a file URL, as that might cause an infinite
// download loop if Chrome is not the system pdf viewer.
if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) {
-@@ -1730,7 +1730,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl
+@@ -1714,7 +1714,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl
DCHECK(download_item->IsSavePackageDownload());
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
absl::optional<enterprise_connectors::AnalysisSettings> settings =
safe_browsing::DeepScanningRequest::ShouldUploadBinary(download_item);
diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.cc b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
index 64002dd0fec3..09ef4c28bef4 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc
@@ -1,20 +1,20 @@
---- chrome/browser/download/download_commands.cc.orig 2022-05-19 14:06:27 UTC
+--- chrome/browser/download/download_commands.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/download/download_commands.cc
-@@ -26,7 +26,7 @@
+@@ -27,7 +27,7 @@
#include "ui/base/clipboard/scoped_clipboard_writer.h"
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
-@@ -167,7 +167,7 @@ void DownloadCommands::ExecuteCommand(Command command)
+@@ -168,7 +168,7 @@ void DownloadCommands::ExecuteCommand(Command command)
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
Browser* DownloadCommands::GetBrowser() const {
if (!model_)
diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.h b/www/chromium/files/patch-chrome_browser_download_download__commands.h
index 35050c88691a..f715e5ab6d78 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__commands.h
+++ b/www/chromium/files/patch-chrome_browser_download_download__commands.h
@@ -1,11 +1,11 @@
---- chrome/browser/download/download_commands.h.orig 2022-08-31 12:19:35 UTC
+--- chrome/browser/download/download_commands.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/download/download_commands.h
-@@ -55,7 +55,7 @@ class DownloadCommands {
+@@ -56,7 +56,7 @@ class DownloadCommands {
void ExecuteCommand(Command command);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
bool IsDownloadPdf() const;
bool CanOpenPdfInSystemViewer() const;
Browser* GetBrowser() const;
diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
index 29f4ae52d4a3..0854915e5833 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc
@@ -1,29 +1,29 @@
---- chrome/browser/download/download_item_model.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/download/download_item_model.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/download/download_item_model.cc
-@@ -801,7 +801,7 @@ bool DownloadItemModel::IsCommandChecked(
+@@ -756,7 +756,7 @@ bool DownloadItemModel::IsCommandChecked(
download_crx_util::IsExtensionDownload(*download_);
case DownloadCommands::ALWAYS_OPEN_TYPE:
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (download_commands->CanOpenPdfInSystemViewer()) {
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
return prefs->ShouldOpenPdfInSystemReader();
-@@ -844,7 +844,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
+@@ -799,7 +799,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
base::UmaHistogramBoolean("Download.SetAlwaysOpenTo", !is_checked);
DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (download_commands->CanOpenPdfInSystemViewer()) {
prefs->SetShouldOpenPdfInSystemReader(!is_checked);
SetShouldPreferOpeningInBrowser(is_checked);
-@@ -1255,7 +1255,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe
+@@ -1210,7 +1210,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe
return;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") {
SetShouldPreferOpeningInBrowser(true);
return;
diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
index cc12bca0a1aa..385b5e737a46 100644
--- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc
@@ -1,90 +1,90 @@
---- chrome/browser/download/download_prefs.cc.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/download/download_prefs.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/download/download_prefs.cc
-@@ -13,6 +13,7 @@
- #include "base/callback_helpers.h"
+@@ -11,6 +11,7 @@
+
#include "base/check.h"
#include "base/cxx17_backports.h"
+#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/files/file_util.h"
- #include "base/no_destructor.h"
+ #include "base/functional/bind.h"
@@ -61,6 +62,10 @@
#include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
#endif
+#if BUILDFLAG(IS_OPENBSD)
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+#endif
+
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
@@ -71,7 +76,7 @@ namespace {
// Consider downloads 'dangerous' if they go to the home directory on Linux and
// to the desktop on any platform.
bool DownloadPathIsDangerous(const base::FilePath& download_path) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
base::FilePath home_dir = base::GetHomeDir();
if (download_path == home_dir) {
return true;
@@ -182,7 +187,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
should_open_pdf_in_system_reader_ =
prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
#endif
@@ -302,7 +307,7 @@ void DownloadPrefs::RegisterProfilePrefs(
registry->RegisterTimePref(prefs::kDownloadLastCompleteTime,
/*default_value=*/base::Time());
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
#endif
#if BUILDFLAG(IS_ANDROID)
@@ -475,7 +480,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
if (should_open_pdf_in_system_reader_ == should_open)
return;
@@ -507,7 +512,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
void DownloadPrefs::ResetAutoOpenByUser() {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
SetShouldOpenPdfInSystemReader(false);
#endif
auto_open_by_user_.clear();
@@ -538,7 +543,7 @@ void DownloadPrefs::SaveAutoOpenState() {
bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const {
#if BUILDFLAG(IS_CHROMEOS)
return false; // There is no UI for auto-open on ChromeOS.
-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
return ShouldOpenPdfInSystemReader();
#else
return false;
@@ -662,7 +667,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa
#else
// If the stored download directory is an absolute path, we presume it's
// correct; there's not really much more validation we can do here.
+#if BUILDFLAG(IS_OPENBSD)
+ // If unveil(2) is used, force the file dialog directory to something we
+ // know is available.
+ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance();
+ if (!sandbox->unveil_initialized() && path.IsAbsolute())
+#else
if (path.IsAbsolute())
+#endif
return path;
// When the default download directory is *not* an absolute path, we use the
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc
index a6f918268403..5f8b990302e3 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc
@@ -1,11 +1,11 @@
---- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/enterprise/connectors/connectors_service.cc
-@@ -513,7 +513,7 @@ bool ConnectorsService::ConnectorsEnabled() const {
+@@ -507,7 +507,7 @@ bool ConnectorsService::ConnectorsEnabled() const {
Profile* profile = Profile::FromBrowserContext(context_);
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// On desktop, the guest profile is actually the primary OTR profile of
// the "regular" guest profile. The regular guest profile is never used
// directly by users. Also, user are not able to create child OTR profiles
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
index 2265e7bf79bc..379ceec2a909 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc
@@ -1,43 +1,29 @@
---- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc
-@@ -11,11 +11,11 @@
+@@ -11,7 +11,7 @@
#include "chrome/browser/profiles/profile.h"
#include "components/keyed_service/core/keyed_service.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "chrome/browser/browser_process.h"
- #if BUILDFLAG(IS_MAC)
- #include "chrome/browser/enterprise/connectors/device_trust/browser/mac_device_trust_connector_service.h"
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h"
- #endif // BUILDFLAG(IS_MAC)
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
-@@ -45,7 +45,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi
+@@ -41,7 +41,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi
bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext()
const {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
return IsDeviceTrustConnectorFeatureEnabled();
#else
return false;
-@@ -81,7 +81,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil
+@@ -77,7 +77,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil
DeviceTrustConnectorService* service = nullptr;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (IsDeviceTrustConnectorFeatureEnabled()) {
auto* key_manager = g_browser_process->browser_policy_connector()
->chrome_browser_cloud_management_controller()
-@@ -89,7 +89,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil
- #if BUILDFLAG(IS_MAC)
- service = new MacDeviceTrustConnectorService(
- key_manager, profile->GetPrefs(), g_browser_process->local_state());
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- service = new BrowserDeviceTrustConnectorService(key_manager,
- profile->GetPrefs());
- #endif // BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
index 72a03e4cb336..f006b6a7f929 100644
--- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc
@@ -1,20 +1,20 @@
---- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2022-10-24 13:33:33 UTC
+--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc
-@@ -14,7 +14,7 @@
+@@ -13,7 +13,7 @@
#if BUILDFLAG(IS_WIN)
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/win_key_rotation_command.h"
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h"
#elif BUILDFLAG(IS_MAC)
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/mac_key_rotation_command.h"
-@@ -47,7 +47,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand
- PrefService* local_prefs) {
+@@ -45,7 +45,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand
+ scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) {
#if BUILDFLAG(IS_WIN)
return std::make_unique<WinKeyRotationCommand>();
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return std::make_unique<LinuxKeyRotationCommand>(url_loader_factory);
#elif BUILDFLAG(IS_MAC)
- return std::make_unique<MacKeyRotationCommand>(url_loader_factory,
+ return std::make_unique<MacKeyRotationCommand>(url_loader_factory);
diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
index 33b86d0aabbc..573e4afd38e4 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
+++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn
@@ -1,13 +1,13 @@
---- chrome/browser/extensions/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/extensions/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/BUILD.gn
-@@ -1328,6 +1328,10 @@ static_library("extensions") {
+@@ -1336,6 +1336,10 @@ static_library("extensions") {
deps += [ "//chrome/services/printing/public/mojom" ]
}
+ if (is_bsd) {
+ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
+ }
+
if (enable_service_discovery) {
sources += [
"api/mdns/mdns_api.cc",
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
index 66a357631856..3e59d4d2d5c4 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
@@ -1,38 +1,38 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
-@@ -31,7 +31,7 @@
+@@ -32,7 +32,7 @@
#include "components/reporting/util/statusor.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/strings/string_util.h"
#include "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
#include "chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h"
-@@ -149,7 +149,7 @@ api::enterprise_reporting_private::ContextInfo ToConte
+@@ -150,7 +150,7 @@ api::enterprise_reporting_private::ContextInfo ToConte
return info;
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
device_signals::SignalsAggregationRequest CreateAggregationRequest(
const std::string& user_id,
-@@ -209,7 +209,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
+@@ -210,7 +210,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
// getPersistentSecret
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
EnterpriseReportingPrivateGetPersistentSecretFunction::
EnterpriseReportingPrivateGetPersistentSecretFunction() = default;
-@@ -636,7 +636,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction::
+@@ -637,7 +637,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction::
}
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// getFileSystemInfo
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
index bba2bf2f5f30..048a9551288c 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
@@ -1,29 +1,29 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h
-@@ -19,7 +19,7 @@
+@@ -20,7 +20,7 @@
#include "components/reporting/proto/synced/record.pb.h"
#include "components/reporting/proto/synced/record_constants.pb.h"
#include "components/reporting/util/statusor.h"
-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/time/time.h"
#include "components/device_signals/core/browser/signals_types.h"
#endif // BUILDFLAG(IS_CHROMEOS)
-@@ -55,7 +55,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction :
+@@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction :
~EnterpriseReportingPrivateGetDeviceIdFunction() override;
};
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
class EnterpriseReportingPrivateGetPersistentSecretFunction
: public ExtensionFunction {
-@@ -265,7 +265,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction
+@@ -266,7 +266,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
class EnterpriseReportingPrivateGetFileSystemInfoFunction
: public ExtensionFunction {
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
index 7f1ccaa84855..fd62272262c3 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
@@ -1,11 +1,11 @@
---- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
-@@ -518,7 +518,7 @@ void PasswordsPrivateDelegateImpl::OsReauthCall(
+@@ -520,7 +520,7 @@ void PasswordsPrivateDelegateImpl::OsReauthCall(
}
void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() {
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
PasswordsPrivateEventRouter* router =
PasswordsPrivateEventRouterFactory::GetForProfile(profile_);
if (router)
diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
index 907598ae7826..79980cfa35bf 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
@@ -1,20 +1,20 @@
---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -185,7 +185,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+@@ -189,7 +189,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
(*s_allowlist)[::prefs::kUseCustomChromeFrame] =
settings_api::PrefType::PREF_TYPE_BOOLEAN;
#endif
-@@ -197,7 +197,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+@@ -201,7 +201,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
settings_api::PrefType::PREF_TYPE_STRING;
(*s_allowlist)[::prefs::kPolicyThemeColor] =
settings_api::PrefType::PREF_TYPE_NUMBER;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
(*s_allowlist)[::prefs::kUsesSystemThemeDeprecated] =
settings_api::PrefType::PREF_TYPE_BOOLEAN;
(*s_allowlist)[::prefs::kSystemTheme] =
diff --git a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
index 962691ef1bef..21e1b0bfaea4 100644
--- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc
@@ -1,20 +1,20 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/extensions/external_provider_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/extensions/external_provider_impl.cc
-@@ -825,7 +825,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -819,7 +819,7 @@ void ExternalProviderImpl::CreateExternalProviders(
if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
base::MakeRefCounted<ExternalPrefLoader>(
-@@ -853,7 +853,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+@@ -847,7 +847,7 @@ void ExternalProviderImpl::CreateExternalProviders(
bundled_extension_creation_flags));
// Define a per-user source of external extensions.
-#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
BUILDFLAG(CHROMIUM_BRANDING))
provider_list->push_back(std::make_unique<ExternalProviderImpl>(
service,
diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
index 87cbeeea81cd..3c77dec7b834 100644
--- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
+++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
@@ -1,11 +1,11 @@
---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2023-02-16 17:16:19 UTC
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-@@ -302,7 +302,7 @@ const struct {
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
+@@ -309,7 +309,7 @@ const struct {
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
kDontBlockChildren},
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux also block access to devices via /dev.
{kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren},
// And security sensitive data in /proc and /sys.
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
index 6b48189d92c1..89f6b8649997 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,56 +1,65 @@
---- chrome/browser/flag_descriptions.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/flag_descriptions.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/flag_descriptions.cc
-@@ -6339,7 +6339,7 @@ const char kSearchWebInSidePanelDescription[] =
+@@ -6087,7 +6087,7 @@ const char kLibAssistantV2MigrationDescription[] =
+
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kGetDisplayMediaSetName[] = "GetDisplayMediaSet API";
+ const char kGetDisplayMediaSetDescription[] =
+ "When enabled, the getDisplayMediaSet API for capturing multiple surfaces "
+@@ -6316,7 +6316,7 @@ const char kSearchWebInSidePanelDescription[] =
// Random platform combinations -----------------------------------------------
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const char kQuickCommandsName[] = "Quick Commands";
const char kQuickCommandsDescription[] =
"Enable a text interface to browser features. Invoke with Ctrl-Space.";
-@@ -6348,7 +6348,7 @@ const char kQuickCommandsDescription[] =
+@@ -6325,7 +6325,7 @@ const char kQuickCommandsDescription[] =
// BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel";
const char kFollowingFeedSidepanelDescription[] =
"Enables the following feed in the sidepanel.";
-@@ -6369,7 +6369,7 @@ const char kWebShareDescription[] =
+@@ -6346,7 +6346,7 @@ const char kWebShareDescription[] =
"platforms.";
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
const char kOzonePlatformHintChoiceDefault[] = "Default";
const char kOzonePlatformHintChoiceAuto[] = "Auto";
const char kOzonePlatformHintChoiceX11[] = "X11";
-@@ -6389,7 +6389,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti
+@@ -6366,7 +6366,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti
"Bluetooth";
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
const char kSkipUndecryptablePasswordsName[] =
"Skip undecryptable passwords to use the available decryptable "
"passwords.";
-@@ -6403,7 +6403,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail
+@@ -6380,7 +6380,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail
"storage and requests initial sync.";
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const char kAsyncDnsName[] = "Async DNS resolver";
const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver.";
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
-@@ -6496,7 +6496,7 @@ const char kElasticOverscrollDescription[] =
+@@ -6481,7 +6481,7 @@ const char kElasticOverscrollDescription[] =
#if BUILDFLAG(IS_WIN) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const char kUIDebugToolsName[] = "Debugging tools for UI";
const char kUIDebugToolsDescription[] =
"Enables additional keyboard shortcuts to help debugging.";
diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
index f891ca6d06ad..22fb60a7631e 100644
--- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h
+++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h
@@ -1,62 +1,71 @@
---- chrome/browser/flag_descriptions.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/flag_descriptions.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/flag_descriptions.h
-@@ -3657,14 +3657,14 @@ extern const char kSearchWebInSidePanelDescription[];
+@@ -3520,7 +3520,7 @@ extern const char kLacrosScreenCoordinatesEnabledName[
+ extern const char kLacrosScreenCoordinatesEnabledDescription[];
+ #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kGetDisplayMediaSetName[];
+ extern const char kGetDisplayMediaSetDescription[];
+
+@@ -3639,14 +3639,14 @@ extern const char kSearchWebInSidePanelDescription[];
// Random platform combinations -----------------------------------------------
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
extern const char kQuickCommandsName[];
extern const char kQuickCommandsDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// defined (OS_FUCHSIA)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
extern const char kWebShareName[];
extern const char kWebShareDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -3674,7 +3674,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa
+@@ -3656,7 +3656,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa
extern const char kWebBluetoothConfirmPairingSupportDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
extern const char kOzonePlatformHintChoiceDefault[];
extern const char kOzonePlatformHintChoiceAuto[];
extern const char kOzonePlatformHintChoiceX11[];
-@@ -3684,7 +3684,7 @@ extern const char kOzonePlatformHintName[];
+@@ -3666,7 +3666,7 @@ extern const char kOzonePlatformHintName[];
extern const char kOzonePlatformHintDescription[];
#endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
extern const char kSkipUndecryptablePasswordsName[];
extern const char kSkipUndecryptablePasswordsDescription[];
-@@ -3692,13 +3692,13 @@ extern const char kForcePasswordInitialSyncWhenDecrypt
+@@ -3674,13 +3674,13 @@ extern const char kForcePasswordInitialSyncWhenDecrypt
extern const char kForcePasswordInitialSyncWhenDecryptionFailsDescription[];
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
extern const char kAsyncDnsName[];
extern const char kAsyncDnsDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
extern const char kFollowingFeedSidepanelName[];
extern const char kFollowingFeedSidepanelDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
-@@ -3773,7 +3773,7 @@ extern const char kElasticOverscrollDescription[];
+@@ -3760,7 +3760,7 @@ extern const char kElasticOverscrollDescription[];
#if BUILDFLAG(IS_WIN) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
extern const char kUIDebugToolsName[];
extern const char kUIDebugToolsDescription[];
diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
index e9f738c93ff8..706437f7a112 100644
--- a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
+++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc
@@ -1,25 +1,25 @@
---- chrome/browser/headless/headless_mode_util.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/headless/headless_mode_util.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/headless/headless_mode_util.cc
@@ -10,11 +10,11 @@
// New headless mode is available on Linux, Windows and Mac platforms.
// More platforms will be added later, so avoid function level clutter
// by providing stub implementations at the end of the file.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "base/base_switches.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "ui/gl/gl_switches.h"
- #include "ui/ozone/public/ozone_switches.h"
+ #include "ui/gl/gl_switches.h" // nogncheck
+ #include "ui/ozone/public/ozone_switches.h" // nogncheck
#endif // BUILDFLAG(IS_LINUX)
@@ -64,7 +64,7 @@ void SetUpCommandLine(const base::CommandLine* command
base::CommandLine::ForCurrentProcess()->AppendSwitch(
::switches::kNoErrorDialogs);
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Headless mode on Linux relies on ozone/headless platform.
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
::switches::kOzonePlatform, switches::kHeadless);
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc
new file mode 100644
index 000000000000..00c0319ed7b8
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/media/webrtc/capture_policy_utils.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/media/webrtc/capture_policy_utils.cc
+@@ -118,7 +118,7 @@ AllowedScreenCaptureLevel GetAllowedCaptureLevel(const
+
+ bool IsGetDisplayMediaSetSelectAllScreensAllowedForAnySite(
+ content::BrowserContext* context) {
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ Profile* profile = Profile::FromBrowserContext(context);
+ if (!profile) {
+ return false;
+@@ -145,7 +145,7 @@ bool IsGetDisplayMediaSetSelectAllScreensAllowedForAny
+ bool IsGetDisplayMediaSetSelectAllScreensAllowed(
+ content::BrowserContext* context,
+ const GURL& url) {
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ Profile* profile = Profile::FromBrowserContext(context);
+ if (!profile)
+ return false;
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc
new file mode 100644
index 000000000000..ac438f7610fa
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc
@@ -0,0 +1,47 @@
+--- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/media/webrtc/chrome_screen_enumerator.cc
+@@ -20,7 +20,7 @@
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #include "ash/shell.h"
+ #include "ui/aura/window.h"
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/functional/callback.h"
+ #include "content/public/browser/desktop_capture.h"
+ #endif
+@@ -31,7 +31,7 @@ base::LazyInstance<std::vector<aura::Window*>>::Destru
+ root_windows_for_testing_ = LAZY_INSTANCE_INITIALIZER;
+ } // namespace
+
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace {
+ base::LazyInstance<std::unique_ptr<webrtc::DesktopCapturer>>::DestructorAtExit
+ g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER;
+@@ -77,7 +77,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
+ return stream_devices_set;
+ }
+
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
+ blink::mojom::MediaStreamType stream_type) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+@@ -128,7 +128,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting(
+ root_windows_for_testing_.Get() = std::move(root_windows);
+ }
+
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void ChromeScreenEnumerator::SetDesktopCapturerForTesting(
+ std::unique_ptr<webrtc::DesktopCapturer> capturer) {
+ g_desktop_capturer_for_testing.Get() = std::move(capturer);
+@@ -144,7 +144,7 @@ void ChromeScreenEnumerator::EnumerateScreens(
+ DCHECK(base::FeatureList::IsEnabled(
+ features::kGetDisplayMediaSetAutoSelectAllScreens));
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ content::GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult(
+ FROM_HERE, base::BindOnce(::EnumerateScreens, stream_type),
+ base::BindOnce(
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h
new file mode 100644
index 000000000000..9f7430e5d302
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h
@@ -0,0 +1,20 @@
+--- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/media/webrtc/chrome_screen_enumerator.h
+@@ -21,7 +21,7 @@ namespace aura {
+ class Window;
+ }
+
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace webrtc {
+ class DesktopCapturer;
+ }
+@@ -42,7 +42,7 @@ class ChromeScreenEnumerator : public media::ScreenEnu
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ static void SetRootWindowsForTesting(std::vector<aura::Window*> root_windows);
+-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static void SetDesktopCapturerForTesting(
+ std::unique_ptr<webrtc::DesktopCapturer> capturer);
+ #endif
diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
index 5e7159774a61..31c9b5208ea6 100644
--- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
+++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
@@ -1,11 +1,11 @@
---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome";
+@@ -41,7 +41,7 @@ const char kProduct[] = "Chrome";
const char kProduct[] = "Chrome_Mac";
#elif BUILDFLAG(IS_CHROMEOS_ASH)
const char kProduct[] = "Chrome_ChromeOS";
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
const char kProduct[] = "Chrome_Linux";
#elif BUILDFLAG(IS_ANDROID)
const char kProduct[] = "Chrome_Android";
diff --git a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
index e174124e6c99..bbd138d501b9 100644
--- a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc
@@ -1,37 +1,37 @@
---- chrome/browser/memory_details_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- chrome/browser/memory_details_linux.cc.orig 2023-03-10 06:02:42 UTC
+++ chrome/browser/memory_details_linux.cc
-@@ -13,6 +13,7 @@
+@@ -12,6 +12,7 @@
+ #include <memory>
#include <set>
- #include "base/bind.h"
+#include "base/command_line.h"
#include "base/files/file_util.h"
+ #include "base/functional/bind.h"
#include "base/process/process_iterator.h"
- #include "base/process/process_metrics.h"
@@ -27,6 +28,7 @@
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/process_type.h"
+#include "sandbox/policy/switches.h"
#include "ui/base/l10n/l10n_util.h"
using base::ProcessEntry;
@@ -70,9 +72,18 @@ ProcessData GetProcessDataMemoryInformation(
std::unique_ptr<base::ProcessMetrics> metrics(
base::ProcessMetrics::CreateProcessMetrics(pid));
+
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) {
+ pmi.num_open_fds = 0;
+ pmi.open_fds_soft_limit = 0;
+ goto out;
+ }
+
pmi.num_open_fds = metrics->GetOpenFdCount();
pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit();
+out:
process_data.processes.push_back(pmi);
}
return process_data;
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
index e19d6f09e1a3..d4d82bbed5f5 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
@@ -1,23 +1,23 @@
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
@@ -61,8 +61,10 @@
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+-#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+#if !BUILDFLAG(IS_BSD)
#include <gnu/libc-version.h>
+#endif
#include "base/linux_util.h"
#include "base/strings/string_split.h"
-@@ -494,7 +496,7 @@ void RecordStartupMetrics() {
+@@ -491,7 +493,7 @@ void RecordStartupMetrics() {
// Record whether Chrome is the default browser or not.
// Disabled on Linux due to hanging browser tests, see crbug.com/1216328.
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
shell_integration::DefaultWebClientState default_state =
shell_integration::GetDefaultBrowser();
base::UmaHistogramEnumeration("DefaultBrowser.State", default_state,
diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
index e35545560868..406de1d698fa 100644
--- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
+++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
@@ -1,47 +1,47 @@
---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -175,7 +175,7 @@
+@@ -174,7 +174,7 @@
#include "chrome/notification_helper/notification_helper_constants.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "components/metrics/motherboard_metrics_provider.h"
#endif
-@@ -738,7 +738,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -736,7 +736,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
metrics_service_->RegisterMetricsProvider(
std::make_unique<metrics::CPUMetricsProvider>());
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
std::make_unique<metrics::MotherboardMetricsProvider>());
#endif
-@@ -819,7 +819,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -817,7 +817,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics_service_->RegisterMetricsProvider(
std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
-@@ -917,7 +917,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+@@ -915,7 +915,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
std::make_unique<PowerMetricsProvider>());
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
metrics_service_->RegisterMetricsProvider(
metrics::CreateDesktopSessionMetricsProvider());
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX)
-@@ -1108,7 +1108,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
+@@ -1099,7 +1099,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
// This creates the DesktopProfileSessionDurationsServices if it didn't exist
// already.
diff --git a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
index 521c822df258..0e7b72ae7ef5 100644
--- a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
+++ b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc
@@ -1,12 +1,12 @@
---- chrome/browser/platform_util_linux.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/platform_util_linux.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/platform_util_linux.cc
-@@ -296,7 +296,9 @@ void RunCommand(const std::string& command,
+@@ -298,7 +298,9 @@ void RunCommand(const std::string& command,
base::LaunchOptions options;
options.current_directory = working_directory;
+#if !defined(OS_BSD)
options.allow_new_privs = true;
+#endif
// xdg-open can fall back on mailcap which eventually might plumb through
// to a command that needs a terminal. Set the environment variable telling
// it that we definitely don't have a terminal available and that it should
diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
index 8680d2a5ad31..98f9730b8a22 100644
--- a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
@@ -1,165 +1,195 @@
---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -200,13 +200,13 @@
+@@ -201,17 +201,17 @@
#include "components/spellcheck/browser/pref_names.h"
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/idle/action.h"
#include "components/device_signals/core/browser/pref_names.h"
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/web_applications/policy/web_app_settings_policy_handler.h"
#endif
-@@ -743,14 +743,14 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID)
+ #include "chrome/browser/privacy_sandbox/privacy_sandbox_policy_handler.h"
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+@@ -745,14 +745,14 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
prefs::kManagedDefaultGeolocationSetting,
base::Value::Type::INTEGER },
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \
- || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC)
+ || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{ key::kRequireOnlineRevocationChecksForLocalAnchors,
prefs::kCertRevocationCheckingRequiredLocalAnchors,
base::Value::Type::BOOLEAN },
#endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
// || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \
- || BUILDFLAG(IS_FUCHSIA)
+ || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{ key::kFullscreenAllowed,
prefs::kFullscreenAllowed,
base::Value::Type::BOOLEAN },
-@@ -1380,7 +1380,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1382,7 +1382,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
base::Value::Type::BOOLEAN },
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{ key::kGSSAPILibraryName,
prefs::kGSSAPILibraryName,
base::Value::Type::STRING },
-@@ -1450,18 +1450,18 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1452,18 +1452,18 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
prefs::kTotalMemoryLimitMb,
base::Value::Type::INTEGER },
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{ key::kBackgroundModeEnabled,
prefs::kBackgroundModeEnabled,
base::Value::Type::BOOLEAN },
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{ key::kUnmanagedDeviceSignalsConsentFlowEnabled,
device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled,
base::Value::Type::BOOLEAN },
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \
- || BUILDFLAG(IS_FUCHSIA)
+ || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{ key::kDefaultBrowserSettingEnabled,
prefs::kDefaultBrowserSettingEnabled,
base::Value::Type::BOOLEAN },
-@@ -1474,7 +1474,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1476,7 +1476,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
// || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \
- || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{ key::kAutoplayAllowed,
prefs::kAutoplayAllowed,
base::Value::Type::BOOLEAN },
-@@ -1581,7 +1581,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1583,7 +1583,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
base::Value::Type::BOOLEAN },
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{ key::kAlternativeBrowserPath,
browser_switcher::prefs::kAlternativeBrowserPath,
base::Value::Type::STRING },
-@@ -1668,7 +1668,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1670,13 +1670,13 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
base::Value::Type::BOOLEAN },
#endif // BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kGetDisplayMediaSetSelectAllScreensAllowedForUrls,
+ prefs::kManagedGetDisplayMediaSetSelectAllScreensAllowedForUrls,
+ base::Value::Type::LIST },
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{ key::kAuthNegotiateDelegateByKdcPolicy,
prefs::kAuthNegotiateDelegateByKdcPolicy,
base::Value::Type::BOOLEAN },
-@@ -1715,7 +1715,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1723,7 +1723,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(ENABLE_EXTENSIONS) && (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) \
- || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA))
+ || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
{ key::kChromeAppsEnabled,
extensions::pref_names::kChromeAppsEnabled,
base::Value::Type::BOOLEAN },
-@@ -1775,7 +1775,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+@@ -1783,7 +1783,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
{ key::kPrefixedStorageInfoEnabled,
storage::kPrefixedStorageInfoEnabled,
base::Value::Type::BOOLEAN },
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
{ key::kHighEfficiencyModeEnabled,
performance_manager::user_tuning::prefs::kHighEfficiencyModeEnabled,
base::Value::Type::BOOLEAN },
-@@ -2025,7 +2025,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
- SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED,
- SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
+@@ -1828,7 +1828,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ policy::policy_prefs::kForceEnablePepperVideoDecoderDevAPI,
+ base::Value::Type::BOOLEAN },
+ #endif // BUILDFLAG(ENABLE_PPAPI)
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ { key::kOutOfProcessSystemDnsResolutionEnabled,
+ prefs::kOutOfProcessSystemDnsResolutionEnabled,
+ base::Value::Type::BOOLEAN },
+@@ -2092,7 +2092,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ #endif // BUILDFLAG(IS_ANDROID)
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
handlers->AddHandler(
std::make_unique<enterprise_idle::IdleTimeoutPolicyHandler>());
handlers->AddHandler(
-@@ -2102,7 +2102,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2150,7 +2150,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
key::kBrowsingDataLifetime, browsing_data::prefs::kBrowsingDataLifetime,
chrome_schema));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
handlers->AddHandler(std::make_unique<LocalSyncPolicyHandler>());
handlers->AddHandler(std::make_unique<ThemeColorPolicyHandler>());
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-@@ -2137,7 +2137,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2185,7 +2185,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
std::vector<std::unique_ptr<ConfigurationPolicyHandler>>
signin_legacy_policies;
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_LINUX)
+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
signin_legacy_policies.push_back(std::make_unique<SimplePolicyHandler>(
key::kForceBrowserSignin, prefs::kForceBrowserSignin,
base::Value::Type::BOOLEAN));
-@@ -2478,7 +2478,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2526,7 +2526,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
extensions::pref_names::kManifestV2Availability, /*min=*/0, /*max=*/3,
/*clamp=*/false));
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
handlers->AddHandler(
std::make_unique<web_app::WebAppSettingsPolicyHandler>(chrome_schema));
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
-@@ -2491,7 +2491,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2539,7 +2539,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
#endif
#if BUILDFLAG(ENABLE_SPELLCHECK)
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
handlers->AddHandler(std::make_unique<SpellcheckLanguagePolicyHandler>());
handlers->AddHandler(
std::make_unique<SpellcheckLanguageBlocklistPolicyHandler>(
-@@ -2499,7 +2499,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+@@ -2547,7 +2547,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
handlers->AddHandler(std::make_unique<SimplePolicyHandler>(
key::kAllowSystemNotifications, prefs::kAllowSystemNotifications,
base::Value::Type::BOOLEAN));
+@@ -2560,7 +2560,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH
+ handlers->AddHandler(
+ std::make_unique<first_party_sets::FirstPartySetsOverridesPolicyHandler>(
+ chrome_schema));
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID)
+ handlers->AddHandler(std::make_unique<PrivacySandboxPolicyHandler>());
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
index 5085a6174e88..c3160f613576 100644
--- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
+++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc
@@ -1,69 +1,69 @@
---- chrome/browser/prefs/browser_prefs.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/prefs/browser_prefs.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/prefs/browser_prefs.cc
-@@ -455,14 +455,14 @@
+@@ -458,14 +458,14 @@
#include "components/os_crypt/os_crypt.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/web_applications/url_handler_prefs.h"
#include "components/device_signals/core/browser/pref_names.h"
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
#include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
#endif
-@@ -495,7 +495,7 @@
+@@ -498,7 +498,7 @@
#include "chrome/browser/sessions/session_service_log.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/color/system_theme.h"
#endif
-@@ -1033,7 +1033,7 @@ void RegisterProfilePrefsForMigration(
+@@ -1069,7 +1069,7 @@ void RegisterProfilePrefsForMigration(
registry->RegisterIntegerPref(kProfileAvatarTutorialShown, 0);
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Deprecated 08/2022.
registry->RegisterBooleanPref(prefs::kUsesSystemThemeDeprecated, false);
#endif
-@@ -1292,7 +1292,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
+@@ -1346,7 +1346,7 @@ void RegisterLocalState(PrefRegistrySimple* registry)
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
web_app::url_handler_prefs::RegisterLocalStatePrefs(registry);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-@@ -1627,11 +1627,11 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
+@@ -1683,11 +1683,11 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
safe_browsing::PostCleanupSettingsResetter::RegisterProfilePrefs(registry);
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
device_signals::RegisterProfilePrefs(registry);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
#endif
-@@ -2015,7 +2015,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) {
+@@ -2086,7 +2086,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) {
profile_prefs->ClearPref(kProfileAvatarTutorialShown);
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Added 08/2022.
if (profile_prefs->HasPrefPath(prefs::kUsesSystemThemeDeprecated)) {
auto migrated_theme =
diff --git a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
index ea151f20f8b9..6ca6716fc15f 100644
--- a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
+++ b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
@@ -1,11 +1,11 @@
---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2022-04-21 18:48:31 UTC
+--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/prefs/pref_service_incognito_allowlist.cc
-@@ -138,7 +138,7 @@ const char* const kPersistentPrefNames[] = {
+@@ -139,7 +139,7 @@ const char* const kPersistentPrefNames[] = {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Toggleing custom frames affects all open windows in the profile, hence
// should be written to the regular profile when changed in incognito mode.
prefs::kUseCustomChromeFrame,
diff --git a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
index eb0c3b23640b..9a500c81ed73 100644
--- a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc
@@ -1,29 +1,29 @@
---- chrome/browser/printing/print_backend_service_manager.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/printing/print_backend_service_manager.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/printing/print_backend_service_manager.cc
-@@ -513,7 +513,7 @@ absl::optional<uint32_t> PrintBackendServiceManager::R
+@@ -547,7 +547,7 @@ PrintBackendServiceManager::RegisterClient(
query_clients_.insert(client_id);
break;
case ClientType::kQueryWithUi:
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
if (!query_with_ui_clients_.empty())
return absl::nullopt;
#endif
-@@ -751,7 +751,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
+@@ -811,7 +811,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
break;
case ClientType::kQueryWithUi:
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// No need to update if there were other query with UI clients.
if (query_with_ui_clients_.size() > 1)
return absl::nullopt;
-@@ -808,7 +808,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
+@@ -868,7 +868,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
return kNoClientsRegisteredResetOnIdleTimeout;
case ClientType::kQueryWithUi:
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// No need to update if there were other query with UI clients.
- if (!query_with_ui_clients_.empty())
+ if (HasQueryWithUiClientForRemoteId(remote_id)) {
return absl::nullopt;
diff --git a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc
similarity index 55%
rename from www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
rename to www/chromium/files/patch-chrome_browser_printing_printer__query.cc
index 15d39fa7a99e..d291572703e5 100644
--- a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc
+++ b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc
@@ -1,11 +1,11 @@
---- chrome/browser/printing/print_job_worker.cc.orig 2023-02-08 09:03:45 UTC
-+++ chrome/browser/printing/print_job_worker.cc
-@@ -205,7 +205,7 @@ void PrintJobWorker::SetSettings(base::Value::Dict new
+--- chrome/browser/printing/printer_query.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/printing/printer_query.cc
+@@ -284,7 +284,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di
crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
print_backend->GetPrinterDriverInfo(printer_name));
-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)
++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_CUPS)
PrinterBasicInfo basic_info;
if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) ==
mojom::ResultCode::kSuccess) {
diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
index 862868bf5bf5..b510f43186f1 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
@@ -1,25 +1,26 @@
---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -260,7 +260,7 @@
- #include "chrome/browser/ui/cocoa/screentime/screentime_features.h"
+@@ -262,7 +262,7 @@
#endif
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include "chrome/browser/enterprise/idle/idle_service_factory.h"
#endif
-@@ -444,11 +444,11 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -451,12 +451,12 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
#endif
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
enterprise_idle::IdleServiceFactory::GetInstance();
#endif
ModelTypeStoreServiceFactory::GetInstance();
diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
index c47e91edd591..9e334b8385f5 100644
--- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc
@@ -1,31 +1,31 @@
---- chrome/browser/profiles/profile_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/profiles/profile_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/profiles/profile_impl.cc
@@ -257,6 +257,10 @@
#include "chrome/browser/spellchecker/spellcheck_service.h"
#endif
+#if BUILDFLAG(IS_OPENBSD)
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+#endif
+
using bookmarks::BookmarkModel;
using content::BrowserThread;
using content::DownloadManagerDelegate;
-@@ -861,7 +865,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
+@@ -863,7 +867,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode)
}
base::FilePath ProfileImpl::last_selected_directory() {
+#if BUILDFLAG(IS_OPENBSD)
+ // If unveil(2) is used, force the file dialog directory to something we
+ // know is available.
+ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance();
+ if (sandbox->unveil_initialized())
+ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory);
+ else
+ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
+#else
return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
+#endif
}
void ProfileImpl::set_last_selected_directory(const base::FilePath& path) {
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
index e2564e50325d..645e71dd8d1d 100644
--- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
+++ b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
@@ -1,29 +1,29 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2022-10-24 13:33:33 UTC
+--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/resources/settings/appearance_page/appearance_page.html
-@@ -27,7 +27,7 @@
- <cr-link-row class="first" hidden="[[!pageVisibility.setTheme]]"
+@@ -28,7 +28,7 @@
label="$i18n{themes}" sub-label="[[themeSublabel_]]"
+ button-aria-description="$i18n{opensInNewTab}"
on-click="openThemeUrl_" external></cr-link-row>
-<if expr="not is_linux">
+<if expr="not is_posix">
<template is="dom-if" if="[[prefs.extensions.theme.id.value]]">
<div class="separator"></div>
<cr-button id="useDefault" on-click="onUseDefaultClick_">
-@@ -35,7 +35,7 @@
+@@ -36,7 +36,7 @@
</cr-button>
</template>
</if>
-<if expr="is_linux">
+<if expr="is_posix">
<div class="settings-row continuation"
hidden="[[!showThemesSecondary_(
prefs.extensions.theme.id.value, systemTheme_)]]"
-@@ -142,7 +142,7 @@
+@@ -143,7 +143,7 @@
</div>
</template>
-<if expr="is_linux">
+<if expr="is_posix">
<div class="hr" hidden="[[!pageVisibility.bookmarksBar]]"></div>
<settings-toggle-button
hidden="[[!showCustomChromeFrame_]]"
diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_route.ts b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
index ebe1ea0e3794..92b1ca8c3938 100644
--- a/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
+++ b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts
@@ -1,11 +1,11 @@
---- chrome/browser/resources/settings/route.ts.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/resources/settings/route.ts.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/resources/settings/route.ts
-@@ -215,7 +215,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes
+@@ -220,7 +220,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes
r.ACCESSIBILITY = r.ADVANCED.createSection(
'/accessibility', 'a11y', loadTimeData.getString('a11yPageTitle'));
- // <if expr="is_linux">
+ // <if expr="is_posix">
r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions');
// </if>
diff --git a/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html b/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
index 7d50160e18d8..552e276e29fd 100644
--- a/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
+++ b/www/chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
@@ -1,38 +1,38 @@
---- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html
-@@ -443,7 +443,7 @@
+@@ -556,7 +556,7 @@
consent-confirmation autofocus>
$i18n{syncConfirmationConfirmLabel}
</cr-button>
- <if expr="is_macosx or is_linux or chromeos_ash or chromeos_lacros">
+ <if expr="is_macosx or is_posix or chromeos_ash or chromeos_lacros">
<cr-button id="settingsButton" on-click="onGoToSettings_"
disabled="[[anyButtonClicked_]]" consent-confirmation>
$i18n{syncConfirmationSettingsLabel}
-@@ -453,7 +453,7 @@
+@@ -566,7 +566,7 @@
disabled="[[anyButtonClicked_]]">
$i18n{syncConfirmationUndoLabel}
</cr-button>
- <if expr="not (is_macosx or is_linux or chromeos_ash or chromeos_lacros)">
+ <if expr="not (is_macosx or is_posix or chromeos_ash or chromeos_lacros)">
<cr-button id="settingsButton" on-click="onGoToSettings_"
disabled="[[anyButtonClicked_]]" consent-confirmation>
$i18n{syncConfirmationSettingsLabel}
-@@ -496,7 +496,7 @@
+@@ -609,7 +609,7 @@
consent-confirmation>
$i18n{syncConfirmationConfirmLabel}
</cr-button>
- <if expr="is_macosx or is_linux or chromeos_ash or chromeos_lacros">
+ <if expr="is_macosx or is_posix or chromeos_ash or chromeos_lacros">
<cr-button id="settingsButton" on-click="onGoToSettings_"
disabled="[[anyButtonClicked_]]" consent-confirmation>
$i18n{syncConfirmationSettingsLabel}
-@@ -506,7 +506,7 @@
+@@ -619,7 +619,7 @@
disabled="[[anyButtonClicked_]]">
$i18n{syncConfirmationUndoLabel}
</cr-button>
- <if expr="not (is_macosx or is_linux or chromeos_ash or chromeos_lacros)">
+ <if expr="not (is_macosx or is_posix or chromeos_ash or chromeos_lacros)">
<cr-button id="settingsButton" on-click="onGoToSettings_"
disabled="[[anyButtonClicked_]]" consent-confirmation>
$i18n{syncConfirmationSettingsLabel}
diff --git a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
index 1229e1f28a58..81c1528d302d 100644
--- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
+++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc
@@ -1,38 +1,38 @@
---- chrome/browser/sync/chrome_sync_client.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/sync/chrome_sync_client.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/sync/chrome_sync_client.cc
-@@ -127,7 +127,7 @@
+@@ -126,7 +126,7 @@
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_keyed_service.h"
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h"
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ||
-@@ -448,7 +448,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
+@@ -467,7 +467,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
if (features::kTabGroupsSaveSyncIntegration.Get()) {
controllers.push_back(std::make_unique<syncer::ModelTypeController>(
syncer::SAVED_TAB_GROUP,
-@@ -461,7 +461,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
+@@ -480,7 +480,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
// Chrome prefers OS provided spell checkers where they exist. So only sync the
// custom dictionary on platforms that typically don't provide one.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Dictionary sync is enabled by default.
if (GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) {
controllers.push_back(
-@@ -627,7 +627,7 @@ ChromeSyncClient::GetControllerDelegateForModelType(sy
- ->GetControllerDelegate();
- }
+@@ -639,7 +639,7 @@ base::WeakPtr<syncer::ModelTypeControllerDelegate>
+ ChromeSyncClient::GetControllerDelegateForModelType(syncer::ModelType type) {
+ switch (type) {
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
case syncer::SAVED_TAB_GROUP: {
DCHECK(features::kTabGroupsSaveSyncIntegration.Get());
return SavedTabGroupServiceFactory::GetForProfile(profile_)
diff --git a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
index 8d2fb6af069e..39332951f80b 100644
--- a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc
@@ -1,11 +1,11 @@
---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-09-24 10:57:32 UTC
+--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/sync/device_info_sync_client_impl.cc
-@@ -42,7 +42,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD
+@@ -41,7 +41,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD
// in lacros-chrome once build flag switch of lacros-chrome is
// complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
syncer::SyncPrefs prefs(profile_->GetPrefs());
if (prefs.IsLocalSyncEnabled()) {
return "local_device";
diff --git a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
index d77d4e7d5713..7d0da66a275e 100644
--- a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc
@@ -1,29 +1,29 @@
---- chrome/browser/sync/sync_service_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/sync/sync_service_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/sync/sync_service_factory.cc
-@@ -74,7 +74,7 @@
+@@ -75,7 +75,7 @@
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h"
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ||
// BUILDFLAG(IS_WIN)
-@@ -115,7 +115,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
+@@ -116,7 +116,7 @@ std::unique_ptr<KeyedService> BuildSyncService(
// TODO(crbug.com/1052397): Reassess whether the following block needs to be
// included in lacros-chrome once build flag switch of lacros-chrome is
// complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
syncer::SyncPrefs prefs(profile->GetPrefs());
local_sync_backend_enabled = prefs.IsLocalSyncEnabled();
-@@ -251,7 +251,7 @@ SyncServiceFactory::SyncServiceFactory()
+@@ -250,7 +250,7 @@ SyncServiceFactory::SyncServiceFactory()
DependsOn(ThemeServiceFactory::GetInstance());
#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
DependsOn(SavedTabGroupServiceFactory::GetInstance());
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ||
// BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
index 0cc1453db2f4..2d9b2085c2c9 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h
@@ -1,38 +1,38 @@
---- chrome/browser/task_manager/sampling/task_group.h.orig 2022-02-28 16:54:41 UTC
+--- chrome/browser/task_manager/sampling/task_group.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/task_manager/sampling/task_group.h
-@@ -42,7 +42,7 @@ constexpr int kUnsupportedVMRefreshFlags =
+@@ -43,7 +43,7 @@ constexpr int kUnsupportedVMRefreshFlags =
REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE |
REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES |
REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY |
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
REFRESH_TYPE_FD_COUNT |
#endif
REFRESH_TYPE_HARD_FAULTS;
-@@ -148,7 +148,7 @@ class TaskGroup {
+@@ -149,7 +149,7 @@ class TaskGroup {
}
#endif // BUILDFLAG(ENABLE_NACL)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
int open_fd_count() const { return open_fd_count_; }
void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; }
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -168,7 +168,7 @@ class TaskGroup {
+@@ -169,7 +169,7 @@ class TaskGroup {
void RefreshNaClDebugStubPort(int child_process_unique_id);
void OnRefreshNaClDebugStubPortDone(int port);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
void OnOpenFdCountRefreshDone(int open_fd_count);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
-@@ -240,7 +240,7 @@ class TaskGroup {
+@@ -241,7 +241,7 @@ class TaskGroup {
#if BUILDFLAG(ENABLE_NACL)
int nacl_debug_stub_port_;
#endif // BUILDFLAG(ENABLE_NACL)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// The number of file descriptors currently open by the process.
int open_fd_count_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
index 474b8ed4d673..1fa36f0ba37e 100644
--- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
+++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
@@ -1,47 +1,47 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/task_manager/sampling/task_group_sampler.cc
-@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -45,7 +45,7 @@ TaskGroupSampler::TaskGroupSampler(
const OnCpuRefreshCallback& on_cpu_refresh,
const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
const OnIdleWakeupsCallback& on_idle_wakeups,
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
const OnOpenFdCountCallback& on_open_fd_count,
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
const OnProcessPriorityCallback& on_process_priority)
-@@ -54,7 +54,7 @@ TaskGroupSampler::TaskGroupSampler(
+@@ -55,7 +55,7 @@ TaskGroupSampler::TaskGroupSampler(
on_cpu_refresh_callback_(on_cpu_refresh),
on_swapped_mem_refresh_callback_(on_swapped_mem_refresh),
on_idle_wakeups_callback_(on_idle_wakeups),
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
on_open_fd_count_callback_(on_open_fd_count),
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
on_process_priority_callback_(on_process_priority) {
-@@ -84,7 +84,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+@@ -85,7 +85,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
base::BindOnce(on_swapped_mem_refresh_callback_));
}
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
refresh_flags)) {
blocking_pool_runner_->PostTaskAndReplyWithResult(
-@@ -94,7 +94,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+@@ -95,7 +95,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
}
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
refresh_flags)) {
blocking_pool_runner_->PostTaskAndReplyWithResult(
-@@ -143,7 +143,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
+@@ -144,7 +144,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
return process_metrics_->GetIdleWakeupsPerSecond();
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
int TaskGroupSampler::RefreshOpenFdCount() {
DCHECK_CALLED_ON_VALID_SEQUENCE(worker_pool_sequenced_checker_);
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser.h b/www/chromium/files/patch-chrome_browser_ui_browser.h
index 1eddab095ba7..2d755e1ec93d 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser.h
+++ b/www/chromium/files/patch-chrome_browser_ui_browser.h
@@ -1,11 +1,11 @@
---- chrome/browser/ui/browser.h.orig 2022-10-24 13:33:33 UTC
+--- chrome/browser/ui/browser.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/browser.h
-@@ -276,7 +276,7 @@ class Browser : public TabStripModelObserver,
+@@ -280,7 +280,7 @@ class Browser : public TabStripModelObserver,
int32_t restore_id = kDefaultRestoreId;
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// When the browser window is shown, the desktop environment is notified
// using this ID. In response, the desktop will stop playing the "waiting
// for startup" animation (if any).
diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
index c2a5fe68ac5a..97ab348fdb8a 100644
--- a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc
@@ -1,38 +1,38 @@
---- chrome/browser/ui/browser_command_controller.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/browser_command_controller.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/browser_command_controller.cc
-@@ -99,7 +99,7 @@
+@@ -105,7 +105,7 @@
#include "components/user_manager/user_manager.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/linux/linux_ui.h"
#endif
-@@ -288,7 +288,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
+@@ -294,7 +294,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
#endif
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// If this key was registered by the user as a content editing hotkey, then
// it is not reserved.
auto* linux_ui = ui::LinuxUi::instance();
-@@ -533,7 +533,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+@@ -546,7 +546,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
case IDC_MINIMIZE_WINDOW:
browser_->window()->Minimize();
break;
-@@ -1079,7 +1079,7 @@ void BrowserCommandController::InitCommandState() {
+@@ -1101,7 +1101,7 @@ void BrowserCommandController::InitCommandState() {
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true);
command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true);
command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true);
diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
index 473f8b7005cb..6872ae857b90 100644
--- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/chrome_pages.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/chrome_pages.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/chrome_pages.cc
@@ -68,7 +68,7 @@
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/web_applications/web_app_utils.h"
#endif
-@@ -630,7 +630,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
+@@ -641,7 +641,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
void ShowWebAppSettings(Browser* browser,
const std::string& app_id,
web_app::AppSettingsPageEntryPoint entry_point) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
index 88de2f04ca91..2bee251c7ec7 100644
--- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
+++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h
@@ -1,20 +1,20 @@
---- chrome/browser/ui/chrome_pages.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/chrome_pages.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/chrome_pages.h
@@ -33,7 +33,7 @@ enum class ConsentLevel;
} // namespace signin
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
namespace web_app {
enum class AppSettingsPageEntryPoint;
} // namespace web_app
-@@ -222,7 +222,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
+@@ -225,7 +225,7 @@ void ShowBrowserSigninOrSettings(Browser* browser,
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Show chrome://app-settings/<app-id> page.
void ShowWebAppSettings(Browser* browser,
const std::string& app_id,
diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
index 746b815cbae5..5322b03bc600 100644
--- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/startup/startup_browser_creator_impl.cc
-@@ -259,7 +259,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(
+@@ -260,7 +260,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(
// at the state of the MessageLoop.
Browser::CreateParams params = Browser::CreateParams(profile_, false);
params.creation_source = Browser::CreationSource::kStartupCreator;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
params.startup_id =
command_line_->GetSwitchValueASCII("desktop-startup-id");
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
index f1a4efe37ab8..269092ca4250 100644
--- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc
@@ -1,26 +1,26 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/tab_helpers.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/tab_helpers.cc
-@@ -203,7 +203,7 @@
+@@ -205,7 +205,7 @@
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/hats/hats_helper.h"
-@@ -537,12 +537,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+@@ -543,12 +543,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (base::FeatureList::IsEnabled(
features::kHappinessTrackingSurveysForDesktopDemo) ||
- base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey)) {
+ base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) ||
diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
index 434bb99fae8f..a3c53bca6cc2 100644
--- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
@@ -1,29 +1,29 @@
---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-11-30 08:12:58 UTC
+--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/task_manager/task_manager_table_model.cc
-@@ -455,7 +455,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r
+@@ -454,7 +454,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r
? stringifier_->backgrounded_string()
: stringifier_->foregrounded_string();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]);
return fd_count >= 0 ? base::FormatNumber(fd_count)
-@@ -622,7 +622,7 @@ int TaskManagerTableModel::CompareValues(size_t row1,
+@@ -621,7 +621,7 @@ int TaskManagerTableModel::CompareValues(size_t row1,
return BooleanCompare(is_proc1_bg, is_proc2_bg);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
const int proc1_fd_count =
observed_task_manager()->GetOpenFdCount(tasks_[row1]);
-@@ -796,7 +796,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
+@@ -795,7 +795,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
type = REFRESH_TYPE_KEEPALIVE_COUNT;
break;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
type = REFRESH_TYPE_FD_COUNT;
break;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
index b61f4ebe6623..c27bdf08a931 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc
@@ -1,43 +1,43 @@
---- chrome/browser/ui/views/accelerator_table.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/views/accelerator_table.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/accelerator_table.cc
-@@ -64,11 +64,11 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -65,11 +65,11 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE},
{ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
{ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
{ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
#endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT},
{ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
IDC_MOVE_TAB_PREVIOUS},
-@@ -96,7 +96,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -97,7 +97,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
{ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6},
{ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
{ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
{ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
{ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1},
-@@ -141,7 +141,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -142,7 +142,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
IDC_SHOW_AVATAR_MENU},
// Platform-specific key maps.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
{ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK},
{ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD},
{ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME},
-@@ -241,7 +241,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+@@ -243,7 +243,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
#endif // !BUILDFLAG(IS_CHROMEOS)
#endif // !BUILDFLAG(IS_MAC)
#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
{ui::VKEY_S, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN,
IDC_RUN_SCREEN_AI_VISUAL_ANNOTATIONS},
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
index 07b9f4a39d28..d8d2cd9ed340 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
@@ -1,47 +1,47 @@
---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -46,7 +46,7 @@
+@@ -47,7 +47,7 @@
#include "components/user_manager/user_manager.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/display/screen.h"
#include "ui/linux/linux_ui.h"
#endif
-@@ -54,7 +54,7 @@
+@@ -55,7 +55,7 @@
namespace {
bool IsUsingLinuxSystemTheme(Profile* profile) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme();
#else
return false;
-@@ -270,7 +270,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
+@@ -271,7 +271,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
IsVisibleOnAllWorkspaces());
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// If the window was sent to a different workspace, prioritize it if
// it was sent to the current workspace and deprioritize it
// otherwise. This is done by MoveBrowsersInWorkspaceToFront()
-@@ -393,7 +393,7 @@ void BrowserFrame::SelectNativeTheme() {
+@@ -394,7 +394,7 @@ void BrowserFrame::SelectNativeTheme() {
return;
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const auto* linux_ui_theme =
ui::LinuxUiTheme::GetForWindow(GetNativeWindow());
// Ignore the system theme for web apps with window-controls-overlay as the
-@@ -410,7 +410,7 @@ void BrowserFrame::SelectNativeTheme() {
+@@ -411,7 +411,7 @@ void BrowserFrame::SelectNativeTheme() {
bool BrowserFrame::RegenerateFrameOnThemeChange(
BrowserThemeChangeType theme_change_type) {
bool need_regenerate = false;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// System and user theme changes can both change frame buttons, so the frame
// always needs to be regenerated on Linux.
need_regenerate = true;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
index c6a18a45c0e0..30d2de65846e 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/views/frame/browser_view.cc.orig 2023-02-22 19:51:47 UTC
+--- chrome/browser/ui/views/frame/browser_view.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -2117,7 +2117,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra
+@@ -2033,7 +2033,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra
// CrOS cleanup is done.
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
contents_web_view_->SetFastResize(is_dragging);
if (!is_dragging) {
// When tab dragging is ended, we need to make sure the web contents get
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
index 511f3af51043..c9ec305d4ecd 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
@@ -1,38 +1,38 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-10-24 13:33:33 UTC
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
@@ -55,7 +55,7 @@
#include "ui/views/window/vector_icons/vector_icons.h"
#include "ui/views/window/window_shape.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/views/controls/menu/menu_runner.h"
#endif
-@@ -557,7 +557,7 @@ OpaqueBrowserFrameView::FrameButtonStyle
+@@ -555,7 +555,7 @@ OpaqueBrowserFrameView::FrameButtonStyle
OpaqueBrowserFrameView::GetFrameButtonStyle() const {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
return FrameButtonStyle::kMdButton;
#else
return FrameButtonStyle::kImageButton;
-@@ -580,7 +580,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh
+@@ -578,7 +578,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh
return false;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
ui::WindowTiledEdges OpaqueBrowserFrameView::GetTiledEdges() const {
return frame()->tiled_edges();
}
-@@ -776,7 +776,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons
+@@ -774,7 +774,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons
}
void OpaqueBrowserFrameView::WindowIconPressed() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Chrome OS doesn't show the window icon, and Windows handles this on its own
// due to the hit test being HTSYSMENU.
menu_runner_ = std::make_unique<views::MenuRunner>(
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h
index 19e3a0716a80..751261bcc487 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h
@@ -1,20 +1,20 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2022-10-24 13:33:33 UTC
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h
@@ -10,7 +10,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#include "ui/base/ui_base_types.h"
#endif
-@@ -96,7 +96,7 @@ class OpaqueBrowserFrameViewLayoutDelegate {
+@@ -97,7 +97,7 @@ class OpaqueBrowserFrameViewLayoutDelegate {
// Returns true if a client-side shadow should be drawn for restored windows.
virtual bool ShouldDrawRestoredFrameShadow() const = 0;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Returns which edges of the window are snapped to the edges of the desktop
// (or "tiled").
virtual ui::WindowTiledEdges GetTiledEdges() const = 0;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc
index 0ce07db87048..2998d7562e83 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc
@@ -1,92 +1,92 @@
---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
-@@ -36,7 +36,7 @@
+@@ -40,7 +40,7 @@
#include "ui/aura/window.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/views/frame/browser_frame_view_paint_utils_linux.h"
#include "chrome/browser/ui/views/frame/desktop_browser_frame_aura_linux.h"
#endif
-@@ -57,7 +57,7 @@ constexpr int kBackToTabImageSize = 16;
+@@ -61,7 +61,7 @@ constexpr int kBackToTabImageSize = 16;
// The height of the controls bar at the top of the window.
constexpr int kTopControlsHeight = 30;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Frame border when window shadow is not drawn.
constexpr int kFrameBorderThickness = 4;
#endif
-@@ -131,7 +131,7 @@ class WindowEventObserver : public ui::EventObserver {
+@@ -151,7 +151,7 @@ class WindowEventObserver : public ui::EventObserver {
gfx::Rect input_bounds = pip_browser_frame_view_->GetLocalBounds();
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Calculate input bounds for Linux. This is needed because the input bounds
// is not necessary the same as the local bounds on Linux.
if (pip_browser_frame_view_->ShouldDrawFrameShadow()) {
-@@ -226,7 +226,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow
- },
- base::Unretained(this))));
+@@ -341,7 +341,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow
+ hide_close_button_animation_.set_continuous(false);
+ hide_close_button_animation_.set_delegate(this);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
frame_background_ = std::make_unique<views::FrameBackground>();
#endif
-@@ -343,7 +343,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged(
+@@ -460,7 +460,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged(
for (ContentSettingImageView* view : content_setting_views_)
- view->SetIconColor(color_provider->GetColor(kColorOmniboxResultsIcon));
+ view->SetIconColor(color_provider->GetColor(kColorPipWindowForeground));
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
// On Linux the top bar background will be drawn in OnPaint().
- controls_container_view_->SetBackground(views::CreateSolidBackground(
- SkColorSetA(color_provider->GetColor(kColorPipWindowControlsBackground),
-@@ -376,7 +376,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg
+ top_bar_container_view_->SetBackground(views::CreateSolidBackground(
+ color_provider->GetColor(kColorPipWindowTopBarBackground)));
+@@ -505,7 +505,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg
BrowserNonClientFrameView::RemovedFromWidget();
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
gfx::Insets PictureInPictureBrowserFrameView::MirroredFrameBorderInsets()
const {
auto border = FrameBorderInsets();
-@@ -547,7 +547,7 @@ void PictureInPictureBrowserFrameView::OnWidgetDestroy
- ///////////////////////////////////////////////////////////////////////////////
+@@ -710,7 +710,7 @@ void PictureInPictureBrowserFrameView::AnimationProgre
// views::View implementations:
+
void PictureInPictureBrowserFrameView::OnPaint(gfx::Canvas* canvas) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Draw the PiP window frame borders and shadows, including the top bar
// background.
if (window_frame_provider_) {
-@@ -630,7 +630,7 @@ void PictureInPictureBrowserFrameView::UpdateTopBarVie
+@@ -833,7 +833,7 @@ void PictureInPictureBrowserFrameView::UpdateTopBarVie
}
gfx::Insets PictureInPictureBrowserFrameView::FrameBorderInsets() const {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (window_frame_provider_) {
const auto insets = window_frame_provider_->GetFrameThicknessDip();
const auto tiled_edges = frame()->tiled_edges();
-@@ -651,7 +651,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor
+@@ -854,7 +854,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor
}
gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return FrameBorderInsets();
#else
return gfx::Insets(kResizeBorder);
-@@ -662,7 +662,7 @@ int PictureInPictureBrowserFrameView::GetTopAreaHeight
+@@ -865,7 +865,7 @@ int PictureInPictureBrowserFrameView::GetTopAreaHeight
return FrameBorderInsets().top() + kTopControlsHeight;
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
void PictureInPictureBrowserFrameView::SetWindowFrameProvider(
ui::WindowFrameProvider* window_frame_provider) {
DCHECK(window_frame_provider);
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h
index ccc68dda3bdc..08bc4af0e7b7 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h
+++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h
@@ -1,38 +1,38 @@
---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h
@@ -20,7 +20,7 @@
- #include "ui/views/layout/box_layout_view.h"
+ #include "ui/views/controls/image_view.h"
#include "ui/views/widget/widget_observer.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/linux/window_frame_provider.h"
#endif
-@@ -75,7 +75,7 @@ class PictureInPictureBrowserFrameView
+@@ -74,7 +74,7 @@ class PictureInPictureBrowserFrameView
void Layout() override;
void AddedToWidget() override;
void RemovedFromWidget() override;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
gfx::Insets MirroredFrameBorderInsets() const override;
gfx::Insets GetInputInsets() const override;
SkRRect GetRestoredClipRegion() const override;
-@@ -157,7 +157,7 @@ class PictureInPictureBrowserFrameView
+@@ -155,7 +155,7 @@ class PictureInPictureBrowserFrameView
// Called when mouse entered or exited the pip window.
void OnMouseEnteredOrExitedWindow(bool entered);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Sets the window frame provider so that it will be used for drawing.
void SetWindowFrameProvider(ui::WindowFrameProvider* window_frame_provider);
-@@ -194,7 +194,7 @@ class PictureInPictureBrowserFrameView
- widget_observation_{this};
- bool mouse_inside_window_ = false;
+@@ -218,7 +218,7 @@ class PictureInPictureBrowserFrameView
+ gfx::MultiAnimation show_close_button_animation_;
+ gfx::MultiAnimation hide_close_button_animation_;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Used to draw window frame borders and shadow on Linux when GTK theme is
// enabled.
raw_ptr<ui::WindowFrameProvider> window_frame_provider_ = nullptr;
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
index 0fdd9ffbddc4..32186374b9bb 100644
--- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
@@ -1,56 +1,56 @@
---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -82,7 +82,7 @@
+@@ -81,7 +81,7 @@
#include "components/remote_cocoa/browser/window.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/aura/client/drag_drop_client.h"
#endif
-@@ -254,7 +254,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() {
+@@ -259,7 +259,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() {
void UpdateSystemDnDDragImage(TabDragContext* attached_context,
const gfx::ImageSkia& image) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
aura::Window* root_window =
attached_context->GetWidget()->GetNativeWindow()->GetRootWindow();
if (aura::client::GetDragDropClient(root_window)) {
-@@ -506,7 +506,7 @@ void TabDragController::Init(TabDragContext* source_co
+@@ -511,7 +511,7 @@ void TabDragController::Init(TabDragContext* source_co
// synchronous on desktop Linux, so use that.
// - Chrome OS
// Releasing capture on Ash cancels gestures so avoid it.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
can_release_capture_ = false;
#endif
start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y());
-@@ -1107,7 +1107,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
+@@ -1112,7 +1112,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
// EndMoveLoop is going to snap the window back to its original location.
// Hide it so users don't see this. Hiding a window in Linux aura causes
// it to lose capture so skip it.
-@@ -2101,7 +2101,7 @@ void TabDragController::CompleteDrag() {
+@@ -2106,7 +2106,7 @@ void TabDragController::CompleteDrag() {
}
// If source window was maximized - maximize the new window as well.
-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
// Keeping maximized state breaks snap to Grid on Windows when dragging
// tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this
// for other desktop OS's. kMaximizedStateRetainedOnTabDrag in
-@@ -2495,7 +2495,7 @@ TabDragController::Liveness TabDragController::GetLoca
+@@ -2500,7 +2500,7 @@ TabDragController::Liveness TabDragController::GetLoca
}
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Exclude windows which are pending deletion via Browser::TabStripEmpty().
// These windows can be returned in the Linux Aura port because the browser
// window which was used for dragging is not hidden once all of its tabs are
diff --git a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc
new file mode 100644
index 000000000000..e71c206b5a40
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc
@@ -0,0 +1,110 @@
+--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc
+@@ -385,7 +385,7 @@ std::string GetFileExtension(FileExtension file_extens
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SiteConfig GetSiteConfigurationFromAppName(const std::string& app_name) {
+ SiteConfig config;
+ bool is_app_found = false;
+@@ -559,7 +559,7 @@ std::vector<std::wstring> GetFileExtensionsForProgId(
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ bool IconManagerCheckIconTopLeftColor(WebAppIconManager& icon_manager,
+ const AppId& app_id,
+ std::vector<int> sizes_px,
+@@ -890,7 +890,7 @@ void WebAppIntegrationTestDriver::TearDownOnMainThread
+ LOG(INFO) << "TearDownOnMainThread: Deleting dangling shortcuts.";
+ // TODO(crbug.com/1273568): Investigate the true source of flakiness instead
+ // of papering over it here.
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_TRUE(override_registration_->test_override->ForceDeleteAllShortcuts());
+ #endif
+ LOG(INFO)
+@@ -1637,7 +1637,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc
+ if (app_name.empty()) {
+ app_name = GetSiteConfiguration(site).app_name;
+ }
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_TRUE(override_registration_->test_override->IsShortcutCreated(
+ profile(), app_id, app_name));
+ ASSERT_TRUE(
+@@ -2591,7 +2591,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna
+ app_state->id, app_state->name);
+ ASSERT_TRUE(icon_color.has_value());
+ ASSERT_THAT(site_config.icon_color, testing::Eq(icon_color.value()));
+-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_TRUE(override_registration_->test_override->IsRunOnOsLoginEnabled(
+ profile(), app_state->id, app_state->name));
+ #endif
+@@ -2605,7 +2605,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis
+ GetAppBySiteMode(after_state_change_action_state_.get(), profile(), site);
+ ASSERT_TRUE(app_state);
+ base::ScopedAllowBlockingForTesting allow_blocking;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ ASSERT_FALSE(override_registration_->test_override->IsRunOnOsLoginEnabled(
+ profile(), app_state->id, app_state->name));
+ #endif
+@@ -2615,7 +2615,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis
+ void WebAppIntegrationTestDriver::CheckSiteHandlesFile(
+ Site site,
+ FileExtension file_extension) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!BeforeStateCheckAction(__FUNCTION__))
+ return;
+ ASSERT_TRUE(IsFileHandledBySite(site, file_extension));
+@@ -2626,7 +2626,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile
+ void WebAppIntegrationTestDriver::CheckSiteNotHandlesFile(
+ Site site,
+ FileExtension file_extension) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (!BeforeStateCheckAction(__FUNCTION__))
+ return;
+ ASSERT_FALSE(IsFileHandledBySite(site, file_extension));
+@@ -3137,7 +3137,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu
+ base::FilePath shortcut_dir,
+ const std::string& app_name,
+ const AppId& app_id) {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return override_registration_->test_override->GetShortcutPath(
+ profile(), shortcut_dir, app_id, app_name);
+ #else
+@@ -3307,7 +3307,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre
+ const AppId& id) {
+ base::ScopedAllowBlockingForTesting allow_blocking;
+ bool is_shortcut_and_icon_correct = false;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool is_shortcut_correct =
+ override_registration_->test_override->IsShortcutCreated(profile, id,
+ name);
+@@ -3351,7 +3351,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr
+ do_icon_colors_match =
+ (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value());
+ }
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SkColor expected_icon_pixel_color =
+ GetSiteConfigurationFromAppName(name).icon_color;
+ do_icon_colors_match = IconManagerCheckIconTopLeftColor(
+@@ -3404,7 +3404,7 @@ bool WebAppIntegrationTestDriver::IsFileHandledBySite(
+ app_id);
+ is_file_handled =
+ shell_integration::CanApplicationHandleURL(app_path, test_file_url);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ AppId app_id = GetAppIdBySiteMode(site);
+ for (const LinuxFileRegistration& command :
+ override_registration_->test_override->linux_file_registration()) {
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
index e479aaf6b8c2..e178e54e5d76 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc
@@ -1,20 +1,20 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/ui/webui/about_ui.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/about_ui.cc
-@@ -620,7 +620,7 @@ std::string ChromeURLs() {
+@@ -603,7 +603,7 @@ std::string ChromeURLs() {
return html;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
std::string AboutLinuxProxyConfig() {
std::string data;
AppendHeader(&data,
-@@ -678,7 +678,7 @@ void AboutUIHTMLSource::StartDataRequest(
+@@ -657,7 +657,7 @@ void AboutUIHTMLSource::StartDataRequest(
response =
ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
} else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
response = AboutLinuxProxyConfig();
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc
index 11f277d6d29b..2918987a870f 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc
@@ -1,20 +1,11 @@
---- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc
-@@ -144,7 +144,7 @@ void AppHomePageHandler::InstallOsHooks(const web_app:
- web_app->CanUserUninstallWebApp();
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
-+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- options.os_hooks[web_app::OsHookType::kUrlHandlers] = true;
- #else
- options.os_hooks[web_app::OsHookType::kUrlHandlers] = false;
-@@ -276,7 +276,7 @@ void AppHomePageHandler::FillExtensionInfoList(
+@@ -392,7 +392,7 @@ void AppHomePageHandler::FillExtensionInfoList(
bool is_deprecated_app = false;
auto* context = extension_service_->GetBrowserContext();
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
is_deprecated_app = extensions::IsExtensionUnsupportedDeprecatedApp(
context, extension->id());
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
index 0b74e9a454e1..434f4caa8741 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
@@ -1,92 +1,92 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -324,7 +324,7 @@
+@@ -325,7 +325,7 @@
#include "chrome/browser/ui/webui/app_launcher_page_ui.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h"
#endif
-@@ -350,17 +350,17 @@
+@@ -351,17 +351,17 @@
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h"
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h"
#endif
@@ -721,7 +721,7 @@ bool IsAboutUI(const GURL& url) {
#if !BUILDFLAG(IS_ANDROID)
|| url.host_piece() == chrome::kChromeUITermsHost
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
|| url.host_piece() == chrome::kChromeUILinuxProxyConfigHost
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -1012,7 +1012,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+@@ -1017,7 +1017,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
return &NewWebUI<ash::personalization_app::PersonalizationAppUI>;
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost)
return &NewWebUI<WebUIJsErrorUI>;
#endif
-@@ -1073,7 +1073,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+@@ -1075,7 +1075,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
if (url.host_piece() == chrome::kChromeUINaClHost)
return &NewWebUI<NaClUI>;
#endif
-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost)
-@@ -1137,27 +1137,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+@@ -1139,27 +1139,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
}
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUISandboxHost) {
return &NewWebUI<SandboxInternalsUI>;
}
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUIConnectorsInternalsHost)
return &NewWebUI<enterprise_connectors::ConnectorsInternalsUI>;
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUIDiscardsHost)
return &NewWebUI<DiscardsUI>;
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost)
return &NewWebUI<BrowserSwitchUI>;
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost)
return &NewWebUI<WebAppSettingsUI>;
#endif
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
index c1c48b43d5d1..513450f7d12d 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
@@ -1,29 +1,29 @@
---- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc
@@ -6,7 +6,7 @@
#include "build/build_config.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#include "base/base64url.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
@@ -24,7 +24,7 @@ namespace utils {
namespace {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
connectors_internals::mojom::KeyTrustLevel ParseTrustLevel(
BPKUR::KeyTrustLevel trust_level) {
-@@ -70,7 +70,7 @@ connectors_internals::mojom::Int32ValuePtr ToMojomValu
+@@ -92,7 +92,7 @@ connectors_internals::mojom::Int32ValuePtr ToMojomValu
} // namespace
connectors_internals::mojom::KeyInfoPtr GetKeyInfo() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
auto* key_manager = g_browser_process->browser_policy_connector()
->chrome_browser_cloud_management_controller()
->GetDeviceTrustKeyManager();
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc
new file mode 100644
index 000000000000..e970de3993a1
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/management/management_ui.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/ui/webui/management/management_ui.cc
+@@ -92,7 +92,7 @@ content::WebUIDataSource* CreateAndAddManagementUIHtml
+ {kManagementOnFileTransferVisibleData,
+ IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA},
+ #endif // BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {kManagementScreenCaptureEvent, IDS_MANAGEMENT_SCREEN_CAPTURE_EVENT},
+ {kManagementScreenCaptureData, IDS_MANAGEMENT_SCREEN_CAPTURE_DATA},
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc
new file mode 100644
index 000000000000..9742c0e83134
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/ui/webui/management/management_ui_handler.cc
+@@ -171,7 +171,7 @@ enum class ReportingType {
+ kUserActivity
+ };
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kManagementScreenCaptureEvent[] = "managementScreenCaptureEvent";
+ const char kManagementScreenCaptureData[] = "managementScreenCaptureData";
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+@@ -973,7 +973,7 @@ base::Value::Dict ManagementUIHandler::GetThreatProtec
+ kManagementOnPageVisitedVisibleData, &info);
+ }
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (capture_policy::IsGetDisplayMediaSetSelectAllScreensAllowedForAnySite(
+ profile)) {
+ AddThreatProtectionPermission(kManagementScreenCaptureEvent,
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h
new file mode 100644
index 000000000000..fa4a6d34ef2f
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/ui/webui/management/management_ui_handler.h
+@@ -24,7 +24,7 @@
+ #include "extensions/common/extension_id.h"
+ #include "url/gurl.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Constants defining the IDs for the localized strings sent to the page as
+ // load time data.
+ extern const char kManagementScreenCaptureEvent[];
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
index 2090592fc74f..d1b476022924 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc
@@ -1,20 +1,11 @@
---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc
@@ -323,7 +323,7 @@ base::Value::Dict AppLauncherHandler::CreateExtensionI
bool is_deprecated_app = false;
auto* context = extension_service_->GetBrowserContext();
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
is_deprecated_app =
extensions::IsExtensionUnsupportedDeprecatedApp(context, extension->id());
#endif
-@@ -1455,7 +1455,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app:
- options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] =
- web_app->CanUserUninstallWebApp();
-
--#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
-+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
- options.os_hooks[web_app::OsHookType::kUrlHandlers] = true;
- #else
diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
index 521e5c28c534..3bfacf7c4a51 100644
--- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
@@ -1,56 +1,56 @@
---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -122,7 +122,7 @@
+@@ -125,7 +125,7 @@
#include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h"
#endif
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
#include "ui/display/screen.h"
#endif
-@@ -143,7 +143,7 @@
+@@ -145,7 +145,7 @@
#include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/linux/linux_ui_factory.h"
#include "ui/ozone/public/ozone_platform.h"
#endif
-@@ -229,7 +229,7 @@ void AddCommonStrings(content::WebUIDataSource* html_s
+@@ -233,7 +233,7 @@ void AddCommonStrings(content::WebUIDataSource* html_s
#endif
html_source->AddBoolean("isChildAccount", profile->IsChild());
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
bool allow_qt_theme = base::FeatureList::IsEnabled(ui::kAllowQt);
#else
bool allow_qt_theme = false;
-@@ -378,7 +378,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+@@ -379,7 +379,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
{"huge", IDS_SETTINGS_HUGE_FONT_SIZE},
{"sidePanelAlignLeft", IDS_SETTINGS_SIDE_PANEL_ALIGN_LEFT},
{"sidePanelAlignRight", IDS_SETTINGS_SIDE_PANEL_ALIGN_RIGHT},
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"gtkTheme", IDS_SETTINGS_GTK_THEME},
{"useGtkTheme", IDS_SETTINGS_USE_GTK_THEME},
{"qtTheme", IDS_SETTINGS_QT_THEME},
-@@ -388,7 +388,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+@@ -389,7 +389,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
#else
{"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME},
#endif
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
{"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
#endif
#if BUILDFLAG(IS_MAC)
-@@ -412,7 +412,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+@@ -411,7 +411,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)
bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance()
->GetPlatformRuntimeProperties()
.supports_server_side_window_decorations;
diff --git a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
index 6ec8f4ac7c83..96930b52ca31 100644
--- a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
+++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc
@@ -1,11 +1,11 @@
---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/ui/window_sizer/window_sizer.cc
-@@ -205,7 +205,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState(
+@@ -203,7 +203,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState(
browser, window_bounds, show_state);
}
-#if !BUILDFLAG(IS_LINUX)
+#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Linux has its own implementation, see WindowSizerLinux.
// static
void WindowSizer::GetBrowserWindowBoundsAndShowState(
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc b/www/chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc
new file mode 100644
index 000000000000..b57f8dc174e6
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/commands/install_app_locally_command.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/web_applications/commands/install_app_locally_command.cc
+@@ -84,7 +84,7 @@ void InstallAppLocallyCommand::StartWithLock(
+ options.os_hooks[OsHookType::kUninstallationViaOsSettings] =
+ web_app->CanUserUninstallWebApp();
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+ options.os_hooks[web_app::OsHookType::kUrlHandlers] = true;
+ #else
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
index a165c3d83aa6..4ec760ba0f73 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc
@@ -1,20 +1,20 @@
---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/web_applications/extensions/extension_status_utils.cc
@@ -26,7 +26,7 @@ namespace {
const char* g_preinstalled_app_for_testing = nullptr;
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- const char kMobilityPrintAndDirectPrintIoExtensionIds[] =
- "alhngdkjgnedakdlnamimgfihgkmenbh,gnddkmpjjjcimefninepfmmddpgaaado";
-
-@@ -110,7 +110,7 @@ bool ClearExternalExtensionUninstalled(content::Browse
+ // TODO(b/268221237): Remove this allow-list.
+ const char kDefaultAllowedExtensionIds[] =
+ "alhngdkjgnedakdlnamimgfihgkmenbh,"
+@@ -113,7 +113,7 @@ bool ClearExternalExtensionUninstalled(content::Browse
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context,
const std::string& extension_id) {
if (!base::FeatureList::IsEnabled(features::kChromeAppsDeprecation))
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc
new file mode 100644
index 000000000000..fe5da2786f64
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc
@@ -0,0 +1,92 @@
+--- chrome/browser/web_applications/os_integration/os_integration_test_override.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/web_applications/os_integration/os_integration_test_override.cc
+@@ -147,7 +147,7 @@ bool OsIntegrationTestOverride::IsRunOnOsLoginEnabled(
+ Profile* profile,
+ const AppId& app_id,
+ const std::string& app_name) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string shortcut_filename =
+ "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop";
+ return base::PathExists(startup().Append(shortcut_filename));
+@@ -217,7 +217,7 @@ base::FilePath OsIntegrationTestOverride::GetShortcutP
+ app_installed_profiles.end()) {
+ return shortcut_path;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string shortcut_filename =
+ "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop";
+ base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename);
+@@ -242,7 +242,7 @@ bool OsIntegrationTestOverride::IsShortcutCreated(Prof
+ base::FilePath app_shortcut_path =
+ GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name);
+ return base::PathExists(app_shortcut_path);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath desktop_shortcut_path =
+ GetShortcutPath(profile, desktop(), app_id, app_name);
+ return base::PathExists(desktop_shortcut_path);
+@@ -270,7 +270,7 @@ bool OsIntegrationTestOverride::SimulateDeleteShortcut
+ GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name);
+ DCHECK(base::PathExists(app_folder_shortcut_path));
+ return base::DeletePathRecursively(app_folder_shortcut_path);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FilePath desktop_shortcut_path =
+ GetShortcutPath(profile, desktop(), app_id, app_name);
+ LOG(INFO) << desktop_shortcut_path;
+@@ -287,7 +287,7 @@ bool OsIntegrationTestOverride::ForceDeleteAllShortcut
+ return DeleteDesktopDirOnWin() && DeleteApplicationMenuDirOnWin();
+ #elif BUILDFLAG(IS_MAC)
+ return DeleteChromeAppsDir();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return DeleteDesktopDirOnLinux();
+ #else
+ NOTREACHED() << "Not implemented on ChromeOS/Fuchsia ";
+@@ -327,7 +327,7 @@ void OsIntegrationTestOverride::EnableOrDisablePathOnL
+ startup_enabled_[file_path] = enable_on_login;
+ }
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool OsIntegrationTestOverride::DeleteDesktopDirOnLinux() {
+ if (desktop_.IsValid()) {
+ return desktop_.Delete();
+@@ -360,7 +360,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride(
+ #elif BUILDFLAG(IS_MAC)
+ bool success = chrome_apps_folder_.CreateUniqueTempDirUnderPath(base_path);
+ DCHECK(success);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool success = desktop_.CreateUniqueTempDirUnderPath(base_path);
+ DCHECK(success);
+ success = startup_.CreateUniqueTempDirUnderPath(base_path);
+@@ -379,7 +379,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride(
+ #elif BUILDFLAG(IS_MAC)
+ bool success = chrome_apps_folder_.CreateUniqueTempDir();
+ DCHECK(success);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool success = desktop_.CreateUniqueTempDir();
+ DCHECK(success);
+ success = startup_.CreateUniqueTempDir();
+@@ -387,7 +387,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride(
+ #endif
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto callback =
+ base::BindRepeating([](base::FilePath filename, std::string xdg_command,
+ std::string file_contents) {
+@@ -421,7 +421,7 @@ OsIntegrationTestOverride::~OsIntegrationTestOverride(
+ }
+ }
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Reset the file handling callback.
+ SetUpdateMimeInfoDatabaseOnLinuxCallbackForTesting(
+ UpdateMimeInfoDatabaseOnLinuxCallback());
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h
new file mode 100644
index 000000000000..3f1777c8c2a3
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h
@@ -0,0 +1,29 @@
+--- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/web_applications/os_integration/os_integration_test_override.h
+@@ -23,7 +23,7 @@ class Profile;
+
+ namespace web_app {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ struct LinuxFileRegistration {
+ std::string xdg_command;
+ std::string file_contents;
+@@ -145,7 +145,7 @@ class OsIntegrationTestOverride
+ }
+ void EnableOrDisablePathOnLogin(const base::FilePath& file_path,
+ bool enable_on_login);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool DeleteDesktopDirOnLinux();
+ const base::FilePath& desktop() { return desktop_.GetPath(); }
+ const base::FilePath& startup() { return startup_.GetPath(); }
+@@ -184,7 +184,7 @@ class OsIntegrationTestOverride
+ #elif BUILDFLAG(IS_MAC)
+ base::ScopedTempDir chrome_apps_folder_;
+ std::map<base::FilePath, bool> startup_enabled_;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::ScopedTempDir desktop_;
+ base::ScopedTempDir startup_;
+ std::vector<LinuxFileRegistration> linux_file_registration_;
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc
new file mode 100644
index 000000000000..8f19ba0259a9
--- /dev/null
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2023-03-09 06:31:50 UTC
++++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc
+@@ -226,7 +226,7 @@ void ShortcutSubManager::Execute(
+ return;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ // Protocol handler update detection. Shortcuts need to be updated in this
+ // case on Linux & Mac because the shortcut itself includes the protocol
+ // handling metadata.
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
index ed11e5dcddc7..e3796bf2cc14 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc
@@ -1,47 +1,11 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc
-@@ -58,7 +58,7 @@ namespace {
+@@ -52,7 +52,7 @@ namespace {
#if BUILDFLAG(IS_MAC)
const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Linux supports icons of any size. FreeDesktop Icon Theme Specification states
// that "Minimally you should install a 48x48 icon in the hicolor theme."
const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512};
-@@ -212,7 +212,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting
- #elif BUILDFLAG(IS_MAC)
- bool success = chrome_apps_folder.CreateUniqueTempDirUnderPath(base_path);
- DCHECK(success);
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool success = desktop.CreateUniqueTempDirUnderPath(base_path);
- DCHECK(success);
- success = startup.CreateUniqueTempDirUnderPath(base_path);
-@@ -231,7 +231,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting
- #elif BUILDFLAG(IS_MAC)
- bool success = chrome_apps_folder.CreateUniqueTempDir();
- DCHECK(success);
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool success = desktop.CreateUniqueTempDir();
- DCHECK(success);
- success = startup.CreateUniqueTempDir();
-@@ -239,7 +239,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting
- #endif
- }
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- auto callback =
- base::BindRepeating([](base::FilePath filename, std::string xdg_command,
- std::string file_contents) {
-@@ -272,7 +272,7 @@ ShortcutOverrideForTesting::~ShortcutOverrideForTestin
- }
- }
- }
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Reset the file handling callback.
- SetUpdateMimeInfoDatabaseOnLinuxCallbackForTesting(
- UpdateMimeInfoDatabaseOnLinuxCallback());
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
index 7c5767dda5c2..f488815ac8c0 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h
@@ -1,38 +1,20 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/web_applications/os_integration/web_app_shortcut.h
-@@ -23,7 +23,7 @@
+@@ -20,7 +20,7 @@
#include "ui/gfx/image/image_family.h"
#include "url/gurl.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/web_applications/os_integration/web_app_shortcut_linux.h"
#endif // BUILDFLAG(IS_LINUX)
-@@ -41,7 +41,7 @@ class ImageSkia;
-
- namespace web_app {
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- struct LinuxFileRegistration {
- std::string xdg_command;
- std::string file_contents;
-@@ -91,7 +91,7 @@ struct ShortcutOverrideForTesting
- #elif BUILDFLAG(IS_MAC)
- base::ScopedTempDir chrome_apps_folder;
- std::map<base::FilePath, bool> startup_enabled;
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- base::ScopedTempDir desktop;
- base::ScopedTempDir startup;
- std::vector<LinuxFileRegistration> linux_file_registration;
-@@ -144,7 +144,7 @@ struct ShortcutInfo {
+@@ -66,7 +66,7 @@ struct ShortcutInfo {
std::set<std::string> file_handler_extensions;
std::set<std::string> file_handler_mime_types;
std::set<std::string> protocol_handlers;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::set<DesktopActionInfo> actions;
#endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc
index 24e50b2664dd..6df7a6c3937b 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc
-@@ -453,7 +453,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
+@@ -452,7 +452,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B
}
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos =
app->shortcuts_menu_item_infos();
DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems);
diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc
index 2619d0138079..49f742fc8cf0 100644
--- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc
+++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc
@@ -1,11 +1,11 @@
---- chrome/browser/web_applications/web_app_provider.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/web_applications/web_app_provider.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/web_applications/web_app_provider.cc
-@@ -295,7 +295,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile
+@@ -283,7 +283,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile
protocol_handler_manager.get());
std::unique_ptr<UrlHandlerManager> url_handler_manager;
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
url_handler_manager = std::make_unique<UrlHandlerManagerImpl>(profile);
#endif
diff --git a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
index e727147778e8..1d02207eb04d 100644
--- a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
+++ b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc
@@ -1,11 +1,11 @@
---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
-@@ -691,7 +691,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl
+@@ -590,7 +590,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl
g_observer->ConfiguringCable(request_type);
}
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// No caBLEv1 on Linux. It tends to crash bluez.
if (base::Contains(pairings_from_extension,
device::CableDiscoveryData::Version::V1,
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc
index 1a9756b11a2d..49958fc45b9b 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__features.cc
@@ -1,74 +1,74 @@
---- chrome/common/chrome_features.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/chrome_features.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/chrome_features.cc
-@@ -96,7 +96,7 @@ BASE_FEATURE(kAsyncDns,
+@@ -82,7 +82,7 @@ BASE_FEATURE(kAsyncDns,
);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Enables or disables the Autofill survey triggered by opening a prompt to
// save address info.
BASE_FEATURE(kAutofillAddressSurvey,
-@@ -114,7 +114,7 @@ BASE_FEATURE(kAutofillPasswordSurvey,
+@@ -100,7 +100,7 @@ BASE_FEATURE(kAutofillPasswordSurvey,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Enables the Restart background mode optimization. When all Chrome UI is
// closed and it goes in the background, allows to restart the browser to
// discard memory.
-@@ -303,7 +303,7 @@ BASE_FEATURE(kDesktopPWAsEnforceWebAppSettingsPolicy,
+@@ -284,7 +284,7 @@ BASE_FEATURE(kDesktopPWAsEnforceWebAppSettingsPolicy,
// Enables or disables Desktop PWAs to be auto-started on OS login.
BASE_FEATURE(kDesktopPWAsRunOnOsLogin,
"DesktopPWAsRunOnOsLogin",
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -327,7 +327,7 @@ BASE_FEATURE(kDesktopPWAsWebBundles,
+@@ -308,7 +308,7 @@ BASE_FEATURE(kDesktopPWAsWebBundles,
base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Controls whether Chrome Apps are supported. See https://crbug.com/1221251.
// If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome
// Apps will not launch and will be marked in the UI as deprecated.
-@@ -354,7 +354,7 @@ BASE_FEATURE(kDisruptiveNotificationPermissionRevocati
+@@ -335,7 +335,7 @@ BASE_FEATURE(kDisruptiveNotificationPermissionRevocati
BASE_FEATURE(kDnsOverHttps,
"DnsOverHttps",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -370,7 +370,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa
+@@ -351,7 +351,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa
const base::FeatureParam<bool> kDnsOverHttpsShowUiParam {
&kDnsOverHttps, "ShowUi",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
true
#else
false
-@@ -748,7 +748,7 @@ BASE_FEATURE(kUpdateHistoryEntryPointsInIncognito,
+@@ -736,7 +736,7 @@ BASE_FEATURE(kUpdateHistoryEntryPointsInIncognito,
"UpdateHistoryEntryPointsInIncognito",
base::FEATURE_ENABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
BASE_FEATURE(kLinuxLowMemoryMonitor,
"LinuxLowMemoryMonitor",
base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -761,7 +761,7 @@ constexpr base::FeatureParam<int> kLinuxLowMemoryMonit
+@@ -749,7 +749,7 @@ constexpr base::FeatureParam<int> kLinuxLowMemoryMonit
&kLinuxLowMemoryMonitor, "critical_level", 255};
#endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
BASE_FEATURE(kListWebAppsSwitch,
"ListWebAppsSwitch",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h
index 16ff8c0343a5..6ce8a9bc936e 100644
--- a/www/chromium/files/patch-chrome_common_chrome__features.h
+++ b/www/chromium/files/patch-chrome_common_chrome__features.h
@@ -1,45 +1,45 @@
---- chrome/common/chrome_features.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/chrome_features.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/chrome_features.h
-@@ -73,13 +73,13 @@ BASE_DECLARE_FEATURE(kAppShimNewCloseBehavior);
+@@ -64,13 +64,13 @@ BASE_DECLARE_FEATURE(kAppShimNewCloseBehavior);
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAsyncDns);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillAddressSurvey);
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillCardSurvey);
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillPasswordSurvey);
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES)
BASE_DECLARE_FEATURE(kBackgroundModeAllowRestart);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -186,7 +186,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings);
+@@ -176,7 +176,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings);
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kDesktopPWAsWebBundles);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation);
COMPONENT_EXPORT(CHROME_FEATURES)
BASE_DECLARE_FEATURE(kKeepForceInstalledPreinstalledApps);
-@@ -429,7 +429,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests);
+@@ -422,7 +422,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceStorage);
COMPONENT_EXPORT(CHROME_FEATURES)
BASE_DECLARE_FEATURE(kUpdateHistoryEntryPointsInIncognito);
-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor);
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kLinuxLowMemoryMonitorModerateLevel;
-@@ -437,7 +437,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
+@@ -430,7 +430,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kLinuxLowMemoryMonitorCriticalLevel;
#endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch);
#endif
diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc
index c99e7943950a..28c041bd986c 100644
--- a/www/chromium/files/patch-chrome_common_chrome__switches.cc
+++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc
@@ -1,19 +1,19 @@
---- chrome/common/chrome_switches.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/chrome_switches.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/chrome_switches.cc
-@@ -854,14 +854,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-
+@@ -855,14 +855,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
// Causes the browser to launch directly in guest mode.
const char kGuest[] = "guest";
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Writes open and installed web apps for each profile to the specified file
// without launching a new browser window or tab. Pass a absolute file path to
// specify where to output the information. Can be used together with optional
diff --git a/www/chromium/files/patch-chrome_common_pref__names.cc b/www/chromium/files/patch-chrome_common_pref__names.cc
index 38e2238144a7..5b1d24bcd7cc 100644
--- a/www/chromium/files/patch-chrome_common_pref__names.cc
+++ b/www/chromium/files/patch-chrome_common_pref__names.cc
@@ -1,56 +1,65 @@
---- chrome/common/pref_names.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/pref_names.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/pref_names.cc
-@@ -1268,7 +1268,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox
+@@ -1222,7 +1222,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Linux specific preference on whether we should match the system theme.
const char kUsesSystemThemeDeprecated[] = "extensions.theme.use_system";
const char kSystemTheme[] = "extensions.theme.system_theme";
-@@ -1382,7 +1382,7 @@ const char kShowUpdatePromotionInfoBar[] =
+@@ -1341,7 +1341,7 @@ const char kShowUpdatePromotionInfoBar[] =
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Boolean that is false if we should show window manager decorations. If
// true, we draw a custom chrome frame (thicker title bar and blue border).
const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
-@@ -1897,7 +1897,7 @@ const char kDownloadDirUpgraded[] = "download.director
+@@ -1852,7 +1852,7 @@ const char kDownloadDirUpgraded[] = "download.director
const char kDownloadLastCompleteTime[] = "download.last_complete_time";
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
const char kOpenPdfDownloadInSystemReader[] =
"download.open_pdf_in_system_reader";
#endif
-@@ -2207,7 +2207,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i
+@@ -2166,7 +2166,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i
// its isolation requirements.
const char kWebAppsIsolationState[] = "web_apps.isolation_state";
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
// Dictionary that maps origins to web apps that can act as URL handlers.
const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info";
-@@ -2307,7 +2307,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled
+@@ -2266,7 +2266,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled
// requests.
const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled";
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
// along with kAuthNegotiateDelegateAllowlist.
const char kAuthNegotiateDelegateByKdcPolicy[] =
-@@ -3336,7 +3336,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
+@@ -3303,7 +3303,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
const char kSandboxExternalProtocolBlocked[] =
"profile.sandbox_external_protocol_blocked";
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Boolean that indicates if system notifications are allowed to be used in
// place of Chrome notifications.
const char kAllowSystemNotifications[] = "system_notifications.allowed";
+@@ -3674,7 +3674,7 @@ const char kThrottleNonVisibleCrossOriginIframesAllowe
+ const char kNewBaseUrlInheritanceBehaviorAllowed[] =
+ "new_base_url_inheritance_behavior_allowed";
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If this exists and is true, Chrome may run system DNS resolution out of the
+ // network process. If false, Chrome will run system DNS resolution in the
+ // network process. If non-existent, Chrome will decide where to run system DNS
diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h
index 82057c1b6019..6cb82c6b46a2 100644
--- a/www/chromium/files/patch-chrome_common_pref__names.h
+++ b/www/chromium/files/patch-chrome_common_pref__names.h
@@ -1,56 +1,65 @@
---- chrome/common/pref_names.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/pref_names.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/pref_names.h
-@@ -398,7 +398,7 @@ extern const char kUseAshProxy[];
+@@ -390,7 +390,7 @@ extern const char kUseAshProxy[];
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// TODO(https://crbug.com/1317782): Remove in M110.
extern const char kUsesSystemThemeDeprecated[];
extern const char kSystemTheme[];
-@@ -425,7 +425,7 @@ extern const char kShowUpdatePromotionInfoBar[];
+@@ -417,7 +417,7 @@ extern const char kShowUpdatePromotionInfoBar[];
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
extern const char kUseCustomChromeFrame[];
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
-@@ -617,7 +617,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[
+@@ -608,7 +608,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[
extern const char kDownloadDirUpgraded[];
extern const char kDownloadLastCompleteTime[];
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
extern const char kOpenPdfDownloadInSystemReader[];
#endif
#if BUILDFLAG(IS_ANDROID)
-@@ -731,7 +731,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps
+@@ -723,7 +723,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps
extern const char kWebAppsPreferences[];
extern const char kWebAppsIsolationState[];
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
extern const char kWebAppsUrlHandlerInfo[];
#endif
-@@ -862,7 +862,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
+@@ -854,7 +854,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
extern const char kAmbientAuthenticationInPrivateModesEnabled[];
extern const char kBasicAuthOverHttpEnabled[];
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
extern const char kAuthNegotiateDelegateByKdcPolicy[];
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
-@@ -1139,7 +1139,7 @@ extern const char kBlockAutoplayEnabled[];
+@@ -1133,7 +1133,7 @@ extern const char kBlockAutoplayEnabled[];
#endif
extern const char kSandboxExternalProtocolBlocked[];
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
extern const char kAllowSystemNotifications[];
#endif
+@@ -1303,7 +1303,7 @@ extern const char kDIPSTimerLastUpdate[];
+ extern const char kThrottleNonVisibleCrossOriginIframesAllowed[];
+ extern const char kNewBaseUrlInheritanceBehaviorAllowed[];
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kOutOfProcessSystemDnsResolutionEnabled[];
+ #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/chromium/files/patch-chrome_common_url__constants.cc b/www/chromium/files/patch-chrome_common_url__constants.cc
index 58c8c9770041..9829e46c39fa 100644
--- a/www/chromium/files/patch-chrome_common_url__constants.cc
+++ b/www/chromium/files/patch-chrome_common_url__constants.cc
@@ -1,11 +1,11 @@
---- chrome/common/url_constants.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/url_constants.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/url_constants.cc
-@@ -501,7 +501,7 @@ const char kPhoneHubPermissionLearnMoreURL[] =
+@@ -513,7 +513,7 @@ const char kPhoneHubPermissionLearnMoreURL[] =
"https://support.google.com/chromebook/?p=multidevice";
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const char kChromeAppsDeprecationLearnMoreURL[] =
"https://support.google.com/chrome/?p=chrome_app_deprecation";
#endif
diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h
index 31401ef7b489..dd782c7a5d5d 100644
--- a/www/chromium/files/patch-chrome_common_url__constants.h
+++ b/www/chromium/files/patch-chrome_common_url__constants.h
@@ -1,11 +1,11 @@
---- chrome/common/url_constants.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/url_constants.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/url_constants.h
-@@ -476,7 +476,7 @@ extern const char kOutdatedPluginLearnMoreURL[];
+@@ -488,7 +488,7 @@ extern const char kOutdatedPluginLearnMoreURL[];
extern const char kPhoneHubPermissionLearnMoreURL[];
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// "Learn more" URL for the chrome apps deprecation dialog.
extern const char kChromeAppsDeprecationLearnMoreURL[];
diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.cc b/www/chromium/files/patch-chrome_common_webui__url__constants.cc
index 2cc5bf27d856..330daf495919 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc
@@ -1,68 +1,68 @@
---- chrome/common/webui_url_constants.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/webui_url_constants.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/webui_url_constants.cc
-@@ -490,18 +490,18 @@ const char kOsUIScanningAppURL[] = "os://scanning";
+@@ -497,18 +497,18 @@ const char kOsUIShortcutCustomizationAppURL[] = "os://
const char kOsUIVersionURL[] = "os://version";
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const char kChromeUIWebUIJsErrorHost[] = "webuijserror";
const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/";
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
const char kChromeUIConnectorsInternalsHost[] = "connectors-internals";
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const char kChromeUIDiscardsHost[] = "discards";
const char kChromeUIDiscardsURL[] = "chrome://discards/";
#endif
-@@ -516,14 +516,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
+@@ -523,14 +523,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
const char kChromeUISandboxHost[] = "sandbox";
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
const char kChromeUIBrowserSwitchHost[] = "browser-switch";
const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
const char kChromeUIEnterpriseProfileWelcomeHost[] =
-@@ -540,7 +540,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
+@@ -547,7 +547,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
const char kChromeUIProfilePickerStartupQuery[] = "startup";
#endif
-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
-@@ -616,7 +616,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan
+@@ -625,7 +625,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
const char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/";
const char kChromeUIWebAppSettingsHost[] = "app-settings";
#endif
-@@ -831,7 +831,7 @@ const char* const kChromeDebugURLs[] = {
+@@ -839,7 +839,7 @@ const char* const kChromeDebugURLs[] = {
blink::kChromeUIGpuJavaCrashURL,
kChromeUIJavaCrashURL,
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
kChromeUIWebUIJsErrorURL,
#endif
kChromeUIQuitURL,
diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.h b/www/chromium/files/patch-chrome_common_webui__url__constants.h
index 6fcf152e36d7..bf31cb39ad46 100644
--- a/www/chromium/files/patch-chrome_common_webui__url__constants.h
+++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h
@@ -1,57 +1,57 @@
---- chrome/common/webui_url_constants.h.orig 2023-02-08 09:03:45 UTC
+--- chrome/common/webui_url_constants.h.orig 2023-03-09 06:31:50 UTC
+++ chrome/common/webui_url_constants.h
-@@ -416,24 +416,24 @@ extern const char kOsUIScanningAppURL[];
+@@ -419,24 +419,24 @@ extern const char kOsUIShortcutCustomizationAppURL[];
extern const char kOsUIVersionURL[];
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
extern const char kChromeUIWebUIJsErrorHost[];
extern const char kChromeUIWebUIJsErrorURL[];
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS_ASH)
+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
extern const char kChromeUIConnectorsInternalsHost[];
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
extern const char kChromeUIDiscardsHost[];
extern const char kChromeUIDiscardsURL[];
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
extern const char kChromeUIWebAppSettingsURL[];
extern const char kChromeUIWebAppSettingsHost[];
#endif
-@@ -448,14 +448,14 @@ extern const char kChromeUILinuxProxyConfigHost[];
+@@ -451,14 +451,14 @@ extern const char kChromeUILinuxProxyConfigHost[];
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
extern const char kChromeUISandboxHost[];
#endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
extern const char kChromeUIBrowserSwitchHost[];
extern const char kChromeUIBrowserSwitchURL[];
extern const char kChromeUIEnterpriseProfileWelcomeHost[];
-@@ -469,7 +469,7 @@ extern const char kChromeUIProfilePickerUrl[];
+@@ -472,7 +472,7 @@ extern const char kChromeUIProfilePickerUrl[];
extern const char kChromeUIProfilePickerStartupQuery[];
#endif
-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
extern const char kChromeUITabModalConfirmDialogHost[];
diff --git a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
index 7532ec2f1e3d..8579a519cc67 100644
--- a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
+++ b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc
@@ -1,11 +1,11 @@
---- chrome/renderer/chrome_render_frame_observer.cc.orig 2023-01-11 09:17:16 UTC
+--- chrome/renderer/chrome_render_frame_observer.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/renderer/chrome_render_frame_observer.cc
-@@ -344,7 +344,7 @@ void ChromeRenderFrameObserver::OnDestruct() {
+@@ -345,7 +345,7 @@ void ChromeRenderFrameObserver::OnDestruct() {
void ChromeRenderFrameObserver::DraggableRegionsChanged() {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Only the main frame is allowed to control draggable regions, to avoid other
// frames manipulate the regions in the browser process.
if (!render_frame()->IsMainFrame())
diff --git a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
index a6da22438dc5..c4632b9601fe 100644
--- a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
+++ b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc
@@ -1,38 +1,38 @@
---- chrome/services/printing/print_backend_service_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/services/printing/print_backend_service_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/services/printing/print_backend_service_impl.cc
-@@ -42,7 +42,7 @@
+@@ -43,7 +43,7 @@
#include "printing/backend/cups_connection_pool.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/no_destructor.h"
#include "ui/linux/linux_ui.h"
#include "ui/linux/linux_ui_delegate_stub.h"
-@@ -69,7 +69,7 @@ namespace printing {
+@@ -70,7 +70,7 @@ namespace printing {
namespace {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
void InstantiateLinuxUiDelegate() {
// TODO(crbug.com/809738) Until a real UI can be used in a utility process,
// need to use the stub version.
-@@ -485,7 +485,7 @@ void PrintBackendServiceImpl::Init(
+@@ -490,7 +490,7 @@ void PrintBackendServiceImpl::Init(
// `InitCommon()`.
InitializeProcessForPrinting();
print_backend_ = PrintBackend::CreateInstance(locale);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Test framework already initializes the UI, so this should not go in
// `InitCommon()`. Additionally, low-level Linux UI is not needed when tests
// are using `TestPrintingContext`.
-@@ -672,7 +672,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
+@@ -677,7 +677,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings(
crash_keys_ = std::make_unique<crash_keys::ScopedPrinterInfo>(
print_backend_->GetPrinterDriverInfo(*printer_name));
-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)
// Try to fill in advanced settings based upon basic info options.
PrinterBasicInfo basic_info;
if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) ==
diff --git a/www/chromium/files/patch-chrome_test_BUILD.gn b/www/chromium/files/patch-chrome_test_BUILD.gn
index f92708ff9c90..7455e0da7785 100644
--- a/www/chromium/files/patch-chrome_test_BUILD.gn
+++ b/www/chromium/files/patch-chrome_test_BUILD.gn
@@ -1,11 +1,11 @@
---- chrome/test/BUILD.gn.orig 2023-02-22 19:51:47 UTC
+--- chrome/test/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ chrome/test/BUILD.gn
-@@ -10218,7 +10218,7 @@ test("chrome_app_unittests") {
+@@ -10043,7 +10043,7 @@ test("chrome_app_unittests") {
"//components/heap_profiling/in_process",
"//components/safe_browsing:buildflags",
]
- if (!is_fuchsia) {
+ if (!is_fuchsia && !is_bsd) {
deps += [ "//third_party/breakpad:client" ]
}
if (enable_gwp_asan) {
diff --git a/www/chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc b/www/chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc
index 534ecac8686a..334b76af3979 100644
--- a/www/chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc
+++ b/www/chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc
@@ -1,11 +1,11 @@
---- chrome/test/interaction/interaction_test_util_browser.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/test/interaction/interaction_test_util_browser.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/test/interaction/interaction_test_util_browser.cc
-@@ -31,7 +31,7 @@
+@@ -35,7 +35,7 @@
#include "ui/base/interaction/interaction_test_util_mac.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#define SUPPORTS_PIXEL_TESTS 1
+ #include "base/command_line.h"
#include "chrome/browser/ui/test/test_browser_ui.h"
- #else
diff --git a/www/chromium/files/patch-chrome_updater_ipc_ipc__names.h b/www/chromium/files/patch-chrome_updater_ipc_ipc__names.h
deleted file mode 100644
index 3d33a2bac2ea..000000000000
--- a/www/chromium/files/patch-chrome_updater_ipc_ipc__names.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/ipc/ipc_names.h.orig 2023-02-08 09:03:45 UTC
-+++ chrome/updater/ipc/ipc_names.h
-@@ -13,7 +13,7 @@ namespace updater {
- mojo::NamedPlatformChannel::ServerName GetUpdateServiceInternalServerName(
- UpdaterScope scope);
-
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- mojo::NamedPlatformChannel::ServerName GetUpdateServiceServerName(
- UpdaterScope scope);
- #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/chromium/files/patch-chrome_updater_updater.cc b/www/chromium/files/patch-chrome_updater_updater.cc
deleted file mode 100644
index 1b12ee734f50..000000000000
--- a/www/chromium/files/patch-chrome_updater_updater.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/updater/updater.cc.orig 2023-02-08 09:03:45 UTC
-+++ chrome/updater/updater.cc
-@@ -49,7 +49,7 @@
- #include "chrome/updater/util/win_util.h"
- #elif BUILDFLAG(IS_MAC)
- #include "chrome/updater/app/server/mac/server.h"
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- #include "chrome/updater/app/server/linux/server.h"
- #endif
-
diff --git a/www/chromium/files/patch-chrome_updater_util_posix__util.cc b/www/chromium/files/patch-chrome_updater_util_posix__util.cc
index 019f8e5f2773..51dd827034b9 100644
--- a/www/chromium/files/patch-chrome_updater_util_posix__util.cc
+++ b/www/chromium/files/patch-chrome_updater_util_posix__util.cc
@@ -1,20 +1,11 @@
---- chrome/updater/util/posix_util.cc.orig 2023-02-08 09:03:45 UTC
+--- chrome/updater/util/posix_util.cc.orig 2023-03-09 06:31:50 UTC
+++ chrome/updater/util/posix_util.cc
@@ -10,7 +10,7 @@
#include "chrome/updater/updater_branding.h"
#include "chrome/updater/util/util.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/updater/util/linux_util.h"
#endif
-@@ -42,7 +42,7 @@ base::FilePath GetUpdaterFolderName() {
-
- absl::optional<base::FilePath> GetBaseInstallDirectory(UpdaterScope scope) {
- absl::optional<base::FilePath> path;
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- path = GetApplicationDataDirectory(scope);
- #elif BUILDFLAG(IS_MAC)
- path = GetLibraryFolderPath(scope);
diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
index b6c9559e91e4..614b0c01bb4c 100644
--- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
+++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc
@@ -1,38 +1,38 @@
---- chromecast/browser/cast_browser_main_parts.cc.orig 2023-02-08 09:03:45 UTC
+--- chromecast/browser/cast_browser_main_parts.cc.orig 2023-03-09 06:31:50 UTC
+++ chromecast/browser/cast_browser_main_parts.cc
-@@ -90,7 +90,7 @@
+@@ -89,7 +89,7 @@
#include "ui/base/ui_base_switches.h"
#include "ui/gl/gl_switches.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <fontconfig/fontconfig.h>
#include <signal.h>
#include <sys/prctl.h>
-@@ -263,7 +263,7 @@ class CastViewsDelegate : public views::ViewsDelegate
+@@ -262,7 +262,7 @@ class CastViewsDelegate : public views::ViewsDelegate
#endif // defined(USE_AURA)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
base::FilePath GetApplicationFontsDir() {
std::unique_ptr<base::Environment> env(base::Environment::Create());
-@@ -309,7 +309,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
+@@ -308,7 +308,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
{cc::switches::kDisableThreadedAnimation, ""},
#endif // BUILDFLAG(IS_ANDROID)
#endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#if defined(ARCH_CPU_X86_FAMILY)
// This is needed for now to enable the x11 Ozone platform to work with
// current Linux/NVidia OpenGL drivers.
-@@ -480,7 +480,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
+@@ -479,7 +479,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
views_delegate_ = std::make_unique<CastViewsDelegate>();
#endif // defined(USE_AURA)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
base::FilePath dir_font = GetApplicationFontsDir();
const FcChar8* dir_font_char8 =
reinterpret_cast<const FcChar8*>(dir_font.value().data());
diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
index 037ac5a0032e..b6df326b313c 100644
--- a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
+++ b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc
@@ -1,11 +1,11 @@
---- chromecast/browser/cast_content_browser_client.cc.orig 2023-02-08 09:03:45 UTC
+--- chromecast/browser/cast_content_browser_client.cc.orig 2023-03-09 06:31:50 UTC
+++ chromecast/browser/cast_content_browser_client.cc
-@@ -434,7 +434,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
+@@ -427,7 +427,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
switches::kAudioOutputChannels));
}
} else if (process_type == switches::kGpuProcess) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Necessary for accelerated 2d canvas. By default on Linux, Chromium
// assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU
// canvas apps.
diff --git a/www/chromium/files/patch-components_autofill__payments__strings.grdp b/www/chromium/files/patch-components_autofill__payments__strings.grdp
index 294d45368033..b2c01a148a09 100644
--- a/www/chromium/files/patch-components_autofill__payments__strings.grdp
+++ b/www/chromium/files/patch-components_autofill__payments__strings.grdp
@@ -1,11 +1,11 @@
---- components/autofill_payments_strings.grdp.orig 2023-01-11 09:17:16 UTC
+--- components/autofill_payments_strings.grdp.orig 2023-03-09 06:31:50 UTC
+++ components/autofill_payments_strings.grdp
-@@ -112,7 +112,7 @@
+@@ -118,7 +118,7 @@
<message name="IDS_AUTOFILL_FIX_FLOW_PROMPT_SAVE_CARD_LABEL" desc="Text to show on the button to save the card to Google when the fix flow dialog is shown after the Autofill save card prompt." formatter_data="android_java">
Save card
</message>
- <if expr="is_linux">
+ <if expr="is_posix">
<then>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar.">
Do you want to save this card to your Google Account?
diff --git a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc
index 7f547bfd6a23..b6750e812ac2 100644
--- a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc
+++ b/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc
@@ -1,12 +1,12 @@
---- components/autofill/core/browser/personal_data_manager.cc.orig 2023-02-08 09:03:45 UTC
+--- components/autofill/core/browser/personal_data_manager.cc.orig 2023-03-09 06:31:50 UTC
+++ components/autofill/core/browser/personal_data_manager.cc
-@@ -2148,7 +2148,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
+@@ -2233,7 +2233,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
// This option should only be shown for users that have not enabled the Sync
// Feature and that have server credit cards available.
if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() ||
diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
index 912bc338b5ef..03694c2ad104 100644
--- a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
+++ b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc
@@ -1,11 +1,11 @@
---- components/autofill/core/common/autofill_payments_features.cc.orig 2023-02-08 09:03:45 UTC
+--- components/autofill/core/common/autofill_payments_features.cc.orig 2023-03-09 06:31:50 UTC
+++ components/autofill/core/common/autofill_payments_features.cc
-@@ -247,7 +247,7 @@ const base::FeatureParam<int>
+@@ -266,7 +266,7 @@ const base::FeatureParam<int>
bool ShouldShowImprovedUserConsentForCreditCardSave() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
// The new user consent UI is fully launched on MacOS, Windows and Linux.
return true;
diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
index f0429d320a17..318699ced101 100644
--- a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
+++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc
@@ -1,20 +1,20 @@
---- components/embedder_support/user_agent_utils_unittest.cc.orig 2022-08-31 12:19:35 UTC
+--- components/embedder_support/user_agent_utils_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ components/embedder_support/user_agent_utils_unittest.cc
-@@ -80,7 +80,7 @@ const char kDesktop[] =
+@@ -81,7 +81,7 @@ const char kDesktop[] =
"Safari/537.36";
#endif // BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
std::string GetMachine() {
struct utsname unixinfo;
uname(&unixinfo);
-@@ -188,7 +188,7 @@ void CheckUserAgentStringOrdering(bool mobile_device)
+@@ -189,7 +189,7 @@ void CheckUserAgentStringOrdering(bool mobile_device)
int value;
ASSERT_TRUE(base::StringToInt(pieces[i], &value));
}
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// X11; Linux x86_64
ASSERT_EQ(2u, pieces.size());
ASSERT_EQ("X11", pieces[0]);
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
index 9b9722eae620..ad810e90f9b0 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc
@@ -1,21 +1,21 @@
---- components/feature_engagement/public/feature_configurations.cc.orig 2023-01-11 09:17:16 UTC
+--- components/feature_engagement/public/feature_configurations.cc.orig 2023-03-09 06:31:50 UTC
+++ components/feature_engagement/public/feature_configurations.cc
@@ -35,7 +35,7 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Fe
absl::optional<FeatureConfig> GetClientSideFeatureConfig(
const base::Feature* feature) {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
absl::optional<FeatureConfig> config = FeatureConfig();
config->valid = true;
-@@ -1029,7 +1029,8 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf
+@@ -1066,7 +1066,8 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
if (kIPHAutofillVirtualCardSuggestionFeature.name == feature->name) {
// A config that allows the virtual card credit card suggestion IPH to be
// shown when:
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
index 29c5bd9f1776..547febb77065 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc
@@ -1,21 +1,21 @@
---- components/feature_engagement/public/feature_constants.cc.orig 2023-02-08 09:03:45 UTC
+--- components/feature_engagement/public/feature_constants.cc.orig 2023-03-09 06:31:50 UTC
+++ components/feature_engagement/public/feature_constants.cc
-@@ -24,7 +24,7 @@ BASE_FEATURE(kUseClientConfigIPH,
+@@ -19,7 +19,7 @@ BASE_FEATURE(kUseClientConfigIPH,
BASE_FEATURE(kIPHDummyFeature, "IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
BASE_FEATURE(kIPHBatterySaverModeFeature,
"IPH_BatterySaverMode",
base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -424,7 +424,8 @@ BASE_FEATURE(kIPHPriceNotificationsWhileBrowsingFeatur
+@@ -434,7 +434,8 @@ BASE_FEATURE(kIPHiOSDefaultBrowserSettingsBadgeFeature
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
BASE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature,
"IPH_AutofillVirtualCardSuggestion",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
index 6f2a0940641c..93be5bd604d8 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h
@@ -1,21 +1,21 @@
---- components/feature_engagement/public/feature_constants.h.orig 2023-02-08 09:03:45 UTC
+--- components/feature_engagement/public/feature_constants.h.orig 2023-03-09 06:31:50 UTC
+++ components/feature_engagement/public/feature_constants.h
-@@ -32,7 +32,7 @@ BASE_DECLARE_FEATURE(kIPHDummyFeature);
- BASE_DECLARE_FEATURE(kEnableIPH);
+@@ -22,7 +22,7 @@ BASE_DECLARE_FEATURE(kUseClientConfigIPH);
+ BASE_DECLARE_FEATURE(kIPHDummyFeature);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
BASE_DECLARE_FEATURE(kIPHBatterySaverModeFeature);
BASE_DECLARE_FEATURE(kIPHDesktopSharedHighlightingFeature);
BASE_DECLARE_FEATURE(kIPHDesktopTabGroupsNewGroupFeature);
-@@ -185,7 +185,8 @@ BASE_DECLARE_FEATURE(kIPHPriceNotificationsWhileBrowsi
+@@ -180,7 +180,8 @@ BASE_DECLARE_FEATURE(kIPHiOSDefaultBrowserSettingsBadg
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
BASE_DECLARE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ||
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
index 98f3ef9456f1..5019e7ca4430 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc
@@ -1,21 +1,21 @@
---- components/feature_engagement/public/feature_list.cc.orig 2023-02-08 09:03:45 UTC
+--- components/feature_engagement/public/feature_list.cc.orig 2023-03-09 06:31:50 UTC
+++ components/feature_engagement/public/feature_list.cc
-@@ -122,7 +122,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHPriceNotificationsWhileBrowsingFeature,
+@@ -127,7 +127,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHiOSDefaultBrowserSettingsBadgeFeature,
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
&kIPHBatterySaverModeFeature,
&kIPHDesktopTabGroupsNewGroupFeature,
&kIPHExtensionsMenuFeature,
-@@ -154,7 +154,8 @@ const base::Feature* const kAllFeatures[] = {
+@@ -159,7 +159,8 @@ const base::Feature* const kAllFeatures[] = {
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
&kIPHAutofillVirtualCardSuggestionFeature,
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ||
diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
index 86c4b5098c38..1b246e5a0c71 100644
--- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
+++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h
@@ -1,40 +1,40 @@
---- components/feature_engagement/public/feature_list.h.orig 2023-02-08 09:03:45 UTC
+--- components/feature_engagement/public/feature_list.h.orig 2023-03-09 06:31:50 UTC
+++ components/feature_engagement/public/feature_list.h
-@@ -223,7 +223,7 @@ DEFINE_VARIATION_PARAM(kIPHPriceNotificationsWhileBrow
+@@ -232,7 +232,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSDefaultBrowserSettingsBa
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
DEFINE_VARIATION_PARAM(kIPHBatterySaverModeFeature, "IPH_BatterySaverMode");
DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature,
"IPH_DesktopTabGroupsNewGroup");
-@@ -269,7 +269,8 @@ DEFINE_VARIATION_PARAM(kIPHPriceTrackingInSidePanelFea
+@@ -278,7 +278,8 @@ DEFINE_VARIATION_PARAM(kIPHPriceTrackingInSidePanelFea
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
DEFINE_VARIATION_PARAM(kIPHAutofillVirtualCardSuggestionFeature,
"IPH_AutofillVirtualCardSuggestion");
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
-@@ -377,7 +378,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHOverflowMenuTipFeature),
- VARIATION_ENTRY(kIPHPriceNotificationsWhileBrowsingFeature),
+@@ -396,7 +397,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ VARIATION_ENTRY(kIPHiOSDefaultBrowserOverflowMenuBadgeFeature),
+ VARIATION_ENTRY(kIPHiOSDefaultBrowserSettingsBadgeFeature),
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
VARIATION_ENTRY(kIPHBatterySaverModeFeature),
VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
VARIATION_ENTRY(kIPHExtensionsMenuFeature),
-@@ -410,7 +411,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+@@ -429,7 +430,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
+ BUILDFLAG(IS_BSD)
VARIATION_ENTRY(kIPHAutofillVirtualCardSuggestionFeature),
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ||
diff --git a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
index 155887126104..5e1d4e3f7098 100644
--- a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
+++ b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc
@@ -1,24 +1,24 @@
---- components/feed/core/v2/proto_util.cc.orig 2023-02-08 09:03:45 UTC
+--- components/feed/core/v2/proto_util.cc.orig 2023-03-09 06:31:50 UTC
+++ components/feed/core/v2/proto_util.cc
-@@ -91,8 +91,8 @@ feedwire::Version GetPlatformVersionMessage() {
+@@ -92,8 +92,8 @@ feedwire::Version GetPlatformVersionMessage() {
int32_t major, minor, revision;
base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
- result.set_major(major);
- result.set_minor(minor);
+ result.set_gmajor(major);
+ result.set_gminor(minor);
result.set_revision(revision);
#if BUILDFLAG(IS_ANDROID)
result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
-@@ -107,8 +107,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
+@@ -108,8 +108,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
// Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH.
const std::vector<uint32_t>& numbers = chrome_info.version.components();
if (numbers.size() > 3) {
- result.set_major(static_cast<int32_t>(numbers[0]));
- result.set_minor(static_cast<int32_t>(numbers[1]));
+ result.set_gmajor(static_cast<int32_t>(numbers[0]));
+ result.set_gminor(static_cast<int32_t>(numbers[1]));
result.set_build(static_cast<int32_t>(numbers[2]));
result.set_revision(static_cast<int32_t>(numbers[3]));
}
diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
index 39482cd26790..27cb3537aa93 100644
--- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
+++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc
@@ -1,13 +1,13 @@
---- components/paint_preview/browser/paint_preview_client.cc.orig 2023-02-08 09:03:45 UTC
+--- components/paint_preview/browser/paint_preview_client.cc.orig 2023-03-09 06:31:50 UTC
+++ components/paint_preview/browser/paint_preview_client.cc
-@@ -308,8 +308,8 @@ void PaintPreviewClient::CapturePaintPreview(
+@@ -310,8 +310,8 @@ void PaintPreviewClient::CapturePaintPreview(
metadata->set_url(url.spec());
metadata->set_version(kPaintPreviewVersion);
auto* chromeVersion = metadata->mutable_chrome_version();
- chromeVersion->set_major(CHROME_VERSION_MAJOR);
- chromeVersion->set_minor(CHROME_VERSION_MINOR);
+ chromeVersion->set_gmajor(CHROME_VERSION_MAJOR);
+ chromeVersion->set_gminor(CHROME_VERSION_MINOR);
chromeVersion->set_build(CHROME_VERSION_BUILD);
chromeVersion->set_patch(CHROME_VERSION_PATCH);
document_data.callback = std::move(callback);
diff --git a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
index 186c6d70ab39..a61945aa1f3e 100644
--- a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
+++ b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc
@@ -1,13 +1,13 @@
---- components/paint_preview/player/player_compositor_delegate.cc.orig 2023-02-08 09:03:45 UTC
+--- components/paint_preview/player/player_compositor_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ components/paint_preview/player/player_compositor_delegate.cc
-@@ -445,8 +445,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT
+@@ -452,8 +452,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT
// use the AXTreeUpdate.
auto chrome_version = capture_result_->proto.metadata().chrome_version();
if (capture_result_->proto.metadata().has_chrome_version() &&
- chrome_version.major() == CHROME_VERSION_MAJOR &&
- chrome_version.minor() == CHROME_VERSION_MINOR &&
+ chrome_version.gmajor() == CHROME_VERSION_MAJOR &&
+ chrome_version.gminor() == CHROME_VERSION_MINOR &&
chrome_version.build() == CHROME_VERSION_BUILD &&
chrome_version.patch() == CHROME_VERSION_PATCH) {
paint_preview_service_->GetFileMixin()->GetAXTreeUpdate(
diff --git a/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc b/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc
index dc639afa25e1..9194ee293e34 100644
--- a/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc
+++ b/www/chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc
@@ -1,29 +1,29 @@
---- components/password_manager/core/browser/login_database_unittest.cc.orig 2023-02-08 09:03:45 UTC
+--- components/password_manager/core/browser/login_database_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ components/password_manager/core/browser/login_database_unittest.cc
-@@ -2109,7 +2109,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
+@@ -2108,7 +2108,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
base::HistogramTester histogram_tester;
ASSERT_TRUE(db.Init());
-#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
+#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
// Make sure that we can't get any logins when database is corrupted.
// Disabling the checks in chromecast because encryption is unavailable.
std::vector<std::unique_ptr<PasswordForm>> result;
-@@ -2136,7 +2136,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
+@@ -2135,7 +2135,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd
#endif
// Check histograms.
-#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
+#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)
histogram_tester.ExpectUniqueSample(
"PasswordManager.DeleteUndecryptableLoginsReturnValue",
metrics_util::DeleteCorruptedPasswordsResult::kSuccessPasswordsDeleted,
-@@ -2179,7 +2179,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL
+@@ -2178,7 +2178,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL
}
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Test getting auto sign in logins when there are undecryptable ones
TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutoSignInLogins) {
std::vector<std::unique_ptr<PasswordForm>> forms;
diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc
index edf1f8a8ecb5..9fa8f015336e 100644
--- a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc
+++ b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.cc
@@ -1,29 +1,20 @@
---- components/password_manager/core/common/password_manager_features.cc.orig 2023-02-08 09:03:45 UTC
+--- components/password_manager/core/common/password_manager_features.cc.orig 2023-03-09 06:31:50 UTC
+++ components/password_manager/core/common/password_manager_features.cc
-@@ -80,7 +80,7 @@ BASE_FEATURE(kFillOnAccountSelect,
+@@ -69,7 +69,7 @@ BASE_FEATURE(kFillOnAccountSelect,
"fill-on-account-select",
base::FEATURE_DISABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// When enabled, initial sync will be forced during startup if the password
// store has encryption service failures.
BASE_FEATURE(kForceInitialSyncWhenDecryptionFails,
-@@ -152,7 +152,7 @@ BASE_FEATURE(kPasswordChangeWellKnown,
- // Controls the ability to import passwords from Chrome's settings page.
- BASE_FEATURE(kPasswordImport,
- "PasswordImport",
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT);
- #else
- base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -195,7 +195,7 @@ BASE_FEATURE(kPasswordStrengthIndicator,
+@@ -186,7 +186,7 @@ BASE_FEATURE(kPasswordStrengthIndicator,
"PasswordStrengthIndicator",
base::FEATURE_DISABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Displays at least the decryptable and never saved logins in the password
// manager
BASE_FEATURE(kSkipUndecryptablePasswords,
diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h
index bc8110e95a8d..d36361a1d12f 100644
--- a/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h
+++ b/www/chromium/files/patch-components_password__manager_core_common_password__manager__features.h
@@ -1,20 +1,20 @@
---- components/password_manager/core/common/password_manager_features.h.orig 2023-02-08 09:03:45 UTC
+--- components/password_manager/core/common/password_manager_features.h.orig 2023-03-09 06:31:50 UTC
+++ components/password_manager/core/common/password_manager_features.h
-@@ -36,7 +36,7 @@ BASE_DECLARE_FEATURE(kEnablePasswordGenerationForClear
+@@ -35,7 +35,7 @@ BASE_DECLARE_FEATURE(kEnablePasswordGenerationForClear
BASE_DECLARE_FEATURE(kEnablePasswordManagerWithinFencedFrame);
BASE_DECLARE_FEATURE(kFillingAcrossAffiliatedWebsites);
BASE_DECLARE_FEATURE(kFillOnAccountSelect);
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
BASE_DECLARE_FEATURE(kForceInitialSyncWhenDecryptionFails);
#endif
BASE_DECLARE_FEATURE(kInferConfirmationPasswordField);
@@ -62,7 +62,7 @@ BASE_DECLARE_FEATURE(kRecoverFromNeverSaveAndroid);
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // Desktop
BASE_DECLARE_FEATURE(kRevampedPasswordManagementBubble);
#endif
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
BASE_DECLARE_FEATURE(kSkipUndecryptablePasswords);
#endif
#if BUILDFLAG(IS_ANDROID)
diff --git a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
index 20f50e9f8a61..20e79ccaf161 100644
--- a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
+++ b/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
@@ -1,11 +1,11 @@
---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2023-02-08 09:03:45 UTC
+--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2023-03-09 06:31:50 UTC
+++ components/policy/core/browser/policy_pref_mapping_test.cc
-@@ -325,7 +325,7 @@ class PolicyTestCase {
+@@ -326,7 +326,7 @@ class PolicyTestCase {
const std::string os("chromeos_lacros");
#elif BUILDFLAG(IS_IOS)
const std::string os("ios");
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const std::string os("linux");
#elif BUILDFLAG(IS_MAC)
const std::string os("mac");
diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
index 689504e06c7e..4037ea971ee6 100644
--- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
+++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc
@@ -1,11 +1,11 @@
---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2023-02-08 09:03:45 UTC
+--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2023-03-09 06:31:50 UTC
+++ components/policy/core/common/cloud/cloud_policy_client.cc
-@@ -432,7 +432,7 @@ void CloudPolicyClient::FetchPolicy() {
+@@ -424,7 +424,7 @@ void CloudPolicyClient::FetchPolicy() {
fetch_request->set_invalidation_payload(invalidation_payload_);
}
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Only set browser device identifier for CBCM Chrome cloud policy on
// desktop.
if (type_to_fetch.first ==
diff --git a/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
index b019d63ef647..8ff0abf86c8c 100644
--- a/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
+++ b/www/chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
@@ -1,11 +1,11 @@
---- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-02-08 09:03:45 UTC
+--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-03-09 06:31:50 UTC
+++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc
-@@ -201,7 +201,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput(
+@@ -175,7 +175,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput(
// Check for current device type and subtract it from the device count
// calculation.
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
desktop_count -= 1;
#elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) {
diff --git a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
index 8cf119fc0110..9405de2a75bb 100644
--- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
+++ b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
@@ -1,29 +1,29 @@
---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
-@@ -19,7 +19,7 @@
+@@ -20,7 +20,7 @@
#if BUILDFLAG(IS_WIN)
#include "content/public/child/dwrite_font_proxy_init_win.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "components/services/font/public/cpp/font_loader.h"
#endif
-@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+@@ -65,7 +65,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
// Initialize font access for Skia.
#if BUILDFLAG(IS_WIN)
content::InitializeDWriteFontProxy();
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
mojo::PendingRemote<font_service::mojom::FontService> font_service;
content::UtilityThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+@@ -88,7 +88,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
base::BindOnce([] { SkFontMgr::RefDefault(); }));
// Sanity check that fonts are working.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// No WebSandbox is provided on Linux so the local fonts aren't accessible.
// This is fine since since the subsetted fonts are provided in the SkPicture.
// However, we still need to check that the SkFontMgr starts as it is used by
diff --git a/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
index b8e7b3e53b34..58b45ceb6ec2 100644
--- a/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc
@@ -1,18 +1,18 @@
---- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-01-11 09:17:16 UTC
+--- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-03-09 06:31:50 UTC
+++ components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc
@@ -34,6 +34,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
}
}
+#if !BUILDFLAG(IS_BSD)
auto* instance = sandbox::policy::SandboxLinux::GetInstance();
std::vector<BrokerFilePermission> permissions{
-@@ -52,6 +53,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
+@@ -57,6 +58,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
sandbox::syscall_broker::COMMAND_OPEN}),
permissions, sandbox::policy::SandboxLinux::PreSandboxHook(), options);
instance->EngageNamespaceSandboxIfPossible();
+#endif
return true;
}
diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.cc b/www/chromium/files/patch-components_viz_host_host__display__client.cc
index 3ac268d2ca6c..0e2ca329af42 100644
--- a/www/chromium/files/patch-components_viz_host_host__display__client.cc
+++ b/www/chromium/files/patch-components_viz_host_host__display__client.cc
@@ -1,11 +1,11 @@
---- components/viz/host/host_display_client.cc.orig 2023-01-11 09:17:16 UTC
+--- components/viz/host/host_display_client.cc.orig 2023-03-09 06:31:50 UTC
+++ components/viz/host/host_display_client.cc
-@@ -66,7 +66,7 @@ void HostDisplayClient::AddChildWindowToBrowser(
+@@ -67,7 +67,7 @@ void HostDisplayClient::AddChildWindowToBrowser(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
NOTIMPLEMENTED();
}
diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
index b346b10daa76..cbd4643a63e2 100644
--- a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
+++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
@@ -1,11 +1,11 @@
---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ components/viz/service/display_embedder/skia_output_surface_impl.cc
-@@ -1231,7 +1231,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
+@@ -1259,7 +1259,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
->GetDeviceQueue()
->GetVulkanPhysicalDevice(),
VK_IMAGE_TILING_OPTIMAL, ycbcr_info);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Textures that were allocated _on linux_ with ycbcr info came from
// VaapiVideoDecoder, which exports using DRM format modifiers.
return GrBackendFormat::MakeVk(gr_ycbcr_info,
diff --git a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
index f42a9d9b841b..e9536bc719c2 100644
--- a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
+++ b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc
@@ -1,11 +1,11 @@
---- components/viz/service/display/skia_renderer.cc.orig 2023-02-08 09:03:45 UTC
+--- components/viz/service/display/skia_renderer.cc.orig 2023-03-09 06:31:50 UTC
+++ components/viz/service/display/skia_renderer.cc
-@@ -1145,7 +1145,7 @@ void SkiaRenderer::ClearFramebuffer() {
+@@ -1149,7 +1149,7 @@ void SkiaRenderer::ClearFramebuffer() {
if (current_frame()->current_render_pass->has_transparent_background) {
ClearCanvas(SkColors::kTransparent);
} else {
-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
// On DEBUG builds, opaque render passes are cleared to blue
// to easily see regions that were not drawn on the screen.
// ClearCavas() call causes slight pixel difference, so linux-ref and
diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
index c5162e337d17..00433318bc57 100644
--- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
+++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
@@ -1,20 +1,20 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-11-30 08:12:58 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
@@ -98,7 +98,7 @@ RootCompositorFrameSinkImpl::Create(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// For X11, we need notify client about swap completion after resizing, so the
// client can use it for synchronize with X11 WM.
output_surface->SetNeedsSwapSizeNotifications(true);
-@@ -577,7 +577,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+@@ -585,7 +585,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
display_client_->DidCompleteSwapWithSize(pixel_size);
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
if (display_client_ && pixel_size != last_swap_pixel_size_) {
last_swap_pixel_size_ = pixel_size;
display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_);
diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
index 5cc79e1c555b..0007e949554b 100644
--- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
+++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
@@ -1,11 +1,11 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-01-11 09:17:16 UTC
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-03-09 06:31:50 UTC
+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -197,7 +197,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
+@@ -200,7 +200,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
gfx::Size last_swap_pixel_size_;
#endif
diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc
index d6322429c4d1..c4e8aa65cac3 100644
--- a/www/chromium/files/patch-content_app_content__main.cc
+++ b/www/chromium/files/patch-content_app_content__main.cc
@@ -1,11 +1,11 @@
---- content/app/content_main.cc.orig 2023-02-08 09:03:45 UTC
+--- content/app/content_main.cc.orig 2023-03-09 06:31:50 UTC
+++ content/app/content_main.cc
-@@ -228,7 +228,7 @@ RunContentProcess(ContentMainParams params,
+@@ -205,7 +205,7 @@ RunContentProcess(ContentMainParams params,
#endif
base::EnableTerminationOnOutOfMemory();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// The various desktop environments set this environment variable that
// allows the dbus client library to connect directly to the bus. When this
// variable is not set (test environments like xvfb-run), the dbus client
diff --git a/www/chromium/files/patch-content_app_content__main__runner__impl.cc b/www/chromium/files/patch-content_app_content__main__runner__impl.cc
index 55e5d36fd80d..9e23fe5dfc59 100644
--- a/www/chromium/files/patch-content_app_content__main__runner__impl.cc
+++ b/www/chromium/files/patch-content_app_content__main__runner__impl.cc
@@ -1,130 +1,130 @@
---- content/app/content_main_runner_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- content/app/content_main_runner_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/app/content_main_runner_impl.cc
-@@ -138,13 +138,13 @@
+@@ -139,13 +139,13 @@
#include "content/browser/posix_file_descriptor_info_impl.h"
#include "content/public/common/content_descriptors.h"
-#if !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
#include "content/public/common/zygote/zygote_fork_delegate_linux.h"
#endif
#endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/files/file_path_watcher_inotify.h"
#include "base/native_library.h"
#include "base/rand_util.h"
-@@ -184,6 +184,10 @@
+@@ -186,6 +186,10 @@
#include "media/base/media_switches.h"
#endif
+#if BUILDFLAG(IS_BSD)
+#include "base/system/sys_info.h"
+#endif
+
#if BUILDFLAG(IS_ANDROID)
#include "base/system/sys_info.h"
#include "content/browser/android/battery_metrics.h"
-@@ -365,7 +369,7 @@ void InitializeZygoteSandboxForBrowserProcess(
+@@ -371,7 +375,7 @@ void InitializeZygoteSandboxForBrowserProcess(
}
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+ #endif // BUILDFLAG(USE_ZYGOTE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#if BUILDFLAG(ENABLE_PPAPI)
// Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -401,15 +405,17 @@ void PreloadLibraryCdms() {
+@@ -407,15 +411,17 @@ void PreloadLibraryCdms() {
}
#endif // BUILDFLAG(ENABLE_LIBRARY_CDMS)
--#if BUILDFLAG(USE_ZYGOTE_HANDLE)
-+#if BUILDFLAG(USE_ZYGOTE_HANDLE) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(USE_ZYGOTE)
++#if BUILDFLAG(USE_ZYGOTE) || BUILDFLAG(IS_BSD)
void PreSandboxInit() {
// Pre-acquire resources needed by BoringSSL. See
// https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md
CRYPTO_pre_sandbox_init();
+#if !BUILDFLAG(IS_BSD)
// Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be
// allowed by the sandbox.
base::GetMaxNumberOfInotifyWatches();
+#endif
#if BUILDFLAG(ENABLE_PPAPI)
// Ensure access to the Pepper plugins before the sandbox is turned on.
-@@ -428,6 +434,11 @@ void PreSandboxInit() {
+@@ -434,6 +440,11 @@ void PreSandboxInit() {
}
#endif
+#if BUILDFLAG(IS_BSD)
+ // "cache" the amount of physical memory before pledge(2)
+ base::SysInfo::AmountOfPhysicalMemoryMB();
+#endif
+
// Set the android SkFontMgr for blink. We need to ensure this is done
// before the sandbox is initialized to allow the font manager to access
// font configuration files on disk.
-@@ -615,7 +626,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate*
+@@ -621,7 +632,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate*
delegate->ZygoteStarting(&zygote_fork_delegates);
media::InitializeMediaLibrary();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
PreSandboxInit();
#endif
-@@ -809,11 +820,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+@@ -823,11 +834,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor);
#endif // !BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
g_fds->Set(kCrashDumpSignal,
kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor);
-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
- // BUILDFLAG(IS_OPENBSD)
+#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#endif // !BUILDFLAG(IS_WIN)
-@@ -997,6 +1007,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+@@ -1012,6 +1022,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
}
#endif
+#if BUILDFLAG(IS_BSD)
+ if (process_type.empty()) {
+ sandbox::policy::SandboxLinux::Options sandbox_options;
+ sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox(
+ sandbox::policy::SandboxTypeFromCommandLine(
+ *base::CommandLine::ForCurrentProcess()),
+ sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options);
+ }
+#endif
+
delegate_->SandboxInitialized(process_type);
- #if BUILDFLAG(USE_ZYGOTE_HANDLE)
-@@ -1060,7 +1080,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
- process_type);
+ #if BUILDFLAG(USE_ZYGOTE)
+@@ -1079,7 +1099,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+ ->ReconfigureAfterFeatureListInit(process_type);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// If dynamic Mojo Core is being used, ensure that it's loaded very early in
// the child/zygote process, before any sandbox is initialized. The library
// is not fully initialized with IPC support until a ChildProcess is later
-@@ -1093,6 +1113,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+@@ -1112,6 +1132,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
content_main_params_.reset();
RegisterMainThreadFactories();
+
+#if BUILDFLAG(IS_BSD)
+ if (!process_type.empty())
+ PreSandboxInit();
+#endif
if (process_type.empty())
return RunBrowser(std::move(main_params), start_minimal_browser);
diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn
index 758d2b41386c..3c7a5eb52e06 100644
--- a/www/chromium/files/patch-content_browser_BUILD.gn
+++ b/www/chromium/files/patch-content_browser_BUILD.gn
@@ -1,16 +1,16 @@
---- content/browser/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- content/browser/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ content/browser/BUILD.gn
-@@ -2368,6 +2368,13 @@ source_set("browser") {
+@@ -2386,6 +2386,13 @@ source_set("browser") {
]
}
+ if (is_bsd) {
+ sources -= [
+ "sandbox_ipc_linux.cc",
+ "sandbox_ipc_linux.h",
+ ]
+ }
+
if (is_chromeos) {
sources += [
"handwriting/handwriting_recognition_service_impl_cros.cc",
diff --git a/www/chromium/files/patch-content_browser_browser__main__loop.cc b/www/chromium/files/patch-content_browser_browser__main__loop.cc
index 21cb5ecf5047..1707fa8f04e5 100644
--- a/www/chromium/files/patch-content_browser_browser__main__loop.cc
+++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc
@@ -1,37 +1,37 @@
---- content/browser/browser_main_loop.cc.orig 2023-02-08 09:03:45 UTC
+--- content/browser/browser_main_loop.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/browser_main_loop.cc
-@@ -244,6 +244,12 @@
+@@ -245,6 +245,12 @@
#include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h"
#endif
+#if BUILDFLAG(IS_BSD)
+#include "content/browser/sandbox_host_linux.h"
+#include "content/public/common/zygote/sandbox_support_linux.h"
+#include "sandbox/policy/sandbox.h"
+#endif
+
// One of the linux specific headers defines this as a macro.
#ifdef DestroyAll
#undef DestroyAll
-@@ -528,6 +534,12 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -538,6 +544,12 @@ int BrowserMainLoop::EarlyInitialization() {
// by now since a thread to start the ServiceManager has been created
// before the browser main loop starts.
DCHECK(SandboxHostLinux::GetInstance()->IsInitialized());
+#elif BUILDFLAG(IS_BSD)
+ base::FileHandleMappingVector additional_remapped_fds;
+ base::LaunchOptions options;
+ SandboxHostLinux::GetInstance()->Init();
+ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket();
+ options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD()));
#endif
// GLib's spawning of new processes is buggy, so it's important that at this
-@@ -559,7 +571,7 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -575,7 +587,7 @@ int BrowserMainLoop::EarlyInitialization() {
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kCompositing);
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// We use quite a few file descriptors for our IPC as well as disk the disk
// cache,and the default limit on the Mac is low (256), so bump it up.
diff --git a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
index b5b071b2072b..c3c1ad979618 100644
--- a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
+++ b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc
@@ -1,80 +1,125 @@
---- content/browser/child_process_launcher_helper_linux.cc.orig 2023-02-08 09:03:45 UTC
+--- content/browser/child_process_launcher_helper_linux.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -20,7 +20,9 @@
#include "content/public/common/result_codes.h"
#include "content/public/common/sandboxed_process_launcher_delegate.h"
#include "content/public/common/zygote/sandbox_support_linux.h"
+#if !BUILDFLAG(IS_BSD)
#include "content/public/common/zygote/zygote_handle.h"
+#endif
#include "sandbox/policy/linux/sandbox_linux.h"
namespace content {
-@@ -74,6 +76,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -45,14 +47,20 @@ ChildProcessLauncherHelper::GetFilesToMap() {
+ }
+
+ bool ChildProcessLauncherHelper::IsUsingLaunchOptions() {
++#if !BUILDFLAG(IS_BSD)
+ return !GetZygoteForLaunch();
++#else
++ return true;
++#endif
+ }
+
+ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
+ PosixFileDescriptorInfo& files_to_register,
+ base::LaunchOptions* options) {
+ if (options) {
++#if !BUILDFLAG(IS_BSD)
+ DCHECK(!GetZygoteForLaunch());
++#endif
+ // Convert FD mapping to FileHandleMappingVector
+ options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment(
+ base::GlobalDescriptors::kBaseDescriptor);
+@@ -64,7 +72,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche
+
+ options->environment = delegate_->GetEnvironment();
+ } else {
++#if !BUILDFLAG(IS_BSD)
+ DCHECK(GetZygoteForLaunch());
++#endif
+ // Environment variables could be supported in the future, but are not
+ // currently supported when launching with the zygote.
+ DCHECK(delegate_->GetEnvironment().empty());
+@@ -81,6 +91,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
int* launch_result) {
*is_synchronous_launch = true;
Process process;
+#if !BUILDFLAG(IS_BSD)
- ZygoteHandle zygote_handle =
- base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
- ? nullptr
-@@ -87,7 +90,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+ ZygoteCommunication* zygote_handle = GetZygoteForLaunch();
+ if (zygote_handle) {
+ // TODO(crbug.com/569191): If chrome supported multiple zygotes they could
+@@ -91,7 +102,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
GetProcessType());
*launch_result = LAUNCH_RESULT_SUCCESS;
-#if !BUILDFLAG(IS_OPENBSD)
if (handle) {
// It could be a renderer process or an utility process.
int oom_score = content::kMiscOomScore;
-@@ -96,15 +98,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -100,15 +110,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
oom_score = content::kLowestRendererOomScore;
ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score);
}
-#endif
process.process = base::Process(handle);
process.zygote = zygote_handle;
} else {
+#endif
- process.process = base::LaunchProcess(*command_line(), options);
+ process.process = base::LaunchProcess(*command_line(), *options);
*launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS
: LAUNCH_RESULT_FAILURE;
+#if !BUILDFLAG(IS_BSD)
}
+#endif
#if BUILDFLAG(IS_CHROMEOS)
if (GetProcessType() == switches::kRendererProcess) {
-@@ -124,10 +128,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
+@@ -130,10 +142,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
const ChildProcessLauncherHelper::Process& process,
bool known_dead) {
ChildProcessTerminationInfo info;
+#if !BUILDFLAG(IS_BSD)
if (process.zygote) {
info.status = process.zygote->GetTerminationStatus(
process.process.Handle(), known_dead, &info.exit_code);
} else if (known_dead) {
+#else
+ if (known_dead) {
+#endif
info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(),
&info.exit_code);
} else {
-@@ -151,13 +159,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
+@@ -157,13 +173,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
DCHECK(CurrentlyOnProcessLauncherTaskRunner());
process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false);
// On POSIX, we must additionally reap the child.
+#if !BUILDFLAG(IS_BSD)
if (process.zygote) {
// If the renderer was created via a zygote, we have to proxy the reaping
// through the zygote process.
process.zygote->EnsureProcessTerminated(process.process.Handle());
} else {
+#endif
base::EnsureProcessTerminated(std::move(process.process));
+#if !BUILDFLAG(IS_BSD)
}
+#endif
}
void ChildProcessLauncherHelper::SetProcessBackgroundedOnLauncherThread(
+@@ -174,11 +194,13 @@ void ChildProcessLauncherHelper::SetProcessBackgrounde
+ process.SetProcessBackgrounded(is_background);
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() {
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
+ ? nullptr
+ : delegate_->GetZygote();
+ }
++#endif
+
+ base::File OpenFileToShare(const base::FilePath& path,
+ base::MemoryMappedFile::Region* region) {
diff --git a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
index 8ce21ef8ab83..258441864f3a 100644
--- a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
+++ b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc
@@ -1,11 +1,11 @@
---- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-11-30 08:12:58 UTC
+--- content/browser/compositor/viz_process_transport_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/compositor/viz_process_transport_factory.cc
-@@ -118,7 +118,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+@@ -116,7 +116,7 @@ class HostDisplayClient : public viz::HostDisplayClien
// viz::HostDisplayClient:
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override {
compositor_->OnCompleteSwapWithNewSize(size);
}
diff --git a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc
index b37371d5754b..790e2e4e2454 100644
--- a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc
+++ b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc
@@ -1,20 +1,20 @@
---- content/browser/network_service_instance_impl.cc.orig 2023-01-11 09:17:16 UTC
+--- content/browser/network_service_instance_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/network_service_instance_impl.cc
-@@ -75,7 +75,7 @@
+@@ -76,7 +76,7 @@
#include "content/browser/network/network_service_process_tracker_win.h"
#endif
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/browser/system_dns_resolution/system_dns_resolver.h"
#include "services/network/public/mojom/system_dns_resolution.mojom-forward.h"
#endif
-@@ -403,7 +403,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS
+@@ -404,7 +404,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS
}
#endif // BUILDFLAG(IS_POSIX)
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- if (base::FeatureList::IsEnabled(
- network::features::kOutOfProcessSystemDnsResolution) &&
- IsOutOfProcessNetworkService() &&
+ if (GetContentClient()
+ ->browser()
+ ->ShouldRunOutOfProcessSystemDnsResolution() &&
diff --git a/www/chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc
new file mode 100644
index 000000000000..cbdd852d4bb6
--- /dev/null
+++ b/www/chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/back_forward_cache_impl.cc.orig 2023-03-09 06:31:50 UTC
++++ content/browser/renderer_host/back_forward_cache_impl.cc
+@@ -56,7 +56,7 @@ BASE_FEATURE(kBackForwardCacheSize,
+ // Sets the BackForwardCache size for desktop.
+ // See crbug.com/1291435.
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
index d3c8e5f1e6f2..2d3ecf911d46 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
@@ -1,64 +1,64 @@
---- content/browser/renderer_host/render_process_host_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- content/browser/renderer_host/render_process_host_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -215,7 +215,7 @@
+@@ -214,7 +214,7 @@
#include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <sys/resource.h>
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
-@@ -1141,7 +1141,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
+@@ -1144,7 +1144,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
// to indicate failure and std::numeric_limits<size_t>::max() to indicate
// unlimited.
size_t GetPlatformProcessLimit() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
struct rlimit limit;
if (getrlimit(RLIMIT_NPROC, &limit) != 0)
return kUnknownPlatformProcessLimit;
-@@ -1228,7 +1228,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+@@ -1236,7 +1236,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
return;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
ConnectToFontService(std::move(font_receiver));
return;
-@@ -1317,7 +1317,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+@@ -1325,7 +1325,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
std::unique_ptr<service_manager::BinderRegistry> binders_;
mojo::Receiver<mojom::ChildProcessHost> receiver_{this};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
mojo::Remote<media::mojom::VideoEncodeAcceleratorProviderFactory>
video_encode_accelerator_factory_remote_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -2169,7 +2169,7 @@ void RenderProcessHostImpl::ReinitializeLogging(
+@@ -2173,7 +2173,7 @@ void RenderProcessHostImpl::ReinitializeLogging(
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
void RenderProcessHostImpl::CreateStableVideoDecoder(
mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver) {
if (!stable_video_decoder_factory_remote_.is_bound()) {
-@@ -3331,6 +3331,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
+@@ -3348,6 +3348,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
switches::kDisableSpeechAPI,
switches::kDisableThreadedCompositing,
switches::kDisableTouchDragDrop,
+ switches::kDisableUnveil,
switches::kDisableUseMojoVideoDecoderForPepper,
switches::kDisableV8IdleTasks,
switches::kDisableVideoCaptureUseGpuMemoryBuffer,
-@@ -4807,7 +4808,7 @@ void RenderProcessHostImpl::ResetIPC() {
+@@ -4826,7 +4827,7 @@ void RenderProcessHostImpl::ResetIPC() {
coordinator_connector_receiver_.reset();
tracing_registration_.reset();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
stable_video_decoder_factory_remote_.reset();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
index 20e7f1cb748b..ae1a1cd0dc90 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h
@@ -1,38 +1,38 @@
---- content/browser/renderer_host/render_process_host_impl.h.orig 2023-02-08 09:03:45 UTC
+--- content/browser/renderer_host/render_process_host_impl.h.orig 2023-03-09 06:31:50 UTC
+++ content/browser/renderer_host/render_process_host_impl.h
@@ -85,7 +85,7 @@
#include "content/public/browser/android/child_process_importance.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "media/mojo/mojom/stable/stable_video_decoder.mojom.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -489,7 +489,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+@@ -490,7 +490,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// Sets this RenderProcessHost to be guest only. For Testing only.
void SetForGuestsOnlyForTesting();
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
// Launch the zygote early in the browser startup.
static void EarlyZygoteLaunch();
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
-@@ -704,7 +704,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+@@ -699,7 +699,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver)
override;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
void CreateStableVideoDecoder(
mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver)
override;
-@@ -1165,7 +1165,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+@@ -1171,7 +1171,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// RenderProcessHost. This is destroyed early in ResetIPC() method.
std::unique_ptr<PermissionServiceContext> permission_service_context_;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Connection to the StableVideoDecoderFactory that lives in a utility
// process. This is only used for out-of-process video decoding.
mojo::Remote<media::stable::mojom::StableVideoDecoderFactory>
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
index 1f6bc70d9eaa..e66eb94f0bff 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
@@ -1,11 +1,11 @@
---- content/browser/renderer_host/render_view_host_impl.cc.orig 2022-11-30 08:12:58 UTC
+--- content/browser/renderer_host/render_view_host_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/renderer_host/render_view_host_impl.cc
-@@ -253,7 +253,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
+@@ -250,7 +250,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL);
prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips =
display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL);
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
prefs->system_font_family_name = gfx::Font().GetFontName();
#elif BUILDFLAG(IS_FUCHSIA)
// Make Blink's "focus ring" invisible. The focus ring is a hairline border
diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
index c2333e90935b..85b45420baa3 100644
--- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
@@ -1,47 +1,47 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-01-11 09:17:16 UTC
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -118,7 +118,7 @@
+@@ -119,7 +119,7 @@
#include "ui/gfx/gdi_util.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "content/browser/accessibility/browser_accessibility_auralinux.h"
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
#include "ui/linux/linux_ui.h"
-@@ -451,7 +451,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
+@@ -452,7 +452,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot())
->GetCOM();
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
BrowserAccessibilityManager* manager =
host()->GetOrCreateRootBrowserAccessibilityManager();
if (manager && manager->GetBrowserAccessibilityRoot())
-@@ -1589,7 +1589,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
+@@ -1590,7 +1590,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
return GetTextInputManager() && GetTextInputManager()->should_do_learning();
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool RenderWidgetHostViewAura::SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) {
-@@ -2421,7 +2421,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
+@@ -2422,7 +2422,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
}
bool RenderWidgetHostViewAura::NeedsMouseCapture() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
return NeedsInputGrab();
#else
return false;
-@@ -2598,7 +2598,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
+@@ -2599,7 +2599,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
if (!target_host)
return;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
if (!event.skip_in_browser && linux_ui && event.os_event &&
diff --git a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
index 8f4a08221491..19469c6479ad 100644
--- a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
+++ b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc
@@ -1,32 +1,32 @@
---- content/browser/utility_sandbox_delegate.cc.orig 2023-01-11 09:17:16 UTC
+--- content/browser/utility_sandbox_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/utility_sandbox_delegate.cc
-@@ -63,13 +63,13 @@ UtilitySandboxedProcessLauncherDelegate::
+@@ -64,13 +64,13 @@ UtilitySandboxedProcessLauncherDelegate::
#if BUILDFLAG(ENABLE_PPAPI)
sandbox_type_ == sandbox::mojom::Sandbox::kPpapi ||
#endif
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture ||
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -112,10 +112,10 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate::
+@@ -117,10 +117,10 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe
// unsandboxed zygote and then apply their actual sandboxes in the forked
// process upon startup.
if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork ||
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/www/chromium/files/patch-content_browser_v8__snapshot__files.cc b/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
index dbec907d8016..e686f76f3ff1 100644
--- a/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
+++ b/www/chromium/files/patch-content_browser_v8__snapshot__files.cc
@@ -1,11 +1,11 @@
---- content/browser/v8_snapshot_files.cc.orig 2023-02-08 09:03:45 UTC
+--- content/browser/v8_snapshot_files.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/v8_snapshot_files.cc
-@@ -11,7 +11,7 @@
- namespace content {
-
- std::map<std::string, base::FilePath> GetV8SnapshotFilesToPreload() {
+@@ -13,7 +13,7 @@ namespace content {
+ std::map<std::string, absl::variant<base::FilePath, base::ScopedFD>>
+ GetV8SnapshotFilesToPreload() {
+ std::map<std::string, absl::variant<base::FilePath, base::ScopedFD>> files;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#if BUILDFLAG(USE_V8_CONTEXT_SNAPSHOT)
- return {{kV8ContextSnapshotDataDescriptor,
- base::FilePath(
+ files[kV8ContextSnapshotDataDescriptor] = base::FilePath(
+ FILE_PATH_LITERAL(BUILDFLAG(V8_CONTEXT_SNAPSHOT_FILENAME)));
diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
index 2aaea065e889..bdf2d2457689 100644
--- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
+++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc
@@ -1,29 +1,29 @@
---- content/browser/web_contents/web_contents_view_aura.cc.orig 2023-01-11 09:17:16 UTC
+--- content/browser/web_contents/web_contents_view_aura.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -178,7 +178,7 @@ class WebDragSourceAura : public content::WebContentsO
raw_ptr<aura::Window> window_;
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Fill out the OSExchangeData with a file contents, synthesizing a name if
// necessary.
void PrepareDragForFileContents(const DropData& drop_data,
@@ -261,7 +261,7 @@ void PrepareDragData(const DropData& drop_data,
if (!drop_data.download_metadata.empty())
PrepareDragForDownload(drop_data, provider, web_contents);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// We set the file contents before the URL because the URL also sets file
// contents (to a .URL shortcut). We want to prefer file content data over
// a shortcut so we add it first.
-@@ -1368,7 +1368,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
+@@ -1371,7 +1371,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
// Linux window managers like to handle raise-on-click themselves. If we
// raise-on-click manually, this may override user settings that prevent
// focus-stealing.
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
// It is possible for the web-contents to be destroyed while it is being
// activated. Use a weak-ptr to track whether that happened or not.
// More in https://crbug.com/1040725
diff --git a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
index 6be4cb14061e..d6250626d7d6 100644
--- a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
+++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc
@@ -1,38 +1,38 @@
---- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-07-22 17:30:31 UTC
+--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2023-03-09 06:31:50 UTC
+++ content/browser/webui/web_ui_main_frame_observer.cc
@@ -13,7 +13,7 @@
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_ui_controller.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "base/callback_helpers.h"
#include "base/feature_list.h"
+ #include "base/functional/callback_helpers.h"
#include "base/logging.h"
@@ -31,7 +31,7 @@ namespace content {
namespace {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Remove the pieces of the URL we don't want to send back with the error
// reports. In particular, do not send query or fragments as those can have
// privacy-sensitive information in them.
@@ -55,7 +55,7 @@ WebUIMainFrameObserver::WebUIMainFrameObserver(WebUIIm
WebUIMainFrameObserver::~WebUIMainFrameObserver() = default;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
void WebUIMainFrameObserver::OnDidAddMessageToConsole(
RenderFrameHost* source_frame,
blink::mojom::ConsoleMessageLevel log_level,
@@ -163,7 +163,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation(
// TODO(crbug.com/1129544) This is currently disabled due to Windows DLL
// thunking issues. Fix & re-enable.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
}
diff --git a/www/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn
index 51affb03ec46..9260d95fef38 100644
--- a/www/chromium/files/patch-content_common_BUILD.gn
+++ b/www/chromium/files/patch-content_common_BUILD.gn
@@ -1,21 +1,21 @@
---- content/common/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- content/common/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ content/common/BUILD.gn
-@@ -433,6 +433,9 @@ if (is_linux || is_chromeos) {
+@@ -426,6 +426,9 @@ if (is_linux || is_chromeos) {
public = [ "set_process_title_linux.h" ]
sources = [ "set_process_title_linux.cc" ]
deps = [ "//base" ]
+ if (is_bsd) {
+ sources -= [ "set_process_title_linux.cc" ]
+ }
}
}
-@@ -481,7 +484,7 @@ mojom("mojo_bindings") {
+@@ -474,7 +477,7 @@ mojom("mojo_bindings") {
if (enable_ipc_logging) {
enabled_features += [ "ipc_logging" ]
}
- if (is_linux || is_chromeos) {
+ if (!is_bsd && (is_linux || is_chromeos)) {
enabled_features += [ "supports_thread_types" ]
}
if (use_clang_profiling_inside_sandbox) {
diff --git a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
index 7e3d887d9efd..bdac3bda03fb 100644
--- a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
+++ b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
@@ -1,70 +1,70 @@
---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-01-11 09:17:16 UTC
+--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-03-09 06:31:50 UTC
+++ content/gpu/gpu_sandbox_hook_linux.cc
@@ -126,6 +126,7 @@ void AddStandardChromeOsPermissions(
}
}
+#if !defined(OS_BSD)
void AddV4L2GpuPermissions(
std::vector<BrokerFilePermission>* permissions,
const sandbox::policy::SandboxSeccompBPF::Options& options) {
-@@ -445,8 +446,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
+@@ -481,8 +482,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
AddStandardGpuPermissions(&permissions);
return permissions;
}
+#endif
void LoadArmGpuLibraries() {
+#if !defined(OS_BSD)
// Preload the Mali library.
if (UseChromecastSandboxAllowlist()) {
for (const char* path : kAllowedChromecastPaths) {
-@@ -488,6 +491,7 @@ void LoadArmGpuLibraries() {
+@@ -527,6 +530,7 @@ void LoadArmGpuLibraries() {
dlopen(driver_paths[i], dlopen_flag);
}
}
+#endif
}
bool LoadAmdGpuLibraries() {
-@@ -555,12 +559,14 @@ void LoadV4L2Libraries(
+@@ -594,12 +598,14 @@ void LoadV4L2Libraries(
}
void LoadChromecastV4L2Libraries() {
+#if !defined(OS_BSD)
for (const char* path : kAllowedChromecastPaths) {
const std::string library_path(std::string(path) +
std::string("libvpcodec.so"));
if (dlopen(library_path.c_str(), dlopen_flag))
break;
}
+#endif
}
bool LoadLibrariesForGpu(
-@@ -588,6 +594,7 @@ bool LoadLibrariesForGpu(
+@@ -626,6 +632,7 @@ bool LoadLibrariesForGpu(
return true;
}
+#if !defined(OS_BSD)
sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
const sandbox::policy::SandboxLinux::Options& options) {
sandbox::syscall_broker::BrokerCommandSet command_set;
-@@ -610,13 +617,17 @@ bool BrokerProcessPreSandboxHook(
+@@ -649,13 +656,17 @@ bool BrokerProcessPreSandboxHook(
SetProcessTitleFromCommandLine(nullptr);
return true;
}
+#endif
} // namespace
bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options) {
+ NOTIMPLEMENTED();
+#if !defined(OS_BSD)
sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess(
CommandSetForGPU(options), FilePermissionsForGpu(options),
base::BindOnce(BrokerProcessPreSandboxHook), options);
+#endif
if (!LoadLibrariesForGpu(options))
return false;
diff --git a/www/chromium/files/patch-content_public_browser_render__process__host.h b/www/chromium/files/patch-content_public_browser_render__process__host.h
index 930f366de673..45cf7a853426 100644
--- a/www/chromium/files/patch-content_public_browser_render__process__host.h
+++ b/www/chromium/files/patch-content_public_browser_render__process__host.h
@@ -1,20 +1,20 @@
---- content/public/browser/render_process_host.h.orig 2023-02-08 09:03:45 UTC
+--- content/public/browser/render_process_host.h.orig 2023-03-09 06:31:50 UTC
+++ content/public/browser/render_process_host.h
-@@ -54,7 +54,7 @@
+@@ -53,7 +53,7 @@
#include "content/public/browser/android/child_process_importance.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "media/mojo/mojom/stable/stable_video_decoder.mojom-forward.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -641,7 +641,7 @@ class CONTENT_EXPORT RenderProcessHost : public IPC::S
const blink::StorageKey& storage_key,
mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) = 0;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
virtual void CreateStableVideoDecoder(
mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder>
receiver) = 0;
diff --git a/www/chromium/files/patch-content_public_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc
index a8984afd07e0..efb94d764a40 100644
--- a/www/chromium/files/patch-content_public_common_content__features.cc
+++ b/www/chromium/files/patch-content_public_common_content__features.cc
@@ -1,59 +1,50 @@
---- content/public/common/content_features.cc.orig 2023-02-08 09:03:45 UTC
+--- content/public/common/content_features.cc.orig 2023-03-09 06:31:50 UTC
+++ content/public/common/content_features.cc
-@@ -41,7 +41,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess,
+@@ -39,7 +39,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess,
"AudioServiceOutOfProcess",
// TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being
// built with OS_CHROMEOS instead of OS_LINUX.
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
base::FEATURE_ENABLED_BY_DEFAULT
#else
-@@ -53,7 +53,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess,
+@@ -51,7 +51,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess,
// kAudioServiceOutOfProcess feature is enabled.
BASE_FEATURE(kAudioServiceSandbox,
"AudioServiceSandbox",
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -499,7 +499,7 @@ BASE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens,
+@@ -539,7 +539,7 @@ BASE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens,
// (activated by kUserAgentClientHint)
BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Supports proxying thread type changes of renderer processes to browser
// process and having browser process handle adjusting thread properties (nice
// value, c-group, latency sensitivity...) for renderers which have sandbox
-@@ -1258,7 +1258,7 @@ BASE_FEATURE(kWebAssemblyCodeProtection,
- "WebAssemblyCodeProtection",
- base::FEATURE_DISABLED_BY_DEFAULT);
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- // Use memory protection keys in userspace (PKU) (if available) to protect code
- // JITed for WebAssembly. Fall back to traditional memory protection if
- // WebAssemblyCodeProtection is also enabled.
-@@ -1305,7 +1305,7 @@ BASE_FEATURE(kWebAssemblyTiering,
+@@ -1333,7 +1333,7 @@ BASE_FEATURE(kWebAssemblyTiering,
BASE_FEATURE(kWebAssemblyTrapHandler,
"WebAssemblyTrapHandler",
#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_MAC)) && \
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \
defined(ARCH_CPU_X86_64)) || \
(BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))
base::FEATURE_ENABLED_BY_DEFAULT
-@@ -1381,7 +1381,11 @@ BASE_FEATURE(kWebUICodeCache,
+@@ -1404,7 +1404,11 @@ BASE_FEATURE(kWebUICodeCache,
// Controls whether the WebUSB API is enabled:
// https://wicg.github.io/webusb
+#if BUILDFLAG(IS_BSD)
+BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT);
+#else
BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT);
+#endif
// Controls whether the WebXR Device API is enabled.
BASE_FEATURE(kWebXr, "WebXR", base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/chromium/files/patch-content_public_common_content__features.h b/www/chromium/files/patch-content_public_common_content__features.h
index 4e4ec8317ab1..fe315813572b 100644
--- a/www/chromium/files/patch-content_public_common_content__features.h
+++ b/www/chromium/files/patch-content_public_common_content__features.h
@@ -1,20 +1,11 @@
---- content/public/common/content_features.h.orig 2023-02-08 09:03:45 UTC
+--- content/public/common/content_features.h.orig 2023-03-09 06:31:50 UTC
+++ content/public/common/content_features.h
-@@ -107,7 +107,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollO
+@@ -114,7 +114,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollO
CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSet);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kGreaseUACH);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
CONTENT_EXPORT BASE_DECLARE_FEATURE(kHandleRendererThreadTypeChangesInBrowser);
#endif
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIdleDetection);
-@@ -282,7 +282,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kVideoPlaybackQual
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kV8VmFuture);
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyBaseline);
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodeProtection);
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodeProtectionPku);
- #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) &&
- // defined(ARCH_CPU_X86_64)
diff --git a/www/chromium/files/patch-content_public_common_content__switches.cc b/www/chromium/files/patch-content_public_common_content__switches.cc
index bd70703c3625..ff9234d6a3bc 100644
--- a/www/chromium/files/patch-content_public_common_content__switches.cc
+++ b/www/chromium/files/patch-content_public_common_content__switches.cc
@@ -1,20 +1,20 @@
---- content/public/common/content_switches.cc.orig 2023-02-08 09:03:45 UTC
+--- content/public/common/content_switches.cc.orig 2023-03-09 06:31:50 UTC
+++ content/public/common/content_switches.cc
-@@ -367,6 +367,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] =
+@@ -359,6 +359,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] =
// builds.
const char kEnableLogging[] = "enable-logging";
+const char kDisableUnveil[] = "disable-unveil";
+
// Enables the type, downlinkMax attributes of the NetInfo API. Also, enables
// triggering of change attribute of the NetInfo API when there is a change in
// the connection type.
-@@ -1003,7 +1005,7 @@ const char kEnableAutomation[] = "enable-automation";
+@@ -995,7 +997,7 @@ const char kEnableAutomation[] = "enable-automation";
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Allows sending text-to-speech requests to speech-dispatcher, a common
// Linux speech service. Because it's buggy, the user must explicitly
// enable it so that visiting a random webpage can't cause instability.
diff --git a/www/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h
index 5306eb3c5867..ba9fcd09cf18 100644
--- a/www/chromium/files/patch-content_public_common_content__switches.h
+++ b/www/chromium/files/patch-content_public_common_content__switches.h
@@ -1,19 +1,19 @@
---- content/public/common/content_switches.h.orig 2023-02-08 09:03:45 UTC
+--- content/public/common/content_switches.h.orig 2023-03-09 06:31:50 UTC
+++ content/public/common/content_switches.h
-@@ -118,6 +118,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu
+@@ -116,6 +116,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu
CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[];
CONTENT_EXPORT extern const char kEnableLCDText[];
CONTENT_EXPORT extern const char kEnableLogging[];
+CONTENT_EXPORT extern const char kDisableUnveil[];
CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[];
CONTENT_EXPORT extern const char kEnableCanvas2DLayers[];
CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[];
-@@ -271,7 +272,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+@@ -268,7 +269,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
CONTENT_EXPORT extern const char kEnableSpeechDispatcher[];
#endif
diff --git a/www/chromium/files/patch-content_public_common_zygote_features.gni b/www/chromium/files/patch-content_public_common_zygote_features.gni
index 7ad8e57f04b2..c2191a59fef0 100644
--- a/www/chromium/files/patch-content_public_common_zygote_features.gni
+++ b/www/chromium/files/patch-content_public_common_zygote_features.gni
@@ -1,8 +1,8 @@
---- content/public/common/zygote/features.gni.orig 2021-04-14 18:41:03 UTC
+--- content/public/common/zygote/features.gni.orig 2023-03-09 06:31:50 UTC
+++ content/public/common/zygote/features.gni
@@ -2,4 +2,4 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
--use_zygote_handle = is_posix && !is_android && !is_mac
-+use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd
+-use_zygote = is_posix && !is_android && !is_mac
++use_zygote = is_posix && !is_android && !is_mac && !is_bsd
diff --git a/www/chromium/files/patch-content_public_test_mock__render__thread.cc b/www/chromium/files/patch-content_public_test_mock__render__thread.cc
index 513f19dc256f..3a41987950f4 100644
--- a/www/chromium/files/patch-content_public_test_mock__render__thread.cc
+++ b/www/chromium/files/patch-content_public_test_mock__render__thread.cc
@@ -1,11 +1,11 @@
---- content/public/test/mock_render_thread.cc.orig 2023-01-11 09:17:16 UTC
+--- content/public/test/mock_render_thread.cc.orig 2023-03-09 06:31:50 UTC
+++ content/public/test/mock_render_thread.cc
-@@ -65,7 +65,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
+@@ -64,7 +64,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
std::move(callback).Run(false);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
void SetThreadType(int32_t platform_thread_id,
base::ThreadType thread_type) override {}
#endif
diff --git a/www/chromium/files/patch-content_renderer_BUILD.gn b/www/chromium/files/patch-content_renderer_BUILD.gn
index fa3415feb17a..cc8deff6e554 100644
--- a/www/chromium/files/patch-content_renderer_BUILD.gn
+++ b/www/chromium/files/patch-content_renderer_BUILD.gn
@@ -1,16 +1,16 @@
---- content/renderer/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- content/renderer/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ content/renderer/BUILD.gn
-@@ -198,6 +198,13 @@ target(link_target_type, "renderer") {
+@@ -200,6 +200,13 @@ target(link_target_type, "renderer") {
]
}
+ if (is_bsd) {
+ sources -= [
+ "renderer_thread_type_handler.cc",
+ "renderer_thread_type_handler.h",
+ ]
+ }
+
if (is_mac) {
sources += [
"renderer_main_platform_delegate_mac.mm",
diff --git a/www/chromium/files/patch-content_renderer_render__process__impl.cc b/www/chromium/files/patch-content_renderer_render__process__impl.cc
index ec944154516b..78115c701c3a 100644
--- a/www/chromium/files/patch-content_renderer_render__process__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__process__impl.cc
@@ -1,29 +1,20 @@
---- content/renderer/render_process_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- content/renderer/render_process_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/renderer/render_process_impl.cc
@@ -46,7 +46,7 @@
#if BUILDFLAG(IS_WIN)
#include "base/win/win_util.h"
#endif
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
#include "v8/include/v8-wasm-trap-handler-posix.h"
#endif
-@@ -154,7 +154,7 @@ RenderProcessImpl::RenderProcessImpl()
- SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection,
- "--no-wasm-write-protect-code-memory");
-
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
- SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku,
- "--wasm-memory-protection-keys");
- SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku,
-@@ -234,7 +234,7 @@ RenderProcessImpl::RenderProcessImpl()
+@@ -223,7 +223,7 @@ RenderProcessImpl::RenderProcessImpl()
SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering,
"--no-wasm-dynamic-tiering");
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64)
if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) {
base::CommandLine* const command_line =
base::CommandLine::ForCurrentProcess();
diff --git a/www/chromium/files/patch-content_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
index cd7bf7430b81..464605d17dbe 100644
--- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc
+++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc
@@ -1,38 +1,38 @@
---- content/renderer/render_thread_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- content/renderer/render_thread_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/renderer/render_thread_impl.cc
-@@ -197,6 +197,8 @@
+@@ -200,6 +200,8 @@
#if BUILDFLAG(IS_MAC)
#include <malloc/malloc.h>
+#elif BUILDFLAG(IS_BSD)
+#include <stdlib.h>
#else
#include <malloc.h>
#endif
-@@ -1038,7 +1040,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1051,7 +1053,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
kGpuStreamPriorityMedia);
const bool enable_video_decode_accelerator =
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) &&
#endif // BUILDFLAG(IS_LINUX)
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) &&
-@@ -1048,7 +1050,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1060,7 +1062,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ gpu::kGpuFeatureStatusEnabled);
const bool enable_video_encode_accelerator =
-
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) &&
#else
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) &&
-@@ -1082,7 +1084,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1843,7 +1845,7 @@ std::unique_ptr<CodecFactory> RenderThreadImpl::Create
+ bool enable_video_encode_accelerator) {
mojo::PendingRemote<media::mojom::VideoEncodeAcceleratorProvider>
vea_provider;
-
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) {
BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver());
} else {
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
index 99260365ffad..af2497d00b08 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc
@@ -1,38 +1,38 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ content/renderer/renderer_blink_platform_impl.cc
-@@ -113,7 +113,7 @@
+@@ -112,7 +112,7 @@
#if BUILDFLAG(IS_MAC)
#include "content/child/child_process_sandbox_support_impl_mac.h"
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/child/child_process_sandbox_support_impl_linux.h"
#endif
-@@ -183,7 +183,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+@@ -178,7 +178,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
main_thread_scheduler_(main_thread_scheduler) {
// RenderThread may not exist in some tests.
if (RenderThreadImpl::current()) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
mojo::PendingRemote<font_service::mojom::FontService> font_service;
RenderThreadImpl::current()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -193,7 +193,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+@@ -188,7 +188,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
#endif
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
if (sandboxEnabled()) {
#if BUILDFLAG(IS_MAC)
sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -275,7 +275,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl
+@@ -270,7 +270,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl
#endif
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
return sandbox_support_.get();
#else
// These platforms do not require sandbox support.
diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
index da4a5710dad5..4f19fec2068d 100644
--- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
+++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h
@@ -1,29 +1,29 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2023-02-08 09:03:45 UTC
+--- content/renderer/renderer_blink_platform_impl.h.orig 2023-03-09 06:31:50 UTC
+++ content/renderer/renderer_blink_platform_impl.h
@@ -31,7 +31,7 @@
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "components/services/font/public/cpp/font_loader.h" // nogncheck
#include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
#endif
-@@ -243,7 +243,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+@@ -245,7 +245,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info,
const gpu::GPUInfo& gpu_info) const;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-@@ -263,7 +263,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+@@ -265,7 +265,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
mutable base::WaitableEvent io_thread_id_ready_event_;
base::PlatformThreadId io_thread_id_ = base::kInvalidThreadId;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
sk_sp<font_service::FontLoader> font_loader_;
#endif
diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn
index f698ed6c38d9..0c83b4fbe935 100644
--- a/www/chromium/files/patch-content_shell_BUILD.gn
+++ b/www/chromium/files/patch-content_shell_BUILD.gn
@@ -1,11 +1,11 @@
---- content/shell/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- content/shell/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ content/shell/BUILD.gn
-@@ -903,7 +903,7 @@ group("content_shell_crash_test") {
+@@ -905,7 +905,7 @@ group("content_shell_crash_test") {
if (is_win) {
data_deps += [ "//build/win:copy_cdb_to_output" ]
}
- if (is_posix) {
+ if (is_posix && !is_bsd) {
data_deps += [
"//third_party/breakpad:dump_syms",
"//third_party/breakpad:minidump_stackwalk",
diff --git a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
index 5a9764cbf54b..ded3fdb2150c 100644
--- a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
+++ b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc
@@ -1,20 +1,20 @@
---- content/shell/utility/shell_content_utility_client.cc.orig 2023-02-08 09:03:45 UTC
+--- content/shell/utility/shell_content_utility_client.cc.orig 2023-03-09 06:31:50 UTC
+++ content/shell/utility/shell_content_utility_client.cc
-@@ -34,7 +34,7 @@
+@@ -38,7 +38,7 @@
#include "sandbox/policy/sandbox.h"
#include "services/test/echo/echo_service.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/test/sandbox_status_service.h"
#endif
-@@ -155,7 +155,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow
+@@ -187,7 +187,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow
binders->Add<mojom::PowerMonitorTest>(
base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver),
base::SingleThreadTaskRunner::GetCurrentDefault());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (register_sandbox_status_helper_) {
binders->Add<content::mojom::SandboxStatusService>(
base::BindRepeating(
diff --git a/www/chromium/files/patch-content_test_BUILD.gn b/www/chromium/files/patch-content_test_BUILD.gn
index 017643581bfc..68033db453ff 100644
--- a/www/chromium/files/patch-content_test_BUILD.gn
+++ b/www/chromium/files/patch-content_test_BUILD.gn
@@ -1,20 +1,20 @@
---- content/test/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- content/test/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ content/test/BUILD.gn
-@@ -2091,7 +2091,7 @@ static_library("run_all_unittests") {
+@@ -2103,7 +2103,7 @@ static_library("run_all_unittests") {
":test_support",
"//base/test:test_support",
]
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
deps += [ "//content/common:set_process_title_linux" ]
}
}
-@@ -3111,7 +3111,7 @@ test("content_unittests") {
+@@ -3130,7 +3130,7 @@ test("content_unittests") {
deps += [ "//third_party/boringssl" ]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [ "../common/set_process_title_linux_unittest.cc" ]
deps += [ "//content/common:set_process_title_linux" ]
}
diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc
index 0a9ff54593ab..b7b8ecf4501b 100644
--- a/www/chromium/files/patch-content_utility_services.cc
+++ b/www/chromium/files/patch-content_utility_services.cc
@@ -1,63 +1,63 @@
---- content/utility/services.cc.orig 2023-02-08 09:03:45 UTC
+--- content/utility/services.cc.orig 2023-03-09 06:31:50 UTC
+++ content/utility/services.cc
-@@ -63,7 +63,7 @@
+@@ -64,7 +64,7 @@
extern sandbox::TargetServices* g_utility_target_services;
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "media/mojo/services/mojo_video_encode_accelerator_provider_factory.h"
#include "sandbox/linux/services/libc_interceptor.h"
#include "sandbox/policy/mojom/sandbox.mojom.h"
-@@ -86,7 +86,7 @@ extern sandbox::TargetServices* g_utility_target_servi
+@@ -87,7 +87,7 @@ extern sandbox::TargetServices* g_utility_target_servi
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
// BUILDFLAG(USE_V4L2_CODEC))
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
(BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
#include "media/mojo/services/stable_video_decoder_factory_service.h" // nogncheck
#endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
-@@ -214,7 +214,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
+@@ -215,7 +215,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
<< "task_policy_set TASK_QOS_POLICY";
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
auto* command_line = base::CommandLine::ForCurrentProcess();
if (sandbox::policy::SandboxTypeFromCommandLine(*command_line) ==
sandbox::mojom::Sandbox::kNoSandbox) {
-@@ -316,7 +316,7 @@ auto RunOOPArcVideoAcceleratorFactoryService(
+@@ -319,7 +319,7 @@ auto RunOOPArcVideoAcceleratorFactoryService(
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
// BUILDFLAG(USE_V4L2_CODEC))
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
(BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
auto RunStableVideoDecoderFactoryService(
mojo::PendingReceiver<media::stable::mojom::StableVideoDecoderFactory>
-@@ -328,7 +328,7 @@ auto RunStableVideoDecoderFactoryService(
+@@ -331,7 +331,7 @@ auto RunStableVideoDecoderFactoryService(
#endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
// (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
auto RunVideoEncodeAcceleratorProviderFactory(
mojo::PendingReceiver<media::mojom::VideoEncodeAcceleratorProviderFactory>
receiver) {
-@@ -386,13 +386,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
+@@ -389,13 +389,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
// BUILDFLAG(USE_V4L2_CODEC))
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \
(BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
services.Add(RunStableVideoDecoderFactoryService);
#endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
// (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
services.Add(RunVideoEncodeAcceleratorProviderFactory);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc
index 00f4947a279c..b49d72447d84 100644
--- a/www/chromium/files/patch-content_utility_utility__main.cc
+++ b/www/chromium/files/patch-content_utility_utility__main.cc
@@ -1,94 +1,94 @@
---- content/utility/utility_main.cc.orig 2023-01-11 09:17:16 UTC
+--- content/utility/utility_main.cc.orig 2023-03-09 06:31:50 UTC
+++ content/utility/utility_main.cc
@@ -31,7 +31,7 @@
#include "third_party/icu/source/common/unicode/unistr.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "content/utility/speech/speech_recognition_sandbox_hook_linux.h"
#include "gpu/config/gpu_info_collector.h"
#include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h"
@@ -42,15 +42,21 @@
#if BUILDFLAG(ENABLE_PRINTING)
#include "printing/sandbox/print_backend_sandbox_hook_linux.h"
#endif
+#if !BUILDFLAG(IS_BSD)
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
#include "services/audio/audio_sandbox_hook_linux.h"
#include "services/network/network_sandbox_hook_linux.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_BSD)
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+#endif
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/assistant/buildflags.h"
#include "chromeos/ash/services/ime/ime_sandbox_hook.h"
@@ -62,7 +68,7 @@
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if (BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)))
#include "components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h" // nogncheck
#endif
@@ -83,10 +89,10 @@ namespace content {
namespace {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox sandbox_type) {
const bool obtain_gpu_info =
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoEncoding;
-@@ -156,7 +162,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -168,7 +174,7 @@ int UtilityMain(MainFunctionParams parameters) {
}
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Initializes the sandbox before any threads are created.
// TODO(jorgelo): move this after GTK initialization when we enable a strict
// Seccomp-BPF policy.
-@@ -184,7 +190,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -196,7 +202,7 @@ int UtilityMain(MainFunctionParams parameters) {
pre_sandbox_hook = base::BindOnce(&screen_ai::ScreenAIPreSandboxHook);
break;
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
case sandbox::mojom::Sandbox::kHardwareVideoDecoding:
pre_sandbox_hook =
base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook);
-@@ -211,6 +217,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -223,6 +229,7 @@ int UtilityMain(MainFunctionParams parameters) {
default:
break;
}
+#if !BUILDFLAG(IS_BSD)
if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) &&
(parameters.zygote_child || !pre_sandbox_hook.is_null())) {
sandbox::policy::SandboxLinux::Options sandbox_options;
-@@ -219,6 +226,11 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -231,6 +238,11 @@ int UtilityMain(MainFunctionParams parameters) {
sandbox::policy::Sandbox::Initialize(
sandbox_type, std::move(pre_sandbox_hook), sandbox_options);
}
+#else
+ sandbox::policy::Sandbox::Initialize(
+ sandbox_type, std::move(pre_sandbox_hook),
+ sandbox::policy::SandboxLinux::Options());
+#endif
#elif BUILDFLAG(IS_WIN)
g_utility_target_services = parameters.sandbox_info->target_services;
#endif
diff --git a/www/chromium/files/patch-device_gamepad_gamepad__provider.cc b/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
index 39c68a2ce5cf..9cef1ce3c477 100644
--- a/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
+++ b/www/chromium/files/patch-device_gamepad_gamepad__provider.cc
@@ -1,11 +1,11 @@
---- device/gamepad/gamepad_provider.cc.orig 2023-02-08 09:03:45 UTC
+--- device/gamepad/gamepad_provider.cc.orig 2023-03-09 06:31:50 UTC
+++ device/gamepad/gamepad_provider.cc
-@@ -218,7 +218,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep
+@@ -219,7 +219,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep
if (!polling_thread_)
polling_thread_ = std::make_unique<base::Thread>("Gamepad polling thread");
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux, the data fetcher needs to watch file descriptors, so the message
// loop needs to be a libevent loop.
const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO;
diff --git a/www/chromium/files/patch-extensions_browser_extension__prefs.cc b/www/chromium/files/patch-extensions_browser_extension__prefs.cc
index 8379e8a6693f..a1abf9b24c8d 100644
--- a/www/chromium/files/patch-extensions_browser_extension__prefs.cc
+++ b/www/chromium/files/patch-extensions_browser_extension__prefs.cc
@@ -1,11 +1,11 @@
---- extensions/browser/extension_prefs.cc.orig 2023-02-08 09:03:45 UTC
+--- extensions/browser/extension_prefs.cc.orig 2023-03-09 06:31:50 UTC
+++ extensions/browser/extension_prefs.cc
-@@ -2216,7 +2216,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
+@@ -2210,7 +2210,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
registry->RegisterDictionaryPref(kInstallSignature);
registry->RegisterListPref(kExternalUninstalls);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
registry->RegisterBooleanPref(pref_names::kChromeAppsEnabled, false);
#endif
diff --git a/www/chromium/files/patch-extensions_common_api___permission__features.json b/www/chromium/files/patch-extensions_common_api___permission__features.json
index 1923e6a9d95d..2315a38695e7 100644
--- a/www/chromium/files/patch-extensions_common_api___permission__features.json
+++ b/www/chromium/files/patch-extensions_common_api___permission__features.json
@@ -1,29 +1,29 @@
---- extensions/common/api/_permission_features.json.orig 2023-01-11 09:17:16 UTC
+--- extensions/common/api/_permission_features.json.orig 2023-03-09 06:31:50 UTC
+++ extensions/common/api/_permission_features.json
@@ -134,7 +134,7 @@
{
"channel": "stable",
"extension_types": ["platform_app"],
- "platforms": ["chromeos", "win", "mac", "linux"],
+ "platforms": ["chromeos", "win", "mac", "linux", "openbsd", "freebsd"],
"allowlist": [
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
"A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
-@@ -429,7 +429,7 @@
+@@ -427,7 +427,7 @@
}, {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"],
+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"],
"allowlist": [
"0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
-@@ -471,7 +471,7 @@
+@@ -469,7 +469,7 @@
"networkingPrivate": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
- "platforms": ["chromeos", "lacros", "mac", "win", "linux", "fuchsia"],
+ "platforms": ["chromeos", "lacros", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"],
"allowlist": [
// DO NOT ADD ANY MORE ENTRIES HERE.
// networkingPrivate is being migrated to networking.onc.
diff --git a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
index 2b9ce2494bab..be50a13c179f 100644
--- a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
+++ b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
@@ -1,29 +1,29 @@
---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-03-25 21:59:56 UTC
+--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2023-03-09 06:31:50 UTC
+++ google_apis/gcm/engine/heartbeat_manager.cc
-@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
+@@ -33,7 +33,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
// Minimum time spent sleeping before we force a new heartbeat.
const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// The period at which to check if the heartbeat time has passed. Used to
// protect against platforms where the timer is delayed by the system being
// suspended. Only needed on linux because the other OSes provide a standard
-@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() {
+@@ -193,7 +193,7 @@ void HeartbeatManager::RestartTimer() {
base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
weak_ptr_factory_.GetWeakPtr()));
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
// when the system is suspending or resuming. The only one that does not is
// Linux so we need to poll to check for missed heartbeats.
-@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
+@@ -218,7 +218,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
return;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Otherwise check again later.
io_task_runner_->PostDelayedTask(
FROM_HERE,
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
index 91118c96cf46..05fc36ad3f4d 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
@@ -1,11 +1,11 @@
---- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc
-@@ -123,7 +123,7 @@ bool AngleVulkanImageBackingFactory::CanUseAngleVulkan
+@@ -122,7 +122,7 @@ bool AngleVulkanImageBackingFactory::CanUseAngleVulkan
// TODO(penghuang): verify the scanout is the right usage for video playback.
// crbug.com/1280798
constexpr auto kSupportedUsages =
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
SHARED_IMAGE_USAGE_SCANOUT |
#endif
SHARED_IMAGE_USAGE_GLES2 | SHARED_IMAGE_USAGE_GLES2_FRAMEBUFFER_HINT |
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc
index 2d225c09e79e..fba4fbe97f1a 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc
@@ -1,20 +1,20 @@
---- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc
-@@ -33,7 +33,7 @@
+@@ -34,7 +34,7 @@
#include "ui/gl/gl_version_info.h"
#include "ui/gl/scoped_binders.h"
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
#include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h"
#endif
-@@ -574,7 +574,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma
+@@ -582,7 +582,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma
WGPUDevice wgpuDevice,
WGPUBackendType backend_type,
std::vector<WGPUTextureFormat> view_formats) {
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
auto wgpu_format = ToWGPUFormat(format());
if (wgpu_format == WGPUTextureFormat_Undefined) {
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
index c71d374cbb07..68a8068e1646 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
@@ -1,11 +1,11 @@
---- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc
-@@ -173,7 +173,7 @@ bool ExternalVkImageBackingFactory::IsSupported(
+@@ -172,7 +172,7 @@ bool ExternalVkImageBackingFactory::IsSupported(
// TODO: remove it when below formats are converted to multi plane shared
// image formats.
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
switch (format.resource_format()) {
case viz::YUV_420_BIPLANAR:
case viz::YUVA_420_TRIPLANAR:
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc
deleted file mode 100644
index 17ca2548868e..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc.orig 2023-02-08 09:03:45 UTC
-+++ gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc
-@@ -465,7 +465,7 @@ void GLTextureImageBacking::InitializeGLTexture(
- }
-
- void GLTextureImageBacking::CreateEGLImage() {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
- SharedContextState* shared_context_state = factory()->GetSharedContextState();
- ui::ScopedMakeCurrent smc(shared_context_state->context(),
- shared_context_state->surface());
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc
deleted file mode 100644
index 8ab6baa7e7c3..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc.orig 2023-02-08 09:03:45 UTC
-+++ gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc
-@@ -143,7 +143,7 @@ bool GLTextureImageBackingFactory::IsSupported(
- // Linux and ChromeOS support WebGPU/Compat on GL. All other platforms
- // do not support WebGPU on GL.
- if (usage & SHARED_IMAGE_USAGE_WEBGPU) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
- if (use_webgpu_adapter_ != WebGPUAdapterName::kCompat) {
- return false;
- }
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
new file mode 100644
index 000000000000..e898bb859589
--- /dev/null
+++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
@@ -0,0 +1,11 @@
+--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2023-03-09 06:31:50 UTC
++++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc
+@@ -186,7 +186,7 @@ bool WrappedSkImageBacking::Initialize() {
+ : GrMipMapped::kNo;
+ const std::string label = "WrappedSkImageBackingFactory_Initialize" +
+ CreateLabelForSharedImageUsage(usage());
+-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
++#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ // Initializing to bright green makes it obvious if the pixels are not
+ // properly set before they are displayed (e.g. https://crbug.com/956555).
+ // We don't do this on release builds because there is a slight overhead.
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc
deleted file mode 100644
index f9ad09dbbe0a..000000000000
--- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc.orig 2023-02-08 09:03:45 UTC
-+++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc
-@@ -216,7 +216,7 @@ class WrappedSkImage : public ClearTrackingSharedImage
- : GrMipMapped::kNo;
- const std::string label = "WrappedSkImageBackingFactory_Initialize" +
- CreateLabelForSharedImageUsage(usage());
--#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
-+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
- // Initializing to bright green makes it obvious if the pixels are not
- // properly set before they are displayed (e.g. https://crbug.com/956555).
- // We don't do this on release builds because there is a slight overhead.
diff --git a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
index 379a43daea4b..ecee172ac809 100644
--- a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
@@ -1,11 +1,11 @@
---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/service/webgpu_decoder_impl.cc
-@@ -1225,7 +1225,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl(
+@@ -1237,7 +1237,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl(
if (gr_context_type_ != GrContextType::kVulkan &&
use_webgpu_adapter_ != WebGPUAdapterName::kCompat) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
callback(WGPURequestAdapterStatus_Unavailable, nullptr,
"WebGPU on Linux requires command-line flag "
"--enable-features=Vulkan",
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc
index 9e331c6eb5b2..6731c30c41af 100644
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc
@@ -1,20 +1,20 @@
---- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2022-03-25 21:59:56 UTC
+--- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc
@@ -14,7 +14,7 @@
#include "ui/gl/gl_image.h"
#include "ui/gl/init/gl_factory.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/gl/gl_image_native_pixmap.h"
#endif
-@@ -43,7 +43,7 @@ class GpuOESEGLImageTest : public testing::Test,
+@@ -46,7 +46,7 @@ class GpuOESEGLImageTest : public testing::Test,
bool egl_initialized_{false};
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// TODO(crbug.com/835072): re-enable this test on ASAN once bugs are fixed.
#if !defined(ADDRESS_SANITIZER)
diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
index 380ff3266102..672ea6dfd29b 100644
--- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
+++ b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
@@ -1,20 +1,20 @@
---- gpu/command_buffer/tests/gl_test_utils.cc.orig 2022-07-22 17:30:31 UTC
+--- gpu/command_buffer/tests/gl_test_utils.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/command_buffer/tests/gl_test_utils.cc
@@ -24,7 +24,7 @@
#include "ui/gl/gl_version_info.h"
#include "ui/gl/init/gl_factory.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/gl/gl_image_native_pixmap.h"
#endif
-@@ -458,7 +458,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() {
+@@ -459,7 +459,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() {
window_system_binding_info_ = gl::GLWindowSystemBindingInfo();
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
scoped_refptr<gl::GLImageNativePixmap>
GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format,
gfx::Size size,
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
index be083a63e2f8..b5fba240b206 100644
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc
@@ -1,83 +1,83 @@
---- gpu/ipc/service/gpu_init.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/ipc/service/gpu_init.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/ipc/service/gpu_init.cc
-@@ -351,7 +351,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -353,7 +353,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
enable_watchdog = false;
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early;
#else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
// For some reasons MacOSX's VideoToolbox might crash when called after
-@@ -387,7 +387,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -389,7 +389,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
bool attempted_startsandbox = false;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Chrome OS ARM Mali, GPU driver userspace creates threads when
// initializing a GL context, so start the sandbox early.
// TODO(zmo): Need to collect OS version before this.
-@@ -436,7 +436,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -438,7 +438,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
if (gl_initialized && gl_use_swiftshader_ &&
!gl::IsSoftwareGLImplementation(gl::GetGLImplementationParts())) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -487,7 +487,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -489,7 +489,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// The ContentSandboxHelper is currently the only one implementation of
// GpuSandboxHelper and it has no dependency. Except on Linux where
// VaapiWrapper checks the GL implementation to determine which display
-@@ -547,7 +547,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -549,7 +549,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
command_line, gpu_feature_info_,
gpu_preferences_.disable_software_rasterizer, false);
if (gl_use_swiftshader_) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -675,7 +675,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -677,7 +677,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Driver may create a compatibility profile context when collect graphics
// information on Linux platform. Try to collect graphics information
// based on core profile context after disabling platform extensions.
-@@ -727,7 +727,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -729,7 +729,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
gl_use_swiftshader_ = true;
}
}
-#if BUILDFLAG(IS_LINUX) || \
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
// https://rr-project.org/ is a Linux-only record-and-replay debugger that
-@@ -870,7 +870,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -873,7 +873,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
}
bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled;
-#if BUILDFLAG(IS_LINUX) || \
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) {
// https://rr-project.org/ is a Linux-only record-and-replay debugger that
-@@ -933,7 +933,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -937,7 +937,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Driver may create a compatibility profile context when collect graphics
// information on Linux platform. Try to collect graphics information
// based on core profile context after disabling platform extensions.
diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
index 8aca5439547d..417edffe2cf6 100644
--- a/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
+++ b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
@@ -1,20 +1,20 @@
---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ gpu/ipc/service/gpu_memory_buffer_factory.cc
-@@ -12,7 +12,7 @@
+@@ -13,7 +13,7 @@
#include "gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
#include "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h"
#endif
-@@ -35,7 +35,7 @@ GpuMemoryBufferFactory::CreateNativeType(
+@@ -36,7 +36,7 @@ GpuMemoryBufferFactory::CreateNativeType(
return std::make_unique<GpuMemoryBufferFactoryIOSurface>();
#elif BUILDFLAG(IS_ANDROID)
return std::make_unique<GpuMemoryBufferFactoryAndroidHardwareBuffer>();
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
return std::make_unique<GpuMemoryBufferFactoryNativePixmap>(
vulkan_context_provider);
#elif BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
index 04bec9d024f3..ebcf57aa5803 100644
--- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
+++ b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc
@@ -1,11 +1,11 @@
---- headless/lib/headless_content_main_delegate.cc.orig 2023-02-08 09:03:45 UTC
+--- headless/lib/headless_content_main_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ headless/lib/headless_content_main_delegate.cc
-@@ -337,7 +337,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
- if (process_type != switches::kZygoteProcess) {
+@@ -326,7 +326,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
+ if (process_type != ::switches::kZygoteProcess) {
g_headless_crash_client.Pointer()->set_crash_dumps_dir(
- options()->crash_dumps_dir);
+ command_line.GetSwitchValuePath(switches::kCrashDumpsDir));
-#if !BUILDFLAG(IS_WIN)
+#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD)
crash_reporter::InitializeCrashpad(process_type.empty(), process_type);
#endif // !BUILDFLAG(IS_WIN)
crash_keys::SetSwitchesFromCommandLine(command_line, nullptr);
diff --git a/www/chromium/files/patch-ipc_ipc__channel.h b/www/chromium/files/patch-ipc_ipc__channel.h
index 568237754a60..b27330d0cdcd 100644
--- a/www/chromium/files/patch-ipc_ipc__channel.h
+++ b/www/chromium/files/patch-ipc_ipc__channel.h
@@ -1,11 +1,11 @@
---- ipc/ipc_channel.h.orig 2022-06-17 14:20:10 UTC
+--- ipc/ipc_channel.h.orig 2023-03-09 06:31:50 UTC
+++ ipc/ipc_channel.h
-@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender {
+@@ -233,7 +233,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender {
static std::string GenerateUniqueRandomChannelID();
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Sandboxed processes live in a PID namespace, so when sending the IPC hello
// message from client to server we need to send the PID from the global
// PID namespace.
diff --git a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
index 6a78f59e7a28..3f44694532c2 100644
--- a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
+++ b/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc
@@ -1,14 +1,14 @@
---- media/audio/audio_output_proxy_unittest.cc.orig 2023-02-08 09:03:45 UTC
+--- media/audio/audio_output_proxy_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ media/audio/audio_output_proxy_unittest.cc
-@@ -444,7 +444,11 @@ class AudioOutputProxyTest : public testing::Test {
+@@ -443,7 +443,11 @@ class AudioOutputProxyTest : public testing::Test {
// |stream| is closed at this point. Start() should reopen it again.
EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
.Times(2)
+#if BUILDFLAG(IS_BSD)
+ .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
+#else
.WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL)));
+#endif
EXPECT_CALL(callback_, OnError(_)).Times(2);
diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
index 5baf33b03c3d..ec3c3fd9a130 100644
--- a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
+++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc
@@ -1,204 +1,203 @@
---- media/audio/sndio/sndio_input.cc.orig 2022-02-28 16:54:41 UTC
+--- media/audio/sndio/sndio_input.cc.orig 2023-03-09 06:31:50 UTC
+++ media/audio/sndio/sndio_input.cc
-@@ -0,0 +1,201 @@
+@@ -0,0 +1,200 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
-+#include "base/bind.h"
+#include "base/logging.h"
+#include "media/base/audio_timestamp_helper.h"
+#include "media/audio/sndio/audio_manager_sndio.h"
+#include "media/audio/audio_manager.h"
+#include "media/audio/sndio/sndio_input.h"
+
+namespace media {
+
+static const SampleFormat kSampleFormat = kSampleFormatS16;
+
+void SndioAudioInputStream::OnMoveCallback(void *arg, int delta)
+{
+ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
+
+ self->hw_delay += delta;
+}
+
+void *SndioAudioInputStream::ThreadEntry(void *arg) {
+ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
+
+ self->ThreadLoop();
+ return NULL;
+}
+
+SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager,
+ const std::string& device_name,
+ const AudioParameters& params)
+ : manager(manager),
+ params(params),
+ audio_bus(AudioBus::Create(params)),
+ state(kClosed) {
+}
+
+SndioAudioInputStream::~SndioAudioInputStream() {
+ if (state != kClosed)
+ Close();
+}
+
+AudioInputStream::OpenOutcome SndioAudioInputStream::Open() {
+ struct sio_par par;
+ int sig;
+
+ if (state != kClosed)
+ return OpenOutcome::kFailed;
+
+ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
+ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
+ LOG(WARNING) << "Unsupported audio format.";
+ return OpenOutcome::kFailed;
+ }
+
+ sio_initpar(&par);
+ par.rate = params.sample_rate();
+ par.rchan = params.channels();
+ par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
+ par.bps = par.bits / 8;
+ par.sig = sig = par.bits != 8 ? 1 : 0;
+ par.le = SIO_LE_NATIVE;
+ par.appbufsz = params.frames_per_buffer();
+
+ hdl = sio_open(SIO_DEVANY, SIO_REC, 0);
+
+ if (hdl == NULL) {
+ LOG(ERROR) << "Couldn't open audio device.";
+ return OpenOutcome::kFailed;
+ }
+
+ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
+ LOG(ERROR) << "Couldn't set audio parameters.";
+ goto bad_close;
+ }
+
+ if (par.rate != (unsigned int)params.sample_rate() ||
+ par.rchan != (unsigned int)params.channels() ||
+ par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
+ par.sig != (unsigned int)sig ||
+ (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
+ (par.bits != par.bps * 8)) {
+ LOG(ERROR) << "Unsupported audio parameters.";
+ goto bad_close;
+ }
+ state = kStopped;
+ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
+ sio_onmove(hdl, &OnMoveCallback, this);
+ return OpenOutcome::kSuccess;
+bad_close:
+ sio_close(hdl);
+ return OpenOutcome::kFailed;
+}
+
+void SndioAudioInputStream::Start(AudioInputCallback* cb) {
+
+ StartAgc();
+
+ state = kRunning;
+ hw_delay = 0;
+ callback = cb;
+ sio_start(hdl);
+ if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
+ LOG(ERROR) << "Failed to create real-time thread for recording.";
+ sio_stop(hdl);
+ state = kStopped;
+ }
+}
+
+void SndioAudioInputStream::Stop() {
+
+ if (state == kStopped)
+ return;
+
+ state = kStopWait;
+ pthread_join(thread, NULL);
+ sio_stop(hdl);
+ state = kStopped;
+
+ StopAgc();
+}
+
+void SndioAudioInputStream::Close() {
+
+ if (state == kClosed)
+ goto release;
+
+ if (state == kRunning)
+ Stop();
+
+ state = kClosed;
+ delete [] buffer;
+ sio_close(hdl);
+
+release:
+ manager->ReleaseInputStream(this);
+}
+
+double SndioAudioInputStream::GetMaxVolume() {
+ // Not supported
+ return 0.0;
+}
+
+void SndioAudioInputStream::SetVolume(double volume) {
+ // Not supported. Do nothing.
+}
+
+double SndioAudioInputStream::GetVolume() {
+ // Not supported.
+ return 0.0;
+}
+
+bool SndioAudioInputStream::IsMuted() {
+ // Not supported.
+ return false;
+}
+
+void SndioAudioInputStream::SetOutputDeviceForAec(
+ const std::string& output_device_id) {
+ // Not supported.
+}
+
+void SndioAudioInputStream::ThreadLoop(void) {
+ size_t todo, n;
+ char *data;
+ unsigned int nframes;
+ double normalized_volume = 0.0;
+
+ nframes = audio_bus->frames();
+
+ while (state == kRunning && !sio_eof(hdl)) {
+
+ GetAgcVolume(&normalized_volume);
+
+ // read one block
+ todo = nframes * params.GetBytesPerFrame(kSampleFormat);
+ data = buffer;
+ while (todo > 0) {
+ n = sio_read(hdl, data, todo);
+ if (n == 0)
+ return; // unrecoverable I/O error
+ todo -= n;
+ data += n;
+ }
+ hw_delay -= nframes;
+
+ // convert frames count to TimeDelta
+ const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
+ params.sample_rate());
+
+ // push into bus
+ audio_bus->FromInterleaved<SignedInt16SampleTypeTraits>(reinterpret_cast<int16_t*>(buffer), nframes);
+
+
+ // invoke callback
+ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.);
+ }
+}
+
+} // namespace media
diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc
index fa7c07484068..8369e9938e0c 100644
--- a/www/chromium/files/patch-media_base_media__switches.cc
+++ b/www/chromium/files/patch-media_base_media__switches.cc
@@ -1,73 +1,55 @@
---- media/base/media_switches.cc.orig 2023-02-08 09:03:45 UTC
+--- media/base/media_switches.cc.orig 2023-03-09 06:31:50 UTC
+++ media/base/media_switches.cc
@@ -12,7 +12,7 @@
#include "components/system_media_controls/linux/buildflags/buildflags.h"
#include "media/media_buildflags.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/cpu.h"
#endif
-@@ -407,7 +407,7 @@ BASE_FEATURE(kCdmProcessSiteIsolation,
- // playback going to a specific output device in the audio service.
- BASE_FEATURE(kChromeWideEchoCancellation,
- "ChromeWideEchoCancellation",
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT);
- #else
- base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -419,7 +419,7 @@ BASE_FEATURE(kChromeWideEchoCancellation,
- // processing is done on the audio capture thread itself.
- const base::FeatureParam<int> kChromeWideEchoCancellationProcessingFifoSize{
- &kChromeWideEchoCancellation, "processing_fifo_size",
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- 110 // Default value for the enabled feature.
- #else
- 0
-@@ -510,7 +510,7 @@ BASE_FEATURE(kFallbackAfterDecodeError,
+@@ -584,7 +584,7 @@ BASE_FEATURE(kFallbackAfterDecodeError,
// Show toolbar button that opens dialog for controlling media sessions.
BASE_FEATURE(kGlobalMediaControls,
"GlobalMediaControls",
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -558,7 +558,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP
+@@ -637,7 +637,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP
BASE_FEATURE(kGlobalMediaControlsPictureInPicture,
"GlobalMediaControlsPictureInPicture",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -602,7 +602,7 @@ BASE_FEATURE(kUnifiedAutoplay,
+@@ -681,7 +681,7 @@ BASE_FEATURE(kUnifiedAutoplay,
"UnifiedAutoplay",
base::FEATURE_ENABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Enable vaapi video decoding on linux. This is already enabled by default on
// chromeos, but needs an experiment on linux.
BASE_FEATURE(kVaapiVideoDecodeLinux,
-@@ -1097,14 +1097,14 @@ BASE_FEATURE(kAllowClearDolbyVisionInMseWhenPlatformEn
+@@ -1179,14 +1179,14 @@ BASE_FEATURE(kAllowClearDolbyVisionInMseWhenPlatformEn
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Spawn utility processes to perform hardware decode acceleration instead of
// using the GPU process.
const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoDecoding{
"UseOutOfProcessVideoDecoding", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Spawn utility processes to perform hardware encode acceleration instead of
// using the GPU process.
const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoEncoding{
diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h
index 95dae05cd365..a934c72e2043 100644
--- a/www/chromium/files/patch-media_base_media__switches.h
+++ b/www/chromium/files/patch-media_base_media__switches.h
@@ -1,25 +1,25 @@
---- media/base/media_switches.h.orig 2023-02-08 09:03:45 UTC
+--- media/base/media_switches.h.orig 2023-03-09 06:31:50 UTC
+++ media/base/media_switches.h
-@@ -252,7 +252,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseDecoderStreamFor
+@@ -271,7 +271,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseDecoderStreamFor
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseMediaHistoryStore);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseR16Texture);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinux);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinuxGL);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoEncodeLinux);
-@@ -352,11 +352,11 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(
+@@ -388,11 +388,11 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(
kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding);
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-media_base_supported__types.cc b/www/chromium/files/patch-media_base_supported__types.cc
index 37ae1b435c0e..f66606e8aeea 100644
--- a/www/chromium/files/patch-media_base_supported__types.cc
+++ b/www/chromium/files/patch-media_base_supported__types.cc
@@ -1,11 +1,11 @@
---- media/base/supported_types.cc.orig 2022-10-24 13:33:33 UTC
+--- media/base/supported_types.cc.orig 2023-03-09 06:31:50 UTC
+++ media/base/supported_types.cc
-@@ -206,7 +206,7 @@ bool IsHevcProfileSupported(const VideoType& type) {
+@@ -209,7 +209,7 @@ bool IsHevcProfileSupported(const VideoType& type) {
#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// TODO(b/171813538): For Lacros, the supplemental profile cache will be
// asking lacros-gpu, but we will be doing decoding in ash-gpu. Until the
diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc
index 9e1786c32431..3e03d2f3a1d6 100644
--- a/www/chromium/files/patch-media_base_video__frame.cc
+++ b/www/chromium/files/patch-media_base_video__frame.cc
@@ -1,74 +1,74 @@
---- media/base/video_frame.cc.orig 2023-02-08 09:03:45 UTC
+--- media/base/video_frame.cc.orig 2023-03-09 06:31:50 UTC
+++ media/base/video_frame.cc
-@@ -79,7 +79,7 @@ std::string VideoFrame::StorageTypeToString(
+@@ -80,7 +80,7 @@ std::string VideoFrame::StorageTypeToString(
return "OWNED_MEMORY";
case VideoFrame::STORAGE_SHMEM:
return "SHMEM";
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
case VideoFrame::STORAGE_DMABUFS:
return "DMABUFS";
#endif
-@@ -94,7 +94,7 @@ std::string VideoFrame::StorageTypeToString(
+@@ -95,7 +95,7 @@ std::string VideoFrame::StorageTypeToString(
// static
bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
return
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// This is not strictly needed but makes explicit that, at VideoFrame
// level, DmaBufs are not mappable from userspace.
storage_type != VideoFrame::STORAGE_DMABUFS &&
-@@ -306,7 +306,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
+@@ -307,7 +307,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
// thus to have several VideoFrames share the same set of DMABUF FDs.
class VideoFrame::DmabufHolder
-@@ -646,7 +646,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+@@ -647,7 +647,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
for (size_t i = 0; i < num_planes; ++i)
planes[i].stride = gpu_memory_buffer->stride(i);
uint64_t modifier = gfx::NativePixmapHandle::kNoModifier;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) {
const auto gmb_handle = gpu_memory_buffer->CloneHandle();
if (gmb_handle.is_null() ||
-@@ -692,7 +692,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+@@ -693,7 +693,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
return frame;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// static
scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
const VideoFrameLayout& layout,
-@@ -912,7 +912,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
+@@ -913,7 +913,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
}
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
DCHECK(frame->dmabuf_fds_);
// If there are any |dmabuf_fds_| plugged in, we should refer them too.
wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
-@@ -1303,7 +1303,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
+@@ -1304,7 +1304,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
: mailbox_holders_[texture_index];
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
-@@ -1415,7 +1415,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
+@@ -1417,7 +1417,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
storage_type_(storage_type),
visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
natural_size_(natural_size),
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
#endif
timestamp_(timestamp),
diff --git a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
index 3ae853366d1a..0b522ccc9cf8 100644
--- a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
+++ b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc
@@ -1,20 +1,20 @@
---- media/capture/video/create_video_capture_device_factory.cc.orig 2022-02-28 16:54:41 UTC
+--- media/capture/video/create_video_capture_device_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ media/capture/video/create_video_capture_device_factory.cc
-@@ -12,7 +12,7 @@
+@@ -13,7 +13,7 @@
#include "media/capture/video/fake_video_capture_device_factory.h"
#include "media/capture/video/file_video_capture_device_factory.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
#include "media/capture/video/linux/video_capture_device_factory_linux.h"
#elif BUILDFLAG(IS_CHROMEOS_ASH)
#include "media/capture/video/chromeos/public/cros_features.h"
-@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() {
+@@ -56,7 +56,7 @@ CreateFakeVideoCaptureDeviceFactory() {
std::unique_ptr<VideoCaptureDeviceFactory>
CreatePlatformSpecificVideoCaptureDeviceFactory(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
#elif BUILDFLAG(IS_CHROMEOS_ASH)
if (base::SysInfo::IsRunningOnChromeOS())
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
index 42e51c5eb26c..80f2e966a38c 100644
--- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
@@ -1,44 +1,44 @@
---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-11-30 08:12:58 UTC
+--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ media/capture/video/linux/v4l2_capture_delegate.cc
@@ -4,8 +4,10 @@
#include "media/capture/video/linux/v4l2_capture_delegate.h"
+#if !defined(OS_BSD)
#include <linux/version.h>
#include <linux/videodev2.h>
+#endif
#include <poll.h>
#include <sys/fcntl.h>
#include <sys/ioctl.h>
-@@ -28,10 +30,10 @@
+@@ -29,10 +31,10 @@
using media::mojom::MeteringMode;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
+// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
// 16 bit depth, Realsense F200.
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
-#endif
+// #endif
// TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the
// format is introduced to kernel.
-@@ -667,7 +669,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
+@@ -668,7 +670,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
V4L2CaptureDelegate::~V4L2CaptureDelegate() = default;
-bool V4L2CaptureDelegate::RunIoctl(int request, void* argp) {
+bool V4L2CaptureDelegate::RunIoctl(unsigned int request, void* argp) {
int num_retries = 0;
for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries;
++num_retries) {
-@@ -677,7 +679,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
+@@ -678,7 +680,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
return num_retries != kMaxIOCtrlRetries;
}
-int V4L2CaptureDelegate::DoIoctl(int request, void* argp) {
+int V4L2CaptureDelegate::DoIoctl(unsigned int request, void* argp) {
return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp));
}
diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
index c68ed9405cfa..542c5c89402b 100644
--- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
+++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h
@@ -1,15 +1,15 @@
---- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-08-31 12:19:35 UTC
+--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-03-09 06:31:50 UTC
+++ media/capture/video/linux/v4l2_capture_delegate.h
-@@ -86,10 +86,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+@@ -87,10 +87,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
// device file descriptor or (re)starting streaming, can fail but works after
// retrying (https://crbug.com/670262). Returns false if the |request| ioctl
// fails too many times.
- bool RunIoctl(int request, void* argp);
+ bool RunIoctl(unsigned int request, void* argp);
// Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), ...)).
- int DoIoctl(int request, void* argp);
+ int DoIoctl(unsigned int request, void* argp);
// Creates a mojom::RangePtr with the (min, max, current, step) values of the
// control associated with |control_id|. Returns an empty Range otherwise.
diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
index 1a8f69f296de..eee869dc1e65 100644
--- a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
+++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc
@@ -1,45 +1,45 @@
---- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2023-03-09 06:31:50 UTC
+++ media/capture/video/linux/video_capture_device_factory_linux.cc
-@@ -72,6 +72,9 @@ class DevVideoFilePathsDeviceProvider
+@@ -73,6 +73,9 @@ class DevVideoFilePathsDeviceProvider
: public VideoCaptureDeviceFactoryLinux::DeviceProvider {
public:
void GetDeviceIds(std::vector<std::string>* target_container) override {
+#if defined(OS_OPENBSD)
+ target_container->emplace_back("/dev/video");
+#else
const base::FilePath path("/dev/");
base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES,
"video*");
-@@ -79,9 +82,13 @@ class DevVideoFilePathsDeviceProvider
+@@ -80,9 +83,13 @@ class DevVideoFilePathsDeviceProvider
const base::FileEnumerator::FileInfo info = enumerator.GetInfo();
target_container->emplace_back(path.value() + info.GetName().value());
}
+#endif
}
std::string GetDeviceModelId(const std::string& device_id) override {
+#if defined(OS_OPENBSD)
+ return std::string();
+#endif
const std::string file_name = ExtractFileNameFromDeviceId(device_id);
std::string usb_id;
const std::string vid_path =
-@@ -99,6 +106,9 @@ class DevVideoFilePathsDeviceProvider
+@@ -100,6 +107,9 @@ class DevVideoFilePathsDeviceProvider
}
std::string GetDeviceDisplayName(const std::string& device_id) override {
+#if defined(OS_OPENBSD)
+ return std::string();
+#endif
const std::string file_name = ExtractFileNameFromDeviceId(device_id);
const std::string interface_path =
base::StringPrintf(kInterfacePathTemplate, file_name.c_str());
-@@ -213,7 +223,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo(
+@@ -214,7 +224,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo(
std::move(callback).Run(std::move(devices_info));
}
-int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) {
+int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) {
return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp));
}
diff --git a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
index debbaba4aced..97a2ac04d0d8 100644
--- a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
+++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc
@@ -1,20 +1,37 @@
---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-02-08 09:03:45 UTC
+--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-03-09 06:31:50 UTC
+++ media/gpu/chromeos/video_decoder_pipeline.cc
-@@ -789,7 +789,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+@@ -213,7 +213,7 @@ std::unique_ptr<VideoDecoder> VideoDecoderPipeline::Cr
+ #if BUILDFLAG(USE_VAAPI)
+ create_decoder_function_cb = base::BindOnce(&VaapiVideoDecoder::Create);
+ #elif BUILDFLAG(USE_V4L2_CODEC) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD))
+ create_decoder_function_cb = base::BindOnce(&V4L2VideoDecoder::Create);
+ #else
+ return nullptr;
+@@ -807,14 +807,14 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
}
}
--#if BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI)
++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_VAAPI)
// Linux should always use a custom allocator (to allocate buffers using
// libva) and a PlatformVideoFramePool.
CHECK(allocator.has_value());
-@@ -811,7 +811,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+ CHECK(main_frame_pool_->AsPlatformVideoFramePool());
+ main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator(
+ *allocator);
+-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC)
++#elif (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_V4L2_CODEC)
+ // Linux w/ V4L2 should not use a custom allocator
+ // Only tested with video_decode_accelerator_tests
+ // TODO(wenst@) Test with full Chromium Browser
+@@ -842,7 +842,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
#error "Unsupported platform"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// viable_candidate should always be set unless using L1 protected content,
// which isn't an option on linux.
CHECK(viable_candidate);
diff --git a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
index 7e8de8594283..fdba241b7c69 100644
--- a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
+++ b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
@@ -1,29 +1,29 @@
---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2023-02-08 09:03:45 UTC
+--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2023-03-09 06:31:50 UTC
+++ media/video/gpu_memory_buffer_video_frame_pool.cc
-@@ -736,7 +736,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
+@@ -727,7 +727,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
}
bool is_software_backed_video_frame = !video_frame->HasTextures();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
is_software_backed_video_frame &= !video_frame->HasDmaBufs();
#endif
-@@ -1167,7 +1167,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
+@@ -1158,7 +1158,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
is_webgpu_compatible = (gpu_memory_buffer != nullptr);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
is_webgpu_compatible = (gpu_memory_buffer != nullptr);
if (is_webgpu_compatible) {
is_webgpu_compatible &=
-@@ -1186,7 +1186,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
+@@ -1177,7 +1177,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
gpu::SHARED_IMAGE_USAGE_DISPLAY_READ |
gpu::SHARED_IMAGE_USAGE_SCANOUT;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
// TODO(crbug.com/1241537): Always add the flag once the
// OzoneImageBacking is by default turned on.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
index a9a52c9d5629..9b8124a83257 100644
--- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
+++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc
@@ -1,20 +1,20 @@
---- media/video/video_encode_accelerator_adapter.cc.orig 2023-02-08 09:03:45 UTC
+--- media/video/video_encode_accelerator_adapter.cc.orig 2023-03-09 06:31:50 UTC
+++ media/video/video_encode_accelerator_adapter.cc
-@@ -137,7 +137,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig(
+@@ -141,7 +141,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig(
if (is_rgb)
config.input_format = PIXEL_FORMAT_I420;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (format != PIXEL_FORMAT_I420 ||
!VideoFrame::IsStorageTypeMappable(storage_type)) {
// ChromeOS/Linux hardware video encoders supports I420 on-memory
-@@ -457,7 +457,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal
+@@ -464,7 +464,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal
SetUpVeaConfig(profile_, options_, format, first_frame->storage_type(),
supported_rc_modes_, required_encoder_type_);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Linux/ChromeOS require a special configuration to use dmabuf storage.
// We need to keep sending frames the same way the first frame was sent.
// Other platforms will happily mix GpuMemoryBuffer storage with regular
diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
index c8d53c36af2c..89b20aeb947f 100644
--- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
+++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc
@@ -1,11 +1,11 @@
---- media/video/video_encode_accelerator_adapter_test.cc.orig 2023-02-08 09:03:45 UTC
+--- media/video/video_encode_accelerator_adapter_test.cc.orig 2023-03-09 06:31:50 UTC
+++ media/video/video_encode_accelerator_adapter_test.cc
-@@ -443,7 +443,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
+@@ -449,7 +449,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2));
VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (pixel_format != PIXEL_FORMAT_I420 || !small_frame->IsMappable())
expected_input_format = PIXEL_FORMAT_NV12;
#endif
diff --git a/www/chromium/files/patch-media_webrtc_audio__processor.cc b/www/chromium/files/patch-media_webrtc_audio__processor.cc
index fe28a3dd17a1..c4128131bb0b 100644
--- a/www/chromium/files/patch-media_webrtc_audio__processor.cc
+++ b/www/chromium/files/patch-media_webrtc_audio__processor.cc
@@ -1,11 +1,11 @@
---- media/webrtc/audio_processor.cc.orig 2023-01-11 09:17:16 UTC
+--- media/webrtc/audio_processor.cc.orig 2023-03-09 06:31:50 UTC
+++ media/webrtc/audio_processor.cc
-@@ -488,7 +488,7 @@ absl::optional<double> AudioProcessor::ProcessData(
+@@ -513,7 +513,7 @@ absl::optional<double> AudioProcessor::ProcessData(
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
DCHECK_LE(volume, 1.0);
#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
- BUILDFLAG(IS_OPENBSD)
+ BUILDFLAG(IS_BSD)
// We have a special situation on Linux where the microphone volume can be
// "higher than maximum". The input volume slider in the sound preference
// allows the user to set a scaling that is higher than 100%. It means that
diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc
index d990a6bc5949..03dbd6760ae5 100644
--- a/www/chromium/files/patch-mojo_core_channel.cc
+++ b/www/chromium/files/patch-mojo_core_channel.cc
@@ -1,14 +1,14 @@
---- mojo/core/channel.cc.orig 2023-02-08 09:03:45 UTC
+--- mojo/core/channel.cc.orig 2023-03-09 06:31:50 UTC
+++ mojo/core/channel.cc
-@@ -74,7 +74,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096;
+@@ -75,7 +75,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096;
// Fuchsia: The zx_channel_write() API supports up to 64 handles.
const size_t kMaxAttachedHandles = 64;
+#if defined(__i386__) && defined(OS_FREEBSD)
+const size_t kChannelMessageAlignment = 4;
+#else
static_assert(alignof(std::max_align_t) >= kChannelMessageAlignment, "");
+#endif
Channel::AlignedBuffer MakeAlignedBuffer(size_t size) {
// Generic allocators (such as malloc) return a pointer that is suitably
// aligned for storing any type of object with a fundamental alignment
diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
index 69b30b6b0076..871296b006b3 100644
--- a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
+++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni
@@ -1,19 +1,19 @@
---- mojo/public/tools/bindings/mojom.gni.orig 2023-02-08 09:03:45 UTC
+--- mojo/public/tools/bindings/mojom.gni.orig 2023-03-09 06:31:50 UTC
+++ mojo/public/tools/bindings/mojom.gni
-@@ -696,6 +696,16 @@ template("mojom") {
+@@ -703,6 +703,16 @@ template("mojom") {
enabled_features += [ "is_win" ]
}
+ if (is_openbsd) {
+ enabled_features += [ "is_openbsd" ]
+ enabled_features += [ "is_bsd" ]
+ }
+
+ if (is_freebsd) {
+ enabled_features += [ "is_freebsd" ]
+ enabled_features += [ "is_bsd" ]
+ }
+
action(parser_target_name) {
script = mojom_parser_script
inputs = mojom_parser_sources + ply_sources + [ build_metadata_filename ]
diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn
index d30a5a2a01d4..d0a5c12ae1cb 100644
--- a/www/chromium/files/patch-net_BUILD.gn
+++ b/www/chromium/files/patch-net_BUILD.gn
@@ -1,83 +1,83 @@
---- net/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- net/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ net/BUILD.gn
@@ -103,7 +103,7 @@ net_configs = [
"//build/config/compiler:wexit_time_destructors",
]
-if (is_linux || is_chromeos) {
+if ((is_linux || is_chromeos) && !is_bsd) {
net_configs += [ "//build/config/linux:libresolv" ]
}
-@@ -1212,6 +1212,15 @@ component("net") {
+@@ -1214,6 +1214,15 @@ component("net") {
deps += [ "//third_party/xdg_shared_mime_info" ]
}
+ if (is_bsd) {
+ sources -= [
+ "base/address_tracker_linux.cc",
+ "base/address_tracker_linux.h",
+ "base/network_change_notifier_linux.cc",
+ "base/network_interfaces_linux.cc",
+ ]
+ }
+
if (is_mac) {
sources += [
"base/network_notification_thread_mac.cc",
-@@ -1344,7 +1353,7 @@ component("net") {
+@@ -1346,7 +1355,7 @@ component("net") {
}
}
- if (is_android || is_chromeos) {
+ if (is_android || is_chromeos || is_bsd) {
sources += [
"base/network_change_notifier_posix.cc",
"base/network_change_notifier_posix.h",
-@@ -1377,7 +1386,7 @@ component("net") {
+@@ -1379,7 +1388,7 @@ component("net") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
- if (is_posix && !is_linux && !is_chromeos) {
+ if ((is_posix && !is_linux && !is_chromeos) || is_bsd) {
sources += [
"base/network_interfaces_getifaddrs.cc",
"base/network_interfaces_getifaddrs.h",
-@@ -4640,7 +4649,7 @@ test("net_unittests") {
+@@ -4722,7 +4731,7 @@ test("net_unittests") {
sources += [ "proxy_resolution/proxy_config_service_linux_unittest.cc" ]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"base/address_tracker_linux_unittest.cc",
"base/network_interfaces_linux_unittest.cc",
-@@ -4712,6 +4721,10 @@ test("net_unittests") {
+@@ -4794,6 +4803,10 @@ test("net_unittests") {
"//url:buildflags",
]
+ if (is_bsd) {
+ deps += [ "//sandbox/policy" ]
+ }
+
if (enable_websockets) {
deps += [ "//net/server:tests" ]
}
-@@ -4779,7 +4792,7 @@ test("net_unittests") {
+@@ -4861,7 +4874,7 @@ test("net_unittests") {
]
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [ "tools/quic/quic_simple_server_test.cc" ]
}
-@@ -4901,7 +4914,7 @@ test("net_unittests") {
+@@ -4986,7 +4999,7 @@ test("net_unittests") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
- if (is_posix && !is_linux && !is_chromeos) {
+ if (is_posix && !is_linux && !is_chromeos && !is_bsd) {
sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ]
}
diff --git a/www/chromium/files/patch-net_base_network__change__notifier.cc b/www/chromium/files/patch-net_base_network__change__notifier.cc
index e76eba28bd79..8e09cebb2d97 100644
--- a/www/chromium/files/patch-net_base_network__change__notifier.cc
+++ b/www/chromium/files/patch-net_base_network__change__notifier.cc
@@ -1,21 +1,21 @@
---- net/base/network_change_notifier.cc.orig 2023-01-11 09:17:16 UTC
+--- net/base/network_change_notifier.cc.orig 2023-03-09 06:31:50 UTC
+++ net/base/network_change_notifier.cc
@@ -37,7 +37,7 @@
#include "net/base/network_change_notifier_linux.h"
#elif BUILDFLAG(IS_APPLE)
#include "net/base/network_change_notifier_mac.h"
-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include "net/base/network_change_notifier_posix.h"
#elif BUILDFLAG(IS_FUCHSIA)
#include "net/base/network_change_notifier_fuchsia.h"
-@@ -326,6 +326,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
+@@ -327,6 +327,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
#elif BUILDFLAG(IS_FUCHSIA)
return std::make_unique<NetworkChangeNotifierFuchsia>(
/*require_wlan=*/false);
+#elif BUILDFLAG(IS_BSD)
+ return std::make_unique<MockNetworkChangeNotifier>(
+ /*dns_config_notifier*/nullptr);
#else
NOTIMPLEMENTED();
return nullptr;
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.cc b/www/chromium/files/patch-net_cert_cert__verify__proc.cc
index b7644e54122c..9de8a1a96f59 100644
--- a/www/chromium/files/patch-net_cert_cert__verify__proc.cc
+++ b/www/chromium/files/patch-net_cert_cert__verify__proc.cc
@@ -1,11 +1,11 @@
---- net/cert/cert_verify_proc.cc.orig 2023-02-08 09:03:45 UTC
+--- net/cert/cert_verify_proc.cc.orig 2023-03-09 06:31:50 UTC
+++ net/cert/cert_verify_proc.cc
-@@ -507,7 +507,7 @@ base::Value CertVerifyParams(X509Certificate* cert,
+@@ -495,7 +495,7 @@ base::Value CertVerifyParams(X509Certificate* cert,
} // namespace
-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
// static
scoped_refptr<CertVerifyProc> CertVerifyProc::CreateSystemVerifyProc(
scoped_refptr<CertNetFetcher> cert_net_fetcher) {
diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc b/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc
index 21e898d25920..582544027ba3 100644
--- a/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc
+++ b/www/chromium/files/patch-net_cert_cert__verify__proc__unittest.cc
@@ -1,11 +1,11 @@
---- net/cert/cert_verify_proc_unittest.cc.orig 2023-02-08 09:03:45 UTC
+--- net/cert/cert_verify_proc_unittest.cc.orig 2023-03-09 06:31:50 UTC
+++ net/cert/cert_verify_proc_unittest.cc
-@@ -269,7 +269,7 @@ const std::vector<CertVerifyProcType> kAllCertVerifier
+@@ -270,7 +270,7 @@ const std::vector<CertVerifyProcType> kAllCertVerifier
#if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
CERT_VERIFY_PROC_BUILTIN_CHROME_ROOTS
#endif
-#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
CERT_VERIFY_PROC_BUILTIN
#else
#error Unsupported platform
diff --git a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc
index 5ec93c1dc7f2..4c943e553a46 100644
--- a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc
+++ b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service.cc
@@ -1,35 +1,35 @@
---- net/proxy_resolution/proxy_config_service.cc.orig 2022-08-31 12:19:35 UTC
+--- net/proxy_resolution/proxy_config_service.cc.orig 2023-03-09 06:31:50 UTC
+++ net/proxy_resolution/proxy_config_service.cc
-@@ -18,20 +18,20 @@
+@@ -19,20 +19,20 @@
#include "net/proxy_resolution/proxy_config_service_ios.h"
#elif BUILDFLAG(IS_MAC)
#include "net/proxy_resolution/proxy_config_service_mac.h"
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "net/proxy_resolution/proxy_config_service_linux.h"
#elif BUILDFLAG(IS_ANDROID)
#include "net/proxy_resolution/proxy_config_service_android.h"
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "net/traffic_annotation/network_traffic_annotation.h"
#endif
namespace net {
namespace {
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
semantics {
@@ -108,7 +108,7 @@ ProxyConfigService::CreateSystemProxyConfigService(
<< "profile_io_data.cc::CreateProxyConfigService and this should "
<< "be used only for examples.";
return std::make_unique<UnsetProxyConfigService>();
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::unique_ptr<ProxyConfigServiceLinux> linux_config_service(
std::make_unique<ProxyConfigServiceLinux>());
diff --git a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
index 1c43c835029d..da467b94d881 100644
--- a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
+++ b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
@@ -1,38 +1,38 @@
---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-06-17 14:20:10 UTC
+--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2023-03-09 06:31:50 UTC
+++ net/tools/cert_verify_tool/cert_verify_tool.cc
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
#include "net/url_request/url_request_context_builder.h"
#include "net/url_request/url_request_context_getter.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "net/proxy_resolution/proxy_config.h"
#include "net/proxy_resolution/proxy_config_service_fixed.h"
#endif
-@@ -60,7 +60,7 @@ void SetUpOnNetworkThread(
+@@ -61,7 +61,7 @@ void SetUpOnNetworkThread(
base::WaitableEvent* initialization_complete_event) {
net::URLRequestContextBuilder url_request_context_builder;
url_request_context_builder.set_user_agent(GetUserAgent());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux, use a fixed ProxyConfigService, since the default one
// depends on glib.
//
-@@ -217,7 +217,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
+@@ -222,7 +222,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
base::StringPiece impl_name,
scoped_refptr<net::CertNetFetcher> cert_net_fetcher,
RootStoreType root_store_type) {
-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
if (impl_name == "platform") {
if (root_store_type != RootStoreType::kSystem) {
std::cerr << "WARNING: platform verifier not supported with "
-@@ -474,7 +474,7 @@ int main(int argc, char** argv) {
+@@ -534,7 +534,7 @@ int main(int argc, char** argv) {
std::string impls_str = command_line.GetSwitchValueASCII("impls");
if (impls_str.empty()) {
// Default value.
-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
impls_str = "platform,";
#endif
impls_str += "builtin,pathbuilder";
diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
index 393ae353d41b..afaa7c8b2678 100644
--- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
+++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc
@@ -1,11 +1,11 @@
---- net/url_request/url_request_context_builder.cc.orig 2023-02-08 09:03:45 UTC
+--- net/url_request/url_request_context_builder.cc.orig 2023-03-09 06:31:50 UTC
+++ net/url_request/url_request_context_builder.cc
-@@ -442,7 +442,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+@@ -443,7 +443,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
}
if (!proxy_resolution_service_) {
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD)
// TODO(willchan): Switch to using this code when
// ProxyConfigService::CreateSystemProxyConfigService()'s
// signature doesn't suck.
diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
index 173b4cd28203..427c2412caea 100644
--- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
+++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc
@@ -1,20 +1,20 @@
---- pdf/pdfium/pdfium_engine.cc.orig 2023-02-08 09:03:45 UTC
+--- pdf/pdfium/pdfium_engine.cc.orig 2023-03-09 06:31:50 UTC
+++ pdf/pdfium/pdfium_engine.cc
@@ -84,7 +84,7 @@
#include "gin/public/cppgc.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "pdf/pdfium/pdfium_font_linux.h"
#endif
-@@ -528,7 +528,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon
+@@ -526,7 +526,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon
FPDF_InitLibraryWithConfig(&config);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
g_font_mapping_mode = font_mapping_mode;
InitializeLinuxFontMapper();
#endif
diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
index 3d0ff023647c..e78d7844439b 100644
--- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
+++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc
@@ -1,20 +1,20 @@
---- printing/mojom/printing_context_mojom_traits.cc.orig 2022-06-17 14:20:10 UTC
+--- printing/mojom/printing_context_mojom_traits.cc.orig 2023-03-09 06:31:50 UTC
+++ printing/mojom/printing_context_mojom_traits.cc
@@ -15,7 +15,7 @@
#include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
#include "ui/gfx/geometry/size.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "mojo/public/mojom/base/values.mojom.h"
#endif
-@@ -147,7 +147,7 @@ bool StructTraits<
+@@ -149,7 +149,7 @@ bool StructTraits<
}
out->set_pages_per_sheet(data.pages_per_sheet());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
DCHECK(out->advanced_settings().empty());
if (!data.ReadAdvancedSettings(&out->advanced_settings()))
return false;
diff --git a/www/chromium/files/patch-printing_print__settings.cc b/www/chromium/files/patch-printing_print__settings.cc
index 2934346d9c35..3408cf72fa10 100644
--- a/www/chromium/files/patch-printing_print__settings.cc
+++ b/www/chromium/files/patch-printing_print__settings.cc
@@ -1,20 +1,20 @@
---- printing/print_settings.cc.orig 2023-02-08 09:03:45 UTC
+--- printing/print_settings.cc.orig 2023-03-09 06:31:50 UTC
+++ printing/print_settings.cc
-@@ -273,7 +273,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
+@@ -256,7 +256,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
#endif
is_modifiable_ = settings.is_modifiable_;
pages_per_sheet_ = settings.pages_per_sheet_;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
for (const auto& item : settings.advanced_settings_)
advanced_settings_.emplace(item.first, item.second.Clone());
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -314,7 +314,7 @@ void PrintSettings::Clear() {
+@@ -298,7 +298,7 @@ void PrintSettings::Clear() {
#endif
is_modifiable_ = true;
pages_per_sheet_ = 1;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
advanced_settings_.clear();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h
index 5ae7806af8bf..7c4310672675 100644
--- a/www/chromium/files/patch-printing_print__settings.h
+++ b/www/chromium/files/patch-printing_print__settings.h
@@ -1,38 +1,38 @@
---- printing/print_settings.h.orig 2023-02-08 09:03:45 UTC
+--- printing/print_settings.h.orig 2023-03-09 06:31:50 UTC
+++ printing/print_settings.h
-@@ -19,7 +19,7 @@
+@@ -21,7 +21,7 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <map>
#include "base/values.h"
-@@ -67,7 +67,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -69,7 +69,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
}
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
using AdvancedSettings = std::map<std::string, base::Value>;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -232,7 +232,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
pages_per_sheet_ = pages_per_sheet;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
AdvancedSettings& advanced_settings() { return advanced_settings_; }
const AdvancedSettings& advanced_settings() const {
return advanced_settings_;
-@@ -342,7 +342,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -351,7 +351,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
// Number of pages per sheet.
int pages_per_sheet_;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Advanced settings.
AdvancedSettings advanced_settings_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc
index f6e8e536ad24..d9d4aed23008 100644
--- a/www/chromium/files/patch-printing_print__settings__conversion.cc
+++ b/www/chromium/files/patch-printing_print__settings__conversion.cc
@@ -1,11 +1,11 @@
---- printing/print_settings_conversion.cc.orig 2023-02-08 09:03:45 UTC
+--- printing/print_settings_conversion.cc.orig 2023-03-09 06:31:50 UTC
+++ printing/print_settings_conversion.cc
-@@ -260,7 +260,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+@@ -275,7 +275,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
settings->set_is_modifiable(is_modifiable.value());
}
-#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS))
+#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS))
const base::Value::Dict* advanced_settings =
job_settings.FindDict(kSettingAdvancedSettings);
if (advanced_settings) {
diff --git a/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc
new file mode 100644
index 000000000000..db4b29c77ada
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc
@@ -0,0 +1,11 @@
+--- remoting/host/base/desktop_environment_options.cc.orig 2023-03-09 06:31:50 UTC
++++ remoting/host/base/desktop_environment_options.cc
+@@ -119,7 +119,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic
+ // TODO(joedow): Determine whether we can migrate additional platforms to
+ // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then
+ // clean up DesktopCapturerProxy::Core::CreateCapturer().
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return capture_video_on_dedicated_thread_;
+ #else
+ return false;
diff --git a/www/chromium/files/patch-remoting_host_basic__desktop__environment.cc b/www/chromium/files/patch-remoting_host_basic__desktop__environment.cc
index a4491d487884..bdb67cdd8da3 100644
--- a/www/chromium/files/patch-remoting_host_basic__desktop__environment.cc
+++ b/www/chromium/files/patch-remoting_host_basic__desktop__environment.cc
@@ -1,11 +1,11 @@
---- remoting/host/basic_desktop_environment.cc.orig 2022-11-30 08:12:58 UTC
+--- remoting/host/basic_desktop_environment.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/basic_desktop_environment.cc
-@@ -179,7 +179,7 @@ BasicDesktopEnvironment::CreateVideoCapturer() {
+@@ -182,7 +182,7 @@ BasicDesktopEnvironment::CreateVideoCapturer() {
scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner;
#if BUILDFLAG(IS_CHROMEOS_ASH)
capture_task_runner = ui_task_runner_;
-#elif BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_WAYLAND)
+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_WAYLAND)
// Each capturer instance should get its own thread so the capturers don't
// compete with each other in multistream mode.
capture_task_runner = base::ThreadPool::CreateSingleThreadTaskRunner(
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.cc b/www/chromium/files/patch-remoting_host_chromoting__host.cc
index 0e22c9bf95ae..6cac674adf97 100644
--- a/www/chromium/files/patch-remoting_host_chromoting__host.cc
+++ b/www/chromium/files/patch-remoting_host_chromoting__host.cc
@@ -1,11 +1,11 @@
---- remoting/host/chromoting_host.cc.orig 2023-02-08 09:03:45 UTC
+--- remoting/host/chromoting_host.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/chromoting_host.cc
-@@ -130,7 +130,7 @@ void ChromotingHost::StartChromotingHostServices() {
+@@ -132,7 +132,7 @@ void ChromotingHost::StartChromotingHostServices() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(!ipc_server_);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
named_mojo_ipc_server::EndpointOptions options;
options.server_name = GetChromotingHostServicesServerName();
#if BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
index 9eb30d2cc011..9bc9ec28d85b 100644
--- a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
+++ b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc
@@ -1,11 +1,11 @@
---- remoting/host/chromoting_host_context.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/chromoting_host_context.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/chromoting_host_context.cc
-@@ -143,7 +143,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
+@@ -144,7 +144,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC
// on a UI thread.
scoped_refptr<AutoThreadTaskRunner> input_task_runner =
AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner,
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
base::MessagePumpType::UI);
#else
base::MessagePumpType::IO);
diff --git a/www/chromium/files/patch-remoting_host_desktop__capturer__proxy.cc b/www/chromium/files/patch-remoting_host_desktop__capturer__proxy.cc
new file mode 100644
index 000000000000..69dbaf9a46d5
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_desktop__capturer__proxy.cc
@@ -0,0 +1,20 @@
+--- remoting/host/desktop_capturer_proxy.cc.orig 2023-03-09 06:31:50 UTC
++++ remoting/host/desktop_capturer_proxy.cc
+@@ -30,7 +30,7 @@
+ #include "remoting/host/chromeos/frame_sink_desktop_capturer.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/environment.h"
+ #include "base/nix/xdg_util.h"
+ #include "remoting/host/linux/wayland_desktop_capturer.h"
+@@ -96,7 +96,7 @@ void DesktopCapturerProxy::Core::CreateCapturer(
+ capturer_ = std::make_unique<webrtc::DesktopCapturerDifferWrapper>(
+ std::make_unique<AuraDesktopCapturer>());
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ static base::nix::SessionType session_type = base::nix::SessionType::kUnset;
+ if (session_type == base::nix::SessionType::kUnset) {
+ std::unique_ptr<base::Environment> env = base::Environment::Create();
diff --git a/www/chromium/files/patch-remoting_host_host__attributes.cc b/www/chromium/files/patch-remoting_host_host__attributes.cc
index 090fa5702b58..c8cd55ddec85 100644
--- a/www/chromium/files/patch-remoting_host_host__attributes.cc
+++ b/www/chromium/files/patch-remoting_host_host__attributes.cc
@@ -1,11 +1,11 @@
---- remoting/host/host_attributes.cc.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/host_attributes.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/host_attributes.cc
-@@ -121,7 +121,7 @@ std::string GetHostAttributes() {
+@@ -108,7 +108,7 @@ std::string GetHostAttributes() {
media::InitializeMediaFoundation()) {
result.push_back("HWEncoder");
}
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
result.push_back("HWEncoder");
#endif
diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc
index 48a9e32db0da..da41449af3a3 100644
--- a/www/chromium/files/patch-remoting_host_host__main.cc
+++ b/www/chromium/files/patch-remoting_host_host__main.cc
@@ -1,29 +1,29 @@
---- remoting/host/host_main.cc.orig 2022-04-21 18:48:31 UTC
+--- remoting/host/host_main.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/host_main.cc
@@ -50,7 +50,7 @@ int FileChooserMain();
int RdpDesktopSessionMain();
int UrlForwarderConfiguratorMain();
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
int XSessionChooserMain();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -63,7 +63,7 @@ const char kUsageMessage[] =
"\n"
"Options:\n"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
" --audio-pipe-name=<pipe> - Sets the pipe name to capture audio on "
"Linux.\n"
#endif // BUILDFLAG(IS_LINUX)
-@@ -155,7 +155,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
+@@ -156,7 +156,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
} else if (process_type == kProcessTypeUrlForwarderConfigurator) {
main_routine = &UrlForwarderConfiguratorMain;
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
} else if (process_type == kProcessTypeXSessionChooser) {
main_routine = &XSessionChooserMain;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc
new file mode 100644
index 000000000000..1ddcce257a03
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc
@@ -0,0 +1,29 @@
+--- remoting/host/it2me/it2me_host.cc.orig 2023-03-09 06:31:50 UTC
++++ remoting/host/it2me/it2me_host.cc
+@@ -43,7 +43,7 @@
+ #include "remoting/signaling/signaling_id_util.h"
+ #include "services/network/public/cpp/shared_url_loader_factory.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/host/linux/wayland_manager.h"
+ #include "remoting/host/linux/wayland_utils.h"
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -144,7 +144,7 @@ void It2MeHost::Connect(
+
+ OnPolicyUpdate(std::move(policies));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (IsRunningWayland()) {
+ WaylandManager::Get()->Init(host_context_->ui_task_runner());
+ }
+@@ -283,7 +283,7 @@ void It2MeHost::ConnectOnNetworkThread(
+
+ // Set up the desktop environment options.
+ DesktopEnvironmentOptions options(DesktopEnvironmentOptions::CreateDefault());
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (IsRunningWayland()) {
+ options.desktop_capture_options()->set_prefer_cursor_embedded(true);
+ }
diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
index f1f0e7bc039e..acf1bc9dd2f2 100644
--- a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
+++ b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
@@ -1,47 +1,47 @@
---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-11-30 08:12:58 UTC
+--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/it2me/it2me_native_messaging_host_main.cc
@@ -30,7 +30,7 @@
#include "remoting/host/resources.h"
#include "remoting/host/usage_stats_consent.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #if defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND)
+ #if defined(REMOTING_USE_X11)
#include <gtk/gtk.h>
#include "base/linux_util.h"
-@@ -80,7 +80,7 @@ bool CurrentProcessHasUiAccess() {
+@@ -78,7 +78,7 @@ bool CurrentProcessHasUiAccess() {
// Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and
// runs the task executor until It2MeNativeMessagingHost signals shutdown.
int It2MeNativeMessagingHostMain(int argc, char** argv) {
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
- // Initialize Xlib for multi-threaded use, allowing non-Chromium code to
- // use X11 safely (such as the WebRTC capturer, GTK ...)
- x11::InitXlib();
+ if (!IsRunningWayland()) {
+ // Initialize Xlib for multi-threaded use, allowing non-Chromium code to
+ // use X11 safely (such as the WebRTC capturer, GTK ...)
@@ -126,7 +126,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
remoting::LoadResources("");
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
- (defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND))
+-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
// Required for any calls into GTK functions, such as the Disconnect and
// Continue windows. Calling with nullptr arguments because we don't have
-@@ -261,7 +261,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+ // any command line arguments for gtk to consume.
+@@ -260,7 +260,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(),
context->management_service());
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
- // Create an X11EventSource on all UI threads, so the global X11 connection
- // (x11::Connection::Get()) can dispatch X events.
- auto event_source =
-@@ -284,7 +284,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+ scoped_refptr<AutoThreadTaskRunner> input_task_runner;
+ if (!IsRunningWayland()) {
+ // Create an X11EventSource on all UI threads, so the global X11 connection
+@@ -287,7 +287,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
// Run the loop until channel is alive.
run_loop.Run();
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
- input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
- delete ui::X11EventSource::GetInstance();
- }));
+ if (!IsRunningWayland()) {
+ input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() {
+ delete ui::X11EventSource::GetInstance();
diff --git a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
index d4263540611c..cdd84a3ec846 100644
--- a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
+++ b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc
@@ -1,29 +1,38 @@
---- remoting/host/me2me_desktop_environment.cc.orig 2023-02-08 09:03:45 UTC
+--- remoting/host/me2me_desktop_environment.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/me2me_desktop_environment.cc
-@@ -124,7 +124,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities()
+@@ -125,7 +125,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities()
capabilities += protocol::kRemoteWebAuthnCapability;
}
-#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
- capabilities += " ";
- capabilities += protocol::kMultiStreamCapability;
-
-@@ -161,7 +161,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment(
+ if (!IsRunningWayland()) {
+ capabilities += " ";
+ capabilities += protocol::kMultiStreamCapability;
+@@ -164,7 +164,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment(
// properly under Xvfb.
mutable_desktop_capture_options()->set_use_update_notifications(true);
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Setting this option to false means that the capture differ wrapper will not
// be used when the X11 capturer is selected. This reduces the X11 capture
// time by a few milliseconds per frame and is safe because we can rely on
-@@ -193,7 +193,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity(
+@@ -173,7 +173,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment(
+ mutable_desktop_capture_options()->set_detect_updated_region(false);
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (IsRunningWayland()) {
+ mutable_desktop_capture_options()->set_prefer_cursor_embedded(false);
+ }
+@@ -198,7 +198,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity(
// Otherwise, if the session is shared with the local user start monitoring
// the local input and create the in-session UI.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool want_user_interface = false;
#elif BUILDFLAG(IS_APPLE)
// Don't try to display any UI on top of the system's login screen as this
diff --git a/www/chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc b/www/chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc
new file mode 100644
index 000000000000..7df8f30e6638
--- /dev/null
+++ b/www/chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc
@@ -0,0 +1,11 @@
+--- remoting/host/mouse_cursor_monitor_proxy.cc.orig 2023-03-09 06:31:50 UTC
++++ remoting/host/mouse_cursor_monitor_proxy.cc
+@@ -73,7 +73,7 @@ void MouseCursorMonitorProxy::Core::CreateMouseCursorM
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ mouse_cursor_monitor_ = std::make_unique<MouseCursorMonitorAura>();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (IsRunningWayland()) {
+ mouse_cursor_monitor_ = webrtc::MouseCursorMonitor::Create(options);
+ } else {
diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
index 5847c1f1f77d..e4584bd66ee0 100644
--- a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
+++ b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc
@@ -1,11 +1,11 @@
---- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2022-02-28 16:54:41 UTC
+--- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/remote_open_url/remote_open_url_util.cc
-@@ -30,7 +30,7 @@ const wchar_t kRegisteredApplicationsKeyName[] =
+@@ -29,7 +29,7 @@ const wchar_t kRegisteredApplicationsKeyName[] =
#endif // defined (OS_WIN)
bool IsRemoteOpenUrlSupported() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
return true;
#elif BUILDFLAG(IS_WIN)
- // The modern default apps settings dialog is only available to Windows 8+.
+ // The MSI installs the ProgID and capabilities into registry, but not the
diff --git a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
index 14467e4957ea..ff06e11644bf 100644
--- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
+++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc
@@ -1,144 +1,160 @@
---- remoting/host/remoting_me2me_host.cc.orig 2022-11-30 08:12:58 UTC
+--- remoting/host/remoting_me2me_host.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/remoting_me2me_host.cc
-@@ -125,7 +125,7 @@
+@@ -126,7 +126,7 @@
#include "remoting/host/mac/permission_utils.h"
#endif // BUILDFLAG(IS_APPLE)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #if defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND)
+ #if defined(REMOTING_USE_X11)
#include <gtk/gtk.h>
- #endif // defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND)
-@@ -136,13 +136,13 @@
+ #endif // defined(REMOTING_USE_X11)
+@@ -137,13 +137,13 @@
#endif // defined(REMOTING_USE_X11)
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/linux_util.h"
#include "remoting/host/audio_capturer_linux.h"
#include "remoting/host/linux/certificate_watcher.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "remoting/host/host_utmp_logger.h"
#endif
-@@ -184,7 +184,7 @@ const char kApplicationName[] = "chromoting";
+@@ -156,7 +156,7 @@
+ #include "remoting/host/win/session_desktop_environment.h"
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "remoting/host/linux/wayland_manager.h"
+ #include "remoting/host/linux/wayland_utils.h"
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -186,7 +186,7 @@ const char kApplicationName[] = "chromoting";
const char kStdinConfigPath[] = "-";
#endif // !defined(REMOTING_MULTI_PROCESS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// The command line switch used to pass name of the pipe to capture audio on
// linux.
const char kAudioPipeSwitchName[] = "audio-pipe-name";
-@@ -392,7 +392,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+@@ -394,7 +394,7 @@ class HostProcess : public ConfigWatcher::Delegate,
std::unique_ptr<ChromotingHostContext> context_;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Watch for certificate changes and kill the host when changes occur
std::unique_ptr<CertificateWatcher> cert_watcher_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -458,7 +458,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+@@ -463,7 +463,7 @@ class HostProcess : public ConfigWatcher::Delegate,
std::unique_ptr<HostStatusLogger> host_status_logger_;
std::unique_ptr<HostEventLogger> host_event_logger_;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::unique_ptr<HostUTMPLogger> host_utmp_logger_;
#endif
std::unique_ptr<HostPowerSaveBlocker> power_save_blocker_;
-@@ -767,7 +767,7 @@ void HostProcess::StartOnNetworkThread() {
+@@ -774,7 +774,7 @@ void HostProcess::StartOnNetworkThread() {
void HostProcess::ShutdownOnNetworkThread() {
DCHECK(context_->network_task_runner()->BelongsToCurrentThread());
config_watcher_.reset();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
cert_watcher_.reset();
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
}
-@@ -826,7 +826,7 @@ void HostProcess::CreateAuthenticatorFactory() {
+@@ -835,7 +835,7 @@ void HostProcess::CreateAuthenticatorFactory() {
DCHECK(third_party_auth_config_.token_url.is_valid());
DCHECK(third_party_auth_config_.token_validation_url.is_valid());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (!cert_watcher_) {
cert_watcher_ = std::make_unique<CertificateWatcher>(
base::BindRepeating(&HostProcess::ShutdownHost,
-@@ -949,7 +949,7 @@ void HostProcess::StartOnUiThread() {
- WaylandManager::Get()->Init(context_->ui_task_runner());
- #endif // defined(REMOTING_USE_WAYLAND
+@@ -954,13 +954,13 @@ void HostProcess::StartOnUiThread() {
+ base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
+ base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this)));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (IsRunningWayland()) {
+ WaylandManager::Get()->Init(context_->ui_task_runner());
+ }
+ #endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// If an audio pipe is specific on the command-line then initialize
// AudioCapturerLinux to capture from it.
- base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()->
-@@ -1020,7 +1020,7 @@ void HostProcess::ShutdownOnUiThread() {
+ base::FilePath audio_pipe_name =
+@@ -1032,7 +1032,7 @@ void HostProcess::ShutdownOnUiThread() {
// It is now safe for the HostProcess to be deleted.
self_ = nullptr;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Cause the global AudioPipeReader to be freed, otherwise the audio
// thread will remain in-use and prevent the process from exiting.
// TODO(wez): DesktopEnvironmentFactory should own the pipe reader.
-@@ -1028,7 +1028,7 @@ void HostProcess::ShutdownOnUiThread() {
+@@ -1040,7 +1040,7 @@ void HostProcess::ShutdownOnUiThread() {
AudioCapturerLinux::InitializePipeReader(nullptr, base::FilePath());
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
context_->input_task_runner()->PostTask(
FROM_HERE,
base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); }));
-@@ -1355,7 +1355,7 @@ bool HostProcess::OnUsernamePolicyUpdate(const base::V
+@@ -1371,7 +1371,7 @@ bool HostProcess::OnUsernamePolicyUpdate(const base::V
// Returns false: never restart the host after this policy update.
DCHECK(context_->network_task_runner()->BelongsToCurrentThread());
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
absl::optional<bool> host_username_match_required =
policies.FindBool(policy::key::kRemoteAccessHostMatchUsername);
- if (!host_username_match_required.has_value())
-@@ -1741,7 +1741,7 @@ void HostProcess::StartHost() {
- // The feature is enabled for all Googlers using a supported platform.
- desktop_environment_options_.set_enable_remote_open_url(is_googler_);
+ if (!host_username_match_required.has_value()) {
+@@ -1780,7 +1780,7 @@ void HostProcess::StartHost() {
+ // won't be advertised if it's missing a registry key or something.
+ desktop_environment_options_.set_enable_remote_open_url(true);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
desktop_environment_options_.set_enable_remote_webauthn(is_googler_);
#endif
-@@ -1774,7 +1774,7 @@ void HostProcess::StartHost() {
+@@ -1813,7 +1813,7 @@ void HostProcess::StartHost() {
host_status_logger_ = std::make_unique<HostStatusLogger>(
host_->status_monitor(), log_to_server_.get());
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
- if (cmd_line->HasSwitch(kEnableUtempter))
+ if (cmd_line->HasSwitch(kEnableUtempter)) {
host_utmp_logger_ =
-@@ -1943,7 +1943,7 @@ int HostProcessMain() {
+@@ -1984,7 +1984,7 @@ int HostProcessMain() {
HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#if defined(REMOTING_USE_X11)
// Initialize Xlib for multi-threaded use, allowing non-Chromium code to
// use X11 safely (such as the WebRTC capturer, GTK ...)
-@@ -1991,7 +1991,7 @@ int HostProcessMain() {
+@@ -2033,7 +2033,7 @@ int HostProcessMain() {
std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier(
net::NetworkChangeNotifier::CreateIfNeeded());
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11)
// Create an X11EventSource on all UI threads, so the global X11 connection
// (x11::Connection::Get()) can dispatch X events.
auto event_source =
diff --git a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
index 7c12997863cb..86f6479c29fe 100644
--- a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
+++ b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc
@@ -1,29 +1,29 @@
---- remoting/host/setup/start_host_main.cc.orig 2022-10-24 13:33:33 UTC
+--- remoting/host/setup/start_host_main.cc.orig 2023-03-09 06:31:50 UTC
+++ remoting/host/setup/start_host_main.cc
@@ -33,7 +33,7 @@
#include <unistd.h>
#endif // BUILDFLAG(IS_POSIX)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "remoting/host/setup/daemon_controller_delegate_linux.h"
#include "remoting/host/setup/start_host_as_root.h"
#endif // BUILDFLAG(IS_LINUX)
-@@ -127,7 +127,7 @@ void OnDone(HostStarter::Result result) {
+@@ -130,7 +130,7 @@ void OnDone(HostStarter::Result result) {
} // namespace
int StartHostMain(int argc, char** argv) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Minimize the amount of code that runs as root on Posix systems.
if (getuid() == 0) {
return remoting::StartHostAsRoot(argc, argv);
-@@ -170,7 +170,7 @@ int StartHostMain(int argc, char** argv) {
+@@ -173,7 +173,7 @@ int StartHostMain(int argc, char** argv) {
// for the account which generated |code|.
std::string host_owner = command_line->GetSwitchValueASCII("host-owner");
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (command_line->HasSwitch("no-start")) {
// On Linux, registering the host with systemd and starting it is the only
// reason start_host requires root. The --no-start options skips that final
diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
index ff9cd09f3768..65b25ba0d43a 100644
--- a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
+++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc
@@ -1,244 +1,242 @@
---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2023-02-08 09:03:45 UTC
+--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/freebsd/sandbox_freebsd.cc
-@@ -0,0 +1,241 @@
+@@ -0,0 +1,239 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include <limits>
+#include <memory>
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/command_line.h"
+#include "base/debug/stack_trace.h"
+#include "base/feature_list.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/scoped_file.h"
+#include "base/logging.h"
+#include "base/memory/singleton.h"
+#include "base/path_service.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/system/sys_info.h"
+#include "base/threading/thread.h"
+#include "base/time/time.h"
+#include "build/build_config.h"
+#include "sandbox/constants.h"
+#include "sandbox/linux/services/credentials.h"
+#include "sandbox/linux/services/namespace_sandbox.h"
+#include "sandbox/linux/services/proc_util.h"
+#include "sandbox/linux/services/resource_limits.h"
+#include "sandbox/linux/services/thread_helpers.h"
+#include "sandbox/linux/syscall_broker/broker_command.h"
+#include "sandbox/linux/syscall_broker/broker_process.h"
+#include "sandbox/policy/sandbox.h"
+#include "sandbox/policy/sandbox_type.h"
+#include "sandbox/policy/mojom/sandbox.mojom.h"
+#include "sandbox/policy/switches.h"
+#include "sandbox/sandbox_buildflags.h"
+
+#if BUILDFLAG(USING_SANITIZER)
+#include <sanitizer/common_interface_defs.h>
+#endif
+
+#if defined(USE_NSS_CERTS)
+#include "crypto/nss_util.h"
+#endif
+
+#include "ui/gfx/font_util.h"
+
+#define MAXTOKENS 3
+
+#define _UNVEIL_MAIN "/etc/chromium/unveil.main";
+#define _UNVEIL_RENDERER "/etc/chromium/unveil.renderer";
+#define _UNVEIL_GPU "/etc/chromium/unveil.gpu";
+#define _UNVEIL_PLUGIN "/etc/chromium/unveil.plugin";
+#define _UNVEIL_UTILITY "/etc/chromium/unveil.utility";
+#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network";
+#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio";
+#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video";
+
+namespace sandbox {
+namespace policy {
+
+SandboxLinux::SandboxLinux()
+ : sandbox_status_flags_(kInvalid),
+ pre_initialized_(false),
+ initialize_sandbox_ran_(false),
+ broker_process_(nullptr) {
+}
+
+SandboxLinux::~SandboxLinux() {
+ if (pre_initialized_) {
+ CHECK(initialize_sandbox_ran_);
+ }
+}
+
+SandboxLinux* SandboxLinux::GetInstance() {
+ SandboxLinux* instance = base::Singleton<SandboxLinux>::get();
+ CHECK(instance);
+ return instance;
+}
+
+void SandboxLinux::StopThread(base::Thread* thread) {
+ DCHECK(thread);
+ thread->Stop();
+}
+
+void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
+ CHECK(!pre_initialized_);
+#if BUILDFLAG(USING_SANITIZER)
+ // Sanitizers need to open some resources before the sandbox is enabled.
+ // This should not fork, not launch threads, not open a directory.
+ __sanitizer_sandbox_on_notify(sanitizer_args());
+ sanitizer_args_.reset();
+#endif
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ const std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+ base::SysInfo::AmountOfPhysicalMemory();
+ base::SysInfo::NumberOfProcessors();
+
+#if defined(USE_NSS_CERTS)
+ // The main process has to initialize the ~/.pki dir which won't work
+ // after unveil(2).
+ if (process_type.empty())
+ crypto::EnsureNSSInit();
+#endif
+
+ if (process_type.empty()) {
+ base::FilePath cache_directory, local_directory;
+
+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
+ base::PathService::Get(base::DIR_HOME, &local_directory);
+
+ cache_directory = cache_directory.AppendASCII("chromium");
+ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
+
+ if (!base::CreateDirectory(cache_directory)) {
+ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
+ }
+
+ if (!base::CreateDirectory(local_directory)) {
+ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
+ }
+ }
+
+ if (process_type == switches::kRendererProcess)
+ gfx::InitializeFonts();
+
+ pre_initialized_ = true;
+}
+
+bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
+ SandboxLinux::PreSandboxHook hook,
+ const Options& options) {
+ DCHECK(!initialize_sandbox_ran_);
+ initialize_sandbox_ran_ = true;
+
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ const std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+ if (command_line->HasSwitch(switches::kNoSandbox))
+ return true;
+
+ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
+ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
+
+ // Only one thread is running, pre-initialize if not already done.
+ if (!pre_initialized_)
+ PreinitializeSandbox(sandbox_type);
+
+ // Attempt to limit the future size of the address space of the process.
+ int error = 0;
+ const bool limited_as = LimitAddressSpace(&error);
+ if (error) {
+ // Restore errno. Internally to |LimitAddressSpace|, the errno due to
+ // setrlimit may be lost.
+ errno = error;
+ PCHECK(limited_as);
+ }
+
+ return true;
+}
+
+bool SandboxLinux::LimitAddressSpace(int* error) {
+#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \
+ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) {
+ return false;
+ }
+
+ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it
+ // will both (a) be high enough to support V8's and WebAssembly's address
+ // space requirements while also (b) being low enough to mitigate exploits
+ // using integer overflows that require large allocations, heap spray, or
+ // other memory-hungry attack modes.
+
+ *error = sandbox::ResourceLimits::Lower(
+ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit));
+
+ // Cache the resource limit before turning on the sandbox.
+ base::SysInfo::AmountOfVirtualMemory();
+ base::SysInfo::MaxSharedMemorySize();
+
+ return *error == 0;
+#else
+ base::SysInfo::AmountOfVirtualMemory();
+ return false;
+#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) &&
+ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+}
+
+// static
+std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) {
+ switch (sandbox_type) {
+ case sandbox::mojom::Sandbox::kNoSandbox:
+ return "Unsandboxed";
+ case sandbox::mojom::Sandbox::kRenderer:
+ return "Renderer";
+ case sandbox::mojom::Sandbox::kUtility:
+ return "Utility";
+ case sandbox::mojom::Sandbox::kGpu:
+ return "GPU";
+ case sandbox::mojom::Sandbox::kPpapi:
+ return "PPAPI";
+ case sandbox::mojom::Sandbox::kNetwork:
+ return "Network";
+ case sandbox::mojom::Sandbox::kCdm:
+ return "CDM";
+ case sandbox::mojom::Sandbox::kPrintCompositor:
+ return "Print Compositor";
+ case sandbox::mojom::Sandbox::kAudio:
+ return "Audio";
+ case sandbox::mojom::Sandbox::kSpeechRecognition:
+ return "Speech Recognition";
+ case sandbox::mojom::Sandbox::kService:
+ return "Service";
+ case sandbox::mojom::Sandbox::kVideoCapture:
+ return "Video Capture";
+ default:
+ return "Unknown";
+ }
+}
+
+} // namespace policy
+} // namespace sandbox
diff --git a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
index f90d8902aba2..d8ceddb25cf9 100644
--- a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
+++ b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom
@@ -1,15 +1,15 @@
---- sandbox/policy/mojom/sandbox.mojom.orig 2022-04-21 18:48:31 UTC
+--- sandbox/policy/mojom/sandbox.mojom.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/mojom/sandbox.mojom
-@@ -72,6 +72,12 @@ enum Sandbox {
- [EnableIf=is_fuchsia]
- kVideoCapture,
+@@ -76,6 +76,12 @@ enum Sandbox {
+ [EnableIf=is_win]
+ kFileUtil,
+ [EnableIf=is_openbsd]
+ kVideoCapture,
+
+ [EnableIf=is_freebsd]
+ kVideoCapture,
+
// Allows access to file contents and Windows APIs for parsing icons from PE
// files.
[EnableIf=is_win]
diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
index 61ea88e219f8..d397025e62c9 100644
--- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
+++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc
@@ -1,404 +1,402 @@
---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-02-08 09:03:45 UTC
+--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/openbsd/sandbox_openbsd.cc
-@@ -0,0 +1,401 @@
+@@ -0,0 +1,399 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
+
+#include <dirent.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <util.h>
+
+#include <limits>
+#include <memory>
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/command_line.h"
+#include "base/debug/stack_trace.h"
+#include "base/feature_list.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/scoped_file.h"
+#include "base/logging.h"
+#include "base/memory/singleton.h"
+#include "base/path_service.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/system/sys_info.h"
+#include "base/threading/thread.h"
+#include "base/time/time.h"
+#include "build/build_config.h"
+#include "sandbox/constants.h"
+#include "sandbox/linux/services/credentials.h"
+#include "sandbox/linux/services/namespace_sandbox.h"
+#include "sandbox/linux/services/proc_util.h"
+#include "sandbox/linux/services/resource_limits.h"
+#include "sandbox/linux/services/thread_helpers.h"
+#include "sandbox/linux/syscall_broker/broker_command.h"
+#include "sandbox/linux/syscall_broker/broker_process.h"
+#include "sandbox/policy/sandbox.h"
+#include "sandbox/policy/sandbox_type.h"
+#include "sandbox/policy/mojom/sandbox.mojom.h"
+#include "sandbox/policy/switches.h"
+#include "sandbox/sandbox_buildflags.h"
+
+#if BUILDFLAG(USING_SANITIZER)
+#include <sanitizer/common_interface_defs.h>
+#endif
+
+#if defined(USE_NSS_CERTS)
+#include "crypto/nss_util.h"
+#endif
+
+#include "third_party/boringssl/src/include/openssl/crypto.h"
+
+#include "ui/gfx/font_util.h"
+
+#define MAXTOKENS 3
+
+#define _UNVEIL_MAIN "/etc/chromium/unveil.main";
+#define _UNVEIL_RENDERER "/etc/chromium/unveil.renderer";
+#define _UNVEIL_GPU "/etc/chromium/unveil.gpu";
+#define _UNVEIL_PLUGIN "/etc/chromium/unveil.plugin";
+#define _UNVEIL_UTILITY "/etc/chromium/unveil.utility";
+#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network";
+#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio";
+#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video";
+
+namespace sandbox {
+namespace policy {
+
+SandboxLinux::SandboxLinux()
+ : unveil_initialized_(false),
+ sandbox_status_flags_(kInvalid),
+ pre_initialized_(false),
+ initialize_sandbox_ran_(false),
+ broker_process_(nullptr) {
+}
+
+SandboxLinux::~SandboxLinux() {
+ if (pre_initialized_) {
+ CHECK(initialize_sandbox_ran_);
+ }
+}
+
+SandboxLinux* SandboxLinux::GetInstance() {
+ SandboxLinux* instance = base::Singleton<SandboxLinux>::get();
+ CHECK(instance);
+ return instance;
+}
+
+void SandboxLinux::StopThread(base::Thread* thread) {
+ DCHECK(thread);
+ thread->Stop();
+}
+
+void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) {
+ CHECK(!pre_initialized_);
+#if BUILDFLAG(USING_SANITIZER)
+ // Sanitizers need to open some resources before the sandbox is enabled.
+ // This should not fork, not launch threads, not open a directory.
+ __sanitizer_sandbox_on_notify(sanitizer_args());
+ sanitizer_args_.reset();
+#endif
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ const std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+ base::SysInfo::AmountOfPhysicalMemory();
+ base::SysInfo::NumberOfProcessors();
+ base::SysInfo::CPUModelName();
+
+#if defined(USE_NSS_CERTS)
+ // The main process has to initialize the ~/.pki dir which won't work
+ // after unveil(2).
+ if (process_type.empty())
+ crypto::EnsureNSSInit();
+#endif
+
+ if (process_type.empty())
+ CRYPTO_pre_sandbox_init();
+
+ if (process_type.empty()) {
+ base::FilePath cache_directory, local_directory;
+
+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
+ base::PathService::Get(base::DIR_HOME, &local_directory);
+
+ cache_directory = cache_directory.AppendASCII("chromium");
+ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
+
+ if (!base::CreateDirectory(cache_directory)) {
+ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
+ }
+
+ if (!base::CreateDirectory(local_directory)) {
+ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
+ }
+ }
+
+ if (process_type == switches::kRendererProcess)
+ gfx::InitializeFonts();
+
+ if (!command_line->HasSwitch(switches::kDisableUnveil))
+ SetUnveil(process_type, sandbox_type);
+
+ pre_initialized_ = true;
+}
+
+bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) {
+ FILE *fp;
+ char *s = NULL;
+ size_t len = 0;
+ ssize_t read;
+
+ if (pstring != NULL) {
+ if (pledge(pstring, NULL) == -1)
+ goto err;
+ } else if (ppath != NULL) {
+ fp = fopen(ppath, "r");
+ if (fp != NULL) {
+ while ((read = getline(&s, &len, fp)) != -1 ) {
+ if (s[strlen(s)-1] == '\n')
+ s[strlen(s)-1] = '\0';
+ if (pledge(s, NULL) == -1)
+ goto err;
+ }
+ fclose(fp);
+ } else {
+ LOG(ERROR) << "fopen() failed, errno: " << errno;
+ return false;
+ }
+ }
+ return true;
+err:
+ LOG(ERROR) << "pledge() failed, errno: " << errno;
+ return false;
+}
+
+bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) {
+ FILE *fp;
+ char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS];
+ char path[PATH_MAX];
+ const char *ufile;
+ size_t len = 0, lineno = 0;
+
+ if (process_type.empty()) {
+ ufile = _UNVEIL_MAIN;
+ } else if (process_type == switches::kRendererProcess) {
+ ufile = _UNVEIL_RENDERER;
+ } else if (process_type == switches::kGpuProcess) {
+ ufile = _UNVEIL_GPU;
+ } else if (process_type == switches::kPpapiPluginProcess) {
+ ufile = _UNVEIL_PLUGIN;
+ } else if (process_type == switches::kUtilityProcess) {
+ if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) {
+ ufile = _UNVEIL_UTILITY_NETWORK;
+ } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) {
+ ufile = _UNVEIL_UTILITY_AUDIO;
+ } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) {
+ ufile = _UNVEIL_UTILITY_VIDEO;
+ } else {
+ ufile = _UNVEIL_UTILITY;
+ }
+ }
+
+ fp = fopen(ufile, "r");
+ if (fp != NULL) {
+ while (!feof(fp)) {
+ if ((s = fparseln(fp, &len, &lineno, NULL,
+ FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) {
+ if (ferror(fp)) {
+ LOG(ERROR) << "ferror(), errno: " << errno;
+ _exit(1);
+ } else {
+ continue;
+ }
+ }
+ cp = s;
+ cp += strspn(cp, " \t\n"); /* eat whitespace */
+ if (cp[0] == '\0')
+ continue;
+
+ for (ap = tokens; ap < &tokens[MAXTOKENS - 1] &&
+ (*ap = strsep(&cp, " \t")) != NULL;) {
+ if (**ap != '\0')
+ ap++;
+ }
+ *ap = NULL;
+
+ if (tokens[1] == NULL) {
+ LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s;
+ _exit(1);
+ }
+
+ if (tokens[0][0] == '~') {
+ if ((home = getenv("HOME")) == NULL || *home == '\0') {
+ LOG(ERROR) << "failed to get home";
+ _exit(1);
+ }
+ memmove(tokens[0], tokens[0] + 1, strlen(tokens[0]));
+ strncpy(path, home, sizeof(path) - 1);
+ path[sizeof(path) - 1] = '\0';
+ strncat(path, tokens[0], sizeof(path) - 1 - strlen(path));
+ } else {
+ strncpy(path, tokens[0], sizeof(path) - 1);
+ path[sizeof(path) - 1] = '\0';
+ }
+
+ if (unveil(path, tokens[1]) == -1) {
+ LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1];
+ _exit(1);
+ } else {
+ VLOG(1) << "unveiling " << path << " with permissions " << tokens[1];
+ }
+ }
+ fclose(fp);
+ } else {
+ LOG(ERROR) << "failed to open " << ufile << " errno: " << errno;
+ _exit(1);
+ }
+
+ unveil_initialized_ = true;
+
+ return true;
+}
+
+bool SandboxLinux::unveil_initialized() const {
+ return unveil_initialized_;
+}
+
+bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type,
+ SandboxLinux::PreSandboxHook hook,
+ const Options& options) {
+ DCHECK(!initialize_sandbox_ran_);
+ initialize_sandbox_ran_ = true;
+
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ const std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+ if (command_line->HasSwitch(switches::kNoSandbox))
+ return true;
+
+ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type="
+ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type);
+
+ // Only one thread is running, pre-initialize if not already done.
+ if (!pre_initialized_)
+ PreinitializeSandbox(sandbox_type);
+
+ // Attempt to limit the future size of the address space of the process.
+ int error = 0;
+ const bool limited_as = LimitAddressSpace(&error);
+ if (error) {
+ // Restore errno. Internally to |LimitAddressSpace|, the errno due to
+ // setrlimit may be lost.
+ errno = error;
+ PCHECK(limited_as);
+ }
+
+ if (process_type.empty()) {
+ // XXX use a file for listing pledges of the main process for now
+ // XXX not having the file is not a fatal error
+ SetPledge(NULL, "/etc/chromium/pledge.main");
+ } else if (process_type == switches::kRendererProcess) {
+ // prot_exec needed by v8
+ // flock needed by sqlite3 locking
+ SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL);
+ } else if (process_type == switches::kGpuProcess) {
-+ SetPledge("stdio rpath cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL);
++ SetPledge("stdio rpath flock cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL);
+ } else if (process_type == switches::kPpapiPluginProcess) {
+ // prot_exec needed by v8
+ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL);
+ } else if (process_type == switches::kUtilityProcess) {
+ if (sandbox_type == sandbox::mojom::Sandbox::kAudio)
+ SetPledge(NULL, "/etc/chromium/pledge.utility_audio");
+ else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork)
+ SetPledge(NULL, "/etc/chromium/pledge.utility_network");
+ else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture)
+ SetPledge(NULL, "/etc/chromium/pledge.utility_video");
+ else
+ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL);
+ } else {
+ LOG(ERROR) << "non-pledge()'d process: " << process_type;
+ return false;
+ }
+
+ return true;
+}
+
+bool SandboxLinux::LimitAddressSpace(int* error) {
+#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \
+ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) {
+ return false;
+ }
+
+ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it
+ // will both (a) be high enough to support V8's and WebAssembly's address
+ // space requirements while also (b) being low enough to mitigate exploits
+ // using integer overflows that require large allocations, heap spray, or
+ // other memory-hungry attack modes.
+
+ *error = sandbox::ResourceLimits::Lower(
+ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit));
+
+ // Cache the resource limit before turning on the sandbox.
+ base::SysInfo::AmountOfVirtualMemory();
+ base::SysInfo::MaxSharedMemorySize();
+
+ return *error == 0;
+#else
+ base::SysInfo::AmountOfVirtualMemory();
+ return false;
+#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) &&
+ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER)
+}
+
+// static
+std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) {
+ switch (sandbox_type) {
+ case sandbox::mojom::Sandbox::kNoSandbox:
+ return "Unsandboxed";
+ case sandbox::mojom::Sandbox::kRenderer:
+ return "Renderer";
+ case sandbox::mojom::Sandbox::kUtility:
+ return "Utility";
+ case sandbox::mojom::Sandbox::kGpu:
+ return "GPU";
+ case sandbox::mojom::Sandbox::kPpapi:
+ return "PPAPI";
+ case sandbox::mojom::Sandbox::kNetwork:
+ return "Network";
+ case sandbox::mojom::Sandbox::kCdm:
+ return "CDM";
+ case sandbox::mojom::Sandbox::kPrintCompositor:
+ return "Print Compositor";
+ case sandbox::mojom::Sandbox::kAudio:
+ return "Audio";
+ case sandbox::mojom::Sandbox::kSpeechRecognition:
+ return "Speech Recognition";
+ case sandbox::mojom::Sandbox::kService:
+ return "Service";
+ case sandbox::mojom::Sandbox::kVideoCapture:
+ return "Video Capture";
+ default:
+ return "Unknown";
+ }
+}
+
+} // namespace policy
+} // namespace sandbox
diff --git a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
index e38fcbe28eb4..0cfac53a885c 100644
--- a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
+++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc
@@ -1,115 +1,115 @@
---- sandbox/policy/sandbox_type.cc.orig 2023-01-11 09:17:16 UTC
+--- sandbox/policy/sandbox_type.cc.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/sandbox_type.cc
-@@ -38,7 +38,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
#endif
case Sandbox::kAudio:
return false;
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
case Sandbox::kVideoCapture:
return false;
#endif
-@@ -61,7 +61,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+@@ -62,7 +62,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
case Sandbox::kMirroring:
case Sandbox::kNaClLoader:
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
case Sandbox::kHardwareVideoDecoding:
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -71,7 +71,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+@@ -72,7 +72,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
case Sandbox::kLibassistant:
#endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#endif // // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) | BUILDFLAG(IS_BSD)
case Sandbox::kZygoteIntermediateSandbox:
case Sandbox::kHardwareVideoEncoding:
#endif
-@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -128,7 +128,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
#endif
case Sandbox::kPrintCompositor:
case Sandbox::kAudio:
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
case Sandbox::kVideoCapture:
#endif
#if BUILDFLAG(IS_WIN)
-@@ -138,10 +138,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
- case Sandbox::kMediaFoundationCdm:
+@@ -140,10 +140,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
case Sandbox::kWindowsSystemProxyResolver:
+ case Sandbox::kFileUtil:
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
case Sandbox::kHardwareVideoDecoding:
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
case Sandbox::kHardwareVideoEncoding:
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -169,7 +169,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -171,7 +171,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
case Sandbox::kNaClLoader:
break;
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
case Sandbox::kZygoteIntermediateSandbox:
break;
#endif
-@@ -216,7 +216,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine(
+@@ -218,7 +218,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine(
if (process_type == switches::kNaClBrokerProcess)
return Sandbox::kNoSandbox;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Intermediate process gains a sandbox later.
if (process_type == switches::kZygoteProcessType)
return Sandbox::kZygoteIntermediateSandbox;
-@@ -260,7 +260,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -262,7 +262,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
return switches::kUtilitySandbox;
case Sandbox::kAudio:
return switches::kAudioSandbox;
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
case Sandbox::kVideoCapture:
return switches::kVideoCaptureSandbox;
#endif
-@@ -290,11 +290,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -292,11 +292,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
case Sandbox::kMirroring:
return switches::kMirroringSandbox;
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
case Sandbox::kHardwareVideoDecoding:
return switches::kHardwareVideoDecodingSandbox;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
case Sandbox::kHardwareVideoEncoding:
return switches::kHardwareVideoEncodingSandbox;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -314,7 +314,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -320,7 +320,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
#if BUILDFLAG(IS_MAC)
case Sandbox::kNaClLoader:
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
case Sandbox::kZygoteIntermediateSandbox:
#endif
NOTREACHED();
-@@ -382,11 +382,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
+@@ -391,11 +391,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
if (sandbox_string == switches::kScreenAISandbox)
return Sandbox::kScreenAI;
#endif
-#if BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
if (sandbox_string == switches::kVideoCaptureSandbox)
return Sandbox::kVideoCapture;
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
if (sandbox_string == switches::kHardwareVideoDecodingSandbox)
return Sandbox::kHardwareVideoDecoding;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc
index e299b057c580..8aced142b35b 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.cc
+++ b/www/chromium/files/patch-sandbox_policy_switches.cc
@@ -1,26 +1,26 @@
---- sandbox/policy/switches.cc.orig 2023-02-08 09:03:45 UTC
+--- sandbox/policy/switches.cc.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/switches.cc
-@@ -53,10 +53,10 @@ const char kWindowsSystemProxyResolverSandbox[] = "pro
+@@ -54,10 +54,10 @@ const char kFileUtilSandbox[] = "file_util";
const char kMirroringSandbox[] = "mirroring";
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
const char kHardwareVideoDecodingSandbox[] = "hardware_video_decoding";
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const char kHardwareVideoEncodingSandbox[] = "hardware_video_encoding";
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -103,7 +103,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
+@@ -104,7 +104,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
// Meant to be used as a browser-level switch for testing purposes only.
const char kNoSandbox[] = "no-sandbox";
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+const char kDisableUnveil[] = "disable-unveil";
+
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Instructs the zygote to launch without a sandbox. Processes forked from this
// type of zygote will apply their own custom sandboxes later.
const char kNoZygoteSandbox[] = "no-zygote-sandbox";
diff --git a/www/chromium/files/patch-sandbox_policy_switches.h b/www/chromium/files/patch-sandbox_policy_switches.h
index d6dfa987aae2..33479c2ecd93 100644
--- a/www/chromium/files/patch-sandbox_policy_switches.h
+++ b/www/chromium/files/patch-sandbox_policy_switches.h
@@ -1,25 +1,25 @@
---- sandbox/policy/switches.h.orig 2023-01-11 09:17:16 UTC
+--- sandbox/policy/switches.h.orig 2023-03-09 06:31:50 UTC
+++ sandbox/policy/switches.h
-@@ -56,10 +56,10 @@ SANDBOX_POLICY_EXPORT extern const char kWindowsSystem
+@@ -57,10 +57,10 @@ SANDBOX_POLICY_EXPORT extern const char kFileUtilSandb
SANDBOX_POLICY_EXPORT extern const char kMirroringSandbox[];
#endif // BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
SANDBOX_POLICY_EXPORT extern const char kHardwareVideoDecodingSandbox[];
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
SANDBOX_POLICY_EXPORT extern const char kHardwareVideoEncodingSandbox[];
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -81,7 +81,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
+@@ -82,7 +82,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[];
SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[];
SANDBOX_POLICY_EXPORT extern const char kNoSandbox[];
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+SANDBOX_POLICY_EXPORT extern const char kDisableUnveil[];
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[];
#endif
#if BUILDFLAG(IS_WIN)
diff --git a/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc b/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc
index 33d6c9fcd016..9824172f47c1 100644
--- a/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc
+++ b/www/chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc
@@ -1,28 +1,28 @@
---- services/cert_verifier/cert_verifier_creation.cc.orig 2022-11-30 08:12:58 UTC
+--- services/cert_verifier/cert_verifier_creation.cc.orig 2023-03-09 06:31:50 UTC
+++ services/cert_verifier/cert_verifier_creation.cc
@@ -12,7 +12,7 @@
#include "net/cert_net/cert_net_fetcher_url_request.h"
#include "net/net_buildflags.h"
-#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "net/cert/cert_verify_proc_builtin.h"
#include "net/cert/internal/system_trust_store.h"
#endif
@@ -89,7 +89,7 @@ class OldDefaultCertVerifyProcFactory : public net::Ce
user_slot_restriction_ ? crypto::ScopedPK11Slot(PK11_ReferenceSlot(
user_slot_restriction_.get()))
: nullptr));
-#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
verify_proc = net::CreateCertVerifyProcBuiltin(
std::move(cert_net_fetcher), net::CreateSslSystemTrustStore());
#else
-@@ -212,6 +212,7 @@ std::unique_ptr<net::CertVerifierWithUpdatableProc> Cr
+@@ -219,6 +219,7 @@ std::unique_ptr<net::CertVerifierWithUpdatableProc> Cr
bool IsUsingCertNetFetcher() {
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
+ BUILDFLAG(IS_BSD) || \
BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \
BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
return true;
diff --git a/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
index 04fa36251753..aa1c4eaebc8c 100644
--- a/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
+++ b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc
@@ -1,11 +1,11 @@
---- services/device/geolocation/location_arbitrator.cc.orig 2023-02-08 09:03:45 UTC
+--- services/device/geolocation/location_arbitrator.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/geolocation/location_arbitrator.cc
-@@ -158,7 +158,7 @@ LocationArbitrator::NewNetworkLocationProvider(
+@@ -159,7 +159,7 @@ LocationArbitrator::NewNetworkLocationProvider(
std::unique_ptr<LocationProvider>
LocationArbitrator::NewSystemLocationProvider() {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
return nullptr;
#else
return device::NewSystemLocationProvider(main_task_runner_,
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
index 590b1dbc5c78..2eeb889c5484 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc
@@ -1,221 +1,219 @@
---- services/device/hid/hid_connection_fido.cc.orig 2022-10-28 16:39:00 UTC
+--- services/device/hid/hid_connection_fido.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/hid/hid_connection_fido.cc
-@@ -0,0 +1,218 @@
+@@ -0,0 +1,216 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/hid/hid_connection_fido.h"
+
+#include <errno.h>
+#include <sys/ioctl.h>
+
+#include <memory>
+#include <string>
+#include <utility>
+
-+#include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
+#include "base/memory/ref_counted_memory.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/sequenced_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_service.h"
+
+namespace device {
+
+class HidConnectionFido::BlockingTaskRunnerHelper {
+ public:
+ BlockingTaskRunnerHelper(base::ScopedFD fd,
+ scoped_refptr<HidDeviceInfo> device_info,
+ base::WeakPtr<HidConnectionFido> connection)
+ : fd_(std::move(fd)),
+ connection_(connection),
-+ origin_task_runner_(base::SequencedTaskRunnerHandle::Get()) {
++ origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ // Report buffers must always have room for the report ID.
+ report_buffer_size_ = device_info->max_input_report_size() + 1;
+ has_report_id_ = device_info->has_report_id();
+ }
+
+ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
+ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
+ ~BlockingTaskRunnerHelper() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ }
+
+ // Starts the FileDescriptorWatcher that reads input events from the device.
+ // Must be called on a thread that has a base::MessageLoopForIO.
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
+ fd_.get(), base::BindRepeating(
+ &BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
+ base::Unretained(this)));
+ }
+
+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
+ auto data = buffer->front();
+ size_t size = buffer->size();
+ // if report id is 0, it shouldn't be included
+ if (data[0] == 0) {
+ data++;
+ size--;
+ }
+
+ ssize_t result =
+ HANDLE_EINTR(write(fd_.get(), data, size));
+ if (result < 0) {
+ HID_PLOG(EVENT) << "Write failed";
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), false));
+ } else {
+ if (static_cast<size_t>(result) != size) {
+ HID_LOG(EVENT) << "Incomplete HID write: " << result
+ << " != " << buffer->size();
+ }
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), true));
+ }
+ }
+
+ void GetFeatureReport(uint8_t report_id,
+ scoped_refptr<base::RefCountedBytes> buffer,
+ ReadCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ HID_PLOG(EVENT) << "GendFeatureReport not implemented on OpenBSD";
+ origin_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), false, nullptr, 0));
+ }
+
+ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD";
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), false));
+ }
+
+ private:
+ void OnFileCanReadWithoutBlocking() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ auto buffer =
+ base::MakeRefCounted<base::RefCountedBytes>(report_buffer_size_);
+ uint8_t* data = buffer->front();
+ size_t length = report_buffer_size_;
+ if (!has_report_id_) {
+ // Fido will not prefix the buffer with a report ID if report IDs are not
+ // used by the device. Prefix the buffer with 0.
+ *data++ = 0;
+ length--;
+ }
+
+ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length));
+ if (bytes_read < 0) {
+ if (errno != EAGAIN) {
+ HID_PLOG(EVENT) << "Read failed";
+ // This assumes that the error is unrecoverable and disables reading
+ // from the device until it has been re-opened.
+ // TODO(reillyg): Investigate starting and stopping the file descriptor
+ // watcher in response to pending read requests so that per-request
+ // errors can be returned to the client.
+ file_watcher_.reset();
+ }
+ return;
+ }
+ if (!has_report_id_) {
+ // Behave as if the byte prefixed above as the the report ID was read.
+ bytes_read++;
+ }
+
+ origin_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&HidConnectionFido::ProcessInputReport,
+ connection_, buffer, bytes_read));
+ }
+
+ SEQUENCE_CHECKER(sequence_checker_);
+ base::ScopedFD fd_;
+ size_t report_buffer_size_;
+ bool has_report_id_;
+ base::WeakPtr<HidConnectionFido> connection_;
+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
+};
+
+HidConnectionFido::HidConnectionFido(
+ scoped_refptr<HidDeviceInfo> device_info,
+ base::ScopedFD fd,
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
+ bool allow_protected_reports,
+ bool allow_fido_reports)
+ : HidConnection(device_info, allow_protected_reports, allow_fido_reports),
+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)),
+ blocking_task_runner_(std::move(blocking_task_runner)) {
+ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info,
+ weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
+ base::Unretained(helper_.get())));
+}
+
+HidConnectionFido::~HidConnectionFido() {}
+
+void HidConnectionFido::PlatformClose() {
+ // By closing the device on the blocking task runner 1) the requirement that
+ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied
+ // and 2) any tasks posted to this task runner that refer to this file will
+ // complete before it is closed.
+ helper_.reset();
+}
+
+void HidConnectionFido::PlatformWrite(
+ scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ // Fido expects the first byte of the buffer to always be a report ID so the
+ // buffer can be used directly.
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Write,
+ base::Unretained(helper_.get()), buffer,
+ std::move(callback)));
+}
+
+void HidConnectionFido::PlatformGetFeatureReport(uint8_t report_id,
+ ReadCallback callback) {
+ // The first byte of the destination buffer is the report ID being requested
+ // and is overwritten by the feature report.
+ DCHECK_GT(device_info()->max_feature_report_size(), 0u);
+ auto buffer = base::MakeRefCounted<base::RefCountedBytes>(
+ device_info()->max_feature_report_size() + 1);
+ buffer->data()[0] = report_id;
+
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport,
+ base::Unretained(helper_.get()), report_id,
+ buffer, std::move(callback)));
+}
+
+void HidConnectionFido::PlatformSendFeatureReport(
+ scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ // Fido expects the first byte of the buffer to always be a report ID so the
+ // buffer can be used directly.
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport,
+ base::Unretained(helper_.get()), buffer,
+ std::move(callback)));
+}
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
index ae990e29ff3d..3c93ac54f58c 100644
--- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc
@@ -1,245 +1,243 @@
---- services/device/hid/hid_connection_freebsd.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_connection_freebsd.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/hid/hid_connection_freebsd.cc
-@@ -0,0 +1,242 @@
+@@ -0,0 +1,240 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/hid/hid_connection_freebsd.h"
+
+#include <dev/usb/usbhid.h>
+#include <dev/usb/usb_ioctl.h>
+
-+#include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
+#include "base/location.h"
+#include "base/numerics/safe_math.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/strings/stringprintf.h"
+#include "base/task/single_thread_task_runner.h"
+#include "base/threading/scoped_blocking_call.h"
+#include "base/threading/thread_restrictions.h"
-+#include "base/threading/thread_task_runner_handle.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_service.h"
+
+namespace device {
+
+class HidConnectionFreeBSD::BlockingTaskRunnerHelper {
+ public:
+ BlockingTaskRunnerHelper(base::ScopedFD fd,
+ scoped_refptr<HidDeviceInfo> device_info,
+ base::WeakPtr<HidConnectionFreeBSD> connection)
+ : fd_(std::move(fd)),
+ connection_(connection),
-+ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ // Report buffers must always have room for the report ID.
+ report_buffer_size_ = device_info->max_input_report_size() + 1;
+ has_report_id_ = device_info->has_report_id();
+ }
+
+ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
+ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
+ ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); }
+
+ // Starts the FileDescriptorWatcher that reads input events from the device.
+ // Must be called on a thread that has a base::MessageLoopForIO.
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::internal::AssertBlockingAllowed();
+
+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
+ fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
+ base::Unretained(this)));
+ }
+
+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
+ auto data = buffer->front();
+ size_t size = buffer->size();
+ // if report id is 0, it shouldn't be included
+ if (data[0] == 0) {
+ data++;
+ size--;
+ }
+
+ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size));
+ if (result < 0) {
+ HID_PLOG(EVENT) << "Write failed";
+ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false));
+ } else {
+ if (static_cast<size_t>(result) != size)
+ HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size;
+ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true));
+ }
+ }
+
+ void GetFeatureReport(uint8_t report_id,
+ scoped_refptr<base::RefCountedBytes> buffer,
+ ReadCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ struct usb_gen_descriptor ugd;
+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
+ ugd.ugd_data = buffer->front();
+ ugd.ugd_maxlen = buffer->size();
+ int result = HANDLE_EINTR(
+ ioctl(fd_.get(), USB_GET_REPORT, &ugd));
+ if (result < 0) {
+ HID_PLOG(EVENT) << "Failed to get feature report";
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), false, nullptr, 0));
+ } else if (result == 0) {
+ HID_LOG(EVENT) << "Get feature result too short.";
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), false, nullptr, 0));
+ } else {
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), true, buffer, result));
+ }
+ }
+
+ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ struct usb_gen_descriptor ugd;
+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
+ ugd.ugd_data = buffer->front();
+ ugd.ugd_maxlen = buffer->size();
+ // FreeBSD does not require report id if it's not used
+ if (buffer->front()[0] == 0) {
+ ugd.ugd_data = buffer->front() + 1;
+ ugd.ugd_maxlen = buffer->size() - 1;
+ } else {
+ ugd.ugd_data = buffer->front();
+ ugd.ugd_maxlen = buffer->size();
+ }
+ int result = HANDLE_EINTR(
+ ioctl(fd_.get(), USB_SET_REPORT, &ugd));
+ if (result < 0) {
+ HID_PLOG(EVENT) << "Failed to send feature report";
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), false));
+ } else {
+ origin_task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(callback), true));
+ }
+ }
+
+ private:
+ void OnFileCanReadWithoutBlocking() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_));
+ unsigned char* data = buffer->front();
+ size_t length = report_buffer_size_;
+ if (!has_report_id_) {
+ // FreeBSD will not prefix the buffer with a report ID if report IDs are not
+ // used by the device. Prefix the buffer with 0.
+ *data++ = 0;
+ length--;
+ }
+
+ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length));
+ if (bytes_read < 0) {
+ if (errno != EAGAIN) {
+ HID_PLOG(EVENT) << "Read failed";
+ // This assumes that the error is unrecoverable and disables reading
+ // from the device until it has been re-opened.
+ // TODO(reillyg): Investigate starting and stopping the file descriptor
+ // watcher in response to pending read requests so that per-request
+ // errors can be returned to the client.
+ file_watcher_.reset();
+ }
+ return;
+ }
+ if (!has_report_id_) {
+ // Behave as if the byte prefixed above as the the report ID was read.
+ bytes_read++;
+ }
+
+ origin_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport,
+ connection_, buffer, bytes_read));
+ }
+
+ SEQUENCE_CHECKER(sequence_checker_);
+ base::ScopedFD fd_;
+ size_t report_buffer_size_;
+ bool has_report_id_;
+ base::WeakPtr<HidConnectionFreeBSD> connection_;
+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
+};
+
+HidConnectionFreeBSD::HidConnectionFreeBSD(
+ scoped_refptr<HidDeviceInfo> device_info,
+ base::ScopedFD fd,
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
+ bool allow_protected_reports,
+ bool allow_fido_reports)
+ : HidConnection(device_info, allow_protected_reports, allow_fido_reports),
+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)),
+ blocking_task_runner_(std::move(blocking_task_runner)) {
+ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info,
+ weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
+ base::Unretained(helper_.get())));
+}
+
+HidConnectionFreeBSD::~HidConnectionFreeBSD() {}
+
+void HidConnectionFreeBSD::PlatformClose() {
+ // By closing the device on the blocking task runner 1) the requirement that
+ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied
+ // and 2) any tasks posted to this task runner that refer to this file will
+ // complete before it is closed.
+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
+}
+
+void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&BlockingTaskRunnerHelper::Write, base::Unretained(helper_.get()),
+ buffer, std::move(callback)));
+}
+
+void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id,
+ ReadCallback callback) {
+ // The first byte of the destination buffer is the report ID being requested
+ // and is overwritten by the feature report.
+ DCHECK_GT(device_info()->max_feature_report_size(), 0u);
+ scoped_refptr<base::RefCountedBytes> buffer(
+ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1));
+ if (report_id != 0)
+ buffer->data()[0] = report_id;
+
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport,
+ base::Unretained(helper_.get()), report_id,
+ buffer, std::move(callback)));
+}
+
+void HidConnectionFreeBSD::PlatformSendFeatureReport(
+ scoped_refptr<base::RefCountedBytes> buffer,
+ WriteCallback callback) {
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport,
+ base::Unretained(helper_.get()), buffer, std::move(callback)));
+}
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.cc b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
index 25e9060cca88..a8583e40625b 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc
@@ -1,402 +1,399 @@
---- services/device/hid/hid_service_fido.cc.orig 2022-11-30 08:12:58 UTC
+--- services/device/hid/hid_service_fido.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/hid/hid_service_fido.cc
-@@ -0,0 +1,399 @@
+@@ -0,0 +1,396 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/hid/hid_service_fido.h"
+
+#include <fcntl.h>
+#include <poll.h>
+#include <stdint.h>
+
+#include <dlfcn.h>
+#include <fido.h>
+
+#include <limits>
+#include <memory>
+#include <string>
+#include <utility>
+
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/files/file.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/scoped_file.h"
+#include "base/location.h"
+#include "base/sequence_checker.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
+#include "base/strings/string_util.h"
+#include "base/task/sequenced_task_runner.h"
+#include "base/task/thread_pool.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/sequenced_task_runner_handle.h"
+#include "build/build_config.h"
+#include "build/chromeos_buildflags.h"
+#include "components/device_event_log/device_event_log.h"
+#include "device/udev_linux/scoped_udev.h"
+#include "device/udev_linux/udev_watcher.h"
+#include "services/device/hid/hid_connection_fido.h"
+
+namespace device {
+
+namespace {
+
+bool terrible_ping_kludge(int fd, const std::string &path) {
+ u_char data[256];
+ int i, n;
+ struct pollfd pfd;
+
+ for (i = 0; i < 4; i++) {
+ memset(data, 0, sizeof(data));
+ /* broadcast channel ID */
+ data[1] = 0xff;
+ data[2] = 0xff;
+ data[3] = 0xff;
+ data[4] = 0xff;
+ /* Ping command */
+ data[5] = 0x81;
+ /* One byte ping only, Vasili */
+ data[6] = 0;
+ data[7] = 1;
+ HID_LOG(EVENT) << "send ping " << i << " " << path;
+ if (write(fd, data, 64) == -1) {
+ HID_PLOG(ERROR) << "write " << path;
+ return false;
+ }
+ HID_LOG(EVENT) << "wait reply " << path;
+ memset(&pfd, 0, sizeof(pfd));
+ pfd.fd = fd;
+ pfd.events = POLLIN;
+ if ((n = poll(&pfd, 1, 100)) == -1) {
+ HID_PLOG(EVENT) << "poll " << path;
+ return false;
+ } else if (n == 0) {
+ HID_LOG(EVENT) << "timed out " << path;
+ continue;
+ }
+ if (read(fd, data, 64) == -1) {
+ HID_PLOG(ERROR) << "read " << path;
+ return false;
+ }
+ /*
+ * Ping isn't always supported on the broadcast channel,
+ * so we might get an error, but we don't care - we're
+ * synched now.
+ */
+ HID_LOG(EVENT) << "got reply " << path;
+ return true;
+ }
+ HID_LOG(ERROR) << "no response " << path;
+ return false;
+}
+
+// HID report descriptor for U2F interface. Copied from:
+// https://chromium.googlesource.com/chromiumos/platform2/+/c6c7e4e54fce11932fedaa3ea10236bf75d85a2b%5E%21/u2fd/u2fhid.cc
+// Apparently Chromium wants to see these bytes, but OpenBSD fido(4)
+// devices prohibit USB_GET_REPORT_DESC ioctl that could be used to
+// get the bytes from the USB device.
+constexpr uint8_t kU2fReportDesc[] = {
+ 0x06, 0xD0, 0xF1, /* Usage Page (FIDO Alliance), FIDO_USAGE_PAGE */
+ 0x09, 0x01, /* Usage (U2F HID Auth. Device) FIDO_USAGE_U2FHID */
+ 0xA1, 0x01, /* Collection (Application), HID_APPLICATION */
+ 0x09, 0x20, /* Usage (Input Report Data), FIDO_USAGE_DATA_IN */
+ 0x15, 0x00, /* Logical Minimum (0) */
+ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
+ 0x75, 0x08, /* Report Size (8) */
+ 0x95, 0x40, /* Report Count (64), HID_INPUT_REPORT_BYTES */
+ 0x81, 0x02, /* Input (Data, Var, Abs), Usage */
+ 0x09, 0x21, /* Usage (Output Report Data), FIDO_USAGE_DATA_OUT */
+ 0x15, 0x00, /* Logical Minimum (0) */
+ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */
+ 0x75, 0x08, /* Report Size (8) */
+ 0x95, 0x40, /* Report Count (64), HID_OUTPUT_REPORT_BYTES */
+ 0x91, 0x02, /* Output (Data, Var, Abs), Usage */
+ 0xC0 /* End Collection */
+};
+
+} // namespace
+
+struct HidServiceFido::ConnectParams {
+ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
+ bool allow_protected_reports,
+ bool allow_fido_reports,
+ ConnectCallback callback)
+ : device_info(std::move(device_info)),
+ allow_protected_reports(allow_protected_reports),
+ allow_fido_reports(allow_fido_reports),
+ callback(std::move(callback)),
-+ task_runner(base::SequencedTaskRunnerHandle::Get()),
++ task_runner(base::SequencedTaskRunner::GetCurrentDefault()),
+ blocking_task_runner(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
+ ~ConnectParams() {}
+
+ scoped_refptr<HidDeviceInfo> device_info;
+ bool allow_protected_reports;
+ bool allow_fido_reports;
+ ConnectCallback callback;
+ scoped_refptr<base::SequencedTaskRunner> task_runner;
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
+ base::ScopedFD fd;
+};
+
+class HidServiceFido::BlockingTaskRunnerHelper : public UdevWatcher::Observer {
+ public:
+ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFido> service)
+ : service_(std::move(service)),
-+ task_runner_(base::SequencedTaskRunnerHandle::Get()) {
++ task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ }
+
+ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
+ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
+ ~BlockingTaskRunnerHelper() override {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ }
+
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ void *library = dlopen("libudev.so", RTLD_NOW | RTLD_LOCAL);
+ if (library) {
+ dlclose(library);
+ watcher_ = UdevWatcher::StartWatching(this);
+ watcher_->EnumerateExistingDevices();
+ } else {
+ HID_LOG(ERROR) << "No udev available, failling back to single enumeration";
+ WalkFidoDevices(nullptr);
+ }
+
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_));
+ }
+
+ private:
+ void WalkFidoDevices(const char *name) {
+ fido_dev_info_t *devlist = NULL;
+ fido_dev_t *dev = NULL;
+ size_t devlist_len = 0, i;
+ const char *path;
+ int r;
+ const int MAX_FIDO_DEVICES = 256;
+
+ if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) {
+ HID_LOG(ERROR) << "fido_dev_info_new failed";
+ goto out;
+ }
+ if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, &devlist_len)) !=
+ FIDO_OK) {
+ HID_LOG(ERROR) << "fido_dev_info_manifest: " << fido_strerr(r);
+ goto out;
+ }
+
+ HID_LOG(EVENT) << "fido_dev_info_manifest found " << devlist_len
+ << " device(s)";
+
+ for (i = 0; i < devlist_len; i++) {
+ const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i);
+
+ if (di == NULL) {
+ HID_LOG(ERROR) << "fido_dev_info_ptr " << i << " failed";
+ continue;
+ }
+
+ if ((path = fido_dev_info_path(di)) == NULL) {
+ HID_LOG(ERROR) << "fido_dev_info_path " << i << " failed";
+ continue;
+ }
+
+ if (name != nullptr && !strcmp(path, name)) {
+ HID_LOG(EVENT) << "hotplug device " << i << ": " << path;
+ OnFidoDeviceAdded(di);
+ break;
+ }
+
+ HID_LOG(EVENT) << "trying device " << i << ": " << path;
+ if ((dev = fido_dev_new()) == NULL) {
+ HID_LOG(ERROR) << "fido_dev_new failed";
+ continue;
+ }
+
+ if ((r = fido_dev_open(dev, path)) != FIDO_OK) {
+ HID_LOG(ERROR) << "fido_dev_open failed " << path;
+ fido_dev_free(&dev);
+ continue;
+ }
+
+ fido_dev_close(dev);
+ fido_dev_free(&dev);
+
+ OnFidoDeviceAdded(di);
+ }
+ out:
+ if (devlist != NULL)
+ fido_dev_info_free(&devlist, MAX_FIDO_DEVICES);
+ }
+
+ void OnFidoDeviceAdded(const fido_dev_info_t *di) {
+ auto null_as_empty = [](const char *r) -> std::string {
+ return (r != nullptr) ? r : "";
+ };
+ std::string device_node(null_as_empty(fido_dev_info_path(di)));
+ std::vector<uint8_t> report_descriptor(
+ kU2fReportDesc, kU2fReportDesc + sizeof(kU2fReportDesc));
+
+ auto device_info = base::MakeRefCounted<HidDeviceInfo>(
+ device_node, /*physical_device_id*/"", fido_dev_info_vendor(di),
+ fido_dev_info_product(di), null_as_empty(fido_dev_info_product_string(di)),
+ null_as_empty(fido_dev_info_manufacturer_string(di)),
+ device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor,
+ device_node);
+
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&HidServiceFido::AddDevice, service_, device_info));
+ }
+
+ // UdevWatcher::Observer
+ void OnDeviceAdded(ScopedUdevDevicePtr device) override {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
+ const char* subsystem = udev_device_get_subsystem(device.get());
+ if (!subsystem || strcmp(subsystem, "fido") != 0)
+ return;
+
+ const char* device_path = udev_device_get_syspath(device.get());
+ if (!device_path)
+ return;
+
+ WalkFidoDevices(device_path);
+ }
+
+ void OnDeviceRemoved(ScopedUdevDevicePtr device) override {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+
+ const char* device_path = udev_device_get_syspath(device.get());
+ if (device_path) {
+ task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, service_,
+ std::string(device_path)));
+ }
+ }
+
+ void OnDeviceChanged(ScopedUdevDevicePtr) override {}
+
+ SEQUENCE_CHECKER(sequence_checker_);
+ std::unique_ptr<UdevWatcher> watcher_;
+
+ // This weak pointer is only valid when checked on this task runner.
+ base::WeakPtr<HidServiceFido> service_;
+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
+};
+
+HidServiceFido::HidServiceFido()
+ : blocking_task_runner_(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) {
+ // We need to properly initialize |blocking_task_helper_| here because we need
+ // |weak_factory_| to be created first.
+ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
+ base::Unretained(helper_.get())));
+}
+
+HidServiceFido::~HidServiceFido() = default;
+
+base::WeakPtr<HidService> HidServiceFido::GetWeakPtr() {
+ return weak_factory_.GetWeakPtr();
+}
+
+void HidServiceFido::Connect(const std::string& device_guid,
+ bool allow_protected_reports,
+ bool allow_fido_reports,
+ ConnectCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ const auto& map_entry = devices().find(device_guid);
+ if (map_entry == devices().end()) {
-+ base::SequencedTaskRunnerHandle::Get()->PostTask(
++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
+ return;
+ }
+ scoped_refptr<HidDeviceInfo> device_info = map_entry->second;
+
+ auto params =
+ std::make_unique<ConnectParams>(device_info, allow_protected_reports,
+ allow_fido_reports, std::move(callback));
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
+ params->blocking_task_runner;
+ blocking_task_runner->PostTask(
+ FROM_HERE, base::BindOnce(&HidServiceFido::OpenOnBlockingThread,
+ std::move(params)));
+}
+
+// static
+void HidServiceFido::OpenOnBlockingThread(
+ std::unique_ptr<ConnectParams> params) {
+ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
+ base::BlockingType::MAY_BLOCK);
+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
+
+ base::FilePath device_path(params->device_info->device_node());
+ base::File device_file;
+ int flags =
+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
+ device_file.Initialize(device_path, flags);
+ if (!device_file.IsValid()) {
+ base::File::Error file_error = device_file.error_details();
+
+ if (file_error == base::File::FILE_ERROR_ACCESS_DENIED) {
+ HID_LOG(EVENT)
+ << "Access denied opening device read-write, trying read-only.";
+ flags = base::File::FLAG_OPEN | base::File::FLAG_READ;
+ device_file.Initialize(device_path, flags);
+ }
+ }
+ if (!device_file.IsValid()) {
+ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node()
+ << "': "
+ << base::File::ErrorToString(device_file.error_details());
+ task_runner->PostTask(FROM_HERE,
+ base::BindOnce(std::move(params->callback), nullptr));
+ return;
+ }
+ if (!terrible_ping_kludge(device_file.GetPlatformFile(), params->device_info->device_node())) {
+ HID_LOG(EVENT) << "Failed to ping " << params->device_info->device_node();
+ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr));
+ return;
+ }
+ params->fd.reset(device_file.TakePlatformFile());
+
+ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::FinishOpen,
+ std::move(params)));
+}
+
+// static
+void HidServiceFido::FinishOpen(std::unique_ptr<ConnectParams> params) {
+ DCHECK(params->fd.is_valid());
+
+ if (!base::SetNonBlocking(params->fd.get())) {
+ HID_PLOG(DEBUG) << "Failed to set the non-blocking flag on the device fd";
+ std::move(params->callback).Run(nullptr);
+ return;
+ }
+
+ std::move(params->callback)
+ .Run(base::MakeRefCounted<HidConnectionFido>(
+ std::move(params->device_info), std::move(params->fd),
+ std::move(params->blocking_task_runner),
+ params->allow_protected_reports, params->allow_fido_reports));
+}
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
index 4ed1d48f5445..b1e75d4cd117 100644
--- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
+++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc
@@ -1,400 +1,398 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/hid/hid_service_freebsd.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/hid/hid_service_freebsd.cc
-@@ -0,0 +1,397 @@
+@@ -0,0 +1,395 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/hid/hid_service_freebsd.h"
+
+#include <dev/usb/usb_ioctl.h>
+#include <stdint.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+#include <set>
+#include <string>
+#include <vector>
+
-+#include "base/bind.h"
+#include "base/files/file_descriptor_watcher_posix.h"
+#include "base/files/file_enumerator.h"
+#include "base/files/file_util.h"
+#include "base/files/file.h"
+#include "base/location.h"
+#include "base/logging.h"
+#include "base/posix/eintr_wrapper.h"
+#include "base/stl_util.h"
+#include "base/strings/pattern.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/sys_string_conversions.h"
+#include "base/strings/string_util.h"
+#include "base/strings/string_split.h"
+#include "base/task/single_thread_task_runner.h"
+#include "base/task/thread_pool.h"
+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_task_runner_handle.h"
+#include "base/threading/thread_restrictions.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/hid/hid_connection_freebsd.h"
+
+const int kMaxPermissionChecks = 5;
+
+namespace device {
+
+struct HidServiceFreeBSD::ConnectParams {
+ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
+ bool allow_protected_reports,
+ bool allow_fido_reports,
+ ConnectCallback callback)
+ : device_info(std::move(device_info)),
+ allow_protected_reports(allow_protected_reports),
+ allow_fido_reports(allow_fido_reports),
+ callback(std::move(callback)),
-+ task_runner(base::ThreadTaskRunnerHandle::Get()),
++ task_runner(base::SequencedTaskRunner::GetCurrentDefault()),
+ blocking_task_runner(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
+ ~ConnectParams() {}
+
+ scoped_refptr<HidDeviceInfo> device_info;
+ bool allow_protected_reports;
+ bool allow_fido_reports;
+ ConnectCallback callback;
+ scoped_refptr<base::SequencedTaskRunner> task_runner;
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
+ base::ScopedFD fd;
+};
+
+class HidServiceFreeBSD::BlockingTaskRunnerHelper {
+ public:
+ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFreeBSD> service)
+ : service_(std::move(service)),
-+ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+
+ timer_.reset(new base::RepeatingTimer());
+ devd_buffer_ = new net::IOBufferWithSize(1024);
+ }
+
+ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete;
+ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete;
+
+ ~BlockingTaskRunnerHelper() {
+ }
+
+ void Start() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ const base::FilePath kDevRoot("/dev");
+ const std::string kUHIDPattern("/dev/uhid*");
+
+ base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES);
+ do {
+ const base::FilePath next_device_path(enumerator.Next());
+ const std::string next_device = next_device_path.value();
+ if (next_device.empty())
+ break;
+
+ if (base::MatchPattern(next_device, kUHIDPattern))
+ OnDeviceAdded(next_device.substr(5));
+ } while (true);
+
+ SetupDevdMonitor();
+
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&HidServiceFreeBSD::FirstEnumerationComplete, service_));
+ }
+
+ bool HaveReadWritePermissions(std::string device_id) {
+ std::string device_node = "/dev/" + device_id;
+ base::internal::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
+ int flags =
+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
+ device_file.Initialize(device_path, flags);
+ if (!device_file.IsValid())
+ return false;
+
+ return true;
+ }
+
+ void OnDeviceAdded(std::string device_id) {
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ std::string device_node = "/dev/" + device_id;
+ uint16_t vendor_id = 0xffff;
+ uint16_t product_id = 0xffff;
+ std::string product_name = "";
+ std::string serial_number = "";
+
+ std::vector<uint8_t> report_descriptor;
+
+ base::internal::AssertBlockingAllowed();
+
+ base::FilePath device_path(device_node);
+ base::File device_file;
+ int flags =
+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
+ device_file.Initialize(device_path, flags);
+ if (!device_file.IsValid()) {
+ HID_LOG(ERROR) << "Failed to open '" << device_node
+ << "': "
+ << base::File::ErrorToString(device_file.error_details());
+ return;
+ }
+
+ base::ScopedFD fd;
+ fd.reset(device_file.TakePlatformFile());
+
+ struct usb_gen_descriptor ugd;
+ ugd.ugd_data = NULL;
+ ugd.ugd_maxlen = 0xffff;
+ int result = HANDLE_EINTR(
+ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
+
+ if (result < 0) {
+ HID_LOG(ERROR) << "Failed to get report descriptor size";
+ return;
+ }
+
+ report_descriptor.resize(ugd.ugd_actlen);
+
+ ugd.ugd_data = report_descriptor.data();
+ ugd.ugd_maxlen = ugd.ugd_actlen;
+ result = HANDLE_EINTR(
+ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
+
+ if (result < 0) {
+ HID_LOG(ERROR) << "Failed to get report descriptor";
+ return;
+ }
+
+ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo(
+ device_id,
+ /*physical_device_id*/"",
+ vendor_id,
+ product_id,
+ product_name,
+ serial_number,
+ device::mojom::HidBusType::kHIDBusTypeUSB,
+ report_descriptor,
+ device_node));
+
+ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice,
+ service_, device_info));
+ }
+
+ void OnDeviceRemoved(std::string device_id) {
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::RemoveDevice, service_,
+ device_id));
+ }
+
+ private:
+
+ void CheckPendingPermissionChange() {
+ base::internal::AssertBlockingAllowed();
+ std::map<std::string, int>::iterator it;
+ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) {
+ std::string device_name = it->first;
+ bool keep = true;
+ if (HaveReadWritePermissions(device_name)) {
+ OnDeviceAdded(device_name);
+ keep = false;
+ }
+ else if (it->second-- <= 0) {
+ HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name
+ << "' after " << kMaxPermissionChecks << " attempts";
+ keep = false;
+ }
+
+ if (keep)
+ ++it;
+ else
+ permissions_checks_attempts_.erase(it++);
+ }
+
+ if (permissions_checks_attempts_.empty())
+ timer_->Stop();
+ }
+
+ void SetupDevdMonitor() {
+ base::internal::AssertBlockingAllowed();
+
+ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
+ if (devd_fd < 0)
+ return;
+
+ struct sockaddr_un sa;
+
+ sa.sun_family = AF_UNIX;
+ strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path));
+ if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
+ close(devd_fd);
+ return;
+ }
+
+ devd_fd_.reset(devd_fd);
+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
+ devd_fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead,
+ base::Unretained(this)));
+ }
+
+ void OnDevdMessageCanBeRead() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(),
+ devd_buffer_->size() - 1, MSG_WAITALL));
+ if (bytes_read < 0) {
+ if (errno != EAGAIN) {
+ HID_LOG(ERROR) << "Read failed";
+ file_watcher_.reset();
+ }
+ return;
+ }
+
+ devd_buffer_->data()[bytes_read] = 0;
+ char *data = devd_buffer_->data();
+ // It may take some time for devd to change permissions
+ // on /dev/uhidX node. So do not fail immediately if
+ // open fail. Retry each second for kMaxPermissionChecks
+ // times before giving up entirely
+ if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) {
+ std::vector<std::string> parts = base::SplitString(
+ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ if (!parts.empty()) {
+ std::string device_name = parts[0].substr(1); // skip '+'
+ if (HaveReadWritePermissions(device_name))
+ OnDeviceAdded(parts[0].substr(1));
+ else {
+ // Do not re-add to checks
+ if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) {
+ permissions_checks_attempts_.insert(std::pair<std::string, int>(device_name, kMaxPermissionChecks));
+ timer_->Start(FROM_HERE, base::Seconds(1),
+ this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange);
+ }
+ }
+ }
+ }
+
+ if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) {
+ std::vector<std::string> parts = base::SplitString(
+ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
+ if (!parts.empty()) {
+ std::string device_name = parts[0].substr(1); // skip '-'
+ auto it = permissions_checks_attempts_.find(device_name);
+ if (it != permissions_checks_attempts_.end()) {
+ permissions_checks_attempts_.erase(it);
+ if (permissions_checks_attempts_.empty())
+ timer_->Stop();
+ }
+ OnDeviceRemoved(parts[0].substr(1));
+ }
+ }
+ }
+
+ SEQUENCE_CHECKER(sequence_checker_);
+
+ // This weak pointer is only valid when checked on this task runner.
+ base::WeakPtr<HidServiceFreeBSD> service_;
+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
+ std::unique_ptr<base::RepeatingTimer> timer_;
+ base::ScopedFD devd_fd_;
+ scoped_refptr<net::IOBufferWithSize> devd_buffer_;
+ std::map<std::string, int> permissions_checks_attempts_;
+};
+
+HidServiceFreeBSD::HidServiceFreeBSD()
+ : blocking_task_runner_(
+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) {
+ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr()));
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
+ base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get())));
+}
+
+HidServiceFreeBSD::~HidServiceFreeBSD() {
+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
+}
+
+base::WeakPtr<HidService> HidServiceFreeBSD::GetWeakPtr() {
+ return weak_factory_.GetWeakPtr();
+}
+
+// static
+void HidServiceFreeBSD::OpenOnBlockingThread(
+ std::unique_ptr<ConnectParams> params) {
+ base::ScopedBlockingCall scoped_blocking_call(
+ FROM_HERE, base::BlockingType::MAY_BLOCK);
+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
+
+ base::FilePath device_path(params->device_info->device_node());
+ base::File device_file;
+ int flags =
+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
+ device_file.Initialize(device_path, flags);
+ if (!device_file.IsValid()) {
+ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node()
+ << "': "
+ << base::File::ErrorToString(device_file.error_details());
+ task_runner->PostTask(FROM_HERE,
+ base::BindOnce(std::move(params->callback), nullptr));
+ return;
+ }
+ params->fd.reset(device_file.TakePlatformFile());
+ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen,
+ std::move(params)));
+}
+
+void HidServiceFreeBSD::Connect(const std::string& device_guid,
+ bool allow_protected_reports,
+ bool allow_fido_reports,
+ ConnectCallback callback) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ const auto& map_entry = devices().find(device_guid);
+ if (map_entry == devices().end()) {
-+ base::ThreadTaskRunnerHandle::Get()->PostTask(
++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
+ return;
+ }
+
+ scoped_refptr<HidDeviceInfo> device_info = map_entry->second;
+
+ auto params = std::make_unique<ConnectParams>(device_info,
+ allow_protected_reports,
+ allow_fido_reports,
+ std::move(callback));
+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
+ params->blocking_task_runner;
+
+ blocking_task_runner->PostTask(
+ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread,
+ std::move(params)));
+}
+
+// static
+void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) {
+ DCHECK(params->fd.is_valid());
+
+ if (!base::SetNonBlocking(params->fd.get())) {
+ HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd";
+ std::move(params->callback).Run(nullptr);
+ }
+
+ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFreeBSD>(
+ std::move(params->device_info),
+ std::move(params->fd),
+ std::move(params->blocking_task_runner),
+ params->allow_protected_reports,
+ params->allow_fido_reports
+ ));
+}
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_device_public_mojom_BUILD.gn b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn
index 986b8970cac5..4c2b8983bf22 100644
--- a/www/chromium/files/patch-services_device_public_mojom_BUILD.gn
+++ b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn
@@ -1,11 +1,11 @@
---- services/device/public/mojom/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- services/device/public/mojom/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ services/device/public/mojom/BUILD.gn
-@@ -88,7 +88,7 @@ mojom("device_service") {
+@@ -89,7 +89,7 @@ mojom("device_service") {
disable_variants = true
enabled_features = []
- if ((is_linux || is_chromeos) && use_udev) {
+ if ((is_linux || is_chromeos) && !is_bsd && use_udev) {
enabled_features += [ "enable_input_device_manager" ]
}
diff --git a/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc b/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
index 88202dc0ac11..9031e70940e0 100644
--- a/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
+++ b/www/chromium/files/patch-services_device_serial_serial__device__enumerator.cc
@@ -1,20 +1,20 @@
---- services/device/serial/serial_device_enumerator.cc.orig 2022-05-19 14:06:27 UTC
+--- services/device/serial/serial_device_enumerator.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/serial/serial_device_enumerator.cc
-@@ -11,7 +11,7 @@
+@@ -12,7 +12,7 @@
#include "build/build_config.h"
#include "components/device_event_log/device_event_log.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "services/device/serial/serial_device_enumerator_linux.h"
#elif BUILDFLAG(IS_MAC)
#include "services/device/serial/serial_device_enumerator_mac.h"
-@@ -24,7 +24,7 @@ namespace device {
+@@ -25,7 +25,7 @@ namespace device {
// static
std::unique_ptr<SerialDeviceEnumerator> SerialDeviceEnumerator::Create(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
return SerialDeviceEnumeratorLinux::Create();
#elif BUILDFLAG(IS_MAC)
return std::make_unique<SerialDeviceEnumeratorMac>();
diff --git a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
index 4fdce4ce7f02..7b908151bdef 100644
--- a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
+++ b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc
@@ -1,11 +1,11 @@
---- services/device/serial/serial_io_handler_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- services/device/serial/serial_io_handler_posix.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/serial/serial_io_handler_posix.cc
-@@ -67,7 +67,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
+@@ -68,7 +68,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
BITRATE_TO_SPEED_CASE(9600)
BITRATE_TO_SPEED_CASE(19200)
BITRATE_TO_SPEED_CASE(38400)
-#if !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
BITRATE_TO_SPEED_CASE(57600)
BITRATE_TO_SPEED_CASE(115200)
BITRATE_TO_SPEED_CASE(230400)
diff --git a/www/chromium/files/patch-services_device_usb_usb__service__fake.cc b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc
index 0ca04b12762e..dd8e89a9ce71 100644
--- a/www/chromium/files/patch-services_device_usb_usb__service__fake.cc
+++ b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc
@@ -1,54 +1,52 @@
---- services/device/usb/usb_service_fake.cc.orig 2022-10-29 13:32:26 UTC
+--- services/device/usb/usb_service_fake.cc.orig 2023-03-09 06:31:50 UTC
+++ services/device/usb/usb_service_fake.cc
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,49 @@
+// Copyright 2014 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/usb/usb_service_fake.h"
+
+#include <stdint.h>
+
+#include <list>
+#include <memory>
+#include <set>
+#include <utility>
+
+#include "base/barrier_closure.h"
-+#include "base/bind.h"
-+#include "base/callback_helpers.h"
+#include "base/containers/contains.h"
+#include "base/location.h"
+#include "base/memory/ref_counted_memory.h"
+#include "base/memory/weak_ptr.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/task/sequenced_task_runner.h"
+#include "base/task/single_thread_task_runner.h"
+#include "base/task/thread_pool.h"
+#include "base/threading/scoped_blocking_call.h"
+#include "build/build_config.h"
+#include "components/device_event_log/device_event_log.h"
+#include "services/device/usb/usb_device_handle.h"
+#include "services/device/usb/usb_error.h"
+#include "services/device/usb/webusb_descriptors.h"
+
+namespace device {
+
+UsbServiceImpl::UsbServiceImpl()
-+ : task_runner_(base::SequencedTaskRunnerHandle::Get()) {
++ : task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {
+ NOTIMPLEMENTED();
+}
+
+UsbServiceImpl::~UsbServiceImpl() {
+ NOTIMPLEMENTED();
+ NotifyWillDestroyUsbService();
+}
+
+void UsbServiceImpl::GetDevices(GetDevicesCallback callback) {
+ NOTIMPLEMENTED();
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ UsbService::GetDevices(std::move(callback));
+}
+
+} // namespace device
diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn
index 9a55ebe8b177..c1438217fc85 100644
--- a/www/chromium/files/patch-services_network_BUILD.gn
+++ b/www/chromium/files/patch-services_network_BUILD.gn
@@ -1,10 +1,10 @@
---- services/network/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- services/network/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ services/network/BUILD.gn
-@@ -334,7 +334,6 @@ if (is_linux || is_chromeos) {
+@@ -337,7 +337,6 @@ if (is_linux || is_chromeos) {
]
deps = [
"//base:base",
- "//sandbox/linux:sandbox_services",
"//sandbox/policy:policy",
]
}
diff --git a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
index cdf01cc60b82..d4d28170a9c0 100644
--- a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
+++ b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom
@@ -1,15 +1,15 @@
---- services/video_capture/public/mojom/video_capture_service.mojom.orig 2022-08-31 12:19:35 UTC
+--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2023-03-09 06:31:50 UTC
+++ services/video_capture/public/mojom/video_capture_service.mojom
-@@ -24,10 +24,10 @@ interface AcceleratorFactory {
+@@ -25,10 +25,10 @@ interface AcceleratorFactory {
pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda);
};
-[EnableIf=is_fuchsia]
+[EnableIf=is_openbsd]
const sandbox.mojom.Sandbox kVideoCaptureSandbox
= sandbox.mojom.Sandbox.kVideoCapture;
-[EnableIfNot=is_fuchsia]
+[EnableIfNot=is_openbsd]
const sandbox.mojom.Sandbox kVideoCaptureSandbox
= sandbox.mojom.Sandbox.kNoSandbox;
diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc
new file mode 100644
index 000000000000..037702593296
--- /dev/null
+++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc
@@ -0,0 +1,16 @@
+--- third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig 2023-03-09 06:31:50 UTC
++++ third_party/abseil-cpp/absl/base/internal/raw_logging.cc
+@@ -52,10 +52,12 @@
+ // ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
+ // syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
+ // for low level operations that want to avoid libc.
+-#if (defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \
++#if (defined(__linux__) || defined(__FreeBSD__)) && \
+ !defined(__ANDROID__)
+ #include <sys/syscall.h>
+ #define ABSL_HAVE_SYSCALL_WRITE 1
++#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
++#elif defined(__OpenBSD__)
+ #define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1
+ #else
+ #undef ABSL_HAVE_SYSCALL_WRITE
diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn
index 5052b3d84392..df5d766f3032 100644
--- a/www/chromium/files/patch-third__party_angle_BUILD.gn
+++ b/www/chromium/files/patch-third__party_angle_BUILD.gn
@@ -1,47 +1,29 @@
---- third_party/angle/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- third_party/angle/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ third_party/angle/BUILD.gn
-@@ -279,7 +279,6 @@ config("extra_warnings") {
+@@ -280,7 +280,6 @@ config("extra_warnings") {
"-Wtautological-type-limit-compare",
"-Wundefined-reinterpret-cast",
"-Wunneeded-internal-declaration",
- "-Wunused-but-set-variable",
"-Wsuggest-destructor-override",
"-Wsuggest-override",
-@@ -465,7 +464,7 @@ angle_static_library("angle_common") {
- all_dependent_configs = [ ":angle_disable_pool_alloc" ]
- }
+@@ -464,7 +463,7 @@ template("angle_common_lib") {
+ all_dependent_configs = [ ":angle_disable_pool_alloc" ]
+ }
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- libs = [ "dl" ]
- }
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ libs = [ "dl" ]
+ }
-@@ -607,6 +606,9 @@ angle_static_library("angle_gpu_info_util") {
+@@ -619,6 +618,9 @@ angle_static_library("angle_gpu_info_util") {
"Xi",
"Xext",
]
+ if (is_bsd) {
+ libs += [ "GL" ]
+ }
}
if (angle_use_wayland && angle_has_build) {
-@@ -1092,12 +1094,12 @@ if (angle_use_wayland) {
- "wayland-client",
- "wayland-egl",
- ]
-+ } else {
-+ include_dirs = [
-+ "$wayland_dir/egl",
-+ "$wayland_dir/src",
-+ ]
- }
--
-- include_dirs = [
-- "$wayland_dir/egl",
-- "$wayland_dir/src",
-- ]
- }
-
- group("angle_wayland") {
diff --git a/www/chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn b/www/chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn
deleted file mode 100644
index fd2cae225029..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/common/vulkan/BUILD.gn.orig 2022-09-01 05:13:41 UTC
-+++ third_party/angle/src/common/vulkan/BUILD.gn
-@@ -33,7 +33,7 @@ if (angle_enable_vulkan || angle_build_vulkan_system_i
- if (angle_shared_libvulkan) {
- defines = [ "ANGLE_SHARED_LIBVULKAN=1" ]
- }
-- if (angle_use_wayland) {
-+ if (angle_use_wayland && !use_system_libwayland) {
- include_dirs = [ "$wayland_dir/src" ]
- }
- configs = [ "$angle_root:angle_vulkan_wayland_config" ]
diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
index 72ba66b76970..eb0fd0e14172 100644
--- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
+++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
@@ -1,11 +1,11 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-10-24 13:33:33 UTC
+--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/angle/src/libANGLE/renderer/driver_utils.h
-@@ -200,7 +200,7 @@ inline bool IsWindows()
+@@ -206,7 +206,7 @@ inline bool IsWindows()
inline bool IsLinux()
{
-#if defined(ANGLE_PLATFORM_LINUX)
+#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
return true;
#else
return false;
diff --git a/www/chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn b/www/chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn
deleted file mode 100644
index 54087977206b..000000000000
--- a/www/chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/third_party/volk/BUILD.gn.orig 2022-09-25 07:07:39 UTC
-+++ third_party/angle/src/third_party/volk/BUILD.gn
-@@ -20,7 +20,7 @@ source_set("volk") {
- public_configs = [ ":volk_config" ]
- configs += [ "$angle_root:angle_no_cfi_icall" ]
- public_deps = [ "$angle_vulkan_headers_dir:vulkan_headers" ]
-- if (angle_use_wayland) {
-+ if (angle_use_wayland && !use_system_libwayland) {
- include_dirs = [ "$wayland_dir/src" ]
- }
- }
diff --git a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
index 7d7012434f8f..82e9412a76f8 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
@@ -1,35 +1,35 @@
---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-01-11 09:17:16 UTC
+--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/controller/blink_initializer.cc
@@ -73,12 +73,12 @@
- #include "third_party/blink/renderer/controller/oom_intervention_impl.h"
+ #include "third_party/blink/renderer/controller/private_memory_footprint_provider.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h"
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "third_party/blink/renderer/controller/highest_pmf_reporter.h"
#include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h"
#endif
-@@ -226,7 +226,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
+@@ -208,7 +208,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
main_thread_task_runner);
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
binders.Add<mojom::blink::MemoryUsageMonitorLinux>(
ConvertToBaseRepeatingCallback(
CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
-@@ -259,7 +259,7 @@ void BlinkInitializer::RegisterMemoryWatchers() {
+@@ -241,7 +241,7 @@ void BlinkInitializer::RegisterMemoryWatchers() {
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
UserLevelMemoryPressureSignalGenerator::Initialize(main_thread_task_runner);
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
index 4297a55b2180..6d59a14321b9 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2022-02-28 16:54:41 UTC
+--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/core/editing/editing_behavior.cc
-@@ -280,7 +280,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb
+@@ -281,7 +281,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb
// unexpected behaviour
if (ch < ' ')
return false;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// According to XKB map no keyboard combinations with ctrl key are mapped to
// printable characters, however we need the filter as the DomKey/text could
// contain printable characters.
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
index 92113d031a7f..a1023ce63071 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
@@ -1,20 +1,20 @@
---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -408,7 +408,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
+@@ -407,7 +407,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
const blink::RendererPreferences& prefs) {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
if (!prefs.should_antialias_text) {
// When anti-aliasing is off, GTK maps all non-zero hinting settings to
// 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight'
-@@ -3296,7 +3296,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+@@ -3295,7 +3295,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
renderer_preferences_.use_subpixel_positioning);
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \
!BUILDFLAG(IS_ANDROID)
if (!renderer_preferences_.system_font_family_name.empty()) {
WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8(
diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
index dce53a1d81ac..4625e0691a6d 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc
@@ -1,20 +1,20 @@
---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/core/frame/web_frame_test.cc
-@@ -6451,7 +6451,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
+@@ -6452,7 +6452,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
MoveCaretStaysHorizontallyAlignedWhenMoved
#endif
// TODO(crbug.com/1317375): Build these tests on all platforms.
-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
TEST_F(WebFrameTest, MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved) {
RegisterMockedHttpURLLoad("move_caret.html");
-@@ -6848,7 +6848,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc
+@@ -6849,7 +6849,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc
TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) {
RunTest("composited_selection_bounds_large_selection_noscroll.html");
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#if !BUILDFLAG(IS_ANDROID)
TEST_F(CompositedSelectionBoundsTest, Input) {
web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16);
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
index 8e4808535174..dd8c249e4402 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc
-@@ -169,7 +169,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount
+@@ -174,7 +174,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount
~SharedXnnpackContext() {
base::AutoLock auto_lock(SharedXnnpackContextLock());
-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
// For Linux and ChromeOS, cpuinfo needs to parse /proc/cpuinfo to
// initialize in pre sandbox stage. Calling xnn_deinitialize() here will
// deinitialize cpuinfo within sandbox and cannot access /proc/cpuinfo
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
index 105c5ffee9b0..cd7937a89d67 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2022-11-30 08:12:58 UTC
+--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
-@@ -278,7 +278,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar
+@@ -290,7 +290,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar
SetupRenderer(kDefaultOutputDeviceId);
renderer_proxy_->Start();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
static const int kExpectedBufferSize = kHardwareSampleRate / 100;
#elif BUILDFLAG(IS_ANDROID)
static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
index 64b4ccc704e6..e76caccf9bfd 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -6161,7 +6161,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
+@@ -6231,7 +6231,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
constexpr bool kAllowZeroCopyImages = true;
#endif
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// TODO(crbug.com/1175907): Only TexImage2D seems to work with the GPU path on
// Android M -- appears to work fine on R, but to avoid regressions in <video>
// limit to TexImage2D only for now. Fails conformance test on Nexus 5X:
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
index f42348ad4045..f84011f04611 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/platform/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/platform/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/BUILD.gn
-@@ -1917,7 +1917,7 @@ static_library("test_support") {
+@@ -1924,7 +1924,7 @@ static_library("test_support") {
]
# fuzzed_data_provider may not work with a custom toolchain.
- if (custom_toolchain == "" && is_clang) {
+ if ((custom_toolchain == "" && is_clang) && !is_bsd) {
sources += [
"testing/fuzzed_data_provider.cc",
"testing/fuzzed_data_provider.h",
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
index fe69c2331c1e..b8d90a462134 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
@@ -1,47 +1,47 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2022-11-30 08:12:58 UTC
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/fonts/font_cache.h
@@ -57,7 +57,7 @@
#include "third_party/skia/include/core/SkFontMgr.h"
#include "third_party/skia/include/core/SkRefCnt.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "ui/gfx/font_fallback_linux.h"
#endif
-@@ -181,7 +181,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -180,7 +180,7 @@ class PLATFORM_EXPORT FontCache final {
static void PrewarmFamily(const AtomicString& family_name) {}
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// These are needed for calling QueryRenderStyleForStrike, since
// gfx::GetFontRenderParams makes distinctions based on DSF.
static float DeviceScaleFactor() { return device_scale_factor_; }
-@@ -265,7 +265,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -264,7 +264,7 @@ class PLATFORM_EXPORT FontCache final {
const char* locale_family_name);
#endif // BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
static bool GetFontForCharacter(UChar32,
const char* preferred_locale,
gfx::FallbackFontData*);
-@@ -345,7 +345,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -344,7 +344,7 @@ class PLATFORM_EXPORT FontCache final {
const FontFaceCreationParams&,
std::string& name);
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
@@ -387,7 +387,7 @@ class PLATFORM_EXPORT FontCache final {
std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
static float device_scale_factor_;
#endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
index 3e40fa2407ad..10e709c0dec5 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
@@ -1,20 +1,20 @@
---- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/fonts/font_description.cc
@@ -39,7 +39,7 @@
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hasher.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#endif
-@@ -274,7 +274,7 @@ FontCacheKey FontDescription::CacheKey(
+@@ -275,7 +275,7 @@ FontCacheKey FontDescription::CacheKey(
static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3
static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
float device_scale_factor_for_key = FontCache::DeviceScaleFactor();
#else
float device_scale_factor_for_key = 1.0f;
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
index 6af46f3fc269..dad533c90391 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
@@ -1,29 +1,29 @@
---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2022-03-25 21:59:56 UTC
+--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
@@ -60,7 +60,7 @@ AtomicString ToAtomicString(const SkString& str) {
return AtomicString::FromUTF8(str.c_str(), str.size());
}
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// This function is called on android or when we are emulating android fonts on
// linux and the embedder has overriden the default fontManager with
// WebFontRendering::setSkiaFontMgr.
-@@ -236,7 +236,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
+@@ -235,7 +235,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
}
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
// On linux if the fontManager has been overridden then we should be calling
// the embedder provided font Manager rather than calling
// SkTypeface::CreateFromName which may redirect the call to the default font
-@@ -263,7 +263,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
+@@ -262,7 +262,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
std::string name;
sk_sp<SkTypeface> typeface;
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool noto_color_emoji_from_gmscore = false;
#if BUILDFLAG(IS_ANDROID)
// Use the unique local matching pathway for fetching Noto Color Emoji Compat
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
index e92d6d2f592f..b11b502f641c 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
@@ -1,17 +1,17 @@
---- third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc
-@@ -193,12 +193,12 @@ SupportedFormats GetSupportedFormatsInternal(
+@@ -197,12 +197,12 @@ SupportedFormats GetSupportedFormatsInternal(
supported_formats.scalability_modes.push_back(profile.scalability_modes);
supported_formats.sdp_formats.push_back(std::move(*format));
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#if BUILDFLAG(IS_WIN)
const bool kShouldAddH264Cbp =
base::FeatureList::IsEnabled(kMediaFoundationH264CbpEncoding) &&
profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE;
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const bool kShouldAddH264Cbp =
profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE;
#endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
index 4dac8d1032ea..e14f2bbc48e7 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
@@ -1,44 +1,44 @@
---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1258,7 +1258,7 @@
+@@ -1347,7 +1347,7 @@
depends_on: ["FileSystemAccessLocal"],
status: {"Android": "test", "default": "stable"},
origin_trial_feature_name: "FileHandling",
- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
base_feature: "FileHandlingAPI",
},
{
-@@ -2867,7 +2867,7 @@
+@@ -2924,7 +2924,7 @@
{
name: "UnrestrictedSharedArrayBuffer",
origin_trial_feature_name: "UnrestrictedSharedArrayBuffer",
- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
},
{
name: "URLPatternCompareComponent",
-@@ -2887,7 +2887,7 @@
+@@ -2944,7 +2944,7 @@
origin_trial_feature_name: "UserAgentReduction",
origin_trial_allows_third_party: true,
// iOS not included as it should not send a reduced User-Agent string.
- origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win"],
+ origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win", "openbsd", "freebsd"],
base_feature: "ReduceUserAgent",
},
{
-@@ -3049,12 +3049,12 @@
+@@ -3107,12 +3107,12 @@
name: "WebAppUrlHandling",
status: "experimental",
origin_trial_feature_name: "WebAppUrlHandling",
- origin_trial_os: ["win", "mac", "linux"],
+ origin_trial_os: ["win", "mac", "linux", "openbsd", "freebsd"],
},
{
name: "WebAppWindowControlsOverlay",
origin_trial_feature_name: "WebAppWindowControlsOverlay",
- origin_trial_os: ["win", "mac", "linux", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"],
status: "stable",
},
- // WebAuth is disabled on Android versions prior to N (7.0) due to lack of
+ {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc
index 3c36bcde072f..117d8b626ddd 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc
@@ -1,11 +1,11 @@
---- third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc.orig 2022-11-30 08:12:58 UTC
+--- third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc
-@@ -241,7 +241,7 @@ void CategorizedWorkerPoolImpl::Start(int max_concurre
+@@ -242,7 +242,7 @@ void CategorizedWorkerPoolImpl::Start(int max_concurre
"CompositorTileWorkerBackground", thread_options, this,
background_thread_prio_categories,
&has_task_for_background_priority_thread_cv_);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
thread->SetBackgroundingCallback(
Thread::MainThread()->GetTaskRunner(MainThreadTaskRunnerRestricted()),
base::BindOnce([](base::PlatformThreadId thread_id) {
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
index 3e5fc31ebc56..205ded2ac3ab 100644
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
+++ b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
@@ -1,37 +1,37 @@
---- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2023-02-08 09:03:45 UTC
+--- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2023-03-09 06:31:50 UTC
+++ third_party/blink/renderer/platform/wtf/stack_util.cc
@@ -18,6 +18,11 @@
extern "C" void* __libc_stack_end; // NOLINT
#endif
+#if BUILDFLAG(IS_BSD)
+#include <sys/signal.h>
+#include <pthread_np.h>
+#endif
+
namespace WTF {
size_t GetUnderestimatedStackSize() {
@@ -62,6 +67,8 @@ size_t GetUnderestimatedStackSize() {
// low as 512k.
//
return 512 * 1024;
+#elif BUILDFLAG(IS_OPENBSD)
+ return 512 * 1024;
#elif BUILDFLAG(IS_APPLE)
// pthread_get_stacksize_np() returns too low a value for the main thread on
// OSX 10.9,
-@@ -147,6 +154,13 @@ void* GetStackStart() {
+@@ -148,6 +155,13 @@ void* GetStackStart() {
::GetCurrentThreadStackLimits(&lowLimit, &highLimit);
return reinterpret_cast<void*>(highLimit);
#endif
+#elif BUILDFLAG(IS_OPENBSD)
+ stack_t ss;
+ void *base;
+ int error = pthread_stackseg_np(pthread_self(), &ss);
+ CHECK(!error);
+ base = (void*)((size_t) ss.ss_sp - ss.ss_size);
+ return reinterpret_cast<uint8_t*>(base) + ss.ss_size;
#else
#error Unsupported getStackStart on this platform.
#endif
diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc
deleted file mode 100644
index cfb7bf5a37b6..000000000000
--- a/www/chromium/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc.orig 2023-01-26 06:54:16 UTC
-+++ third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-@@ -116,6 +116,10 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameR
- continue;
- }
- #endif
-+ // Avoid codecs supported by `TextCodecCJK`.
-+ if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
-+ continue;
-+ }
-
- // A number of these aliases are handled in Chrome's copy of ICU, but
- // Chromium can be compiled with the system ICU.
-@@ -144,12 +148,13 @@ void TextCodecICU::RegisterEncodingNames(EncodingNameR
- }
- #endif
-
-- if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
-- continue;
-+ // Avoid registering codecs registered by
-+ // `TextCodecCJK::RegisterEncodingNames`.
-+ if (!is_text_codec_cjk_enabled ||
-+ !TextCodecCJK::IsSupported(standard_name)) {
-+ registrar(standard_name, standard_name);
- }
-
-- registrar(standard_name, standard_name);
--
- uint16_t num_aliases = ucnv_countAliases(name, &error);
- DCHECK(U_SUCCESS(error));
- if (U_SUCCESS(error))
-@@ -289,6 +294,7 @@ void TextCodecICU::RegisterCodecs(TextCodecRegistrar r
- continue;
- }
- #endif
-+ // Avoid codecs supported by `TextCodecCJK`.
- if (is_text_codec_cjk_enabled && TextCodecCJK::IsSupported(standard_name)) {
- continue;
- }
diff --git a/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl b/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl
index 7f1f8bd71cc6..57ece9d44654 100644
--- a/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl
+++ b/www/chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl
@@ -1,18 +1,18 @@
---- third_party/boringssl/src/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl.orig 2023-02-08 09:03:45 UTC
+--- third_party/boringssl/src/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl.orig 2023-03-09 06:31:50 UTC
+++ third_party/boringssl/src/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl
-@@ -982,6 +982,7 @@ $code.=<<___;
+@@ -985,6 +985,7 @@ $code.=<<___;
___
$code.=<<___;
+.rodata
.align 64
.Lbswap_mask:
.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
-@@ -995,6 +996,7 @@ $code.=<<___;
+@@ -998,6 +999,7 @@ $code.=<<___;
.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.asciz "AES-NI GCM module for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
.align 64
+.previous
___
if ($win64) {
$rec="%rcx";
diff --git a/www/chromium/files/patch-third__party_boringssl_src_util_generate__build__files.py b/www/chromium/files/patch-third__party_boringssl_src_util_generate__build__files.py
index 52f9880d98c9..a55bedbb5810 100644
--- a/www/chromium/files/patch-third__party_boringssl_src_util_generate__build__files.py
+++ b/www/chromium/files/patch-third__party_boringssl_src_util_generate__build__files.py
@@ -1,34 +1,34 @@
---- third_party/boringssl/src/util/generate_build_files.py.orig 2023-02-08 09:03:45 UTC
+--- third_party/boringssl/src/util/generate_build_files.py.orig 2023-03-09 06:31:50 UTC
+++ third_party/boringssl/src/util/generate_build_files.py
-@@ -863,10 +863,10 @@ def main(platforms):
+@@ -859,10 +859,10 @@ def main(platforms):
]
# Generate err_data.c
- with open('err_data.c', 'w+') as err_data:
- subprocess.check_call(['go', 'run', 'err_data_generate.go'],
- cwd=os.path.join('src', 'crypto', 'err'),
- stdout=err_data)
+# with open('err_data.c', 'w+') as err_data:
+# subprocess.check_call(['go', 'run', 'err_data_generate.go'],
+# cwd=os.path.join('src', 'crypto', 'err'),
+# stdout=err_data)
crypto_c_files.append('err_data.c')
crypto_c_files.sort()
-@@ -879,11 +879,11 @@ def main(platforms):
+@@ -875,11 +875,11 @@ def main(platforms):
crypto_test_files = []
if EMBED_TEST_DATA:
# Generate crypto_test_data.cc
- with open('crypto_test_data.cc', 'w+') as out:
- subprocess.check_call(
- ['go', 'run', 'util/embed_test_data.go'] + cmake['CRYPTO_TEST_DATA'],
- cwd='src',
- stdout=out)
+# with open('crypto_test_data.cc', 'w+') as out:
+# subprocess.check_call(
+# ['go', 'run', 'util/embed_test_data.go'] + cmake['CRYPTO_TEST_DATA'],
+# cwd='src',
+# stdout=out)
crypto_test_files += ['crypto_test_data.cc']
crypto_test_files += FindCFiles(os.path.join('src', 'crypto'), OnlyTests)
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
index cad468b3f569..98c8af5fbc2d 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
@@ -1,11 +1,11 @@
---- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2022-02-07 13:39:41 UTC
+--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2023-03-09 06:31:50 UTC
+++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni
-@@ -58,7 +58,7 @@ if (crashpad_is_in_chromium) {
+@@ -60,7 +60,7 @@ if (crashpad_is_in_chromium) {
crashpad_is_mac = is_mac
crashpad_is_ios = is_ios
crashpad_is_win = is_win
- crashpad_is_linux = is_linux || is_chromeos
+ crashpad_is_linux = (is_linux || is_chromeos) && !is_bsd
crashpad_is_android = is_android
crashpad_is_fuchsia = is_fuchsia
diff --git a/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
index a70a62fbca8f..c8cf2b253ff1 100644
--- a/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
+++ b/www/chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
@@ -1,16 +1,16 @@
---- third_party/crashpad/crashpad/client/BUILD.gn.orig 2023-01-11 09:17:16 UTC
+--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ third_party/crashpad/crashpad/client/BUILD.gn
-@@ -131,6 +131,13 @@ static_library("common") {
+@@ -132,6 +132,13 @@ static_library("common") {
if (crashpad_is_win) {
sources += [ "crash_report_database_win.cc" ]
}
+
+ if (crashpad_is_posix) {
+ sources += [
+ "crashpad_client_posix.cc",
+ ]
+ }
+
if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
sources += [
"crash_report_database_generic.cc",
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
index 629eac589e0a..3f4aadac086f 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h
@@ -1,740 +1,751 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h.orig 2022-05-19 14:06:27 UTC
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h
-@@ -0,0 +1,737 @@
+@@ -0,0 +1,748 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags=-O2 --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --disable-linux-perf --x86asmexe=nasm --optflags=-O2 --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2022
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+#define CC_IDENT "OpenBSD clang version 13.0.0"
+#define OS_NAME openbsd
+#define av_restrict restrict
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
+#define BUILDSUF ""
+#define SLIBSUF ".so"
+#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 1
+#define ARCH_ALPHA 0
+#define ARCH_ARM 0
+#define ARCH_AVR32 0
+#define ARCH_AVR32_AP 0
+#define ARCH_AVR32_UC 0
+#define ARCH_BFIN 0
+#define ARCH_IA64 0
+#define ARCH_LOONGARCH 0
+#define ARCH_LOONGARCH32 0
+#define ARCH_LOONGARCH64 0
+#define ARCH_M68K 0
+#define ARCH_MIPS 0
+#define ARCH_MIPS64 0
+#define ARCH_PARISC 0
+#define ARCH_PPC 0
+#define ARCH_PPC64 0
+#define ARCH_RISCV 0
+#define ARCH_S390 0
+#define ARCH_SH4 0
+#define ARCH_SPARC 0
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
+#define ARCH_TILEPRO 0
+#define ARCH_TOMI 0
+#define ARCH_X86 0
+#define ARCH_X86_32 0
+#define ARCH_X86_64 0
+#define HAVE_ARMV5TE 0
+#define HAVE_ARMV6 0
+#define HAVE_ARMV6T2 0
+#define HAVE_ARMV8 1
+#define HAVE_NEON 1
+#define HAVE_VFP 1
+#define HAVE_VFPV3 0
+#define HAVE_SETEND 0
+#define HAVE_ALTIVEC 0
+#define HAVE_DCBZL 0
+#define HAVE_LDBRX 0
+#define HAVE_POWER8 0
+#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
++#define HAVE_RVV 0
+#define HAVE_AESNI 0
+#define HAVE_AMD3DNOW 0
+#define HAVE_AMD3DNOWEXT 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_AVX512 0
+#define HAVE_AVX512ICL 0
+#define HAVE_FMA3 0
+#define HAVE_FMA4 0
+#define HAVE_MMX 0
+#define HAVE_MMXEXT 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSE4 0
+#define HAVE_SSE42 0
+#define HAVE_SSSE3 0
+#define HAVE_XOP 0
+#define HAVE_CPUNOP 0
+#define HAVE_I686 0
+#define HAVE_MIPSFPU 0
+#define HAVE_MIPS32R2 0
+#define HAVE_MIPS32R5 0
+#define HAVE_MIPS64R2 0
+#define HAVE_MIPS32R6 0
+#define HAVE_MIPS64R6 0
+#define HAVE_MIPSDSP 0
+#define HAVE_MIPSDSPR2 0
+#define HAVE_MSA 0
+#define HAVE_LOONGSON2 0
+#define HAVE_LOONGSON3 0
+#define HAVE_MMI 0
+#define HAVE_LSX 0
+#define HAVE_LASX 0
+#define HAVE_ARMV5TE_EXTERNAL 0
+#define HAVE_ARMV6_EXTERNAL 0
+#define HAVE_ARMV6T2_EXTERNAL 0
+#define HAVE_ARMV8_EXTERNAL 1
+#define HAVE_NEON_EXTERNAL 1
+#define HAVE_VFP_EXTERNAL 1
+#define HAVE_VFPV3_EXTERNAL 0
+#define HAVE_SETEND_EXTERNAL 0
+#define HAVE_ALTIVEC_EXTERNAL 0
+#define HAVE_DCBZL_EXTERNAL 0
+#define HAVE_LDBRX_EXTERNAL 0
+#define HAVE_POWER8_EXTERNAL 0
+#define HAVE_PPC4XX_EXTERNAL 0
+#define HAVE_VSX_EXTERNAL 0
++#define HAVE_RVV_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 0
+#define HAVE_AMD3DNOW_EXTERNAL 0
+#define HAVE_AMD3DNOWEXT_EXTERNAL 0
+#define HAVE_AVX_EXTERNAL 0
+#define HAVE_AVX2_EXTERNAL 0
+#define HAVE_AVX512_EXTERNAL 0
+#define HAVE_AVX512ICL_EXTERNAL 0
+#define HAVE_FMA3_EXTERNAL 0
+#define HAVE_FMA4_EXTERNAL 0
+#define HAVE_MMX_EXTERNAL 0
+#define HAVE_MMXEXT_EXTERNAL 0
+#define HAVE_SSE_EXTERNAL 0
+#define HAVE_SSE2_EXTERNAL 0
+#define HAVE_SSE3_EXTERNAL 0
+#define HAVE_SSE4_EXTERNAL 0
+#define HAVE_SSE42_EXTERNAL 0
+#define HAVE_SSSE3_EXTERNAL 0
+#define HAVE_XOP_EXTERNAL 0
+#define HAVE_CPUNOP_EXTERNAL 0
+#define HAVE_I686_EXTERNAL 0
+#define HAVE_MIPSFPU_EXTERNAL 0
+#define HAVE_MIPS32R2_EXTERNAL 0
+#define HAVE_MIPS32R5_EXTERNAL 0
+#define HAVE_MIPS64R2_EXTERNAL 0
+#define HAVE_MIPS32R6_EXTERNAL 0
+#define HAVE_MIPS64R6_EXTERNAL 0
+#define HAVE_MIPSDSP_EXTERNAL 0
+#define HAVE_MIPSDSPR2_EXTERNAL 0
+#define HAVE_MSA_EXTERNAL 0
+#define HAVE_LOONGSON2_EXTERNAL 0
+#define HAVE_LOONGSON3_EXTERNAL 0
+#define HAVE_MMI_EXTERNAL 0
+#define HAVE_LSX_EXTERNAL 0
+#define HAVE_LASX_EXTERNAL 0
+#define HAVE_ARMV5TE_INLINE 0
+#define HAVE_ARMV6_INLINE 0
+#define HAVE_ARMV6T2_INLINE 0
+#define HAVE_ARMV8_INLINE 1
+#define HAVE_NEON_INLINE 1
+#define HAVE_VFP_INLINE 1
+#define HAVE_VFPV3_INLINE 0
+#define HAVE_SETEND_INLINE 0
+#define HAVE_ALTIVEC_INLINE 0
+#define HAVE_DCBZL_INLINE 0
+#define HAVE_LDBRX_INLINE 0
+#define HAVE_POWER8_INLINE 0
+#define HAVE_PPC4XX_INLINE 0
+#define HAVE_VSX_INLINE 0
++#define HAVE_RVV_INLINE 0
+#define HAVE_AESNI_INLINE 0
+#define HAVE_AMD3DNOW_INLINE 0
+#define HAVE_AMD3DNOWEXT_INLINE 0
+#define HAVE_AVX_INLINE 0
+#define HAVE_AVX2_INLINE 0
+#define HAVE_AVX512_INLINE 0
+#define HAVE_AVX512ICL_INLINE 0
+#define HAVE_FMA3_INLINE 0
+#define HAVE_FMA4_INLINE 0
+#define HAVE_MMX_INLINE 0
+#define HAVE_MMXEXT_INLINE 0
+#define HAVE_SSE_INLINE 0
+#define HAVE_SSE2_INLINE 0
+#define HAVE_SSE3_INLINE 0
+#define HAVE_SSE4_INLINE 0
+#define HAVE_SSE42_INLINE 0
+#define HAVE_SSSE3_INLINE 0
+#define HAVE_XOP_INLINE 0
+#define HAVE_CPUNOP_INLINE 0
+#define HAVE_I686_INLINE 0
+#define HAVE_MIPSFPU_INLINE 0
+#define HAVE_MIPS32R2_INLINE 0
+#define HAVE_MIPS32R5_INLINE 0
+#define HAVE_MIPS64R2_INLINE 0
+#define HAVE_MIPS32R6_INLINE 0
+#define HAVE_MIPS64R6_INLINE 0
+#define HAVE_MIPSDSP_INLINE 0
+#define HAVE_MIPSDSPR2_INLINE 0
+#define HAVE_MSA_INLINE 0
+#define HAVE_LOONGSON2_INLINE 0
+#define HAVE_LOONGSON3_INLINE 0
+#define HAVE_MMI_INLINE 0
+#define HAVE_LSX_INLINE 0
+#define HAVE_LASX_INLINE 0
+#define HAVE_ALIGNED_STACK 1
+#define HAVE_FAST_64BIT 1
+#define HAVE_FAST_CLZ 1
+#define HAVE_FAST_CMOV 0
++#define HAVE_FAST_FLOAT16 1
+#define HAVE_LOCAL_ALIGNED 0
+#define HAVE_SIMD_ALIGN_16 1
+#define HAVE_SIMD_ALIGN_32 0
+#define HAVE_SIMD_ALIGN_64 0
+#define HAVE_ATOMIC_CAS_PTR 0
+#define HAVE_MACHINE_RW_BARRIER 0
+#define HAVE_MEMORYBARRIER 0
+#define HAVE_MM_EMPTY 0
+#define HAVE_RDTSC 0
+#define HAVE_SEM_TIMEDWAIT 1
+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
+#define HAVE_CABS 0
+#define HAVE_CEXP 0
+#define HAVE_INLINE_ASM 1
+#define HAVE_SYMVER 0
+#define HAVE_X86ASM 0
+#define HAVE_BIGENDIAN 0
+#define HAVE_FAST_UNALIGNED 1
+#define HAVE_ARPA_INET_H 0
+#define HAVE_ASM_TYPES_H 0
+#define HAVE_CDIO_PARANOIA_H 0
+#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
+#define HAVE_CUDA_H 0
+#define HAVE_DISPATCH_DISPATCH_H 0
+#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
+#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
+#define HAVE_DEV_IC_BT8XX_H 1
+#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
+#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
+#define HAVE_DIRECT_H 0
+#define HAVE_DIRENT_H 1
+#define HAVE_DXGIDEBUG_H 0
+#define HAVE_DXVA_H 0
+#define HAVE_ES2_GL_H 0
+#define HAVE_GSM_H 0
+#define HAVE_IO_H 0
+#define HAVE_LINUX_DMA_BUF_H 0
+#define HAVE_LINUX_PERF_EVENT_H 0
+#define HAVE_MACHINE_IOCTL_BT848_H 0
+#define HAVE_MACHINE_IOCTL_METEOR_H 0
+#define HAVE_MALLOC_H 0
+#define HAVE_OPENCV2_CORE_CORE_C_H 0
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SOUNDCARD_H 0
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_SYS_VIDEOIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UDPLITE_H 0
+#define HAVE_UNISTD_H 1
+#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 1 -- forced to 0. See https://crbug.com/590440 */
+#define HAVE_WINDOWS_H 0
+#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 1
+#define HAVE_ATANF 1
+#define HAVE_ATAN2F 1
+#define HAVE_CBRT 1
+#define HAVE_CBRTF 1
+#define HAVE_COPYSIGN 1
+#define HAVE_COSF 1
+#define HAVE_ERF 1
+#define HAVE_EXP2 1
+#define HAVE_EXP2F 1
+#define HAVE_EXPF 1
+#define HAVE_HYPOT 1
+#define HAVE_ISFINITE 1
+#define HAVE_ISINF 1
+#define HAVE_ISNAN 1
+#define HAVE_LDEXPF 1
+#define HAVE_LLRINT 1
+#define HAVE_LLRINTF 1
+#define HAVE_LOG2 1
+#define HAVE_LOG2F 1
+#define HAVE_LOG10F 1
+#define HAVE_LRINT 1
+#define HAVE_LRINTF 1
+#define HAVE_POWF 1
+#define HAVE_RINT 1
+#define HAVE_ROUND 1
+#define HAVE_ROUNDF 1
+#define HAVE_SINF 1
+#define HAVE_TRUNC 1
+#define HAVE_TRUNCF 1
+#define HAVE_DOS_PATHS 0
+#define HAVE_LIBC_MSVCRT 0
+#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
+#define HAVE_SECTION_DATA_REL_RO 1
+#define HAVE_THREADS 1
+#define HAVE_UWP 0
+#define HAVE_WINRT 0
+#define HAVE_ACCESS 1
+#define HAVE_ALIGNED_MALLOC 0
+#define HAVE_ARC4RANDOM 1
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_CLOSESOCKET 0
+#define HAVE_COMMANDLINETOARGVW 0
+#define HAVE_FCNTL 1
+#define HAVE_GETADDRINFO 0
+#define HAVE_GETAUXVAL 0
++#define HAVE_GETENV 1
+#define HAVE_GETHRTIME 0
+#define HAVE_GETOPT 1
+#define HAVE_GETMODULEHANDLE 0
+#define HAVE_GETPROCESSAFFINITYMASK 0
+#define HAVE_GETPROCESSMEMORYINFO 0
+#define HAVE_GETPROCESSTIMES 0
+#define HAVE_GETRUSAGE 1
+#define HAVE_GETSTDHANDLE 0
+#define HAVE_GETSYSTEMTIMEASFILETIME 0
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_GLOB 1
+#define HAVE_GLXGETPROCADDRESS 0
+#define HAVE_GMTIME_R 1
+#define HAVE_INET_ATON 0
+#define HAVE_ISATTY 1
+#define HAVE_KBHIT 0
+#define HAVE_LOCALTIME_R 1
+#define HAVE_LSTAT 1
+#define HAVE_LZO1X_999_COMPRESS 0
+#define HAVE_MACH_ABSOLUTE_TIME 0
+#define HAVE_MAPVIEWOFFILE 0
+#define HAVE_MEMALIGN 0
+#define HAVE_MKSTEMP 1
+#define HAVE_MMAP 1
+#define HAVE_MPROTECT 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_PEEKNAMEDPIPE 0
+#define HAVE_POSIX_MEMALIGN 1
++#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_PTHREAD_CANCEL 1
+#define HAVE_SCHED_GETAFFINITY 0
+#define HAVE_SECITEMIMPORT 0
+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
+#define HAVE_SETCONSOLECTRLHANDLER 0
+#define HAVE_SETDLLDIRECTORY 0
+#define HAVE_SETMODE 0
+#define HAVE_SETRLIMIT 1
+#define HAVE_SLEEP 0
+#define HAVE_STRERROR_R 1
+#define HAVE_SYSCONF 1
+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_USLEEP 1
+#define HAVE_UTGETOSTYPEFROMSTRING 0
+#define HAVE_VIRTUALALLOC 0
+#define HAVE_WGLGETPROCADDRESS 0
+#define HAVE_BCRYPT 0
+#define HAVE_VAAPI_DRM 0
+#define HAVE_VAAPI_X11 0
+#define HAVE_VDPAU_X11 0
+#define HAVE_PTHREADS 1
+#define HAVE_OS2THREADS 0
+#define HAVE_W32THREADS 0
+#define HAVE_AS_ARCH_DIRECTIVE 0
+#define HAVE_AS_DN_DIRECTIVE 0
+#define HAVE_AS_FPU_DIRECTIVE 0
+#define HAVE_AS_FUNC 0
+#define HAVE_AS_OBJECT_ARCH 0
+#define HAVE_ASM_MOD_Q 0
+#define HAVE_BLOCKS_EXTENSION 0
+#define HAVE_EBP_AVAILABLE 0
+#define HAVE_EBX_AVAILABLE 0
+#define HAVE_GNU_AS 0
+#define HAVE_GNU_WINDRES 0
+#define HAVE_IBM_ASM 0
+#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
+#define HAVE_RSYNC_CONTIMEOUT 0
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+/* #define HAVE_VFP_ARGS 0 -- softfp/hardfp selection is done by the chrome build */
+#define HAVE_XFORM_ASM 0
+#define HAVE_XMM_CLOBBERS 0
++#define HAVE_DPI_AWARENESS_CONTEXT 0
++#define HAVE_IDXGIOUTPUT5 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
+#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
+#define HAVE_SOCKLEN_T 0
+#define HAVE_STRUCT_ADDRINFO 0
+#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
+#define HAVE_STRUCT_IP_MREQ_SOURCE 0
+#define HAVE_STRUCT_IPV6_MREQ 0
+#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
+#define HAVE_STRUCT_POLLFD 0
+#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
+#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
+#define HAVE_STRUCT_SOCKADDR_IN6 0
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
+#define HAVE_MAKEINFO 1
+#define HAVE_MAKEINFO_HTML 0
+#define HAVE_OPENCL_D3D11 0
+#define HAVE_OPENCL_DRM_ARM 0
+#define HAVE_OPENCL_DRM_BEIGNET 0
+#define HAVE_OPENCL_DXVA2 0
+#define HAVE_OPENCL_VAAPI_BEIGNET 0
+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
+#define HAVE_TEXI2HTML 0
+#define HAVE_XMLLINT 1
+#define HAVE_ZLIB_GZIP 0
+#define CONFIG_DOC 0
+#define CONFIG_HTMLPAGES 0
+#define CONFIG_MANPAGES 0
+#define CONFIG_PODPAGES 0
+#define CONFIG_TXTPAGES 0
+#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
+#define CONFIG_AVIO_READING_EXAMPLE 1
+#define CONFIG_DECODE_AUDIO_EXAMPLE 1
+#define CONFIG_DECODE_VIDEO_EXAMPLE 1
+#define CONFIG_DEMUXING_DECODING_EXAMPLE 1
+#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
+#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
+#define CONFIG_EXTRACT_MVS_EXAMPLE 1
+#define CONFIG_FILTER_AUDIO_EXAMPLE 0
+#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
+#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
+#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
+#define CONFIG_HW_DECODE_EXAMPLE 1
+#define CONFIG_METADATA_EXAMPLE 1
+#define CONFIG_MUXING_EXAMPLE 0
+#define CONFIG_QSVDEC_EXAMPLE 0
+#define CONFIG_REMUXING_EXAMPLE 1
+#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
+#define CONFIG_SCALING_VIDEO_EXAMPLE 0
+#define CONFIG_TRANSCODE_AAC_EXAMPLE 0
+#define CONFIG_TRANSCODING_EXAMPLE 0
+#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
+#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
+#define CONFIG_AVISYNTH 0
+#define CONFIG_FREI0R 0
+#define CONFIG_LIBCDIO 0
+#define CONFIG_LIBDAVS2 0
+#define CONFIG_LIBRUBBERBAND 0
+#define CONFIG_LIBVIDSTAB 0
+#define CONFIG_LIBX264 0
+#define CONFIG_LIBX265 0
+#define CONFIG_LIBXAVS 0
+#define CONFIG_LIBXAVS2 0
+#define CONFIG_LIBXVID 0
+#define CONFIG_DECKLINK 0
+#define CONFIG_LIBFDK_AAC 0
+#define CONFIG_LIBTLS 0
+#define CONFIG_GMP 0
+#define CONFIG_LIBARIBB24 0
+#define CONFIG_LIBLENSFUN 0
+#define CONFIG_LIBOPENCORE_AMRNB 0
+#define CONFIG_LIBOPENCORE_AMRWB 0
+#define CONFIG_LIBVO_AMRWBENC 0
+#define CONFIG_MBEDTLS 0
+#define CONFIG_RKMPP 0
+#define CONFIG_LIBSMBCLIENT 0
+#define CONFIG_CHROMAPRINT 0
+#define CONFIG_GCRYPT 0
+#define CONFIG_GNUTLS 0
+#define CONFIG_JNI 0
+#define CONFIG_LADSPA 0
++#define CONFIG_LCMS2 0
+#define CONFIG_LIBAOM 0
+#define CONFIG_LIBASS 0
+#define CONFIG_LIBBLURAY 0
+#define CONFIG_LIBBS2B 0
+#define CONFIG_LIBCACA 0
+#define CONFIG_LIBCELT 0
+#define CONFIG_LIBCODEC2 0
+#define CONFIG_LIBDAV1D 0
+#define CONFIG_LIBDC1394 0
+#define CONFIG_LIBDRM 0
+#define CONFIG_LIBFLITE 0
+#define CONFIG_LIBFONTCONFIG 0
+#define CONFIG_LIBFREETYPE 0
+#define CONFIG_LIBFRIBIDI 0
+#define CONFIG_LIBGLSLANG 0
+#define CONFIG_LIBGME 0
+#define CONFIG_LIBGSM 0
+#define CONFIG_LIBIEC61883 0
+#define CONFIG_LIBILBC 0
+#define CONFIG_LIBJACK 0
++#define CONFIG_LIBJXL 0
+#define CONFIG_LIBKLVANC 0
+#define CONFIG_LIBKVAZAAR 0
+#define CONFIG_LIBMODPLUG 0
+#define CONFIG_LIBMP3LAME 0
+#define CONFIG_LIBMYSOFA 0
+#define CONFIG_LIBOPENCV 0
+#define CONFIG_LIBOPENH264 0
+#define CONFIG_LIBOPENJPEG 0
+#define CONFIG_LIBOPENMPT 0
+#define CONFIG_LIBOPENVINO 0
+#define CONFIG_LIBOPUS 1
+#define CONFIG_LIBPLACEBO 0
+#define CONFIG_LIBPULSE 0
+#define CONFIG_LIBRABBITMQ 0
+#define CONFIG_LIBRAV1E 0
+#define CONFIG_LIBRIST 0
+#define CONFIG_LIBRSVG 0
+#define CONFIG_LIBRTMP 0
+#define CONFIG_LIBSHADERC 0
+#define CONFIG_LIBSHINE 0
+#define CONFIG_LIBSMBCLIENT 0
+#define CONFIG_LIBSNAPPY 0
+#define CONFIG_LIBSOXR 0
+#define CONFIG_LIBSPEEX 0
+#define CONFIG_LIBSRT 0
+#define CONFIG_LIBSSH 0
+#define CONFIG_LIBSVTAV1 0
+#define CONFIG_LIBTENSORFLOW 0
+#define CONFIG_LIBTESSERACT 0
+#define CONFIG_LIBTHEORA 0
+#define CONFIG_LIBTWOLAME 0
+#define CONFIG_LIBUAVS3D 0
+#define CONFIG_LIBV4L2 0
+#define CONFIG_LIBVMAF 0
+#define CONFIG_LIBVORBIS 0
+#define CONFIG_LIBVPX 0
+#define CONFIG_LIBWEBP 0
+#define CONFIG_LIBXML2 0
+#define CONFIG_LIBZIMG 0
+#define CONFIG_LIBZMQ 0
+#define CONFIG_LIBZVBI 0
+#define CONFIG_LV2 0
+#define CONFIG_MEDIACODEC 0
+#define CONFIG_OPENAL 0
+#define CONFIG_OPENGL 0
+#define CONFIG_OPENSSL 0
+#define CONFIG_POCKETSPHINX 0
+#define CONFIG_VAPOURSYNTH 0
+#define CONFIG_ALSA 0
+#define CONFIG_APPKIT 0
+#define CONFIG_AVFOUNDATION 0
+#define CONFIG_BZLIB 0
+#define CONFIG_COREIMAGE 0
+#define CONFIG_ICONV 0
+#define CONFIG_LIBXCB 0
+#define CONFIG_LIBXCB_SHM 0
+#define CONFIG_LIBXCB_SHAPE 0
+#define CONFIG_LIBXCB_XFIXES 0
+#define CONFIG_LZMA 0
+#define CONFIG_MEDIAFOUNDATION 0
+#define CONFIG_METAL 0
+#define CONFIG_SCHANNEL 0
+#define CONFIG_SDL2 0
+#define CONFIG_SECURETRANSPORT 0
+#define CONFIG_SNDIO 0
+#define CONFIG_XLIB 0
+#define CONFIG_ZLIB 0
+#define CONFIG_CUDA_NVCC 0
+#define CONFIG_CUDA_SDK 0
+#define CONFIG_LIBNPP 0
+#define CONFIG_LIBMFX 0
++#define CONFIG_LIBVPL 0
+#define CONFIG_MMAL 0
+#define CONFIG_OMX 0
+#define CONFIG_OPENCL 0
+#define CONFIG_AMF 0
+#define CONFIG_AUDIOTOOLBOX 0
+#define CONFIG_CRYSTALHD 0
+#define CONFIG_CUDA 0
+#define CONFIG_CUDA_LLVM 0
+#define CONFIG_CUVID 0
+#define CONFIG_D3D11VA 0
+#define CONFIG_DXVA2 0
+#define CONFIG_FFNVCODEC 0
+#define CONFIG_NVDEC 0
+#define CONFIG_NVENC 0
+#define CONFIG_VAAPI 0
+#define CONFIG_VDPAU 0
+#define CONFIG_VIDEOTOOLBOX 0
+#define CONFIG_VULKAN 0
+#define CONFIG_V4L2_M2M 0
+#define CONFIG_FTRAPV 0
+#define CONFIG_GRAY 0
+#define CONFIG_HARDCODED_TABLES 0
+#define CONFIG_OMX_RPI 0
+#define CONFIG_RUNTIME_CPUDETECT 1
+#define CONFIG_SAFE_BITSTREAM_READER 1
+#define CONFIG_SHARED 0
+#define CONFIG_SMALL 0
+#define CONFIG_STATIC 1
+#define CONFIG_SWSCALE_ALPHA 1
+#define CONFIG_GPL 0
+#define CONFIG_NONFREE 0
+#define CONFIG_VERSION3 0
+#define CONFIG_AVDEVICE 0
+#define CONFIG_AVFILTER 0
+#define CONFIG_SWSCALE 0
+#define CONFIG_POSTPROC 0
+#define CONFIG_AVFORMAT 1
+#define CONFIG_AVCODEC 1
+#define CONFIG_SWRESAMPLE 0
+#define CONFIG_AVUTIL 1
+#define CONFIG_FFPLAY 0
+#define CONFIG_FFPROBE 0
+#define CONFIG_FFMPEG 0
+#define CONFIG_DCT 1
+#define CONFIG_DWT 0
+#define CONFIG_ERROR_RESILIENCE 0
+#define CONFIG_FAAN 0
+#define CONFIG_FAST_UNALIGNED 1
+#define CONFIG_FFT 1
+#define CONFIG_LSP 0
-+#define CONFIG_MDCT 1
++#define CONFIG_MDCT 0
+#define CONFIG_PIXELUTILS 0
+#define CONFIG_NETWORK 0
+#define CONFIG_RDFT 1
+#define CONFIG_AUTODETECT 0
+#define CONFIG_FONTCONFIG 0
+#define CONFIG_LARGE_TESTS 1
+#define CONFIG_LINUX_PERF 0
+#define CONFIG_MACOS_KPERF 0
+#define CONFIG_MEMORY_POISONING 0
+#define CONFIG_NEON_CLOBBER_TEST 0
+#define CONFIG_OSSFUZZ 0
+#define CONFIG_PIC 1
+#define CONFIG_PTX_COMPRESSION 0
+#define CONFIG_THUMB 0
+#define CONFIG_VALGRIND_BACKTRACE 0
+#define CONFIG_XMM_CLOBBER_TEST 0
+#define CONFIG_BSFS 0
+#define CONFIG_DECODERS 1
+#define CONFIG_ENCODERS 0
+#define CONFIG_HWACCELS 0
+#define CONFIG_PARSERS 1
+#define CONFIG_INDEVS 0
+#define CONFIG_OUTDEVS 0
+#define CONFIG_FILTERS 0
+#define CONFIG_DEMUXERS 1
+#define CONFIG_MUXERS 0
+#define CONFIG_PROTOCOLS 0
+#define CONFIG_AANDCTTABLES 0
+#define CONFIG_AC3DSP 0
+#define CONFIG_ADTS_HEADER 1
+#define CONFIG_ATSC_A53 1
+#define CONFIG_AUDIO_FRAME_QUEUE 0
+#define CONFIG_AUDIODSP 0
+#define CONFIG_BLOCKDSP 0
+#define CONFIG_BSWAPDSP 0
+#define CONFIG_CABAC 1
+#define CONFIG_CBS 0
+#define CONFIG_CBS_AV1 0
+#define CONFIG_CBS_H264 0
+#define CONFIG_CBS_H265 0
+#define CONFIG_CBS_JPEG 0
+#define CONFIG_CBS_MPEG2 0
+#define CONFIG_CBS_VP9 0
+#define CONFIG_DEFLATE_WRAPPER 0
+#define CONFIG_DIRAC_PARSE 1
+#define CONFIG_DNN 0
+#define CONFIG_DOVI_RPU 0
+#define CONFIG_DVPROFILE 0
+#define CONFIG_EXIF 0
+#define CONFIG_FAANDCT 0
+#define CONFIG_FAANIDCT 0
+#define CONFIG_FDCTDSP 0
-+#define CONFIG_FLACDSP 1
+#define CONFIG_FMTCONVERT 0
+#define CONFIG_FRAME_THREAD_ENCODER 0
+#define CONFIG_G722DSP 0
+#define CONFIG_GOLOMB 1
+#define CONFIG_GPLV3 0
+#define CONFIG_H263DSP 0
+#define CONFIG_H264CHROMA 1
+#define CONFIG_H264DSP 1
+#define CONFIG_H264PARSE 1
+#define CONFIG_H264PRED 1
+#define CONFIG_H264QPEL 1
+#define CONFIG_HEVCPARSE 0
+#define CONFIG_HPELDSP 1
+#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
-+#define CONFIG_MDCT15 1
+#define CONFIG_INFLATE_WRAPPER 0
+#define CONFIG_INTRAX8 0
+#define CONFIG_ISO_MEDIA 1
+#define CONFIG_IVIDSP 0
+#define CONFIG_JPEGTABLES 0
+#define CONFIG_LGPLV3 0
+#define CONFIG_LIBX262 0
+#define CONFIG_LLAUDDSP 0
+#define CONFIG_LLVIDDSP 0
+#define CONFIG_LLVIDENCDSP 0
+#define CONFIG_LPC 0
+#define CONFIG_LZF 0
+#define CONFIG_ME_CMP 0
+#define CONFIG_MPEG_ER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
+#define CONFIG_MPEG4AUDIO 1
+#define CONFIG_MPEGVIDEO 0
+#define CONFIG_MPEGVIDEODEC 0
+#define CONFIG_MPEGVIDEOENC 0
++#define CONFIG_MSMPEG4DEC 0
++#define CONFIG_MSMPEG4ENC 0
+#define CONFIG_MSS34DSP 0
+#define CONFIG_PIXBLOCKDSP 0
+#define CONFIG_QPELDSP 0
+#define CONFIG_QSV 0
+#define CONFIG_QSVDEC 0
+#define CONFIG_QSVENC 0
+#define CONFIG_QSVVPP 0
+#define CONFIG_RANGECODER 0
+#define CONFIG_RIFFDEC 1
+#define CONFIG_RIFFENC 0
+#define CONFIG_RTPDEC 0
+#define CONFIG_RTPENC_CHAIN 0
+#define CONFIG_RV34DSP 0
+#define CONFIG_SCENE_SAD 0
+#define CONFIG_SINEWIN 1
+#define CONFIG_SNAPPY 0
+#define CONFIG_SRTP 0
+#define CONFIG_STARTCODE 1
+#define CONFIG_TEXTUREDSP 0
+#define CONFIG_TEXTUREDSPENC 0
+#define CONFIG_TPELDSP 0
+#define CONFIG_VAAPI_1 0
+#define CONFIG_VAAPI_ENCODE 0
+#define CONFIG_VC1DSP 0
+#define CONFIG_VIDEODSP 1
+#define CONFIG_VP3DSP 1
+#define CONFIG_VP56DSP 0
+#define CONFIG_VP8DSP 1
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h
index be34e11ef073..613a3a609c8b 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h
@@ -1,2066 +1,2128 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h.orig 2022-05-19 14:06:27 UTC
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h
-@@ -0,0 +1,2063 @@
+@@ -0,0 +1,2125 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
+#define CONFIG_AAC_ADTSTOASC_BSF 0
+#define CONFIG_AV1_FRAME_MERGE_BSF 0
+#define CONFIG_AV1_FRAME_SPLIT_BSF 0
+#define CONFIG_AV1_METADATA_BSF 0
+#define CONFIG_CHOMP_BSF 0
+#define CONFIG_DUMP_EXTRADATA_BSF 0
+#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DTS2PTS_BSF 0
+#define CONFIG_DV_ERROR_MARKER_BSF 0
+#define CONFIG_EAC3_CORE_BSF 0
+#define CONFIG_EXTRACT_EXTRADATA_BSF 0
+#define CONFIG_FILTER_UNITS_BSF 0
+#define CONFIG_H264_METADATA_BSF 0
+#define CONFIG_H264_MP4TOANNEXB_BSF 0
+#define CONFIG_H264_REDUNDANT_PPS_BSF 0
+#define CONFIG_HAPQA_EXTRACT_BSF 0
+#define CONFIG_HEVC_METADATA_BSF 0
+#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
+#define CONFIG_IMX_DUMP_HEADER_BSF 0
+#define CONFIG_MJPEG2JPEG_BSF 0
+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
+#define CONFIG_MPEG2_METADATA_BSF 0
+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
+#define CONFIG_MOV2TEXTSUB_BSF 0
+#define CONFIG_NOISE_BSF 0
+#define CONFIG_NULL_BSF 0
+#define CONFIG_OPUS_METADATA_BSF 0
+#define CONFIG_PCM_RECHUNK_BSF 0
++#define CONFIG_PGS_FRAME_MERGE_BSF 0
+#define CONFIG_PRORES_METADATA_BSF 0
+#define CONFIG_REMOVE_EXTRADATA_BSF 0
+#define CONFIG_SETTS_BSF 0
+#define CONFIG_TEXT2MOVSUB_BSF 0
+#define CONFIG_TRACE_HEADERS_BSF 0
+#define CONFIG_TRUEHD_CORE_BSF 0
+#define CONFIG_VP9_METADATA_BSF 0
+#define CONFIG_VP9_RAW_REORDER_BSF 0
+#define CONFIG_VP9_SUPERFRAME_BSF 0
+#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
+#define CONFIG_AASC_DECODER 0
+#define CONFIG_AIC_DECODER 0
+#define CONFIG_ALIAS_PIX_DECODER 0
+#define CONFIG_AGM_DECODER 0
+#define CONFIG_AMV_DECODER 0
+#define CONFIG_ANM_DECODER 0
+#define CONFIG_ANSI_DECODER 0
+#define CONFIG_APNG_DECODER 0
+#define CONFIG_ARBC_DECODER 0
+#define CONFIG_ARGO_DECODER 0
+#define CONFIG_ASV1_DECODER 0
+#define CONFIG_ASV2_DECODER 0
+#define CONFIG_AURA_DECODER 0
+#define CONFIG_AURA2_DECODER 0
+#define CONFIG_AVRP_DECODER 0
+#define CONFIG_AVRN_DECODER 0
+#define CONFIG_AVS_DECODER 0
+#define CONFIG_AVUI_DECODER 0
+#define CONFIG_AYUV_DECODER 0
+#define CONFIG_BETHSOFTVID_DECODER 0
+#define CONFIG_BFI_DECODER 0
+#define CONFIG_BINK_DECODER 0
+#define CONFIG_BITPACKED_DECODER 0
+#define CONFIG_BMP_DECODER 0
+#define CONFIG_BMV_VIDEO_DECODER 0
+#define CONFIG_BRENDER_PIX_DECODER 0
+#define CONFIG_C93_DECODER 0
+#define CONFIG_CAVS_DECODER 0
+#define CONFIG_CDGRAPHICS_DECODER 0
+#define CONFIG_CDTOONS_DECODER 0
+#define CONFIG_CDXL_DECODER 0
+#define CONFIG_CFHD_DECODER 0
+#define CONFIG_CINEPAK_DECODER 0
+#define CONFIG_CLEARVIDEO_DECODER 0
+#define CONFIG_CLJR_DECODER 0
+#define CONFIG_CLLC_DECODER 0
+#define CONFIG_COMFORTNOISE_DECODER 0
+#define CONFIG_CPIA_DECODER 0
+#define CONFIG_CRI_DECODER 0
+#define CONFIG_CSCD_DECODER 0
+#define CONFIG_CYUV_DECODER 0
+#define CONFIG_DDS_DECODER 0
+#define CONFIG_DFA_DECODER 0
+#define CONFIG_DIRAC_DECODER 0
+#define CONFIG_DNXHD_DECODER 0
+#define CONFIG_DPX_DECODER 0
+#define CONFIG_DSICINVIDEO_DECODER 0
+#define CONFIG_DVAUDIO_DECODER 0
+#define CONFIG_DVVIDEO_DECODER 0
+#define CONFIG_DXA_DECODER 0
+#define CONFIG_DXTORY_DECODER 0
+#define CONFIG_DXV_DECODER 0
+#define CONFIG_EACMV_DECODER 0
+#define CONFIG_EAMAD_DECODER 0
+#define CONFIG_EATGQ_DECODER 0
+#define CONFIG_EATGV_DECODER 0
+#define CONFIG_EATQI_DECODER 0
+#define CONFIG_EIGHTBPS_DECODER 0
+#define CONFIG_EIGHTSVX_EXP_DECODER 0
+#define CONFIG_EIGHTSVX_FIB_DECODER 0
+#define CONFIG_ESCAPE124_DECODER 0
+#define CONFIG_ESCAPE130_DECODER 0
+#define CONFIG_EXR_DECODER 0
+#define CONFIG_FFV1_DECODER 0
+#define CONFIG_FFVHUFF_DECODER 0
+#define CONFIG_FIC_DECODER 0
+#define CONFIG_FITS_DECODER 0
+#define CONFIG_FLASHSV_DECODER 0
+#define CONFIG_FLASHSV2_DECODER 0
+#define CONFIG_FLIC_DECODER 0
+#define CONFIG_FLV_DECODER 0
+#define CONFIG_FMVC_DECODER 0
+#define CONFIG_FOURXM_DECODER 0
+#define CONFIG_FRAPS_DECODER 0
+#define CONFIG_FRWU_DECODER 0
+#define CONFIG_G2M_DECODER 0
+#define CONFIG_GDV_DECODER 0
+#define CONFIG_GEM_DECODER 0
+#define CONFIG_GIF_DECODER 0
+#define CONFIG_H261_DECODER 0
+#define CONFIG_H263_DECODER 0
+#define CONFIG_H263I_DECODER 0
+#define CONFIG_H263P_DECODER 0
+#define CONFIG_H263_V4L2M2M_DECODER 0
+#define CONFIG_H264_DECODER 1
+#define CONFIG_H264_CRYSTALHD_DECODER 0
+#define CONFIG_H264_V4L2M2M_DECODER 0
+#define CONFIG_H264_MEDIACODEC_DECODER 0
+#define CONFIG_H264_MMAL_DECODER 0
+#define CONFIG_H264_QSV_DECODER 0
+#define CONFIG_H264_RKMPP_DECODER 0
+#define CONFIG_HAP_DECODER 0
+#define CONFIG_HEVC_DECODER 0
+#define CONFIG_HEVC_QSV_DECODER 0
+#define CONFIG_HEVC_RKMPP_DECODER 0
+#define CONFIG_HEVC_V4L2M2M_DECODER 0
+#define CONFIG_HNM4_VIDEO_DECODER 0
+#define CONFIG_HQ_HQA_DECODER 0
+#define CONFIG_HQX_DECODER 0
+#define CONFIG_HUFFYUV_DECODER 0
+#define CONFIG_HYMT_DECODER 0
+#define CONFIG_IDCIN_DECODER 0
+#define CONFIG_IFF_ILBM_DECODER 0
+#define CONFIG_IMM4_DECODER 0
+#define CONFIG_IMM5_DECODER 0
+#define CONFIG_INDEO2_DECODER 0
+#define CONFIG_INDEO3_DECODER 0
+#define CONFIG_INDEO4_DECODER 0
+#define CONFIG_INDEO5_DECODER 0
+#define CONFIG_INTERPLAY_VIDEO_DECODER 0
+#define CONFIG_IPU_DECODER 0
+#define CONFIG_JPEG2000_DECODER 0
+#define CONFIG_JPEGLS_DECODER 0
+#define CONFIG_JV_DECODER 0
+#define CONFIG_KGV1_DECODER 0
+#define CONFIG_KMVC_DECODER 0
+#define CONFIG_LAGARITH_DECODER 0
+#define CONFIG_LOCO_DECODER 0
+#define CONFIG_LSCR_DECODER 0
+#define CONFIG_M101_DECODER 0
+#define CONFIG_MAGICYUV_DECODER 0
+#define CONFIG_MDEC_DECODER 0
++#define CONFIG_MEDIA100_DECODER 0
+#define CONFIG_MIMIC_DECODER 0
+#define CONFIG_MJPEG_DECODER 0
+#define CONFIG_MJPEGB_DECODER 0
+#define CONFIG_MMVIDEO_DECODER 0
+#define CONFIG_MOBICLIP_DECODER 0
+#define CONFIG_MOTIONPIXELS_DECODER 0
+#define CONFIG_MPEG1VIDEO_DECODER 0
+#define CONFIG_MPEG2VIDEO_DECODER 0
+#define CONFIG_MPEG4_DECODER 0
+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
+#define CONFIG_MPEG4_MMAL_DECODER 0
+#define CONFIG_MPEGVIDEO_DECODER 0
+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_MMAL_DECODER 0
+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_QSV_DECODER 0
+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
+#define CONFIG_MSA1_DECODER 0
+#define CONFIG_MSCC_DECODER 0
+#define CONFIG_MSMPEG4V1_DECODER 0
+#define CONFIG_MSMPEG4V2_DECODER 0
+#define CONFIG_MSMPEG4V3_DECODER 0
+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MSP2_DECODER 0
+#define CONFIG_MSRLE_DECODER 0
+#define CONFIG_MSS1_DECODER 0
+#define CONFIG_MSS2_DECODER 0
+#define CONFIG_MSVIDEO1_DECODER 0
+#define CONFIG_MSZH_DECODER 0
+#define CONFIG_MTS2_DECODER 0
+#define CONFIG_MV30_DECODER 0
+#define CONFIG_MVC1_DECODER 0
+#define CONFIG_MVC2_DECODER 0
+#define CONFIG_MVDV_DECODER 0
+#define CONFIG_MVHA_DECODER 0
+#define CONFIG_MWSC_DECODER 0
+#define CONFIG_MXPEG_DECODER 0
+#define CONFIG_NOTCHLC_DECODER 0
+#define CONFIG_NUV_DECODER 0
+#define CONFIG_PAF_VIDEO_DECODER 0
+#define CONFIG_PAM_DECODER 0
+#define CONFIG_PBM_DECODER 0
+#define CONFIG_PCX_DECODER 0
+#define CONFIG_PFM_DECODER 0
+#define CONFIG_PGM_DECODER 0
+#define CONFIG_PGMYUV_DECODER 0
+#define CONFIG_PGX_DECODER 0
++#define CONFIG_PHM_DECODER 0
+#define CONFIG_PHOTOCD_DECODER 0
+#define CONFIG_PICTOR_DECODER 0
+#define CONFIG_PIXLET_DECODER 0
+#define CONFIG_PNG_DECODER 0
+#define CONFIG_PPM_DECODER 0
+#define CONFIG_PRORES_DECODER 0
+#define CONFIG_PROSUMER_DECODER 0
+#define CONFIG_PSD_DECODER 0
+#define CONFIG_PTX_DECODER 0
+#define CONFIG_QDRAW_DECODER 0
++#define CONFIG_QOI_DECODER 0
+#define CONFIG_QPEG_DECODER 0
+#define CONFIG_QTRLE_DECODER 0
+#define CONFIG_R10K_DECODER 0
+#define CONFIG_R210_DECODER 0
+#define CONFIG_RASC_DECODER 0
+#define CONFIG_RAWVIDEO_DECODER 0
+#define CONFIG_RL2_DECODER 0
+#define CONFIG_ROQ_DECODER 0
+#define CONFIG_RPZA_DECODER 0
+#define CONFIG_RSCC_DECODER 0
+#define CONFIG_RV10_DECODER 0
+#define CONFIG_RV20_DECODER 0
+#define CONFIG_RV30_DECODER 0
+#define CONFIG_RV40_DECODER 0
+#define CONFIG_S302M_DECODER 0
+#define CONFIG_SANM_DECODER 0
+#define CONFIG_SCPR_DECODER 0
+#define CONFIG_SCREENPRESSO_DECODER 0
+#define CONFIG_SGA_DECODER 0
+#define CONFIG_SGI_DECODER 0
+#define CONFIG_SGIRLE_DECODER 0
+#define CONFIG_SHEERVIDEO_DECODER 0
+#define CONFIG_SIMBIOSIS_IMX_DECODER 0
+#define CONFIG_SMACKER_DECODER 0
+#define CONFIG_SMC_DECODER 0
+#define CONFIG_SMVJPEG_DECODER 0
+#define CONFIG_SNOW_DECODER 0
+#define CONFIG_SP5X_DECODER 0
+#define CONFIG_SPEEDHQ_DECODER 0
+#define CONFIG_SPEEX_DECODER 0
+#define CONFIG_SRGC_DECODER 0
+#define CONFIG_SUNRAST_DECODER 0
+#define CONFIG_SVQ1_DECODER 0
+#define CONFIG_SVQ3_DECODER 0
+#define CONFIG_TARGA_DECODER 0
+#define CONFIG_TARGA_Y216_DECODER 0
+#define CONFIG_TDSC_DECODER 0
+#define CONFIG_THEORA_DECODER 1
+#define CONFIG_THP_DECODER 0
+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
+#define CONFIG_TIFF_DECODER 0
+#define CONFIG_TMV_DECODER 0
+#define CONFIG_TRUEMOTION1_DECODER 0
+#define CONFIG_TRUEMOTION2_DECODER 0
+#define CONFIG_TRUEMOTION2RT_DECODER 0
+#define CONFIG_TSCC_DECODER 0
+#define CONFIG_TSCC2_DECODER 0
+#define CONFIG_TXD_DECODER 0
+#define CONFIG_ULTI_DECODER 0
+#define CONFIG_UTVIDEO_DECODER 0
+#define CONFIG_V210_DECODER 0
+#define CONFIG_V210X_DECODER 0
+#define CONFIG_V308_DECODER 0
+#define CONFIG_V408_DECODER 0
+#define CONFIG_V410_DECODER 0
+#define CONFIG_VB_DECODER 0
++#define CONFIG_VBN_DECODER 0
+#define CONFIG_VBLE_DECODER 0
+#define CONFIG_VC1_DECODER 0
+#define CONFIG_VC1_CRYSTALHD_DECODER 0
+#define CONFIG_VC1IMAGE_DECODER 0
+#define CONFIG_VC1_MMAL_DECODER 0
+#define CONFIG_VC1_QSV_DECODER 0
+#define CONFIG_VC1_V4L2M2M_DECODER 0
+#define CONFIG_VCR1_DECODER 0
+#define CONFIG_VMDVIDEO_DECODER 0
+#define CONFIG_VMNC_DECODER 0
+#define CONFIG_VP3_DECODER 1
+#define CONFIG_VP4_DECODER 0
+#define CONFIG_VP5_DECODER 0
+#define CONFIG_VP6_DECODER 0
+#define CONFIG_VP6A_DECODER 0
+#define CONFIG_VP6F_DECODER 0
+#define CONFIG_VP7_DECODER 0
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP8_RKMPP_DECODER 0
+#define CONFIG_VP8_V4L2M2M_DECODER 0
+#define CONFIG_VP9_DECODER 0
+#define CONFIG_VP9_RKMPP_DECODER 0
+#define CONFIG_VP9_V4L2M2M_DECODER 0
+#define CONFIG_VQA_DECODER 0
++#define CONFIG_VQC_DECODER 0
++#define CONFIG_WBMP_DECODER 0
+#define CONFIG_WEBP_DECODER 0
+#define CONFIG_WCMV_DECODER 0
+#define CONFIG_WRAPPED_AVFRAME_DECODER 0
+#define CONFIG_WMV1_DECODER 0
+#define CONFIG_WMV2_DECODER 0
+#define CONFIG_WMV3_DECODER 0
+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
+#define CONFIG_WMV3IMAGE_DECODER 0
+#define CONFIG_WNV1_DECODER 0
+#define CONFIG_XAN_WC3_DECODER 0
+#define CONFIG_XAN_WC4_DECODER 0
+#define CONFIG_XBM_DECODER 0
+#define CONFIG_XFACE_DECODER 0
+#define CONFIG_XL_DECODER 0
+#define CONFIG_XPM_DECODER 0
+#define CONFIG_XWD_DECODER 0
+#define CONFIG_Y41P_DECODER 0
+#define CONFIG_YLC_DECODER 0
+#define CONFIG_YOP_DECODER 0
+#define CONFIG_YUV4_DECODER 0
+#define CONFIG_ZERO12V_DECODER 0
+#define CONFIG_ZEROCODEC_DECODER 0
+#define CONFIG_ZLIB_DECODER 0
+#define CONFIG_ZMBV_DECODER 0
+#define CONFIG_AAC_DECODER 1
+#define CONFIG_AAC_FIXED_DECODER 0
+#define CONFIG_AAC_LATM_DECODER 0
+#define CONFIG_AC3_DECODER 0
+#define CONFIG_AC3_FIXED_DECODER 0
+#define CONFIG_ACELP_KELVIN_DECODER 0
+#define CONFIG_ALAC_DECODER 0
+#define CONFIG_ALS_DECODER 0
+#define CONFIG_AMRNB_DECODER 0
+#define CONFIG_AMRWB_DECODER 0
++#define CONFIG_APAC_DECODER 0
+#define CONFIG_APE_DECODER 0
+#define CONFIG_APTX_DECODER 0
+#define CONFIG_APTX_HD_DECODER 0
+#define CONFIG_ATRAC1_DECODER 0
+#define CONFIG_ATRAC3_DECODER 0
+#define CONFIG_ATRAC3AL_DECODER 0
+#define CONFIG_ATRAC3P_DECODER 0
+#define CONFIG_ATRAC3PAL_DECODER 0
+#define CONFIG_ATRAC9_DECODER 0
+#define CONFIG_BINKAUDIO_DCT_DECODER 0
+#define CONFIG_BINKAUDIO_RDFT_DECODER 0
+#define CONFIG_BMV_AUDIO_DECODER 0
++#define CONFIG_BONK_DECODER 0
+#define CONFIG_COOK_DECODER 0
+#define CONFIG_DCA_DECODER 0
+#define CONFIG_DFPWM_DECODER 0
+#define CONFIG_DOLBY_E_DECODER 0
+#define CONFIG_DSD_LSBF_DECODER 0
+#define CONFIG_DSD_MSBF_DECODER 0
+#define CONFIG_DSD_LSBF_PLANAR_DECODER 0
+#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
+#define CONFIG_DSICINAUDIO_DECODER 0
+#define CONFIG_DSS_SP_DECODER 0
+#define CONFIG_DST_DECODER 0
+#define CONFIG_EAC3_DECODER 0
+#define CONFIG_EVRC_DECODER 0
+#define CONFIG_FASTAUDIO_DECODER 0
+#define CONFIG_FFWAVESYNTH_DECODER 0
+#define CONFIG_FLAC_DECODER 1
++#define CONFIG_FTR_DECODER 0
+#define CONFIG_G723_1_DECODER 0
+#define CONFIG_G729_DECODER 0
+#define CONFIG_GSM_DECODER 0
+#define CONFIG_GSM_MS_DECODER 0
+#define CONFIG_HCA_DECODER 0
+#define CONFIG_HCOM_DECODER 0
++#define CONFIG_HDR_DECODER 0
+#define CONFIG_IAC_DECODER 0
+#define CONFIG_ILBC_DECODER 0
+#define CONFIG_IMC_DECODER 0
+#define CONFIG_INTERPLAY_ACM_DECODER 0
+#define CONFIG_MACE3_DECODER 0
+#define CONFIG_MACE6_DECODER 0
+#define CONFIG_METASOUND_DECODER 0
++#define CONFIG_MISC4_DECODER 0
+#define CONFIG_MLP_DECODER 0
+#define CONFIG_MP1_DECODER 0
+#define CONFIG_MP1FLOAT_DECODER 0
+#define CONFIG_MP2_DECODER 0
+#define CONFIG_MP2FLOAT_DECODER 0
+#define CONFIG_MP3FLOAT_DECODER 0
+#define CONFIG_MP3_DECODER 1
+#define CONFIG_MP3ADUFLOAT_DECODER 0
+#define CONFIG_MP3ADU_DECODER 0
+#define CONFIG_MP3ON4FLOAT_DECODER 0
+#define CONFIG_MP3ON4_DECODER 0
+#define CONFIG_MPC7_DECODER 0
+#define CONFIG_MPC8_DECODER 0
+#define CONFIG_MSNSIREN_DECODER 0
+#define CONFIG_NELLYMOSER_DECODER 0
+#define CONFIG_ON2AVC_DECODER 0
+#define CONFIG_OPUS_DECODER 0
+#define CONFIG_PAF_AUDIO_DECODER 0
+#define CONFIG_QCELP_DECODER 0
+#define CONFIG_QDM2_DECODER 0
+#define CONFIG_QDMC_DECODER 0
+#define CONFIG_RA_144_DECODER 0
+#define CONFIG_RA_288_DECODER 0
+#define CONFIG_RALF_DECODER 0
+#define CONFIG_SBC_DECODER 0
+#define CONFIG_SHORTEN_DECODER 0
+#define CONFIG_SIPR_DECODER 0
+#define CONFIG_SIREN_DECODER 0
+#define CONFIG_SMACKAUD_DECODER 0
+#define CONFIG_SONIC_DECODER 0
+#define CONFIG_TAK_DECODER 0
+#define CONFIG_TRUEHD_DECODER 0
+#define CONFIG_TRUESPEECH_DECODER 0
+#define CONFIG_TTA_DECODER 0
+#define CONFIG_TWINVQ_DECODER 0
+#define CONFIG_VMDAUDIO_DECODER 0
+#define CONFIG_VORBIS_DECODER 1
+#define CONFIG_WAVPACK_DECODER 0
+#define CONFIG_WMALOSSLESS_DECODER 0
+#define CONFIG_WMAPRO_DECODER 0
+#define CONFIG_WMAV1_DECODER 0
+#define CONFIG_WMAV2_DECODER 0
+#define CONFIG_WMAVOICE_DECODER 0
+#define CONFIG_WS_SND1_DECODER 0
+#define CONFIG_XMA1_DECODER 0
+#define CONFIG_XMA2_DECODER 0
+#define CONFIG_PCM_ALAW_DECODER 1
+#define CONFIG_PCM_BLURAY_DECODER 0
+#define CONFIG_PCM_DVD_DECODER 0
+#define CONFIG_PCM_F16LE_DECODER 0
+#define CONFIG_PCM_F24LE_DECODER 0
+#define CONFIG_PCM_F32BE_DECODER 0
+#define CONFIG_PCM_F32LE_DECODER 1
+#define CONFIG_PCM_F64BE_DECODER 0
+#define CONFIG_PCM_F64LE_DECODER 0
+#define CONFIG_PCM_LXF_DECODER 0
+#define CONFIG_PCM_MULAW_DECODER 1
+#define CONFIG_PCM_S8_DECODER 0
+#define CONFIG_PCM_S8_PLANAR_DECODER 0
+#define CONFIG_PCM_S16BE_DECODER 1
+#define CONFIG_PCM_S16BE_PLANAR_DECODER 0
+#define CONFIG_PCM_S16LE_DECODER 1
+#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S24BE_DECODER 1
+#define CONFIG_PCM_S24DAUD_DECODER 0
+#define CONFIG_PCM_S24LE_DECODER 1
+#define CONFIG_PCM_S24LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S32BE_DECODER 0
+#define CONFIG_PCM_S32LE_DECODER 1
+#define CONFIG_PCM_S32LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S64BE_DECODER 0
+#define CONFIG_PCM_S64LE_DECODER 0
+#define CONFIG_PCM_SGA_DECODER 0
+#define CONFIG_PCM_U8_DECODER 1
+#define CONFIG_PCM_U16BE_DECODER 0
+#define CONFIG_PCM_U16LE_DECODER 0
+#define CONFIG_PCM_U24BE_DECODER 0
+#define CONFIG_PCM_U24LE_DECODER 0
+#define CONFIG_PCM_U32BE_DECODER 0
+#define CONFIG_PCM_U32LE_DECODER 0
+#define CONFIG_PCM_VIDC_DECODER 0
+#define CONFIG_DERF_DPCM_DECODER 0
+#define CONFIG_GREMLIN_DPCM_DECODER 0
+#define CONFIG_INTERPLAY_DPCM_DECODER 0
+#define CONFIG_ROQ_DPCM_DECODER 0
+#define CONFIG_SDX2_DPCM_DECODER 0
+#define CONFIG_SOL_DPCM_DECODER 0
+#define CONFIG_XAN_DPCM_DECODER 0
+#define CONFIG_ADPCM_4XM_DECODER 0
+#define CONFIG_ADPCM_ADX_DECODER 0
+#define CONFIG_ADPCM_AFC_DECODER 0
+#define CONFIG_ADPCM_AGM_DECODER 0
+#define CONFIG_ADPCM_AICA_DECODER 0
+#define CONFIG_ADPCM_ARGO_DECODER 0
+#define CONFIG_ADPCM_CT_DECODER 0
+#define CONFIG_ADPCM_DTK_DECODER 0
+#define CONFIG_ADPCM_EA_DECODER 0
+#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
+#define CONFIG_ADPCM_EA_R1_DECODER 0
+#define CONFIG_ADPCM_EA_R2_DECODER 0
+#define CONFIG_ADPCM_EA_R3_DECODER 0
+#define CONFIG_ADPCM_EA_XAS_DECODER 0
+#define CONFIG_ADPCM_G722_DECODER 0
+#define CONFIG_ADPCM_G726_DECODER 0
+#define CONFIG_ADPCM_G726LE_DECODER 0
+#define CONFIG_ADPCM_IMA_ACORN_DECODER 0
+#define CONFIG_ADPCM_IMA_AMV_DECODER 0
+#define CONFIG_ADPCM_IMA_ALP_DECODER 0
+#define CONFIG_ADPCM_IMA_APC_DECODER 0
+#define CONFIG_ADPCM_IMA_APM_DECODER 0
+#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0
+#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
+#define CONFIG_ADPCM_IMA_DK3_DECODER 0
+#define CONFIG_ADPCM_IMA_DK4_DECODER 0
+#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
+#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
+#define CONFIG_ADPCM_IMA_ISS_DECODER 0
+#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0
+#define CONFIG_ADPCM_IMA_MTF_DECODER 0
+#define CONFIG_ADPCM_IMA_OKI_DECODER 0
+#define CONFIG_ADPCM_IMA_QT_DECODER 0
+#define CONFIG_ADPCM_IMA_RAD_DECODER 0
+#define CONFIG_ADPCM_IMA_SSI_DECODER 0
+#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
+#define CONFIG_ADPCM_IMA_WAV_DECODER 0
+#define CONFIG_ADPCM_IMA_WS_DECODER 0
+#define CONFIG_ADPCM_MS_DECODER 0
+#define CONFIG_ADPCM_MTAF_DECODER 0
+#define CONFIG_ADPCM_PSX_DECODER 0
+#define CONFIG_ADPCM_SBPRO_2_DECODER 0
+#define CONFIG_ADPCM_SBPRO_3_DECODER 0
+#define CONFIG_ADPCM_SBPRO_4_DECODER 0
+#define CONFIG_ADPCM_SWF_DECODER 0
+#define CONFIG_ADPCM_THP_DECODER 0
+#define CONFIG_ADPCM_THP_LE_DECODER 0
+#define CONFIG_ADPCM_VIMA_DECODER 0
+#define CONFIG_ADPCM_XA_DECODER 0
+#define CONFIG_ADPCM_YAMAHA_DECODER 0
+#define CONFIG_ADPCM_ZORK_DECODER 0
+#define CONFIG_SSA_DECODER 0
+#define CONFIG_ASS_DECODER 0
+#define CONFIG_CCAPTION_DECODER 0
+#define CONFIG_DVBSUB_DECODER 0
+#define CONFIG_DVDSUB_DECODER 0
+#define CONFIG_JACOSUB_DECODER 0
+#define CONFIG_MICRODVD_DECODER 0
+#define CONFIG_MOVTEXT_DECODER 0
+#define CONFIG_MPL2_DECODER 0
+#define CONFIG_PGSSUB_DECODER 0
+#define CONFIG_PJS_DECODER 0
+#define CONFIG_REALTEXT_DECODER 0
+#define CONFIG_SAMI_DECODER 0
+#define CONFIG_SRT_DECODER 0
+#define CONFIG_STL_DECODER 0
+#define CONFIG_SUBRIP_DECODER 0
+#define CONFIG_SUBVIEWER_DECODER 0
+#define CONFIG_SUBVIEWER1_DECODER 0
+#define CONFIG_TEXT_DECODER 0
+#define CONFIG_VPLAYER_DECODER 0
+#define CONFIG_WEBVTT_DECODER 0
+#define CONFIG_XSUB_DECODER 0
+#define CONFIG_AAC_AT_DECODER 0
+#define CONFIG_AC3_AT_DECODER 0
+#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
+#define CONFIG_ALAC_AT_DECODER 0
+#define CONFIG_AMR_NB_AT_DECODER 0
+#define CONFIG_EAC3_AT_DECODER 0
+#define CONFIG_GSM_MS_AT_DECODER 0
+#define CONFIG_ILBC_AT_DECODER 0
+#define CONFIG_MP1_AT_DECODER 0
+#define CONFIG_MP2_AT_DECODER 0
+#define CONFIG_MP3_AT_DECODER 0
+#define CONFIG_PCM_ALAW_AT_DECODER 0
+#define CONFIG_PCM_MULAW_AT_DECODER 0
+#define CONFIG_QDMC_AT_DECODER 0
+#define CONFIG_QDM2_AT_DECODER 0
+#define CONFIG_LIBARIBB24_DECODER 0
+#define CONFIG_LIBCELT_DECODER 0
+#define CONFIG_LIBCODEC2_DECODER 0
+#define CONFIG_LIBDAV1D_DECODER 0
+#define CONFIG_LIBDAVS2_DECODER 0
+#define CONFIG_LIBFDK_AAC_DECODER 0
+#define CONFIG_LIBGSM_DECODER 0
+#define CONFIG_LIBGSM_MS_DECODER 0
+#define CONFIG_LIBILBC_DECODER 0
++#define CONFIG_LIBJXL_DECODER 0
+#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
+#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
+#define CONFIG_LIBOPENJPEG_DECODER 0
+#define CONFIG_LIBOPUS_DECODER 1
+#define CONFIG_LIBRSVG_DECODER 0
+#define CONFIG_LIBSPEEX_DECODER 0
+#define CONFIG_LIBUAVS3D_DECODER 0
+#define CONFIG_LIBVORBIS_DECODER 0
+#define CONFIG_LIBVPX_VP8_DECODER 0
+#define CONFIG_LIBVPX_VP9_DECODER 0
+#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
+#define CONFIG_BINTEXT_DECODER 0
+#define CONFIG_XBIN_DECODER 0
+#define CONFIG_IDF_DECODER 0
+#define CONFIG_LIBAOM_AV1_DECODER 0
+#define CONFIG_AV1_DECODER 0
+#define CONFIG_AV1_CUVID_DECODER 0
+#define CONFIG_AV1_QSV_DECODER 0
+#define CONFIG_LIBOPENH264_DECODER 0
+#define CONFIG_H264_CUVID_DECODER 0
+#define CONFIG_HEVC_CUVID_DECODER 0
+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
+#define CONFIG_MJPEG_CUVID_DECODER 0
+#define CONFIG_MJPEG_QSV_DECODER 0
+#define CONFIG_MPEG1_CUVID_DECODER 0
+#define CONFIG_MPEG2_CUVID_DECODER 0
+#define CONFIG_MPEG4_CUVID_DECODER 0
+#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
+#define CONFIG_VC1_CUVID_DECODER 0
+#define CONFIG_VP8_CUVID_DECODER 0
+#define CONFIG_VP8_MEDIACODEC_DECODER 0
+#define CONFIG_VP8_QSV_DECODER 0
+#define CONFIG_VP9_CUVID_DECODER 0
+#define CONFIG_VP9_MEDIACODEC_DECODER 0
+#define CONFIG_VP9_QSV_DECODER 0
+#define CONFIG_A64MULTI_ENCODER 0
+#define CONFIG_A64MULTI5_ENCODER 0
+#define CONFIG_ALIAS_PIX_ENCODER 0
+#define CONFIG_AMV_ENCODER 0
+#define CONFIG_APNG_ENCODER 0
+#define CONFIG_ASV1_ENCODER 0
+#define CONFIG_ASV2_ENCODER 0
+#define CONFIG_AVRP_ENCODER 0
+#define CONFIG_AVUI_ENCODER 0
+#define CONFIG_AYUV_ENCODER 0
+#define CONFIG_BITPACKED_ENCODER 0
+#define CONFIG_BMP_ENCODER 0
+#define CONFIG_CFHD_ENCODER 0
+#define CONFIG_CINEPAK_ENCODER 0
+#define CONFIG_CLJR_ENCODER 0
+#define CONFIG_COMFORTNOISE_ENCODER 0
+#define CONFIG_DNXHD_ENCODER 0
+#define CONFIG_DPX_ENCODER 0
+#define CONFIG_DVVIDEO_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
+#define CONFIG_FITS_ENCODER 0
+#define CONFIG_FLASHSV_ENCODER 0
+#define CONFIG_FLASHSV2_ENCODER 0
+#define CONFIG_FLV_ENCODER 0
+#define CONFIG_GIF_ENCODER 0
+#define CONFIG_H261_ENCODER 0
+#define CONFIG_H263_ENCODER 0
+#define CONFIG_H263P_ENCODER 0
++#define CONFIG_H264_MEDIACODEC_ENCODER 0
+#define CONFIG_HAP_ENCODER 0
+#define CONFIG_HUFFYUV_ENCODER 0
+#define CONFIG_JPEG2000_ENCODER 0
+#define CONFIG_JPEGLS_ENCODER 0
+#define CONFIG_LJPEG_ENCODER 0
+#define CONFIG_MAGICYUV_ENCODER 0
+#define CONFIG_MJPEG_ENCODER 0
+#define CONFIG_MPEG1VIDEO_ENCODER 0
+#define CONFIG_MPEG2VIDEO_ENCODER 0
+#define CONFIG_MPEG4_ENCODER 0
+#define CONFIG_MSMPEG4V2_ENCODER 0
+#define CONFIG_MSMPEG4V3_ENCODER 0
+#define CONFIG_MSVIDEO1_ENCODER 0
+#define CONFIG_PAM_ENCODER 0
+#define CONFIG_PBM_ENCODER 0
+#define CONFIG_PCX_ENCODER 0
+#define CONFIG_PFM_ENCODER 0
+#define CONFIG_PGM_ENCODER 0
+#define CONFIG_PGMYUV_ENCODER 0
++#define CONFIG_PHM_ENCODER 0
+#define CONFIG_PNG_ENCODER 0
+#define CONFIG_PPM_ENCODER 0
+#define CONFIG_PRORES_ENCODER 0
+#define CONFIG_PRORES_AW_ENCODER 0
+#define CONFIG_PRORES_KS_ENCODER 0
++#define CONFIG_QOI_ENCODER 0
+#define CONFIG_QTRLE_ENCODER 0
+#define CONFIG_R10K_ENCODER 0
+#define CONFIG_R210_ENCODER 0
+#define CONFIG_RAWVIDEO_ENCODER 0
+#define CONFIG_ROQ_ENCODER 0
+#define CONFIG_RPZA_ENCODER 0
+#define CONFIG_RV10_ENCODER 0
+#define CONFIG_RV20_ENCODER 0
+#define CONFIG_S302M_ENCODER 0
+#define CONFIG_SGI_ENCODER 0
+#define CONFIG_SMC_ENCODER 0
+#define CONFIG_SNOW_ENCODER 0
+#define CONFIG_SPEEDHQ_ENCODER 0
+#define CONFIG_SUNRAST_ENCODER 0
+#define CONFIG_SVQ1_ENCODER 0
+#define CONFIG_TARGA_ENCODER 0
+#define CONFIG_TIFF_ENCODER 0
+#define CONFIG_UTVIDEO_ENCODER 0
+#define CONFIG_V210_ENCODER 0
+#define CONFIG_V308_ENCODER 0
+#define CONFIG_V408_ENCODER 0
+#define CONFIG_V410_ENCODER 0
++#define CONFIG_VBN_ENCODER 0
+#define CONFIG_VC2_ENCODER 0
++#define CONFIG_WBMP_ENCODER 0
+#define CONFIG_WRAPPED_AVFRAME_ENCODER 0
+#define CONFIG_WMV1_ENCODER 0
+#define CONFIG_WMV2_ENCODER 0
+#define CONFIG_XBM_ENCODER 0
+#define CONFIG_XFACE_ENCODER 0
+#define CONFIG_XWD_ENCODER 0
+#define CONFIG_Y41P_ENCODER 0
+#define CONFIG_YUV4_ENCODER 0
+#define CONFIG_ZLIB_ENCODER 0
+#define CONFIG_ZMBV_ENCODER 0
+#define CONFIG_AAC_ENCODER 0
+#define CONFIG_AC3_ENCODER 0
+#define CONFIG_AC3_FIXED_ENCODER 0
+#define CONFIG_ALAC_ENCODER 0
+#define CONFIG_APTX_ENCODER 0
+#define CONFIG_APTX_HD_ENCODER 0
+#define CONFIG_DCA_ENCODER 0
+#define CONFIG_DFPWM_ENCODER 0
+#define CONFIG_EAC3_ENCODER 0
+#define CONFIG_FLAC_ENCODER 0
+#define CONFIG_G723_1_ENCODER 0
++#define CONFIG_HDR_ENCODER 0
+#define CONFIG_MLP_ENCODER 0
+#define CONFIG_MP2_ENCODER 0
+#define CONFIG_MP2FIXED_ENCODER 0
+#define CONFIG_NELLYMOSER_ENCODER 0
+#define CONFIG_OPUS_ENCODER 0
+#define CONFIG_RA_144_ENCODER 0
+#define CONFIG_SBC_ENCODER 0
+#define CONFIG_SONIC_ENCODER 0
+#define CONFIG_SONIC_LS_ENCODER 0
+#define CONFIG_TRUEHD_ENCODER 0
+#define CONFIG_TTA_ENCODER 0
+#define CONFIG_VORBIS_ENCODER 0
+#define CONFIG_WAVPACK_ENCODER 0
+#define CONFIG_WMAV1_ENCODER 0
+#define CONFIG_WMAV2_ENCODER 0
+#define CONFIG_PCM_ALAW_ENCODER 0
+#define CONFIG_PCM_BLURAY_ENCODER 0
+#define CONFIG_PCM_DVD_ENCODER 0
+#define CONFIG_PCM_F32BE_ENCODER 0
+#define CONFIG_PCM_F32LE_ENCODER 0
+#define CONFIG_PCM_F64BE_ENCODER 0
+#define CONFIG_PCM_F64LE_ENCODER 0
+#define CONFIG_PCM_MULAW_ENCODER 0
+#define CONFIG_PCM_S8_ENCODER 0
+#define CONFIG_PCM_S8_PLANAR_ENCODER 0
+#define CONFIG_PCM_S16BE_ENCODER 0
+#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S16LE_ENCODER 0
+#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S24BE_ENCODER 0
+#define CONFIG_PCM_S24DAUD_ENCODER 0
+#define CONFIG_PCM_S24LE_ENCODER 0
+#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S32BE_ENCODER 0
+#define CONFIG_PCM_S32LE_ENCODER 0
+#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S64BE_ENCODER 0
+#define CONFIG_PCM_S64LE_ENCODER 0
+#define CONFIG_PCM_U8_ENCODER 0
+#define CONFIG_PCM_U16BE_ENCODER 0
+#define CONFIG_PCM_U16LE_ENCODER 0
+#define CONFIG_PCM_U24BE_ENCODER 0
+#define CONFIG_PCM_U24LE_ENCODER 0
+#define CONFIG_PCM_U32BE_ENCODER 0
+#define CONFIG_PCM_U32LE_ENCODER 0
+#define CONFIG_PCM_VIDC_ENCODER 0
+#define CONFIG_ROQ_DPCM_ENCODER 0
+#define CONFIG_ADPCM_ADX_ENCODER 0
+#define CONFIG_ADPCM_ARGO_ENCODER 0
+#define CONFIG_ADPCM_G722_ENCODER 0
+#define CONFIG_ADPCM_G726_ENCODER 0
+#define CONFIG_ADPCM_G726LE_ENCODER 0
+#define CONFIG_ADPCM_IMA_AMV_ENCODER 0
+#define CONFIG_ADPCM_IMA_ALP_ENCODER 0
+#define CONFIG_ADPCM_IMA_APM_ENCODER 0
+#define CONFIG_ADPCM_IMA_QT_ENCODER 0
+#define CONFIG_ADPCM_IMA_SSI_ENCODER 0
+#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
+#define CONFIG_ADPCM_IMA_WS_ENCODER 0
+#define CONFIG_ADPCM_MS_ENCODER 0
+#define CONFIG_ADPCM_SWF_ENCODER 0
+#define CONFIG_ADPCM_YAMAHA_ENCODER 0
+#define CONFIG_SSA_ENCODER 0
+#define CONFIG_ASS_ENCODER 0
+#define CONFIG_DVBSUB_ENCODER 0
+#define CONFIG_DVDSUB_ENCODER 0
+#define CONFIG_MOVTEXT_ENCODER 0
+#define CONFIG_SRT_ENCODER 0
+#define CONFIG_SUBRIP_ENCODER 0
+#define CONFIG_TEXT_ENCODER 0
+#define CONFIG_TTML_ENCODER 0
+#define CONFIG_WEBVTT_ENCODER 0
+#define CONFIG_XSUB_ENCODER 0
+#define CONFIG_AAC_AT_ENCODER 0
+#define CONFIG_ALAC_AT_ENCODER 0
+#define CONFIG_ILBC_AT_ENCODER 0
+#define CONFIG_PCM_ALAW_AT_ENCODER 0
+#define CONFIG_PCM_MULAW_AT_ENCODER 0
+#define CONFIG_LIBAOM_AV1_ENCODER 0
+#define CONFIG_LIBCODEC2_ENCODER 0
+#define CONFIG_LIBFDK_AAC_ENCODER 0
+#define CONFIG_LIBGSM_ENCODER 0
+#define CONFIG_LIBGSM_MS_ENCODER 0
+#define CONFIG_LIBILBC_ENCODER 0
++#define CONFIG_LIBJXL_ENCODER 0
+#define CONFIG_LIBMP3LAME_ENCODER 0
+#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
+#define CONFIG_LIBOPENJPEG_ENCODER 0
+#define CONFIG_LIBOPUS_ENCODER 0
+#define CONFIG_LIBRAV1E_ENCODER 0
+#define CONFIG_LIBSHINE_ENCODER 0
+#define CONFIG_LIBSPEEX_ENCODER 0
+#define CONFIG_LIBSVTAV1_ENCODER 0
+#define CONFIG_LIBTHEORA_ENCODER 0
+#define CONFIG_LIBTWOLAME_ENCODER 0
+#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
+#define CONFIG_LIBVORBIS_ENCODER 0
+#define CONFIG_LIBVPX_VP8_ENCODER 0
+#define CONFIG_LIBVPX_VP9_ENCODER 0
+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
+#define CONFIG_LIBWEBP_ENCODER 0
+#define CONFIG_LIBX262_ENCODER 0
+#define CONFIG_LIBX264_ENCODER 0
+#define CONFIG_LIBX264RGB_ENCODER 0
+#define CONFIG_LIBX265_ENCODER 0
+#define CONFIG_LIBXAVS_ENCODER 0
+#define CONFIG_LIBXAVS2_ENCODER 0
+#define CONFIG_LIBXVID_ENCODER 0
+#define CONFIG_AAC_MF_ENCODER 0
+#define CONFIG_AC3_MF_ENCODER 0
+#define CONFIG_H263_V4L2M2M_ENCODER 0
++#define CONFIG_AV1_NVENC_ENCODER 0
++#define CONFIG_AV1_QSV_ENCODER 0
+#define CONFIG_LIBOPENH264_ENCODER 0
+#define CONFIG_H264_AMF_ENCODER 0
+#define CONFIG_H264_MF_ENCODER 0
+#define CONFIG_H264_NVENC_ENCODER 0
+#define CONFIG_H264_OMX_ENCODER 0
+#define CONFIG_H264_QSV_ENCODER 0
+#define CONFIG_H264_V4L2M2M_ENCODER 0
+#define CONFIG_H264_VAAPI_ENCODER 0
+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
+#define CONFIG_HEVC_MF_ENCODER 0
+#define CONFIG_HEVC_NVENC_ENCODER 0
+#define CONFIG_HEVC_QSV_ENCODER 0
+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
+#define CONFIG_HEVC_VAAPI_ENCODER 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_LIBKVAZAAR_ENCODER 0
+#define CONFIG_MJPEG_QSV_ENCODER 0
+#define CONFIG_MJPEG_VAAPI_ENCODER 0
+#define CONFIG_MP3_MF_ENCODER 0
+#define CONFIG_MPEG2_QSV_ENCODER 0
+#define CONFIG_MPEG2_VAAPI_ENCODER 0
+#define CONFIG_MPEG4_OMX_ENCODER 0
+#define CONFIG_MPEG4_V4L2M2M_ENCODER 0
+#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_VP8_V4L2M2M_ENCODER 0
+#define CONFIG_VP8_VAAPI_ENCODER 0
+#define CONFIG_VP9_VAAPI_ENCODER 0
+#define CONFIG_VP9_QSV_ENCODER 0
+#define CONFIG_AV1_D3D11VA_HWACCEL 0
+#define CONFIG_AV1_D3D11VA2_HWACCEL 0
+#define CONFIG_AV1_DXVA2_HWACCEL 0
+#define CONFIG_AV1_NVDEC_HWACCEL 0
+#define CONFIG_AV1_VAAPI_HWACCEL 0
++#define CONFIG_AV1_VDPAU_HWACCEL 0
+#define CONFIG_H263_VAAPI_HWACCEL 0
+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_H264_D3D11VA_HWACCEL 0
+#define CONFIG_H264_D3D11VA2_HWACCEL 0
+#define CONFIG_H264_DXVA2_HWACCEL 0
+#define CONFIG_H264_NVDEC_HWACCEL 0
+#define CONFIG_H264_VAAPI_HWACCEL 0
+#define CONFIG_H264_VDPAU_HWACCEL 0
+#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_HEVC_D3D11VA_HWACCEL 0
+#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
+#define CONFIG_HEVC_DXVA2_HWACCEL 0
+#define CONFIG_HEVC_NVDEC_HWACCEL 0
+#define CONFIG_HEVC_VAAPI_HWACCEL 0
+#define CONFIG_HEVC_VDPAU_HWACCEL 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MJPEG_NVDEC_HWACCEL 0
+#define CONFIG_MJPEG_VAAPI_HWACCEL 0
+#define CONFIG_MPEG1_NVDEC_HWACCEL 0
+#define CONFIG_MPEG1_VDPAU_HWACCEL 0
+#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
+#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
+#define CONFIG_MPEG2_NVDEC_HWACCEL 0
+#define CONFIG_MPEG2_DXVA2_HWACCEL 0
+#define CONFIG_MPEG2_VAAPI_HWACCEL 0
+#define CONFIG_MPEG2_VDPAU_HWACCEL 0
+#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MPEG4_NVDEC_HWACCEL 0
+#define CONFIG_MPEG4_VAAPI_HWACCEL 0
+#define CONFIG_MPEG4_VDPAU_HWACCEL 0
+#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_VC1_D3D11VA_HWACCEL 0
+#define CONFIG_VC1_D3D11VA2_HWACCEL 0
+#define CONFIG_VC1_DXVA2_HWACCEL 0
+#define CONFIG_VC1_NVDEC_HWACCEL 0
+#define CONFIG_VC1_VAAPI_HWACCEL 0
+#define CONFIG_VC1_VDPAU_HWACCEL 0
+#define CONFIG_VP8_NVDEC_HWACCEL 0
+#define CONFIG_VP8_VAAPI_HWACCEL 0
+#define CONFIG_VP9_D3D11VA_HWACCEL 0
+#define CONFIG_VP9_D3D11VA2_HWACCEL 0
+#define CONFIG_VP9_DXVA2_HWACCEL 0
+#define CONFIG_VP9_NVDEC_HWACCEL 0
+#define CONFIG_VP9_VAAPI_HWACCEL 0
+#define CONFIG_VP9_VDPAU_HWACCEL 0
+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+#define CONFIG_WMV3_DXVA2_HWACCEL 0
+#define CONFIG_WMV3_NVDEC_HWACCEL 0
+#define CONFIG_WMV3_VAAPI_HWACCEL 0
+#define CONFIG_WMV3_VDPAU_HWACCEL 0
+#define CONFIG_AAC_PARSER 1
+#define CONFIG_AAC_LATM_PARSER 0
+#define CONFIG_AC3_PARSER 0
+#define CONFIG_ADX_PARSER 0
+#define CONFIG_AMR_PARSER 0
+#define CONFIG_AV1_PARSER 0
+#define CONFIG_AVS2_PARSER 0
+#define CONFIG_AVS3_PARSER 0
+#define CONFIG_BMP_PARSER 0
+#define CONFIG_CAVSVIDEO_PARSER 0
+#define CONFIG_COOK_PARSER 0
+#define CONFIG_CRI_PARSER 0
+#define CONFIG_DCA_PARSER 0
+#define CONFIG_DIRAC_PARSER 0
+#define CONFIG_DNXHD_PARSER 0
+#define CONFIG_DOLBY_E_PARSER 0
+#define CONFIG_DPX_PARSER 0
+#define CONFIG_DVAUDIO_PARSER 0
+#define CONFIG_DVBSUB_PARSER 0
+#define CONFIG_DVDSUB_PARSER 0
+#define CONFIG_DVD_NAV_PARSER 0
+#define CONFIG_FLAC_PARSER 1
++#define CONFIG_FTR_PARSER 0
+#define CONFIG_G723_1_PARSER 0
+#define CONFIG_G729_PARSER 0
+#define CONFIG_GIF_PARSER 0
+#define CONFIG_GSM_PARSER 0
+#define CONFIG_H261_PARSER 0
+#define CONFIG_H263_PARSER 0
+#define CONFIG_H264_PARSER 1
+#define CONFIG_HEVC_PARSER 0
++#define CONFIG_HDR_PARSER 0
+#define CONFIG_IPU_PARSER 0
+#define CONFIG_JPEG2000_PARSER 0
++#define CONFIG_MISC4_PARSER 0
+#define CONFIG_MJPEG_PARSER 0
+#define CONFIG_MLP_PARSER 0
+#define CONFIG_MPEG4VIDEO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
+#define CONFIG_MPEGVIDEO_PARSER 0
+#define CONFIG_OPUS_PARSER 1
+#define CONFIG_PNG_PARSER 0
+#define CONFIG_PNM_PARSER 0
++#define CONFIG_QOI_PARSER 0
+#define CONFIG_RV30_PARSER 0
+#define CONFIG_RV40_PARSER 0
+#define CONFIG_SBC_PARSER 0
+#define CONFIG_SIPR_PARSER 0
+#define CONFIG_TAK_PARSER 0
+#define CONFIG_VC1_PARSER 0
+#define CONFIG_VORBIS_PARSER 1
+#define CONFIG_VP3_PARSER 1
+#define CONFIG_VP8_PARSER 1
+#define CONFIG_VP9_PARSER 1
+#define CONFIG_WEBP_PARSER 0
+#define CONFIG_XBM_PARSER 0
+#define CONFIG_XMA_PARSER 0
++#define CONFIG_XWD_PARSER 0
+#define CONFIG_ALSA_INDEV 0
+#define CONFIG_ANDROID_CAMERA_INDEV 0
+#define CONFIG_AVFOUNDATION_INDEV 0
+#define CONFIG_BKTR_INDEV 0
+#define CONFIG_DECKLINK_INDEV 0
+#define CONFIG_DSHOW_INDEV 0
+#define CONFIG_FBDEV_INDEV 0
+#define CONFIG_GDIGRAB_INDEV 0
+#define CONFIG_IEC61883_INDEV 0
+#define CONFIG_JACK_INDEV 0
+#define CONFIG_KMSGRAB_INDEV 0
+#define CONFIG_LAVFI_INDEV 0
+#define CONFIG_OPENAL_INDEV 0
+#define CONFIG_OSS_INDEV 0
+#define CONFIG_PULSE_INDEV 0
+#define CONFIG_SNDIO_INDEV 0
+#define CONFIG_V4L2_INDEV 0
+#define CONFIG_VFWCAP_INDEV 0
+#define CONFIG_XCBGRAB_INDEV 0
+#define CONFIG_LIBCDIO_INDEV 0
+#define CONFIG_LIBDC1394_INDEV 0
+#define CONFIG_ALSA_OUTDEV 0
+#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
+#define CONFIG_CACA_OUTDEV 0
+#define CONFIG_DECKLINK_OUTDEV 0
+#define CONFIG_FBDEV_OUTDEV 0
+#define CONFIG_OPENGL_OUTDEV 0
+#define CONFIG_OSS_OUTDEV 0
+#define CONFIG_PULSE_OUTDEV 0
+#define CONFIG_SDL2_OUTDEV 0
+#define CONFIG_SNDIO_OUTDEV 0
+#define CONFIG_V4L2_OUTDEV 0
+#define CONFIG_XV_OUTDEV 0
+#define CONFIG_ABENCH_FILTER 0
+#define CONFIG_ACOMPRESSOR_FILTER 0
+#define CONFIG_ACONTRAST_FILTER 0
+#define CONFIG_ACOPY_FILTER 0
+#define CONFIG_ACUE_FILTER 0
+#define CONFIG_ACROSSFADE_FILTER 0
+#define CONFIG_ACROSSOVER_FILTER 0
+#define CONFIG_ACRUSHER_FILTER 0
+#define CONFIG_ADECLICK_FILTER 0
+#define CONFIG_ADECLIP_FILTER 0
+#define CONFIG_ADECORRELATE_FILTER 0
+#define CONFIG_ADELAY_FILTER 0
+#define CONFIG_ADENORM_FILTER 0
+#define CONFIG_ADERIVATIVE_FILTER 0
+#define CONFIG_ADYNAMICEQUALIZER_FILTER 0
+#define CONFIG_ADYNAMICSMOOTH_FILTER 0
+#define CONFIG_AECHO_FILTER 0
+#define CONFIG_AEMPHASIS_FILTER 0
+#define CONFIG_AEVAL_FILTER 0
+#define CONFIG_AEXCITER_FILTER 0
+#define CONFIG_AFADE_FILTER 0
+#define CONFIG_AFFTDN_FILTER 0
+#define CONFIG_AFFTFILT_FILTER 0
+#define CONFIG_AFIR_FILTER 0
+#define CONFIG_AFORMAT_FILTER 0
+#define CONFIG_AFREQSHIFT_FILTER 0
+#define CONFIG_AFWTDN_FILTER 0
+#define CONFIG_AGATE_FILTER 0
+#define CONFIG_AIIR_FILTER 0
+#define CONFIG_AINTEGRAL_FILTER 0
+#define CONFIG_AINTERLEAVE_FILTER 0
+#define CONFIG_ALATENCY_FILTER 0
+#define CONFIG_ALIMITER_FILTER 0
+#define CONFIG_ALLPASS_FILTER 0
+#define CONFIG_ALOOP_FILTER 0
+#define CONFIG_AMERGE_FILTER 0
+#define CONFIG_AMETADATA_FILTER 0
+#define CONFIG_AMIX_FILTER 0
+#define CONFIG_AMULTIPLY_FILTER 0
+#define CONFIG_ANEQUALIZER_FILTER 0
+#define CONFIG_ANLMDN_FILTER 0
+#define CONFIG_ANLMF_FILTER 0
+#define CONFIG_ANLMS_FILTER 0
+#define CONFIG_ANULL_FILTER 0
+#define CONFIG_APAD_FILTER 0
+#define CONFIG_APERMS_FILTER 0
+#define CONFIG_APHASER_FILTER 0
+#define CONFIG_APHASESHIFT_FILTER 0
+#define CONFIG_APSYCLIP_FILTER 0
+#define CONFIG_APULSATOR_FILTER 0
+#define CONFIG_AREALTIME_FILTER 0
+#define CONFIG_ARESAMPLE_FILTER 0
+#define CONFIG_AREVERSE_FILTER 0
+#define CONFIG_ARNNDN_FILTER 0
+#define CONFIG_ASDR_FILTER 0
+#define CONFIG_ASEGMENT_FILTER 0
+#define CONFIG_ASELECT_FILTER 0
+#define CONFIG_ASENDCMD_FILTER 0
+#define CONFIG_ASETNSAMPLES_FILTER 0
+#define CONFIG_ASETPTS_FILTER 0
+#define CONFIG_ASETRATE_FILTER 0
+#define CONFIG_ASETTB_FILTER 0
+#define CONFIG_ASHOWINFO_FILTER 0
+#define CONFIG_ASIDEDATA_FILTER 0
+#define CONFIG_ASOFTCLIP_FILTER 0
+#define CONFIG_ASPECTRALSTATS_FILTER 0
+#define CONFIG_ASPLIT_FILTER 0
+#define CONFIG_ASR_FILTER 0
+#define CONFIG_ASTATS_FILTER 0
+#define CONFIG_ASTREAMSELECT_FILTER 0
+#define CONFIG_ASUBBOOST_FILTER 0
+#define CONFIG_ASUBCUT_FILTER 0
+#define CONFIG_ASUPERCUT_FILTER 0
+#define CONFIG_ASUPERPASS_FILTER 0
+#define CONFIG_ASUPERSTOP_FILTER 0
+#define CONFIG_ATEMPO_FILTER 0
+#define CONFIG_ATILT_FILTER 0
+#define CONFIG_ATRIM_FILTER 0
+#define CONFIG_AXCORRELATE_FILTER 0
+#define CONFIG_AZMQ_FILTER 0
+#define CONFIG_BANDPASS_FILTER 0
+#define CONFIG_BANDREJECT_FILTER 0
+#define CONFIG_BASS_FILTER 0
+#define CONFIG_BIQUAD_FILTER 0
+#define CONFIG_BS2B_FILTER 0
+#define CONFIG_CHANNELMAP_FILTER 0
+#define CONFIG_CHANNELSPLIT_FILTER 0
+#define CONFIG_CHORUS_FILTER 0
+#define CONFIG_COMPAND_FILTER 0
+#define CONFIG_COMPENSATIONDELAY_FILTER 0
+#define CONFIG_CROSSFEED_FILTER 0
+#define CONFIG_CRYSTALIZER_FILTER 0
+#define CONFIG_DCSHIFT_FILTER 0
+#define CONFIG_DEESSER_FILTER 0
+#define CONFIG_DIALOGUENHANCE_FILTER 0
+#define CONFIG_DRMETER_FILTER 0
+#define CONFIG_DYNAUDNORM_FILTER 0
+#define CONFIG_EARWAX_FILTER 0
+#define CONFIG_EBUR128_FILTER 0
+#define CONFIG_EQUALIZER_FILTER 0
+#define CONFIG_EXTRASTEREO_FILTER 0
+#define CONFIG_FIREQUALIZER_FILTER 0
+#define CONFIG_FLANGER_FILTER 0
+#define CONFIG_HAAS_FILTER 0
+#define CONFIG_HDCD_FILTER 0
+#define CONFIG_HEADPHONE_FILTER 0
+#define CONFIG_HIGHPASS_FILTER 0
+#define CONFIG_HIGHSHELF_FILTER 0
+#define CONFIG_JOIN_FILTER 0
+#define CONFIG_LADSPA_FILTER 0
+#define CONFIG_LOUDNORM_FILTER 0
+#define CONFIG_LOWPASS_FILTER 0
+#define CONFIG_LOWSHELF_FILTER 0
+#define CONFIG_LV2_FILTER 0
+#define CONFIG_MCOMPAND_FILTER 0
+#define CONFIG_PAN_FILTER 0
+#define CONFIG_REPLAYGAIN_FILTER 0
+#define CONFIG_RUBBERBAND_FILTER 0
+#define CONFIG_SIDECHAINCOMPRESS_FILTER 0
+#define CONFIG_SIDECHAINGATE_FILTER 0
+#define CONFIG_SILENCEDETECT_FILTER 0
+#define CONFIG_SILENCEREMOVE_FILTER 0
+#define CONFIG_SOFALIZER_FILTER 0
+#define CONFIG_SPEECHNORM_FILTER 0
+#define CONFIG_STEREOTOOLS_FILTER 0
+#define CONFIG_STEREOWIDEN_FILTER 0
+#define CONFIG_SUPEREQUALIZER_FILTER 0
+#define CONFIG_SURROUND_FILTER 0
++#define CONFIG_TILTSHELF_FILTER 0
+#define CONFIG_TREBLE_FILTER 0
+#define CONFIG_TREMOLO_FILTER 0
+#define CONFIG_VIBRATO_FILTER 0
++#define CONFIG_VIRTUALBASS_FILTER 0
+#define CONFIG_VOLUME_FILTER 0
+#define CONFIG_VOLUMEDETECT_FILTER 0
+#define CONFIG_AEVALSRC_FILTER 0
+#define CONFIG_AFIRSRC_FILTER 0
+#define CONFIG_ANOISESRC_FILTER 0
+#define CONFIG_ANULLSRC_FILTER 0
+#define CONFIG_FLITE_FILTER 0
+#define CONFIG_HILBERT_FILTER 0
+#define CONFIG_SINC_FILTER 0
+#define CONFIG_SINE_FILTER 0
+#define CONFIG_ANULLSINK_FILTER 0
+#define CONFIG_ADDROI_FILTER 0
+#define CONFIG_ALPHAEXTRACT_FILTER 0
+#define CONFIG_ALPHAMERGE_FILTER 0
+#define CONFIG_AMPLIFY_FILTER 0
+#define CONFIG_ASS_FILTER 0
+#define CONFIG_ATADENOISE_FILTER 0
+#define CONFIG_AVGBLUR_FILTER 0
+#define CONFIG_AVGBLUR_OPENCL_FILTER 0
+#define CONFIG_AVGBLUR_VULKAN_FILTER 0
++#define CONFIG_BACKGROUNDKEY_FILTER 0
+#define CONFIG_BBOX_FILTER 0
+#define CONFIG_BENCH_FILTER 0
+#define CONFIG_BILATERAL_FILTER 0
++#define CONFIG_BILATERAL_CUDA_FILTER 0
+#define CONFIG_BITPLANENOISE_FILTER 0
+#define CONFIG_BLACKDETECT_FILTER 0
+#define CONFIG_BLACKFRAME_FILTER 0
+#define CONFIG_BLEND_FILTER 0
+#define CONFIG_BLEND_VULKAN_FILTER 0
++#define CONFIG_BLOCKDETECT_FILTER 0
++#define CONFIG_BLURDETECT_FILTER 0
+#define CONFIG_BM3D_FILTER 0
+#define CONFIG_BOXBLUR_FILTER 0
+#define CONFIG_BOXBLUR_OPENCL_FILTER 0
+#define CONFIG_BWDIF_FILTER 0
+#define CONFIG_CAS_FILTER 0
+#define CONFIG_CHROMABER_VULKAN_FILTER 0
+#define CONFIG_CHROMAHOLD_FILTER 0
+#define CONFIG_CHROMAKEY_FILTER 0
++#define CONFIG_CHROMAKEY_CUDA_FILTER 0
+#define CONFIG_CHROMANR_FILTER 0
+#define CONFIG_CHROMASHIFT_FILTER 0
+#define CONFIG_CIESCOPE_FILTER 0
+#define CONFIG_CODECVIEW_FILTER 0
+#define CONFIG_COLORBALANCE_FILTER 0
+#define CONFIG_COLORCHANNELMIXER_FILTER 0
+#define CONFIG_COLORCONTRAST_FILTER 0
+#define CONFIG_COLORCORRECT_FILTER 0
+#define CONFIG_COLORIZE_FILTER 0
+#define CONFIG_COLORKEY_FILTER 0
+#define CONFIG_COLORKEY_OPENCL_FILTER 0
+#define CONFIG_COLORHOLD_FILTER 0
+#define CONFIG_COLORLEVELS_FILTER 0
++#define CONFIG_COLORMAP_FILTER 0
+#define CONFIG_COLORMATRIX_FILTER 0
+#define CONFIG_COLORSPACE_FILTER 0
++#define CONFIG_COLORSPACE_CUDA_FILTER 0
+#define CONFIG_COLORTEMPERATURE_FILTER 0
+#define CONFIG_CONVOLUTION_FILTER 0
+#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
+#define CONFIG_CONVOLVE_FILTER 0
+#define CONFIG_COPY_FILTER 0
+#define CONFIG_COREIMAGE_FILTER 0
+#define CONFIG_COVER_RECT_FILTER 0
+#define CONFIG_CROP_FILTER 0
+#define CONFIG_CROPDETECT_FILTER 0
+#define CONFIG_CUE_FILTER 0
+#define CONFIG_CURVES_FILTER 0
+#define CONFIG_DATASCOPE_FILTER 0
+#define CONFIG_DBLUR_FILTER 0
+#define CONFIG_DCTDNOIZ_FILTER 0
+#define CONFIG_DEBAND_FILTER 0
+#define CONFIG_DEBLOCK_FILTER 0
+#define CONFIG_DECIMATE_FILTER 0
+#define CONFIG_DECONVOLVE_FILTER 0
+#define CONFIG_DEDOT_FILTER 0
+#define CONFIG_DEFLATE_FILTER 0
+#define CONFIG_DEFLICKER_FILTER 0
+#define CONFIG_DEINTERLACE_QSV_FILTER 0
+#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
+#define CONFIG_DEJUDDER_FILTER 0
+#define CONFIG_DELOGO_FILTER 0
+#define CONFIG_DENOISE_VAAPI_FILTER 0
+#define CONFIG_DERAIN_FILTER 0
+#define CONFIG_DESHAKE_FILTER 0
+#define CONFIG_DESHAKE_OPENCL_FILTER 0
+#define CONFIG_DESPILL_FILTER 0
+#define CONFIG_DETELECINE_FILTER 0
+#define CONFIG_DILATION_FILTER 0
+#define CONFIG_DILATION_OPENCL_FILTER 0
+#define CONFIG_DISPLACE_FILTER 0
+#define CONFIG_DNN_CLASSIFY_FILTER 0
+#define CONFIG_DNN_DETECT_FILTER 0
+#define CONFIG_DNN_PROCESSING_FILTER 0
+#define CONFIG_DOUBLEWEAVE_FILTER 0
+#define CONFIG_DRAWBOX_FILTER 0
+#define CONFIG_DRAWGRAPH_FILTER 0
+#define CONFIG_DRAWGRID_FILTER 0
+#define CONFIG_DRAWTEXT_FILTER 0
+#define CONFIG_EDGEDETECT_FILTER 0
+#define CONFIG_ELBG_FILTER 0
+#define CONFIG_ENTROPY_FILTER 0
+#define CONFIG_EPX_FILTER 0
+#define CONFIG_EQ_FILTER 0
+#define CONFIG_EROSION_FILTER 0
+#define CONFIG_EROSION_OPENCL_FILTER 0
+#define CONFIG_ESTDIF_FILTER 0
+#define CONFIG_EXPOSURE_FILTER 0
+#define CONFIG_EXTRACTPLANES_FILTER 0
+#define CONFIG_FADE_FILTER 0
++#define CONFIG_FEEDBACK_FILTER 0
+#define CONFIG_FFTDNOIZ_FILTER 0
+#define CONFIG_FFTFILT_FILTER 0
+#define CONFIG_FIELD_FILTER 0
+#define CONFIG_FIELDHINT_FILTER 0
+#define CONFIG_FIELDMATCH_FILTER 0
+#define CONFIG_FIELDORDER_FILTER 0
+#define CONFIG_FILLBORDERS_FILTER 0
+#define CONFIG_FIND_RECT_FILTER 0
+#define CONFIG_FLIP_VULKAN_FILTER 0
+#define CONFIG_FLOODFILL_FILTER 0
+#define CONFIG_FORMAT_FILTER 0
+#define CONFIG_FPS_FILTER 0
+#define CONFIG_FRAMEPACK_FILTER 0
+#define CONFIG_FRAMERATE_FILTER 0
+#define CONFIG_FRAMESTEP_FILTER 0
+#define CONFIG_FREEZEDETECT_FILTER 0
+#define CONFIG_FREEZEFRAMES_FILTER 0
+#define CONFIG_FREI0R_FILTER 0
+#define CONFIG_FSPP_FILTER 0
+#define CONFIG_GBLUR_FILTER 0
+#define CONFIG_GBLUR_VULKAN_FILTER 0
+#define CONFIG_GEQ_FILTER 0
+#define CONFIG_GRADFUN_FILTER 0
+#define CONFIG_GRAPHMONITOR_FILTER 0
+#define CONFIG_GRAYWORLD_FILTER 0
+#define CONFIG_GREYEDGE_FILTER 0
+#define CONFIG_GUIDED_FILTER 0
+#define CONFIG_HALDCLUT_FILTER 0
+#define CONFIG_HFLIP_FILTER 0
+#define CONFIG_HFLIP_VULKAN_FILTER 0
+#define CONFIG_HISTEQ_FILTER 0
+#define CONFIG_HISTOGRAM_FILTER 0
+#define CONFIG_HQDN3D_FILTER 0
+#define CONFIG_HQX_FILTER 0
+#define CONFIG_HSTACK_FILTER 0
+#define CONFIG_HSVHOLD_FILTER 0
+#define CONFIG_HSVKEY_FILTER 0
+#define CONFIG_HUE_FILTER 0
+#define CONFIG_HUESATURATION_FILTER 0
+#define CONFIG_HWDOWNLOAD_FILTER 0
+#define CONFIG_HWMAP_FILTER 0
+#define CONFIG_HWUPLOAD_FILTER 0
+#define CONFIG_HWUPLOAD_CUDA_FILTER 0
+#define CONFIG_HYSTERESIS_FILTER 0
++#define CONFIG_ICCDETECT_FILTER 0
++#define CONFIG_ICCGEN_FILTER 0
+#define CONFIG_IDENTITY_FILTER 0
+#define CONFIG_IDET_FILTER 0
+#define CONFIG_IL_FILTER 0
+#define CONFIG_INFLATE_FILTER 0
+#define CONFIG_INTERLACE_FILTER 0
+#define CONFIG_INTERLEAVE_FILTER 0
+#define CONFIG_KERNDEINT_FILTER 0
+#define CONFIG_KIRSCH_FILTER 0
+#define CONFIG_LAGFUN_FILTER 0
+#define CONFIG_LATENCY_FILTER 0
+#define CONFIG_LENSCORRECTION_FILTER 0
+#define CONFIG_LENSFUN_FILTER 0
+#define CONFIG_LIBPLACEBO_FILTER 0
+#define CONFIG_LIBVMAF_FILTER 0
+#define CONFIG_LIMITDIFF_FILTER 0
+#define CONFIG_LIMITER_FILTER 0
+#define CONFIG_LOOP_FILTER 0
+#define CONFIG_LUMAKEY_FILTER 0
+#define CONFIG_LUT_FILTER 0
+#define CONFIG_LUT1D_FILTER 0
+#define CONFIG_LUT2_FILTER 0
+#define CONFIG_LUT3D_FILTER 0
+#define CONFIG_LUTRGB_FILTER 0
+#define CONFIG_LUTYUV_FILTER 0
+#define CONFIG_MASKEDCLAMP_FILTER 0
+#define CONFIG_MASKEDMAX_FILTER 0
+#define CONFIG_MASKEDMERGE_FILTER 0
+#define CONFIG_MASKEDMIN_FILTER 0
+#define CONFIG_MASKEDTHRESHOLD_FILTER 0
+#define CONFIG_MASKFUN_FILTER 0
+#define CONFIG_MCDEINT_FILTER 0
+#define CONFIG_MEDIAN_FILTER 0
+#define CONFIG_MERGEPLANES_FILTER 0
+#define CONFIG_MESTIMATE_FILTER 0
+#define CONFIG_METADATA_FILTER 0
+#define CONFIG_MIDEQUALIZER_FILTER 0
+#define CONFIG_MINTERPOLATE_FILTER 0
+#define CONFIG_MIX_FILTER 0
+#define CONFIG_MONOCHROME_FILTER 0
+#define CONFIG_MORPHO_FILTER 0
+#define CONFIG_MPDECIMATE_FILTER 0
+#define CONFIG_MSAD_FILTER 0
++#define CONFIG_MULTIPLY_FILTER 0
+#define CONFIG_NEGATE_FILTER 0
+#define CONFIG_NLMEANS_FILTER 0
+#define CONFIG_NLMEANS_OPENCL_FILTER 0
+#define CONFIG_NNEDI_FILTER 0
+#define CONFIG_NOFORMAT_FILTER 0
+#define CONFIG_NOISE_FILTER 0
+#define CONFIG_NORMALIZE_FILTER 0
+#define CONFIG_NULL_FILTER 0
+#define CONFIG_OCR_FILTER 0
+#define CONFIG_OCV_FILTER 0
+#define CONFIG_OSCILLOSCOPE_FILTER 0
+#define CONFIG_OVERLAY_FILTER 0
+#define CONFIG_OVERLAY_OPENCL_FILTER 0
+#define CONFIG_OVERLAY_QSV_FILTER 0
+#define CONFIG_OVERLAY_VAAPI_FILTER 0
+#define CONFIG_OVERLAY_VULKAN_FILTER 0
+#define CONFIG_OVERLAY_CUDA_FILTER 0
+#define CONFIG_OWDENOISE_FILTER 0
+#define CONFIG_PAD_FILTER 0
+#define CONFIG_PAD_OPENCL_FILTER 0
+#define CONFIG_PALETTEGEN_FILTER 0
+#define CONFIG_PALETTEUSE_FILTER 0
+#define CONFIG_PERMS_FILTER 0
+#define CONFIG_PERSPECTIVE_FILTER 0
+#define CONFIG_PHASE_FILTER 0
+#define CONFIG_PHOTOSENSITIVITY_FILTER 0
+#define CONFIG_PIXDESCTEST_FILTER 0
++#define CONFIG_PIXELIZE_FILTER 0
+#define CONFIG_PIXSCOPE_FILTER 0
+#define CONFIG_PP_FILTER 0
+#define CONFIG_PP7_FILTER 0
+#define CONFIG_PREMULTIPLY_FILTER 0
+#define CONFIG_PREWITT_FILTER 0
+#define CONFIG_PREWITT_OPENCL_FILTER 0
+#define CONFIG_PROCAMP_VAAPI_FILTER 0
+#define CONFIG_PROGRAM_OPENCL_FILTER 0
+#define CONFIG_PSEUDOCOLOR_FILTER 0
+#define CONFIG_PSNR_FILTER 0
+#define CONFIG_PULLUP_FILTER 0
+#define CONFIG_QP_FILTER 0
+#define CONFIG_RANDOM_FILTER 0
+#define CONFIG_READEIA608_FILTER 0
+#define CONFIG_READVITC_FILTER 0
+#define CONFIG_REALTIME_FILTER 0
+#define CONFIG_REMAP_FILTER 0
++#define CONFIG_REMAP_OPENCL_FILTER 0
+#define CONFIG_REMOVEGRAIN_FILTER 0
+#define CONFIG_REMOVELOGO_FILTER 0
+#define CONFIG_REPEATFIELDS_FILTER 0
+#define CONFIG_REVERSE_FILTER 0
+#define CONFIG_RGBASHIFT_FILTER 0
+#define CONFIG_ROBERTS_FILTER 0
+#define CONFIG_ROBERTS_OPENCL_FILTER 0
+#define CONFIG_ROTATE_FILTER 0
+#define CONFIG_SAB_FILTER 0
+#define CONFIG_SCALE_FILTER 0
+#define CONFIG_SCALE_CUDA_FILTER 0
+#define CONFIG_SCALE_NPP_FILTER 0
+#define CONFIG_SCALE_QSV_FILTER 0
+#define CONFIG_SCALE_VAAPI_FILTER 0
+#define CONFIG_SCALE_VULKAN_FILTER 0
+#define CONFIG_SCALE2REF_FILTER 0
+#define CONFIG_SCALE2REF_NPP_FILTER 0
+#define CONFIG_SCDET_FILTER 0
+#define CONFIG_SCHARR_FILTER 0
+#define CONFIG_SCROLL_FILTER 0
+#define CONFIG_SEGMENT_FILTER 0
+#define CONFIG_SELECT_FILTER 0
+#define CONFIG_SELECTIVECOLOR_FILTER 0
+#define CONFIG_SENDCMD_FILTER 0
+#define CONFIG_SEPARATEFIELDS_FILTER 0
+#define CONFIG_SETDAR_FILTER 0
+#define CONFIG_SETFIELD_FILTER 0
+#define CONFIG_SETPARAMS_FILTER 0
+#define CONFIG_SETPTS_FILTER 0
+#define CONFIG_SETRANGE_FILTER 0
+#define CONFIG_SETSAR_FILTER 0
+#define CONFIG_SETTB_FILTER 0
+#define CONFIG_SHARPEN_NPP_FILTER 0
+#define CONFIG_SHARPNESS_VAAPI_FILTER 0
+#define CONFIG_SHEAR_FILTER 0
+#define CONFIG_SHOWINFO_FILTER 0
+#define CONFIG_SHOWPALETTE_FILTER 0
+#define CONFIG_SHUFFLEFRAMES_FILTER 0
+#define CONFIG_SHUFFLEPIXELS_FILTER 0
+#define CONFIG_SHUFFLEPLANES_FILTER 0
+#define CONFIG_SIDEDATA_FILTER 0
+#define CONFIG_SIGNALSTATS_FILTER 0
+#define CONFIG_SIGNATURE_FILTER 0
++#define CONFIG_SITI_FILTER 0
+#define CONFIG_SMARTBLUR_FILTER 0
+#define CONFIG_SOBEL_FILTER 0
+#define CONFIG_SOBEL_OPENCL_FILTER 0
+#define CONFIG_SPLIT_FILTER 0
+#define CONFIG_SPP_FILTER 0
+#define CONFIG_SR_FILTER 0
+#define CONFIG_SSIM_FILTER 0
+#define CONFIG_STEREO3D_FILTER 0
+#define CONFIG_STREAMSELECT_FILTER 0
+#define CONFIG_SUBTITLES_FILTER 0
+#define CONFIG_SUPER2XSAI_FILTER 0
+#define CONFIG_SWAPRECT_FILTER 0
+#define CONFIG_SWAPUV_FILTER 0
+#define CONFIG_TBLEND_FILTER 0
+#define CONFIG_TELECINE_FILTER 0
+#define CONFIG_THISTOGRAM_FILTER 0
+#define CONFIG_THRESHOLD_FILTER 0
+#define CONFIG_THUMBNAIL_FILTER 0
+#define CONFIG_THUMBNAIL_CUDA_FILTER 0
+#define CONFIG_TILE_FILTER 0
+#define CONFIG_TINTERLACE_FILTER 0
+#define CONFIG_TLUT2_FILTER 0
+#define CONFIG_TMEDIAN_FILTER 0
+#define CONFIG_TMIDEQUALIZER_FILTER 0
+#define CONFIG_TMIX_FILTER 0
+#define CONFIG_TONEMAP_FILTER 0
+#define CONFIG_TONEMAP_OPENCL_FILTER 0
+#define CONFIG_TONEMAP_VAAPI_FILTER 0
+#define CONFIG_TPAD_FILTER 0
+#define CONFIG_TRANSPOSE_FILTER 0
+#define CONFIG_TRANSPOSE_NPP_FILTER 0
+#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
+#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
+#define CONFIG_TRIM_FILTER 0
+#define CONFIG_UNPREMULTIPLY_FILTER 0
+#define CONFIG_UNSHARP_FILTER 0
+#define CONFIG_UNSHARP_OPENCL_FILTER 0
+#define CONFIG_UNTILE_FILTER 0
+#define CONFIG_USPP_FILTER 0
+#define CONFIG_V360_FILTER 0
+#define CONFIG_VAGUEDENOISER_FILTER 0
+#define CONFIG_VARBLUR_FILTER 0
+#define CONFIG_VECTORSCOPE_FILTER 0
+#define CONFIG_VFLIP_FILTER 0
+#define CONFIG_VFLIP_VULKAN_FILTER 0
+#define CONFIG_VFRDET_FILTER 0
+#define CONFIG_VIBRANCE_FILTER 0
+#define CONFIG_VIDSTABDETECT_FILTER 0
+#define CONFIG_VIDSTABTRANSFORM_FILTER 0
+#define CONFIG_VIF_FILTER 0
+#define CONFIG_VIGNETTE_FILTER 0
+#define CONFIG_VMAFMOTION_FILTER 0
+#define CONFIG_VPP_QSV_FILTER 0
+#define CONFIG_VSTACK_FILTER 0
+#define CONFIG_W3FDIF_FILTER 0
+#define CONFIG_WAVEFORM_FILTER 0
+#define CONFIG_WEAVE_FILTER 0
+#define CONFIG_XBR_FILTER 0
+#define CONFIG_XCORRELATE_FILTER 0
+#define CONFIG_XFADE_FILTER 0
+#define CONFIG_XFADE_OPENCL_FILTER 0
+#define CONFIG_XMEDIAN_FILTER 0
+#define CONFIG_XSTACK_FILTER 0
+#define CONFIG_YADIF_FILTER 0
+#define CONFIG_YADIF_CUDA_FILTER 0
+#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
+#define CONFIG_YAEPBLUR_FILTER 0
+#define CONFIG_ZMQ_FILTER 0
+#define CONFIG_ZOOMPAN_FILTER 0
+#define CONFIG_ZSCALE_FILTER 0
+#define CONFIG_ALLRGB_FILTER 0
+#define CONFIG_ALLYUV_FILTER 0
+#define CONFIG_CELLAUTO_FILTER 0
+#define CONFIG_COLOR_FILTER 0
++#define CONFIG_COLORCHART_FILTER 0
+#define CONFIG_COLORSPECTRUM_FILTER 0
+#define CONFIG_COREIMAGESRC_FILTER 0
++#define CONFIG_DDAGRAB_FILTER 0
+#define CONFIG_FREI0R_SRC_FILTER 0
+#define CONFIG_GRADIENTS_FILTER 0
+#define CONFIG_HALDCLUTSRC_FILTER 0
+#define CONFIG_LIFE_FILTER 0
+#define CONFIG_MANDELBROT_FILTER 0
+#define CONFIG_MPTESTSRC_FILTER 0
+#define CONFIG_NULLSRC_FILTER 0
+#define CONFIG_OPENCLSRC_FILTER 0
+#define CONFIG_PAL75BARS_FILTER 0
+#define CONFIG_PAL100BARS_FILTER 0
+#define CONFIG_RGBTESTSRC_FILTER 0
+#define CONFIG_SIERPINSKI_FILTER 0
+#define CONFIG_SMPTEBARS_FILTER 0
+#define CONFIG_SMPTEHDBARS_FILTER 0
+#define CONFIG_TESTSRC_FILTER 0
+#define CONFIG_TESTSRC2_FILTER 0
+#define CONFIG_YUVTESTSRC_FILTER 0
+#define CONFIG_NULLSINK_FILTER 0
++#define CONFIG_A3DSCOPE_FILTER 0
+#define CONFIG_ABITSCOPE_FILTER 0
+#define CONFIG_ADRAWGRAPH_FILTER 0
+#define CONFIG_AGRAPHMONITOR_FILTER 0
+#define CONFIG_AHISTOGRAM_FILTER 0
+#define CONFIG_APHASEMETER_FILTER 0
+#define CONFIG_AVECTORSCOPE_FILTER 0
+#define CONFIG_CONCAT_FILTER 0
+#define CONFIG_SHOWCQT_FILTER 0
+#define CONFIG_SHOWFREQS_FILTER 0
+#define CONFIG_SHOWSPATIAL_FILTER 0
+#define CONFIG_SHOWSPECTRUM_FILTER 0
+#define CONFIG_SHOWSPECTRUMPIC_FILTER 0
+#define CONFIG_SHOWVOLUME_FILTER 0
+#define CONFIG_SHOWWAVES_FILTER 0
+#define CONFIG_SHOWWAVESPIC_FILTER 0
+#define CONFIG_SPECTRUMSYNTH_FILTER 0
++#define CONFIG_AVSYNCTEST_FILTER 0
+#define CONFIG_AMOVIE_FILTER 0
+#define CONFIG_MOVIE_FILTER 0
+#define CONFIG_AFIFO_FILTER 0
+#define CONFIG_FIFO_FILTER 0
+#define CONFIG_AA_DEMUXER 0
+#define CONFIG_AAC_DEMUXER 1
+#define CONFIG_AAX_DEMUXER 0
+#define CONFIG_AC3_DEMUXER 0
+#define CONFIG_ACE_DEMUXER 0
+#define CONFIG_ACM_DEMUXER 0
+#define CONFIG_ACT_DEMUXER 0
+#define CONFIG_ADF_DEMUXER 0
+#define CONFIG_ADP_DEMUXER 0
+#define CONFIG_ADS_DEMUXER 0
+#define CONFIG_ADX_DEMUXER 0
+#define CONFIG_AEA_DEMUXER 0
+#define CONFIG_AFC_DEMUXER 0
+#define CONFIG_AIFF_DEMUXER 0
+#define CONFIG_AIX_DEMUXER 0
+#define CONFIG_ALP_DEMUXER 0
+#define CONFIG_AMR_DEMUXER 0
+#define CONFIG_AMRNB_DEMUXER 0
+#define CONFIG_AMRWB_DEMUXER 0
+#define CONFIG_ANM_DEMUXER 0
++#define CONFIG_APAC_DEMUXER 0
+#define CONFIG_APC_DEMUXER 0
+#define CONFIG_APE_DEMUXER 0
+#define CONFIG_APM_DEMUXER 0
+#define CONFIG_APNG_DEMUXER 0
+#define CONFIG_APTX_DEMUXER 0
+#define CONFIG_APTX_HD_DEMUXER 0
+#define CONFIG_AQTITLE_DEMUXER 0
+#define CONFIG_ARGO_ASF_DEMUXER 0
+#define CONFIG_ARGO_BRP_DEMUXER 0
+#define CONFIG_ARGO_CVG_DEMUXER 0
+#define CONFIG_ASF_DEMUXER 0
+#define CONFIG_ASF_O_DEMUXER 0
+#define CONFIG_ASS_DEMUXER 0
+#define CONFIG_AST_DEMUXER 0
+#define CONFIG_AU_DEMUXER 0
+#define CONFIG_AV1_DEMUXER 0
+#define CONFIG_AVI_DEMUXER 0
+#define CONFIG_AVISYNTH_DEMUXER 0
+#define CONFIG_AVR_DEMUXER 0
+#define CONFIG_AVS_DEMUXER 0
+#define CONFIG_AVS2_DEMUXER 0
+#define CONFIG_AVS3_DEMUXER 0
+#define CONFIG_BETHSOFTVID_DEMUXER 0
+#define CONFIG_BFI_DEMUXER 0
+#define CONFIG_BINTEXT_DEMUXER 0
+#define CONFIG_BINK_DEMUXER 0
+#define CONFIG_BINKA_DEMUXER 0
+#define CONFIG_BIT_DEMUXER 0
+#define CONFIG_BITPACKED_DEMUXER 0
+#define CONFIG_BMV_DEMUXER 0
+#define CONFIG_BFSTM_DEMUXER 0
+#define CONFIG_BRSTM_DEMUXER 0
+#define CONFIG_BOA_DEMUXER 0
++#define CONFIG_BONK_DEMUXER 0
+#define CONFIG_C93_DEMUXER 0
+#define CONFIG_CAF_DEMUXER 0
+#define CONFIG_CAVSVIDEO_DEMUXER 0
+#define CONFIG_CDG_DEMUXER 0
+#define CONFIG_CDXL_DEMUXER 0
+#define CONFIG_CINE_DEMUXER 0
+#define CONFIG_CODEC2_DEMUXER 0
+#define CONFIG_CODEC2RAW_DEMUXER 0
+#define CONFIG_CONCAT_DEMUXER 0
+#define CONFIG_DASH_DEMUXER 0
+#define CONFIG_DATA_DEMUXER 0
+#define CONFIG_DAUD_DEMUXER 0
+#define CONFIG_DCSTR_DEMUXER 0
+#define CONFIG_DERF_DEMUXER 0
+#define CONFIG_DFA_DEMUXER 0
+#define CONFIG_DFPWM_DEMUXER 0
+#define CONFIG_DHAV_DEMUXER 0
+#define CONFIG_DIRAC_DEMUXER 0
+#define CONFIG_DNXHD_DEMUXER 0
+#define CONFIG_DSF_DEMUXER 0
+#define CONFIG_DSICIN_DEMUXER 0
+#define CONFIG_DSS_DEMUXER 0
+#define CONFIG_DTS_DEMUXER 0
+#define CONFIG_DTSHD_DEMUXER 0
+#define CONFIG_DV_DEMUXER 0
+#define CONFIG_DVBSUB_DEMUXER 0
+#define CONFIG_DVBTXT_DEMUXER 0
+#define CONFIG_DXA_DEMUXER 0
+#define CONFIG_EA_DEMUXER 0
+#define CONFIG_EA_CDATA_DEMUXER 0
+#define CONFIG_EAC3_DEMUXER 0
+#define CONFIG_EPAF_DEMUXER 0
+#define CONFIG_FFMETADATA_DEMUXER 0
+#define CONFIG_FILMSTRIP_DEMUXER 0
+#define CONFIG_FITS_DEMUXER 0
+#define CONFIG_FLAC_DEMUXER 1
+#define CONFIG_FLIC_DEMUXER 0
+#define CONFIG_FLV_DEMUXER 0
+#define CONFIG_LIVE_FLV_DEMUXER 0
+#define CONFIG_FOURXM_DEMUXER 0
+#define CONFIG_FRM_DEMUXER 0
+#define CONFIG_FSB_DEMUXER 0
+#define CONFIG_FWSE_DEMUXER 0
+#define CONFIG_G722_DEMUXER 0
+#define CONFIG_G723_1_DEMUXER 0
+#define CONFIG_G726_DEMUXER 0
+#define CONFIG_G726LE_DEMUXER 0
+#define CONFIG_G729_DEMUXER 0
+#define CONFIG_GDV_DEMUXER 0
+#define CONFIG_GENH_DEMUXER 0
+#define CONFIG_GIF_DEMUXER 0
+#define CONFIG_GSM_DEMUXER 0
+#define CONFIG_GXF_DEMUXER 0
+#define CONFIG_H261_DEMUXER 0
+#define CONFIG_H263_DEMUXER 0
+#define CONFIG_H264_DEMUXER 0
+#define CONFIG_HCA_DEMUXER 0
+#define CONFIG_HCOM_DEMUXER 0
+#define CONFIG_HEVC_DEMUXER 0
+#define CONFIG_HLS_DEMUXER 0
+#define CONFIG_HNM_DEMUXER 0
+#define CONFIG_ICO_DEMUXER 0
+#define CONFIG_IDCIN_DEMUXER 0
+#define CONFIG_IDF_DEMUXER 0
+#define CONFIG_IFF_DEMUXER 0
+#define CONFIG_IFV_DEMUXER 0
+#define CONFIG_ILBC_DEMUXER 0
+#define CONFIG_IMAGE2_DEMUXER 0
+#define CONFIG_IMAGE2PIPE_DEMUXER 0
+#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0
+#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0
+#define CONFIG_IMF_DEMUXER 0
+#define CONFIG_INGENIENT_DEMUXER 0
+#define CONFIG_IPMOVIE_DEMUXER 0
+#define CONFIG_IPU_DEMUXER 0
+#define CONFIG_IRCAM_DEMUXER 0
+#define CONFIG_ISS_DEMUXER 0
+#define CONFIG_IV8_DEMUXER 0
+#define CONFIG_IVF_DEMUXER 0
+#define CONFIG_IVR_DEMUXER 0
+#define CONFIG_JACOSUB_DEMUXER 0
+#define CONFIG_JV_DEMUXER 0
+#define CONFIG_KUX_DEMUXER 0
+#define CONFIG_KVAG_DEMUXER 0
++#define CONFIG_LAF_DEMUXER 0
+#define CONFIG_LMLM4_DEMUXER 0
+#define CONFIG_LOAS_DEMUXER 0
+#define CONFIG_LUODAT_DEMUXER 0
+#define CONFIG_LRC_DEMUXER 0
+#define CONFIG_LVF_DEMUXER 0
+#define CONFIG_LXF_DEMUXER 0
+#define CONFIG_M4V_DEMUXER 0
+#define CONFIG_MCA_DEMUXER 0
+#define CONFIG_MCC_DEMUXER 0
+#define CONFIG_MATROSKA_DEMUXER 1
+#define CONFIG_MGSTS_DEMUXER 0
+#define CONFIG_MICRODVD_DEMUXER 0
+#define CONFIG_MJPEG_DEMUXER 0
+#define CONFIG_MJPEG_2000_DEMUXER 0
+#define CONFIG_MLP_DEMUXER 0
+#define CONFIG_MLV_DEMUXER 0
+#define CONFIG_MM_DEMUXER 0
+#define CONFIG_MMF_DEMUXER 0
+#define CONFIG_MODS_DEMUXER 0
+#define CONFIG_MOFLEX_DEMUXER 0
+#define CONFIG_MOV_DEMUXER 1
+#define CONFIG_MP3_DEMUXER 1
+#define CONFIG_MPC_DEMUXER 0
+#define CONFIG_MPC8_DEMUXER 0
+#define CONFIG_MPEGPS_DEMUXER 0
+#define CONFIG_MPEGTS_DEMUXER 0
+#define CONFIG_MPEGTSRAW_DEMUXER 0
+#define CONFIG_MPEGVIDEO_DEMUXER 0
+#define CONFIG_MPJPEG_DEMUXER 0
+#define CONFIG_MPL2_DEMUXER 0
+#define CONFIG_MPSUB_DEMUXER 0
+#define CONFIG_MSF_DEMUXER 0
+#define CONFIG_MSNWC_TCP_DEMUXER 0
+#define CONFIG_MSP_DEMUXER 0
+#define CONFIG_MTAF_DEMUXER 0
+#define CONFIG_MTV_DEMUXER 0
+#define CONFIG_MUSX_DEMUXER 0
+#define CONFIG_MV_DEMUXER 0
+#define CONFIG_MVI_DEMUXER 0
+#define CONFIG_MXF_DEMUXER 0
+#define CONFIG_MXG_DEMUXER 0
+#define CONFIG_NC_DEMUXER 0
+#define CONFIG_NISTSPHERE_DEMUXER 0
+#define CONFIG_NSP_DEMUXER 0
+#define CONFIG_NSV_DEMUXER 0
+#define CONFIG_NUT_DEMUXER 0
+#define CONFIG_NUV_DEMUXER 0
+#define CONFIG_OBU_DEMUXER 0
+#define CONFIG_OGG_DEMUXER 1
+#define CONFIG_OMA_DEMUXER 0
+#define CONFIG_PAF_DEMUXER 0
+#define CONFIG_PCM_ALAW_DEMUXER 0
+#define CONFIG_PCM_MULAW_DEMUXER 0
+#define CONFIG_PCM_VIDC_DEMUXER 0
+#define CONFIG_PCM_F64BE_DEMUXER 0
+#define CONFIG_PCM_F64LE_DEMUXER 0
+#define CONFIG_PCM_F32BE_DEMUXER 0
+#define CONFIG_PCM_F32LE_DEMUXER 0
+#define CONFIG_PCM_S32BE_DEMUXER 0
+#define CONFIG_PCM_S32LE_DEMUXER 0
+#define CONFIG_PCM_S24BE_DEMUXER 0
+#define CONFIG_PCM_S24LE_DEMUXER 0
+#define CONFIG_PCM_S16BE_DEMUXER 0
+#define CONFIG_PCM_S16LE_DEMUXER 0
+#define CONFIG_PCM_S8_DEMUXER 0
+#define CONFIG_PCM_U32BE_DEMUXER 0
+#define CONFIG_PCM_U32LE_DEMUXER 0
+#define CONFIG_PCM_U24BE_DEMUXER 0
+#define CONFIG_PCM_U24LE_DEMUXER 0
+#define CONFIG_PCM_U16BE_DEMUXER 0
+#define CONFIG_PCM_U16LE_DEMUXER 0
+#define CONFIG_PCM_U8_DEMUXER 0
+#define CONFIG_PJS_DEMUXER 0
+#define CONFIG_PMP_DEMUXER 0
+#define CONFIG_PP_BNK_DEMUXER 0
+#define CONFIG_PVA_DEMUXER 0
+#define CONFIG_PVF_DEMUXER 0
+#define CONFIG_QCP_DEMUXER 0
+#define CONFIG_R3D_DEMUXER 0
+#define CONFIG_RAWVIDEO_DEMUXER 0
+#define CONFIG_REALTEXT_DEMUXER 0
+#define CONFIG_REDSPARK_DEMUXER 0
+#define CONFIG_RL2_DEMUXER 0
+#define CONFIG_RM_DEMUXER 0
+#define CONFIG_ROQ_DEMUXER 0
+#define CONFIG_RPL_DEMUXER 0
+#define CONFIG_RSD_DEMUXER 0
+#define CONFIG_RSO_DEMUXER 0
+#define CONFIG_RTP_DEMUXER 0
+#define CONFIG_RTSP_DEMUXER 0
+#define CONFIG_S337M_DEMUXER 0
+#define CONFIG_SAMI_DEMUXER 0
+#define CONFIG_SAP_DEMUXER 0
+#define CONFIG_SBC_DEMUXER 0
+#define CONFIG_SBG_DEMUXER 0
+#define CONFIG_SCC_DEMUXER 0
+#define CONFIG_SCD_DEMUXER 0
+#define CONFIG_SDP_DEMUXER 0
+#define CONFIG_SDR2_DEMUXER 0
+#define CONFIG_SDS_DEMUXER 0
+#define CONFIG_SDX_DEMUXER 0
+#define CONFIG_SEGAFILM_DEMUXER 0
+#define CONFIG_SER_DEMUXER 0
+#define CONFIG_SGA_DEMUXER 0
+#define CONFIG_SHORTEN_DEMUXER 0
+#define CONFIG_SIFF_DEMUXER 0
+#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0
+#define CONFIG_SLN_DEMUXER 0
+#define CONFIG_SMACKER_DEMUXER 0
+#define CONFIG_SMJPEG_DEMUXER 0
+#define CONFIG_SMUSH_DEMUXER 0
+#define CONFIG_SOL_DEMUXER 0
+#define CONFIG_SOX_DEMUXER 0
+#define CONFIG_SPDIF_DEMUXER 0
+#define CONFIG_SRT_DEMUXER 0
+#define CONFIG_STR_DEMUXER 0
+#define CONFIG_STL_DEMUXER 0
+#define CONFIG_SUBVIEWER1_DEMUXER 0
+#define CONFIG_SUBVIEWER_DEMUXER 0
+#define CONFIG_SUP_DEMUXER 0
+#define CONFIG_SVAG_DEMUXER 0
+#define CONFIG_SVS_DEMUXER 0
+#define CONFIG_SWF_DEMUXER 0
+#define CONFIG_TAK_DEMUXER 0
+#define CONFIG_TEDCAPTIONS_DEMUXER 0
+#define CONFIG_THP_DEMUXER 0
+#define CONFIG_THREEDOSTR_DEMUXER 0
+#define CONFIG_TIERTEXSEQ_DEMUXER 0
+#define CONFIG_TMV_DEMUXER 0
+#define CONFIG_TRUEHD_DEMUXER 0
+#define CONFIG_TTA_DEMUXER 0
+#define CONFIG_TXD_DEMUXER 0
+#define CONFIG_TTY_DEMUXER 0
+#define CONFIG_TY_DEMUXER 0
+#define CONFIG_V210_DEMUXER 0
+#define CONFIG_V210X_DEMUXER 0
+#define CONFIG_VAG_DEMUXER 0
+#define CONFIG_VC1_DEMUXER 0
+#define CONFIG_VC1T_DEMUXER 0
+#define CONFIG_VIVIDAS_DEMUXER 0
+#define CONFIG_VIVO_DEMUXER 0
+#define CONFIG_VMD_DEMUXER 0
+#define CONFIG_VOBSUB_DEMUXER 0
+#define CONFIG_VOC_DEMUXER 0
+#define CONFIG_VPK_DEMUXER 0
+#define CONFIG_VPLAYER_DEMUXER 0
+#define CONFIG_VQF_DEMUXER 0
+#define CONFIG_W64_DEMUXER 0
+#define CONFIG_WAV_DEMUXER 1
+#define CONFIG_WC3_DEMUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
+#define CONFIG_WEBVTT_DEMUXER 0
+#define CONFIG_WSAUD_DEMUXER 0
+#define CONFIG_WSD_DEMUXER 0
+#define CONFIG_WSVQA_DEMUXER 0
+#define CONFIG_WTV_DEMUXER 0
+#define CONFIG_WVE_DEMUXER 0
+#define CONFIG_WV_DEMUXER 0
+#define CONFIG_XA_DEMUXER 0
+#define CONFIG_XBIN_DEMUXER 0
+#define CONFIG_XMV_DEMUXER 0
+#define CONFIG_XVAG_DEMUXER 0
+#define CONFIG_XWMA_DEMUXER 0
+#define CONFIG_YOP_DEMUXER 0
+#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_HDR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_PFM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_PHM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_QOI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_VBN_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0
+#define CONFIG_LIBGME_DEMUXER 0
+#define CONFIG_LIBMODPLUG_DEMUXER 0
+#define CONFIG_LIBOPENMPT_DEMUXER 0
+#define CONFIG_VAPOURSYNTH_DEMUXER 0
+#define CONFIG_A64_MUXER 0
+#define CONFIG_AC3_MUXER 0
+#define CONFIG_ADTS_MUXER 0
+#define CONFIG_ADX_MUXER 0
+#define CONFIG_AIFF_MUXER 0
+#define CONFIG_ALP_MUXER 0
+#define CONFIG_AMR_MUXER 0
+#define CONFIG_AMV_MUXER 0
+#define CONFIG_APM_MUXER 0
+#define CONFIG_APNG_MUXER 0
+#define CONFIG_APTX_MUXER 0
+#define CONFIG_APTX_HD_MUXER 0
+#define CONFIG_ARGO_ASF_MUXER 0
+#define CONFIG_ARGO_CVG_MUXER 0
+#define CONFIG_ASF_MUXER 0
+#define CONFIG_ASS_MUXER 0
+#define CONFIG_AST_MUXER 0
+#define CONFIG_ASF_STREAM_MUXER 0
+#define CONFIG_AU_MUXER 0
+#define CONFIG_AVI_MUXER 0
++#define CONFIG_AVIF_MUXER 0
+#define CONFIG_AVM2_MUXER 0
+#define CONFIG_AVS2_MUXER 0
+#define CONFIG_AVS3_MUXER 0
+#define CONFIG_BIT_MUXER 0
+#define CONFIG_CAF_MUXER 0
+#define CONFIG_CAVSVIDEO_MUXER 0
+#define CONFIG_CODEC2_MUXER 0
+#define CONFIG_CODEC2RAW_MUXER 0
+#define CONFIG_CRC_MUXER 0
+#define CONFIG_DASH_MUXER 0
+#define CONFIG_DATA_MUXER 0
+#define CONFIG_DAUD_MUXER 0
+#define CONFIG_DFPWM_MUXER 0
+#define CONFIG_DIRAC_MUXER 0
+#define CONFIG_DNXHD_MUXER 0
+#define CONFIG_DTS_MUXER 0
+#define CONFIG_DV_MUXER 0
+#define CONFIG_EAC3_MUXER 0
+#define CONFIG_F4V_MUXER 0
+#define CONFIG_FFMETADATA_MUXER 0
+#define CONFIG_FIFO_MUXER 0
+#define CONFIG_FIFO_TEST_MUXER 0
+#define CONFIG_FILMSTRIP_MUXER 0
+#define CONFIG_FITS_MUXER 0
+#define CONFIG_FLAC_MUXER 0
+#define CONFIG_FLV_MUXER 0
+#define CONFIG_FRAMECRC_MUXER 0
+#define CONFIG_FRAMEHASH_MUXER 0
+#define CONFIG_FRAMEMD5_MUXER 0
+#define CONFIG_G722_MUXER 0
+#define CONFIG_G723_1_MUXER 0
+#define CONFIG_G726_MUXER 0
+#define CONFIG_G726LE_MUXER 0
+#define CONFIG_GIF_MUXER 0
+#define CONFIG_GSM_MUXER 0
+#define CONFIG_GXF_MUXER 0
+#define CONFIG_H261_MUXER 0
+#define CONFIG_H263_MUXER 0
+#define CONFIG_H264_MUXER 0
+#define CONFIG_HASH_MUXER 0
+#define CONFIG_HDS_MUXER 0
+#define CONFIG_HEVC_MUXER 0
+#define CONFIG_HLS_MUXER 0
+#define CONFIG_ICO_MUXER 0
+#define CONFIG_ILBC_MUXER 0
+#define CONFIG_IMAGE2_MUXER 0
+#define CONFIG_IMAGE2PIPE_MUXER 0
+#define CONFIG_IPOD_MUXER 0
+#define CONFIG_IRCAM_MUXER 0
+#define CONFIG_ISMV_MUXER 0
+#define CONFIG_IVF_MUXER 0
+#define CONFIG_JACOSUB_MUXER 0
+#define CONFIG_KVAG_MUXER 0
+#define CONFIG_LATM_MUXER 0
+#define CONFIG_LRC_MUXER 0
+#define CONFIG_M4V_MUXER 0
+#define CONFIG_MD5_MUXER 0
+#define CONFIG_MATROSKA_MUXER 0
+#define CONFIG_MATROSKA_AUDIO_MUXER 0
+#define CONFIG_MICRODVD_MUXER 0
+#define CONFIG_MJPEG_MUXER 0
+#define CONFIG_MLP_MUXER 0
+#define CONFIG_MMF_MUXER 0
+#define CONFIG_MOV_MUXER 0
+#define CONFIG_MP2_MUXER 0
+#define CONFIG_MP3_MUXER 0
+#define CONFIG_MP4_MUXER 0
+#define CONFIG_MPEG1SYSTEM_MUXER 0
+#define CONFIG_MPEG1VCD_MUXER 0
+#define CONFIG_MPEG1VIDEO_MUXER 0
+#define CONFIG_MPEG2DVD_MUXER 0
+#define CONFIG_MPEG2SVCD_MUXER 0
+#define CONFIG_MPEG2VIDEO_MUXER 0
+#define CONFIG_MPEG2VOB_MUXER 0
+#define CONFIG_MPEGTS_MUXER 0
+#define CONFIG_MPJPEG_MUXER 0
+#define CONFIG_MXF_MUXER 0
+#define CONFIG_MXF_D10_MUXER 0
+#define CONFIG_MXF_OPATOM_MUXER 0
+#define CONFIG_NULL_MUXER 0
+#define CONFIG_NUT_MUXER 0
+#define CONFIG_OBU_MUXER 0
+#define CONFIG_OGA_MUXER 0
+#define CONFIG_OGG_MUXER 0
+#define CONFIG_OGV_MUXER 0
+#define CONFIG_OMA_MUXER 0
+#define CONFIG_OPUS_MUXER 0
+#define CONFIG_PCM_ALAW_MUXER 0
+#define CONFIG_PCM_MULAW_MUXER 0
+#define CONFIG_PCM_VIDC_MUXER 0
+#define CONFIG_PCM_F64BE_MUXER 0
+#define CONFIG_PCM_F64LE_MUXER 0
+#define CONFIG_PCM_F32BE_MUXER 0
+#define CONFIG_PCM_F32LE_MUXER 0
+#define CONFIG_PCM_S32BE_MUXER 0
+#define CONFIG_PCM_S32LE_MUXER 0
+#define CONFIG_PCM_S24BE_MUXER 0
+#define CONFIG_PCM_S24LE_MUXER 0
+#define CONFIG_PCM_S16BE_MUXER 0
+#define CONFIG_PCM_S16LE_MUXER 0
+#define CONFIG_PCM_S8_MUXER 0
+#define CONFIG_PCM_U32BE_MUXER 0
+#define CONFIG_PCM_U32LE_MUXER 0
+#define CONFIG_PCM_U24BE_MUXER 0
+#define CONFIG_PCM_U24LE_MUXER 0
+#define CONFIG_PCM_U16BE_MUXER 0
+#define CONFIG_PCM_U16LE_MUXER 0
+#define CONFIG_PCM_U8_MUXER 0
+#define CONFIG_PSP_MUXER 0
+#define CONFIG_RAWVIDEO_MUXER 0
+#define CONFIG_RM_MUXER 0
+#define CONFIG_ROQ_MUXER 0
+#define CONFIG_RSO_MUXER 0
+#define CONFIG_RTP_MUXER 0
+#define CONFIG_RTP_MPEGTS_MUXER 0
+#define CONFIG_RTSP_MUXER 0
+#define CONFIG_SAP_MUXER 0
+#define CONFIG_SBC_MUXER 0
+#define CONFIG_SCC_MUXER 0
+#define CONFIG_SEGAFILM_MUXER 0
+#define CONFIG_SEGMENT_MUXER 0
+#define CONFIG_STREAM_SEGMENT_MUXER 0
+#define CONFIG_SMJPEG_MUXER 0
+#define CONFIG_SMOOTHSTREAMING_MUXER 0
+#define CONFIG_SOX_MUXER 0
+#define CONFIG_SPX_MUXER 0
+#define CONFIG_SPDIF_MUXER 0
+#define CONFIG_SRT_MUXER 0
+#define CONFIG_STREAMHASH_MUXER 0
+#define CONFIG_SUP_MUXER 0
+#define CONFIG_SWF_MUXER 0
+#define CONFIG_TEE_MUXER 0
+#define CONFIG_TG2_MUXER 0
+#define CONFIG_TGP_MUXER 0
+#define CONFIG_MKVTIMESTAMP_V2_MUXER 0
+#define CONFIG_TRUEHD_MUXER 0
+#define CONFIG_TTA_MUXER 0
+#define CONFIG_TTML_MUXER 0
+#define CONFIG_UNCODEDFRAMECRC_MUXER 0
+#define CONFIG_VC1_MUXER 0
+#define CONFIG_VC1T_MUXER 0
+#define CONFIG_VOC_MUXER 0
+#define CONFIG_W64_MUXER 0
+#define CONFIG_WAV_MUXER 0
+#define CONFIG_WEBM_MUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
+#define CONFIG_WEBM_CHUNK_MUXER 0
+#define CONFIG_WEBP_MUXER 0
+#define CONFIG_WEBVTT_MUXER 0
+#define CONFIG_WSAUD_MUXER 0
+#define CONFIG_WTV_MUXER 0
+#define CONFIG_WV_MUXER 0
+#define CONFIG_YUV4MPEGPIPE_MUXER 0
+#define CONFIG_CHROMAPRINT_MUXER 0
+#define CONFIG_ASYNC_PROTOCOL 0
+#define CONFIG_BLURAY_PROTOCOL 0
+#define CONFIG_CACHE_PROTOCOL 0
+#define CONFIG_CONCAT_PROTOCOL 0
+#define CONFIG_CONCATF_PROTOCOL 0
+#define CONFIG_CRYPTO_PROTOCOL 0
+#define CONFIG_DATA_PROTOCOL 0
+#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
+#define CONFIG_FFRTMPHTTP_PROTOCOL 0
+#define CONFIG_FILE_PROTOCOL 0
+#define CONFIG_FTP_PROTOCOL 0
+#define CONFIG_GOPHER_PROTOCOL 0
+#define CONFIG_GOPHERS_PROTOCOL 0
+#define CONFIG_HLS_PROTOCOL 0
+#define CONFIG_HTTP_PROTOCOL 0
+#define CONFIG_HTTPPROXY_PROTOCOL 0
+#define CONFIG_HTTPS_PROTOCOL 0
+#define CONFIG_ICECAST_PROTOCOL 0
+#define CONFIG_MMSH_PROTOCOL 0
+#define CONFIG_MMST_PROTOCOL 0
+#define CONFIG_MD5_PROTOCOL 0
+#define CONFIG_PIPE_PROTOCOL 0
+#define CONFIG_PROMPEG_PROTOCOL 0
+#define CONFIG_RTMP_PROTOCOL 0
+#define CONFIG_RTMPE_PROTOCOL 0
+#define CONFIG_RTMPS_PROTOCOL 0
+#define CONFIG_RTMPT_PROTOCOL 0
+#define CONFIG_RTMPTE_PROTOCOL 0
+#define CONFIG_RTMPTS_PROTOCOL 0
+#define CONFIG_RTP_PROTOCOL 0
+#define CONFIG_SCTP_PROTOCOL 0
+#define CONFIG_SRTP_PROTOCOL 0
+#define CONFIG_SUBFILE_PROTOCOL 0
+#define CONFIG_TEE_PROTOCOL 0
+#define CONFIG_TCP_PROTOCOL 0
+#define CONFIG_TLS_PROTOCOL 0
+#define CONFIG_UDP_PROTOCOL 0
+#define CONFIG_UDPLITE_PROTOCOL 0
+#define CONFIG_UNIX_PROTOCOL 0
+#define CONFIG_LIBAMQP_PROTOCOL 0
+#define CONFIG_LIBRIST_PROTOCOL 0
+#define CONFIG_LIBRTMP_PROTOCOL 0
+#define CONFIG_LIBRTMPE_PROTOCOL 0
+#define CONFIG_LIBRTMPS_PROTOCOL 0
+#define CONFIG_LIBRTMPT_PROTOCOL 0
+#define CONFIG_LIBRTMPTE_PROTOCOL 0
+#define CONFIG_LIBSRT_PROTOCOL 0
+#define CONFIG_LIBSSH_PROTOCOL 0
+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
+#define CONFIG_LIBZMQ_PROTOCOL 0
++#define CONFIG_IPFS_PROTOCOL 0
++#define CONFIG_IPNS_PROTOCOL 0
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
index 96437337df10..a4185a334a5a 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm
@@ -1,723 +1,734 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm.orig 2022-07-28 06:05:58 UTC
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm.orig 2023-03-09 06:31:50 UTC
+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm
-@@ -0,0 +1,720 @@
+@@ -0,0 +1,731 @@
+; Automatically generated by configure - do not modify!
+%define ARCH_AARCH64 0
+%define ARCH_ALPHA 0
+%define ARCH_ARM 0
+%define ARCH_AVR32 0
+%define ARCH_AVR32_AP 0
+%define ARCH_AVR32_UC 0
+%define ARCH_BFIN 0
+%define ARCH_IA64 0
+%define ARCH_LOONGARCH 0
+%define ARCH_LOONGARCH32 0
+%define ARCH_LOONGARCH64 0
+%define ARCH_M68K 0
+%define ARCH_MIPS 0
+%define ARCH_MIPS64 0
+%define ARCH_PARISC 0
+%define ARCH_PPC 0
+%define ARCH_PPC64 0
+%define ARCH_RISCV 0
+%define ARCH_S390 0
+%define ARCH_SH4 0
+%define ARCH_SPARC 0
+%define ARCH_SPARC64 0
+%define ARCH_TILEGX 0
+%define ARCH_TILEPRO 0
+%define ARCH_TOMI 0
+%define ARCH_X86 1
+%define ARCH_X86_32 1
+%define ARCH_X86_64 0
+%define HAVE_ARMV5TE 0
+%define HAVE_ARMV6 0
+%define HAVE_ARMV6T2 0
+%define HAVE_ARMV8 0
+%define HAVE_NEON 0
+%define HAVE_VFP 0
+%define HAVE_VFPV3 0
+%define HAVE_SETEND 0
+%define HAVE_ALTIVEC 0
+%define HAVE_DCBZL 0
+%define HAVE_LDBRX 0
+%define HAVE_POWER8 0
+%define HAVE_PPC4XX 0
+%define HAVE_VSX 0
++%define HAVE_RVV 0
+%define HAVE_AESNI 1
+%define HAVE_AMD3DNOW 1
+%define HAVE_AMD3DNOWEXT 1
+%define HAVE_AVX 1
+%define HAVE_AVX2 1
+%define HAVE_AVX512 1
+%define HAVE_AVX512ICL 1
+%define HAVE_FMA3 1
+%define HAVE_FMA4 1
+%define HAVE_MMX 1
+%define HAVE_MMXEXT 1
+%define HAVE_SSE 1
+%define HAVE_SSE2 1
+%define HAVE_SSE3 1
+%define HAVE_SSE4 1
+%define HAVE_SSE42 1
+%define HAVE_SSSE3 1
+%define HAVE_XOP 1
+%define HAVE_CPUNOP 0
+%define HAVE_I686 1
+%define HAVE_MIPSFPU 0
+%define HAVE_MIPS32R2 0
+%define HAVE_MIPS32R5 0
+%define HAVE_MIPS64R2 0
+%define HAVE_MIPS32R6 0
+%define HAVE_MIPS64R6 0
+%define HAVE_MIPSDSP 0
+%define HAVE_MIPSDSPR2 0
+%define HAVE_MSA 0
+%define HAVE_LOONGSON2 0
+%define HAVE_LOONGSON3 0
+%define HAVE_MMI 0
+%define HAVE_LSX 0
+%define HAVE_LASX 0
+%define HAVE_ARMV5TE_EXTERNAL 0
+%define HAVE_ARMV6_EXTERNAL 0
+%define HAVE_ARMV6T2_EXTERNAL 0
+%define HAVE_ARMV8_EXTERNAL 0
+%define HAVE_NEON_EXTERNAL 0
+%define HAVE_VFP_EXTERNAL 0
+%define HAVE_VFPV3_EXTERNAL 0
+%define HAVE_SETEND_EXTERNAL 0
+%define HAVE_ALTIVEC_EXTERNAL 0
+%define HAVE_DCBZL_EXTERNAL 0
+%define HAVE_LDBRX_EXTERNAL 0
+%define HAVE_POWER8_EXTERNAL 0
+%define HAVE_PPC4XX_EXTERNAL 0
+%define HAVE_VSX_EXTERNAL 0
++%define HAVE_RVV_EXTERNAL 0
+%define HAVE_AESNI_EXTERNAL 1
+%define HAVE_AMD3DNOW_EXTERNAL 1
+%define HAVE_AMD3DNOWEXT_EXTERNAL 1
+%define HAVE_AVX_EXTERNAL 1
+%define HAVE_AVX2_EXTERNAL 1
+%define HAVE_AVX512_EXTERNAL 1
+%define HAVE_AVX512ICL_EXTERNAL 0
+%define HAVE_FMA3_EXTERNAL 1
+%define HAVE_FMA4_EXTERNAL 1
+%define HAVE_MMX_EXTERNAL 1
+%define HAVE_MMXEXT_EXTERNAL 1
+%define HAVE_SSE_EXTERNAL 1
+%define HAVE_SSE2_EXTERNAL 1
+%define HAVE_SSE3_EXTERNAL 1
+%define HAVE_SSE4_EXTERNAL 1
+%define HAVE_SSE42_EXTERNAL 1
+%define HAVE_SSSE3_EXTERNAL 1
+%define HAVE_XOP_EXTERNAL 1
+%define HAVE_CPUNOP_EXTERNAL 0
+%define HAVE_I686_EXTERNAL 0
+%define HAVE_MIPSFPU_EXTERNAL 0
+%define HAVE_MIPS32R2_EXTERNAL 0
+%define HAVE_MIPS32R5_EXTERNAL 0
+%define HAVE_MIPS64R2_EXTERNAL 0
+%define HAVE_MIPS32R6_EXTERNAL 0
+%define HAVE_MIPS64R6_EXTERNAL 0
+%define HAVE_MIPSDSP_EXTERNAL 0
+%define HAVE_MIPSDSPR2_EXTERNAL 0
+%define HAVE_MSA_EXTERNAL 0
+%define HAVE_LOONGSON2_EXTERNAL 0
+%define HAVE_LOONGSON3_EXTERNAL 0
+%define HAVE_MMI_EXTERNAL 0
+%define HAVE_LSX_EXTERNAL 0
+%define HAVE_LASX_EXTERNAL 0
+%define HAVE_ARMV5TE_INLINE 0
+%define HAVE_ARMV6_INLINE 0
+%define HAVE_ARMV6T2_INLINE 0
+%define HAVE_ARMV8_INLINE 0
+%define HAVE_NEON_INLINE 0
+%define HAVE_VFP_INLINE 0
+%define HAVE_VFPV3_INLINE 0
+%define HAVE_SETEND_INLINE 0
+%define HAVE_ALTIVEC_INLINE 0
+%define HAVE_DCBZL_INLINE 0
+%define HAVE_LDBRX_INLINE 0
+%define HAVE_POWER8_INLINE 0
+%define HAVE_PPC4XX_INLINE 0
+%define HAVE_VSX_INLINE 0
++%define HAVE_RVV_INLINE 0
+%define HAVE_AESNI_INLINE 1
+%define HAVE_AMD3DNOW_INLINE 1
+%define HAVE_AMD3DNOWEXT_INLINE 1
+%define HAVE_AVX_INLINE 1
+%define HAVE_AVX2_INLINE 1
+%define HAVE_AVX512_INLINE 1
+%define HAVE_AVX512ICL_INLINE 1
+%define HAVE_FMA3_INLINE 1
+%define HAVE_FMA4_INLINE 1
+%define HAVE_MMX_INLINE 1
+%define HAVE_MMXEXT_INLINE 1
+%define HAVE_SSE_INLINE 1
+%define HAVE_SSE2_INLINE 1
+%define HAVE_SSE3_INLINE 1
+%define HAVE_SSE4_INLINE 1
+%define HAVE_SSE42_INLINE 1
+%define HAVE_SSSE3_INLINE 1
+%define HAVE_XOP_INLINE 1
+%define HAVE_CPUNOP_INLINE 0
+%define HAVE_I686_INLINE 0
+%define HAVE_MIPSFPU_INLINE 0
+%define HAVE_MIPS32R2_INLINE 0
+%define HAVE_MIPS32R5_INLINE 0
+%define HAVE_MIPS64R2_INLINE 0
+%define HAVE_MIPS32R6_INLINE 0
+%define HAVE_MIPS64R6_INLINE 0
+%define HAVE_MIPSDSP_INLINE 0
+%define HAVE_MIPSDSPR2_INLINE 0
+%define HAVE_MSA_INLINE 0
+%define HAVE_LOONGSON2_INLINE 0
+%define HAVE_LOONGSON3_INLINE 0
+%define HAVE_MMI_INLINE 0
+%define HAVE_LSX_INLINE 0
+%define HAVE_LASX_INLINE 0
+%define HAVE_ALIGNED_STACK 0
+%define HAVE_FAST_64BIT 0
+%define HAVE_FAST_CLZ 1
+%define HAVE_FAST_CMOV 0
++%define HAVE_FAST_FLOAT16 0
+%define HAVE_LOCAL_ALIGNED 1
+%define HAVE_SIMD_ALIGN_16 1
+%define HAVE_SIMD_ALIGN_32 1
+%define HAVE_SIMD_ALIGN_64 1
+%define HAVE_ATOMIC_CAS_PTR 0
+%define HAVE_MACHINE_RW_BARRIER 0
+%define HAVE_MEMORYBARRIER 0
+%define HAVE_MM_EMPTY 0
+%define HAVE_RDTSC 0
+%define HAVE_SEM_TIMEDWAIT 1
+%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
+%define HAVE_CABS 0
+%define HAVE_CEXP 0
+%define HAVE_INLINE_ASM 1
+%define HAVE_SYMVER 0
+%define HAVE_X86ASM 1
+%define HAVE_BIGENDIAN 0
+%define HAVE_FAST_UNALIGNED 1
+%define HAVE_ARPA_INET_H 0
+%define HAVE_ASM_TYPES_H 0
+%define HAVE_CDIO_PARANOIA_H 0
+%define HAVE_CDIO_PARANOIA_PARANOIA_H 0
+%define HAVE_CUDA_H 0
+%define HAVE_DISPATCH_DISPATCH_H 0
+%define HAVE_DEV_BKTR_IOCTL_BT848_H 0
+%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
+%define HAVE_DEV_IC_BT8XX_H 1
+%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
+%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
+%define HAVE_DIRECT_H 0
+%define HAVE_DIRENT_H 1
+%define HAVE_DXGIDEBUG_H 0
+%define HAVE_DXVA_H 0
+%define HAVE_ES2_GL_H 0
+%define HAVE_GSM_H 0
+%define HAVE_IO_H 0
+%define HAVE_LINUX_DMA_BUF_H 0
+%define HAVE_LINUX_PERF_EVENT_H 0
+%define HAVE_MACHINE_IOCTL_BT848_H 0
+%define HAVE_MACHINE_IOCTL_METEOR_H 0
+%define HAVE_MALLOC_H 0
+%define HAVE_OPENCV2_CORE_CORE_C_H 0
+%define HAVE_OPENGL_GL3_H 0
+%define HAVE_POLL_H 1
+%define HAVE_SYS_PARAM_H 1
+%define HAVE_SYS_RESOURCE_H 1
+%define HAVE_SYS_SELECT_H 1
+%define HAVE_SYS_SOUNDCARD_H 0
+%define HAVE_SYS_TIME_H 1
+%define HAVE_SYS_UN_H 1
+%define HAVE_SYS_VIDEOIO_H 1
+%define HAVE_TERMIOS_H 1
+%define HAVE_UDPLITE_H 0
+%define HAVE_UNISTD_H 1
+%define HAVE_VALGRIND_VALGRIND_H 0 ; %define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440
+%define HAVE_WINDOWS_H 0
+%define HAVE_WINSOCK2_H 0
+%define HAVE_INTRINSICS_NEON 0
+%define HAVE_ATANF 1
+%define HAVE_ATAN2F 1
+%define HAVE_CBRT 1
+%define HAVE_CBRTF 1
+%define HAVE_COPYSIGN 1
+%define HAVE_COSF 1
+%define HAVE_ERF 1
+%define HAVE_EXP2 1
+%define HAVE_EXP2F 1
+%define HAVE_EXPF 1
+%define HAVE_HYPOT 1
+%define HAVE_ISFINITE 1
+%define HAVE_ISINF 1
+%define HAVE_ISNAN 1
+%define HAVE_LDEXPF 1
+%define HAVE_LLRINT 1
+%define HAVE_LLRINTF 1
+%define HAVE_LOG2 1
+%define HAVE_LOG2F 1
+%define HAVE_LOG10F 1
+%define HAVE_LRINT 1
+%define HAVE_LRINTF 1
+%define HAVE_POWF 1
+%define HAVE_RINT 1
+%define HAVE_ROUND 1
+%define HAVE_ROUNDF 1
+%define HAVE_SINF 1
+%define HAVE_TRUNC 1
+%define HAVE_TRUNCF 1
+%define HAVE_DOS_PATHS 0
+%define HAVE_LIBC_MSVCRT 0
+%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
+%define HAVE_SECTION_DATA_REL_RO 1
+%define HAVE_THREADS 1
+%define HAVE_UWP 0
+%define HAVE_WINRT 0
+%define HAVE_ACCESS 1
+%define HAVE_ALIGNED_MALLOC 0
+%define HAVE_ARC4RANDOM 1
+%define HAVE_CLOCK_GETTIME 1
+%define HAVE_CLOSESOCKET 0
+%define HAVE_COMMANDLINETOARGVW 0
+%define HAVE_FCNTL 1
+%define HAVE_GETADDRINFO 0
+%define HAVE_GETAUXVAL 0
++%define HAVE_GETENV 1
+%define HAVE_GETHRTIME 0
+%define HAVE_GETOPT 1
+%define HAVE_GETMODULEHANDLE 0
+%define HAVE_GETPROCESSAFFINITYMASK 0
+%define HAVE_GETPROCESSMEMORYINFO 0
+%define HAVE_GETPROCESSTIMES 0
+%define HAVE_GETRUSAGE 1
+%define HAVE_GETSTDHANDLE 0
+%define HAVE_GETSYSTEMTIMEASFILETIME 0
+%define HAVE_GETTIMEOFDAY 1
+%define HAVE_GLOB 1
+%define HAVE_GLXGETPROCADDRESS 0
+%define HAVE_GMTIME_R 1
+%define HAVE_INET_ATON 0
+%define HAVE_ISATTY 1
+%define HAVE_KBHIT 0
+%define HAVE_LOCALTIME_R 1
+%define HAVE_LSTAT 1
+%define HAVE_LZO1X_999_COMPRESS 0
+%define HAVE_MACH_ABSOLUTE_TIME 0
+%define HAVE_MAPVIEWOFFILE 0
+%define HAVE_MEMALIGN 0
+%define HAVE_MKSTEMP 1
+%define HAVE_MMAP 1
+%define HAVE_MPROTECT 1
+%define HAVE_NANOSLEEP 1
+%define HAVE_PEEKNAMEDPIPE 0
+%define HAVE_POSIX_MEMALIGN 1
++%define HAVE_PRCTL 0
+%define HAVE_PTHREAD_CANCEL 1
+%define HAVE_SCHED_GETAFFINITY 0
+%define HAVE_SECITEMIMPORT 0
+%define HAVE_SETCONSOLETEXTATTRIBUTE 0
+%define HAVE_SETCONSOLECTRLHANDLER 0
+%define HAVE_SETDLLDIRECTORY 0
+%define HAVE_SETMODE 0
+%define HAVE_SETRLIMIT 1
+%define HAVE_SLEEP 0
+%define HAVE_STRERROR_R 1
+%define HAVE_SYSCONF 1
+%define HAVE_SYSCTL 0
+%define HAVE_USLEEP 1
+%define HAVE_UTGETOSTYPEFROMSTRING 0
+%define HAVE_VIRTUALALLOC 0
+%define HAVE_WGLGETPROCADDRESS 0
+%define HAVE_BCRYPT 0
+%define HAVE_VAAPI_DRM 0
+%define HAVE_VAAPI_X11 0
+%define HAVE_VDPAU_X11 0
+%define HAVE_PTHREADS 1
+%define HAVE_OS2THREADS 0
+%define HAVE_W32THREADS 0
+%define HAVE_AS_ARCH_DIRECTIVE 0
+%define HAVE_AS_DN_DIRECTIVE 0
+%define HAVE_AS_FPU_DIRECTIVE 0
+%define HAVE_AS_FUNC 0
+%define HAVE_AS_OBJECT_ARCH 0
+%define HAVE_ASM_MOD_Q 0
+%define HAVE_BLOCKS_EXTENSION 0
+%define HAVE_EBP_AVAILABLE 1
+%define HAVE_EBX_AVAILABLE 1
+%define HAVE_GNU_AS 0
+%define HAVE_GNU_WINDRES 0
+%define HAVE_IBM_ASM 0
+%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
+%define HAVE_INLINE_ASM_LABELS 1
+%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+%define HAVE_PRAGMA_DEPRECATED 1
-+%define HAVE_RSYNC_CONTIMEOUT 1
++%define HAVE_RSYNC_CONTIMEOUT 0
+%define HAVE_SYMVER_ASM_LABEL 1
+%define HAVE_SYMVER_GNU_ASM 1
+%define HAVE_VFP_ARGS 0
+%define HAVE_XFORM_ASM 0
+%define HAVE_XMM_CLOBBERS 1
++%define HAVE_DPI_AWARENESS_CONTEXT 0
++%define HAVE_IDXGIOUTPUT5 0
+%define HAVE_KCMVIDEOCODECTYPE_HEVC 0
+%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
+%define HAVE_KCMVIDEOCODECTYPE_VP9 0
+%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
+%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
+%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
+%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
+%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
+%define HAVE_SOCKLEN_T 0
+%define HAVE_STRUCT_ADDRINFO 0
+%define HAVE_STRUCT_GROUP_SOURCE_REQ 0
+%define HAVE_STRUCT_IP_MREQ_SOURCE 0
+%define HAVE_STRUCT_IPV6_MREQ 0
+%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
+%define HAVE_STRUCT_POLLFD 0
+%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
+%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
+%define HAVE_STRUCT_SOCKADDR_IN6 0
+%define HAVE_STRUCT_SOCKADDR_SA_LEN 0
+%define HAVE_STRUCT_SOCKADDR_STORAGE 0
+%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
+%define HAVE_GZIP 1
+%define HAVE_LIBDRM_GETFB2 0
+%define HAVE_MAKEINFO 1
+%define HAVE_MAKEINFO_HTML 0
+%define HAVE_OPENCL_D3D11 0
+%define HAVE_OPENCL_DRM_ARM 0
+%define HAVE_OPENCL_DRM_BEIGNET 0
+%define HAVE_OPENCL_DXVA2 0
+%define HAVE_OPENCL_VAAPI_BEIGNET 0
+%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
+%define HAVE_PERL 1
+%define HAVE_POD2MAN 1
+%define HAVE_TEXI2HTML 0
+%define HAVE_XMLLINT 1
+%define HAVE_ZLIB_GZIP 0
+%define CONFIG_DOC 0
+%define CONFIG_HTMLPAGES 0
+%define CONFIG_MANPAGES 0
+%define CONFIG_PODPAGES 0
+%define CONFIG_TXTPAGES 0
+%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
+%define CONFIG_AVIO_READING_EXAMPLE 1
+%define CONFIG_DECODE_AUDIO_EXAMPLE 1
+%define CONFIG_DECODE_VIDEO_EXAMPLE 1
+%define CONFIG_DEMUXING_DECODING_EXAMPLE 1
+%define CONFIG_ENCODE_AUDIO_EXAMPLE 1
+%define CONFIG_ENCODE_VIDEO_EXAMPLE 1
+%define CONFIG_EXTRACT_MVS_EXAMPLE 1
+%define CONFIG_FILTER_AUDIO_EXAMPLE 0
+%define CONFIG_FILTERING_AUDIO_EXAMPLE 0
+%define CONFIG_FILTERING_VIDEO_EXAMPLE 0
+%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
+%define CONFIG_HW_DECODE_EXAMPLE 1
+%define CONFIG_METADATA_EXAMPLE 1
+%define CONFIG_MUXING_EXAMPLE 0
+%define CONFIG_QSVDEC_EXAMPLE 0
+%define CONFIG_REMUXING_EXAMPLE 1
+%define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
+%define CONFIG_SCALING_VIDEO_EXAMPLE 0
+%define CONFIG_TRANSCODE_AAC_EXAMPLE 0
+%define CONFIG_TRANSCODING_EXAMPLE 0
+%define CONFIG_VAAPI_ENCODE_EXAMPLE 0
+%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
+%define CONFIG_AVISYNTH 0
+%define CONFIG_FREI0R 0
+%define CONFIG_LIBCDIO 0
+%define CONFIG_LIBDAVS2 0
+%define CONFIG_LIBRUBBERBAND 0
+%define CONFIG_LIBVIDSTAB 0
+%define CONFIG_LIBX264 0
+%define CONFIG_LIBX265 0
+%define CONFIG_LIBXAVS 0
+%define CONFIG_LIBXAVS2 0
+%define CONFIG_LIBXVID 0
+%define CONFIG_DECKLINK 0
+%define CONFIG_LIBFDK_AAC 0
+%define CONFIG_LIBTLS 0
+%define CONFIG_GMP 0
+%define CONFIG_LIBARIBB24 0
+%define CONFIG_LIBLENSFUN 0
+%define CONFIG_LIBOPENCORE_AMRNB 0
+%define CONFIG_LIBOPENCORE_AMRWB 0
+%define CONFIG_LIBVO_AMRWBENC 0
+%define CONFIG_MBEDTLS 0
+%define CONFIG_RKMPP 0
+%define CONFIG_LIBSMBCLIENT 0
+%define CONFIG_CHROMAPRINT 0
+%define CONFIG_GCRYPT 0
+%define CONFIG_GNUTLS 0
+%define CONFIG_JNI 0
+%define CONFIG_LADSPA 0
++%define CONFIG_LCMS2 0
+%define CONFIG_LIBAOM 0
+%define CONFIG_LIBASS 0
+%define CONFIG_LIBBLURAY 0
+%define CONFIG_LIBBS2B 0
+%define CONFIG_LIBCACA 0
+%define CONFIG_LIBCELT 0
+%define CONFIG_LIBCODEC2 0
+%define CONFIG_LIBDAV1D 0
+%define CONFIG_LIBDC1394 0
+%define CONFIG_LIBDRM 0
+%define CONFIG_LIBFLITE 0
+%define CONFIG_LIBFONTCONFIG 0
+%define CONFIG_LIBFREETYPE 0
+%define CONFIG_LIBFRIBIDI 0
+%define CONFIG_LIBGLSLANG 0
+%define CONFIG_LIBGME 0
+%define CONFIG_LIBGSM 0
+%define CONFIG_LIBIEC61883 0
+%define CONFIG_LIBILBC 0
+%define CONFIG_LIBJACK 0
++%define CONFIG_LIBJXL 0
+%define CONFIG_LIBKLVANC 0
+%define CONFIG_LIBKVAZAAR 0
+%define CONFIG_LIBMODPLUG 0
+%define CONFIG_LIBMP3LAME 0
+%define CONFIG_LIBMYSOFA 0
+%define CONFIG_LIBOPENCV 0
+%define CONFIG_LIBOPENH264 0
+%define CONFIG_LIBOPENJPEG 0
+%define CONFIG_LIBOPENMPT 0
+%define CONFIG_LIBOPENVINO 0
+%define CONFIG_LIBOPUS 1
+%define CONFIG_LIBPLACEBO 0
+%define CONFIG_LIBPULSE 0
+%define CONFIG_LIBRABBITMQ 0
+%define CONFIG_LIBRAV1E 0
+%define CONFIG_LIBRIST 0
+%define CONFIG_LIBRSVG 0
+%define CONFIG_LIBRTMP 0
+%define CONFIG_LIBSHADERC 0
+%define CONFIG_LIBSHINE 0
+%define CONFIG_LIBSMBCLIENT 0
+%define CONFIG_LIBSNAPPY 0
+%define CONFIG_LIBSOXR 0
+%define CONFIG_LIBSPEEX 0
+%define CONFIG_LIBSRT 0
+%define CONFIG_LIBSSH 0
+%define CONFIG_LIBSVTAV1 0
+%define CONFIG_LIBTENSORFLOW 0
+%define CONFIG_LIBTESSERACT 0
+%define CONFIG_LIBTHEORA 0
+%define CONFIG_LIBTWOLAME 0
+%define CONFIG_LIBUAVS3D 0
+%define CONFIG_LIBV4L2 0
+%define CONFIG_LIBVMAF 0
+%define CONFIG_LIBVORBIS 0
+%define CONFIG_LIBVPX 0
+%define CONFIG_LIBWEBP 0
+%define CONFIG_LIBXML2 0
+%define CONFIG_LIBZIMG 0
+%define CONFIG_LIBZMQ 0
+%define CONFIG_LIBZVBI 0
+%define CONFIG_LV2 0
+%define CONFIG_MEDIACODEC 0
+%define CONFIG_OPENAL 0
+%define CONFIG_OPENGL 0
+%define CONFIG_OPENSSL 0
+%define CONFIG_POCKETSPHINX 0
+%define CONFIG_VAPOURSYNTH 0
+%define CONFIG_ALSA 0
+%define CONFIG_APPKIT 0
+%define CONFIG_AVFOUNDATION 0
+%define CONFIG_BZLIB 0
+%define CONFIG_COREIMAGE 0
+%define CONFIG_ICONV 0
+%define CONFIG_LIBXCB 0
+%define CONFIG_LIBXCB_SHM 0
+%define CONFIG_LIBXCB_SHAPE 0
+%define CONFIG_LIBXCB_XFIXES 0
+%define CONFIG_LZMA 0
+%define CONFIG_MEDIAFOUNDATION 0
+%define CONFIG_METAL 0
+%define CONFIG_SCHANNEL 0
+%define CONFIG_SDL2 0
+%define CONFIG_SECURETRANSPORT 0
+%define CONFIG_SNDIO 0
+%define CONFIG_XLIB 0
+%define CONFIG_ZLIB 0
+%define CONFIG_CUDA_NVCC 0
+%define CONFIG_CUDA_SDK 0
+%define CONFIG_LIBNPP 0
+%define CONFIG_LIBMFX 0
++%define CONFIG_LIBVPL 0
+%define CONFIG_MMAL 0
+%define CONFIG_OMX 0
+%define CONFIG_OPENCL 0
+%define CONFIG_AMF 0
+%define CONFIG_AUDIOTOOLBOX 0
+%define CONFIG_CRYSTALHD 0
+%define CONFIG_CUDA 0
+%define CONFIG_CUDA_LLVM 0
+%define CONFIG_CUVID 0
+%define CONFIG_D3D11VA 0
+%define CONFIG_DXVA2 0
+%define CONFIG_FFNVCODEC 0
+%define CONFIG_NVDEC 0
+%define CONFIG_NVENC 0
+%define CONFIG_VAAPI 0
+%define CONFIG_VDPAU 0
+%define CONFIG_VIDEOTOOLBOX 0
+%define CONFIG_VULKAN 0
+%define CONFIG_V4L2_M2M 0
+%define CONFIG_FTRAPV 0
+%define CONFIG_GRAY 0
+%define CONFIG_HARDCODED_TABLES 0
+%define CONFIG_OMX_RPI 0
+%define CONFIG_RUNTIME_CPUDETECT 1
+%define CONFIG_SAFE_BITSTREAM_READER 1
+%define CONFIG_SHARED 0
+%define CONFIG_SMALL 0
+%define CONFIG_STATIC 1
+%define CONFIG_SWSCALE_ALPHA 1
+%define CONFIG_GPL 0
+%define CONFIG_NONFREE 0
+%define CONFIG_VERSION3 0
+%define CONFIG_AVDEVICE 0
+%define CONFIG_AVFILTER 0
+%define CONFIG_SWSCALE 0
+%define CONFIG_POSTPROC 0
+%define CONFIG_AVFORMAT 1
+%define CONFIG_AVCODEC 1
+%define CONFIG_SWRESAMPLE 0
+%define CONFIG_AVUTIL 1
+%define CONFIG_FFPLAY 0
+%define CONFIG_FFPROBE 0
+%define CONFIG_FFMPEG 0
+%define CONFIG_DCT 1
+%define CONFIG_DWT 0
+%define CONFIG_ERROR_RESILIENCE 0
+%define CONFIG_FAAN 0
+%define CONFIG_FAST_UNALIGNED 1
+%define CONFIG_FFT 1
+%define CONFIG_LSP 0
-+%define CONFIG_MDCT 1
++%define CONFIG_MDCT 0
+%define CONFIG_PIXELUTILS 0
+%define CONFIG_NETWORK 0
+%define CONFIG_RDFT 1
+%define CONFIG_AUTODETECT 0
+%define CONFIG_FONTCONFIG 0
+%define CONFIG_LARGE_TESTS 1
+%define CONFIG_LINUX_PERF 0
+%define CONFIG_MACOS_KPERF 0
+%define CONFIG_MEMORY_POISONING 0
+%define CONFIG_NEON_CLOBBER_TEST 0
+%define CONFIG_OSSFUZZ 0
+%define CONFIG_PIC 1
+%define CONFIG_PTX_COMPRESSION 0
+%define CONFIG_THUMB 0
+%define CONFIG_VALGRIND_BACKTRACE 0
+%define CONFIG_XMM_CLOBBER_TEST 0
+%define CONFIG_BSFS 0
+%define CONFIG_DECODERS 1
+%define CONFIG_ENCODERS 0
+%define CONFIG_HWACCELS 0
+%define CONFIG_PARSERS 1
+%define CONFIG_INDEVS 0
+%define CONFIG_OUTDEVS 0
+%define CONFIG_FILTERS 0
+%define CONFIG_DEMUXERS 1
+%define CONFIG_MUXERS 0
+%define CONFIG_PROTOCOLS 0
+%define CONFIG_AANDCTTABLES 0
+%define CONFIG_AC3DSP 0
+%define CONFIG_ADTS_HEADER 1
+%define CONFIG_ATSC_A53 1
+%define CONFIG_AUDIO_FRAME_QUEUE 0
+%define CONFIG_AUDIODSP 0
+%define CONFIG_BLOCKDSP 0
+%define CONFIG_BSWAPDSP 0
+%define CONFIG_CABAC 1
+%define CONFIG_CBS 0
+%define CONFIG_CBS_AV1 0
+%define CONFIG_CBS_H264 0
+%define CONFIG_CBS_H265 0
+%define CONFIG_CBS_JPEG 0
+%define CONFIG_CBS_MPEG2 0
+%define CONFIG_CBS_VP9 0
+%define CONFIG_DEFLATE_WRAPPER 0
+%define CONFIG_DIRAC_PARSE 1
+%define CONFIG_DNN 0
+%define CONFIG_DOVI_RPU 0
+%define CONFIG_DVPROFILE 0
+%define CONFIG_EXIF 0
+%define CONFIG_FAANDCT 0
+%define CONFIG_FAANIDCT 0
+%define CONFIG_FDCTDSP 0
-+%define CONFIG_FLACDSP 1
+%define CONFIG_FMTCONVERT 0
+%define CONFIG_FRAME_THREAD_ENCODER 0
+%define CONFIG_G722DSP 0
+%define CONFIG_GOLOMB 1
+%define CONFIG_GPLV3 0
+%define CONFIG_H263DSP 0
+%define CONFIG_H264CHROMA 1
+%define CONFIG_H264DSP 1
+%define CONFIG_H264PARSE 1
+%define CONFIG_H264PRED 1
+%define CONFIG_H264QPEL 1
+%define CONFIG_HEVCPARSE 0
+%define CONFIG_HPELDSP 1
+%define CONFIG_HUFFMAN 0
+%define CONFIG_HUFFYUVDSP 0
+%define CONFIG_HUFFYUVENCDSP 0
+%define CONFIG_IDCTDSP 0
+%define CONFIG_IIRFILTER 0
-+%define CONFIG_MDCT15 1
+%define CONFIG_INFLATE_WRAPPER 0
+%define CONFIG_INTRAX8 0
+%define CONFIG_ISO_MEDIA 1
+%define CONFIG_IVIDSP 0
+%define CONFIG_JPEGTABLES 0
+%define CONFIG_LGPLV3 0
+%define CONFIG_LIBX262 0
+%define CONFIG_LLAUDDSP 0
+%define CONFIG_LLVIDDSP 0
+%define CONFIG_LLVIDENCDSP 0
+%define CONFIG_LPC 0
+%define CONFIG_LZF 0
+%define CONFIG_ME_CMP 0
+%define CONFIG_MPEG_ER 0
+%define CONFIG_MPEGAUDIO 1
+%define CONFIG_MPEGAUDIODSP 1
+%define CONFIG_MPEGAUDIOHEADER 1
+%define CONFIG_MPEG4AUDIO 1
+%define CONFIG_MPEGVIDEO 0
+%define CONFIG_MPEGVIDEODEC 0
+%define CONFIG_MPEGVIDEOENC 0
++%define CONFIG_MSMPEG4DEC 0
++%define CONFIG_MSMPEG4ENC 0
+%define CONFIG_MSS34DSP 0
+%define CONFIG_PIXBLOCKDSP 0
+%define CONFIG_QPELDSP 0
+%define CONFIG_QSV 0
+%define CONFIG_QSVDEC 0
+%define CONFIG_QSVENC 0
+%define CONFIG_QSVVPP 0
+%define CONFIG_RANGECODER 0
+%define CONFIG_RIFFDEC 1
+%define CONFIG_RIFFENC 0
+%define CONFIG_RTPDEC 0
+%define CONFIG_RTPENC_CHAIN 0
+%define CONFIG_RV34DSP 0
+%define CONFIG_SCENE_SAD 0
+%define CONFIG_SINEWIN 1
+%define CONFIG_SNAPPY 0
+%define CONFIG_SRTP 0
+%define CONFIG_STARTCODE 1
+%define CONFIG_TEXTUREDSP 0
+%define CONFIG_TEXTUREDSPENC 0
+%define CONFIG_TPELDSP 0
+%define CONFIG_VAAPI_1 0
+%define CONFIG_VAAPI_ENCODE 0
+%define CONFIG_VC1DSP 0
+%define CONFIG_VIDEODSP 1
+%define CONFIG_VP3DSP 1
+%define CONFIG_VP56DSP 0
+%define CONFIG_VP8DSP 1
+%define CONFIG_WMA_FREQS 0
+%define CONFIG_WMV2DSP 0
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
index 7483a1fc1b9e..81505bf5f907 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h
@@ -1,740 +1,751 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h.orig 2022-07-28 06:05:58 UTC
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h
-@@ -0,0 +1,737 @@
+@@ -0,0 +1,748 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_H
+#define FFMPEG_CONFIG_H
-+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/tguilbert/Code/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags=-O2 --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags=-m32 --extra-ldflags=-m32 --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */
+#define FFMPEG_LICENSE "LGPL version 2.1 or later"
+#define CONFIG_THIS_YEAR 2022
+#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
+#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
+#define CC_IDENT "OpenBSD clang version 13.0.0"
+#define OS_NAME openbsd
+#define av_restrict restrict
+#define EXTERN_PREFIX ""
+#define EXTERN_ASM
+#define BUILDSUF ""
+#define SLIBSUF ".so"
+#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
+#define ARCH_AARCH64 0
+#define ARCH_ALPHA 0
+#define ARCH_ARM 0
+#define ARCH_AVR32 0
+#define ARCH_AVR32_AP 0
+#define ARCH_AVR32_UC 0
+#define ARCH_BFIN 0
+#define ARCH_IA64 0
+#define ARCH_LOONGARCH 0
+#define ARCH_LOONGARCH32 0
+#define ARCH_LOONGARCH64 0
+#define ARCH_M68K 0
+#define ARCH_MIPS 0
+#define ARCH_MIPS64 0
+#define ARCH_PARISC 0
+#define ARCH_PPC 0
+#define ARCH_PPC64 0
+#define ARCH_RISCV 0
+#define ARCH_S390 0
+#define ARCH_SH4 0
+#define ARCH_SPARC 0
+#define ARCH_SPARC64 0
+#define ARCH_TILEGX 0
+#define ARCH_TILEPRO 0
+#define ARCH_TOMI 0
+#define ARCH_X86 1
+#define ARCH_X86_32 1
+#define ARCH_X86_64 0
+#define HAVE_ARMV5TE 0
+#define HAVE_ARMV6 0
+#define HAVE_ARMV6T2 0
+#define HAVE_ARMV8 0
+#define HAVE_NEON 0
+#define HAVE_VFP 0
+#define HAVE_VFPV3 0
+#define HAVE_SETEND 0
+#define HAVE_ALTIVEC 0
+#define HAVE_DCBZL 0
+#define HAVE_LDBRX 0
+#define HAVE_POWER8 0
+#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
++#define HAVE_RVV 0
+#define HAVE_AESNI 1
+#define HAVE_AMD3DNOW 1
+#define HAVE_AMD3DNOWEXT 1
+#define HAVE_AVX 1
+#define HAVE_AVX2 1
+#define HAVE_AVX512 1
+#define HAVE_AVX512ICL 1
+#define HAVE_FMA3 1
+#define HAVE_FMA4 1
+#define HAVE_MMX 1
+#define HAVE_MMXEXT 1
+#define HAVE_SSE 1
+#define HAVE_SSE2 1
+#define HAVE_SSE3 1
+#define HAVE_SSE4 1
+#define HAVE_SSE42 1
+#define HAVE_SSSE3 1
+#define HAVE_XOP 1
+#define HAVE_CPUNOP 0
+#define HAVE_I686 1
+#define HAVE_MIPSFPU 0
+#define HAVE_MIPS32R2 0
+#define HAVE_MIPS32R5 0
+#define HAVE_MIPS64R2 0
+#define HAVE_MIPS32R6 0
+#define HAVE_MIPS64R6 0
+#define HAVE_MIPSDSP 0
+#define HAVE_MIPSDSPR2 0
+#define HAVE_MSA 0
+#define HAVE_LOONGSON2 0
+#define HAVE_LOONGSON3 0
+#define HAVE_MMI 0
+#define HAVE_LSX 0
+#define HAVE_LASX 0
+#define HAVE_ARMV5TE_EXTERNAL 0
+#define HAVE_ARMV6_EXTERNAL 0
+#define HAVE_ARMV6T2_EXTERNAL 0
+#define HAVE_ARMV8_EXTERNAL 0
+#define HAVE_NEON_EXTERNAL 0
+#define HAVE_VFP_EXTERNAL 0
+#define HAVE_VFPV3_EXTERNAL 0
+#define HAVE_SETEND_EXTERNAL 0
+#define HAVE_ALTIVEC_EXTERNAL 0
+#define HAVE_DCBZL_EXTERNAL 0
+#define HAVE_LDBRX_EXTERNAL 0
+#define HAVE_POWER8_EXTERNAL 0
+#define HAVE_PPC4XX_EXTERNAL 0
+#define HAVE_VSX_EXTERNAL 0
++#define HAVE_RVV_EXTERNAL 0
+#define HAVE_AESNI_EXTERNAL 1
+#define HAVE_AMD3DNOW_EXTERNAL 1
+#define HAVE_AMD3DNOWEXT_EXTERNAL 1
+#define HAVE_AVX_EXTERNAL 1
+#define HAVE_AVX2_EXTERNAL 1
+#define HAVE_AVX512_EXTERNAL 1
+#define HAVE_AVX512ICL_EXTERNAL 0
+#define HAVE_FMA3_EXTERNAL 1
+#define HAVE_FMA4_EXTERNAL 1
+#define HAVE_MMX_EXTERNAL 1
+#define HAVE_MMXEXT_EXTERNAL 1
+#define HAVE_SSE_EXTERNAL 1
+#define HAVE_SSE2_EXTERNAL 1
+#define HAVE_SSE3_EXTERNAL 1
+#define HAVE_SSE4_EXTERNAL 1
+#define HAVE_SSE42_EXTERNAL 1
+#define HAVE_SSSE3_EXTERNAL 1
+#define HAVE_XOP_EXTERNAL 1
+#define HAVE_CPUNOP_EXTERNAL 0
+#define HAVE_I686_EXTERNAL 0
+#define HAVE_MIPSFPU_EXTERNAL 0
+#define HAVE_MIPS32R2_EXTERNAL 0
+#define HAVE_MIPS32R5_EXTERNAL 0
+#define HAVE_MIPS64R2_EXTERNAL 0
+#define HAVE_MIPS32R6_EXTERNAL 0
+#define HAVE_MIPS64R6_EXTERNAL 0
+#define HAVE_MIPSDSP_EXTERNAL 0
+#define HAVE_MIPSDSPR2_EXTERNAL 0
+#define HAVE_MSA_EXTERNAL 0
+#define HAVE_LOONGSON2_EXTERNAL 0
+#define HAVE_LOONGSON3_EXTERNAL 0
+#define HAVE_MMI_EXTERNAL 0
+#define HAVE_LSX_EXTERNAL 0
+#define HAVE_LASX_EXTERNAL 0
+#define HAVE_ARMV5TE_INLINE 0
+#define HAVE_ARMV6_INLINE 0
+#define HAVE_ARMV6T2_INLINE 0
+#define HAVE_ARMV8_INLINE 0
+#define HAVE_NEON_INLINE 0
+#define HAVE_VFP_INLINE 0
+#define HAVE_VFPV3_INLINE 0
+#define HAVE_SETEND_INLINE 0
+#define HAVE_ALTIVEC_INLINE 0
+#define HAVE_DCBZL_INLINE 0
+#define HAVE_LDBRX_INLINE 0
+#define HAVE_POWER8_INLINE 0
+#define HAVE_PPC4XX_INLINE 0
+#define HAVE_VSX_INLINE 0
++#define HAVE_RVV_INLINE 0
+#define HAVE_AESNI_INLINE 1
+#define HAVE_AMD3DNOW_INLINE 1
+#define HAVE_AMD3DNOWEXT_INLINE 1
+#define HAVE_AVX_INLINE 1
+#define HAVE_AVX2_INLINE 1
+#define HAVE_AVX512_INLINE 1
+#define HAVE_AVX512ICL_INLINE 1
+#define HAVE_FMA3_INLINE 1
+#define HAVE_FMA4_INLINE 1
+#define HAVE_MMX_INLINE 1
+#define HAVE_MMXEXT_INLINE 1
+#define HAVE_SSE_INLINE 1
+#define HAVE_SSE2_INLINE 1
+#define HAVE_SSE3_INLINE 1
+#define HAVE_SSE4_INLINE 1
+#define HAVE_SSE42_INLINE 1
+#define HAVE_SSSE3_INLINE 1
+#define HAVE_XOP_INLINE 1
+#define HAVE_CPUNOP_INLINE 0
+#define HAVE_I686_INLINE 0
+#define HAVE_MIPSFPU_INLINE 0
+#define HAVE_MIPS32R2_INLINE 0
+#define HAVE_MIPS32R5_INLINE 0
+#define HAVE_MIPS64R2_INLINE 0
+#define HAVE_MIPS32R6_INLINE 0
+#define HAVE_MIPS64R6_INLINE 0
+#define HAVE_MIPSDSP_INLINE 0
+#define HAVE_MIPSDSPR2_INLINE 0
+#define HAVE_MSA_INLINE 0
+#define HAVE_LOONGSON2_INLINE 0
+#define HAVE_LOONGSON3_INLINE 0
+#define HAVE_MMI_INLINE 0
+#define HAVE_LSX_INLINE 0
+#define HAVE_LASX_INLINE 0
+#define HAVE_ALIGNED_STACK 0
+#define HAVE_FAST_64BIT 0
+#define HAVE_FAST_CLZ 1
+#define HAVE_FAST_CMOV 0
++#define HAVE_FAST_FLOAT16 0
+#define HAVE_LOCAL_ALIGNED 1
+#define HAVE_SIMD_ALIGN_16 1
+#define HAVE_SIMD_ALIGN_32 1
+#define HAVE_SIMD_ALIGN_64 1
+#define HAVE_ATOMIC_CAS_PTR 0
+#define HAVE_MACHINE_RW_BARRIER 0
+#define HAVE_MEMORYBARRIER 0
+#define HAVE_MM_EMPTY 0
+#define HAVE_RDTSC 0
+#define HAVE_SEM_TIMEDWAIT 1
+#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
+#define HAVE_CABS 0
+#define HAVE_CEXP 0
+#define HAVE_INLINE_ASM 1
+#define HAVE_SYMVER 0
+#define HAVE_X86ASM 1
+#define HAVE_BIGENDIAN 0
+#define HAVE_FAST_UNALIGNED 1
+#define HAVE_ARPA_INET_H 0
+#define HAVE_ASM_TYPES_H 0
+#define HAVE_CDIO_PARANOIA_H 0
+#define HAVE_CDIO_PARANOIA_PARANOIA_H 0
+#define HAVE_CUDA_H 0
+#define HAVE_DISPATCH_DISPATCH_H 0
+#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
+#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
+#define HAVE_DEV_IC_BT8XX_H 1
+#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
+#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
+#define HAVE_DIRECT_H 0
+#define HAVE_DIRENT_H 1
+#define HAVE_DXGIDEBUG_H 0
+#define HAVE_DXVA_H 0
+#define HAVE_ES2_GL_H 0
+#define HAVE_GSM_H 0
+#define HAVE_IO_H 0
+#define HAVE_LINUX_DMA_BUF_H 0
+#define HAVE_LINUX_PERF_EVENT_H 0
+#define HAVE_MACHINE_IOCTL_BT848_H 0
+#define HAVE_MACHINE_IOCTL_METEOR_H 0
+#define HAVE_MALLOC_H 0
+#define HAVE_OPENCV2_CORE_CORE_C_H 0
+#define HAVE_OPENGL_GL3_H 0
+#define HAVE_POLL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_SOUNDCARD_H 0
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_SYS_VIDEOIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UDPLITE_H 0
+#define HAVE_UNISTD_H 1
+#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 */
+#define HAVE_WINDOWS_H 0
+#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 0
+#define HAVE_ATANF 1
+#define HAVE_ATAN2F 1
+#define HAVE_CBRT 1
+#define HAVE_CBRTF 1
+#define HAVE_COPYSIGN 1
+#define HAVE_COSF 1
+#define HAVE_ERF 1
+#define HAVE_EXP2 1
+#define HAVE_EXP2F 1
+#define HAVE_EXPF 1
+#define HAVE_HYPOT 1
+#define HAVE_ISFINITE 1
+#define HAVE_ISINF 1
+#define HAVE_ISNAN 1
+#define HAVE_LDEXPF 1
+#define HAVE_LLRINT 1
+#define HAVE_LLRINTF 1
+#define HAVE_LOG2 1
+#define HAVE_LOG2F 1
+#define HAVE_LOG10F 1
+#define HAVE_LRINT 1
+#define HAVE_LRINTF 1
+#define HAVE_POWF 1
+#define HAVE_RINT 1
+#define HAVE_ROUND 1
+#define HAVE_ROUNDF 1
+#define HAVE_SINF 1
+#define HAVE_TRUNC 1
+#define HAVE_TRUNCF 1
+#define HAVE_DOS_PATHS 0
+#define HAVE_LIBC_MSVCRT 0
+#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0
+#define HAVE_SECTION_DATA_REL_RO 1
+#define HAVE_THREADS 1
+#define HAVE_UWP 0
+#define HAVE_WINRT 0
+#define HAVE_ACCESS 1
+#define HAVE_ALIGNED_MALLOC 0
+#define HAVE_ARC4RANDOM 1
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_CLOSESOCKET 0
+#define HAVE_COMMANDLINETOARGVW 0
+#define HAVE_FCNTL 1
+#define HAVE_GETADDRINFO 0
+#define HAVE_GETAUXVAL 0
++#define HAVE_GETENV 1
+#define HAVE_GETHRTIME 0
+#define HAVE_GETOPT 1
+#define HAVE_GETMODULEHANDLE 0
+#define HAVE_GETPROCESSAFFINITYMASK 0
+#define HAVE_GETPROCESSMEMORYINFO 0
+#define HAVE_GETPROCESSTIMES 0
+#define HAVE_GETRUSAGE 1
+#define HAVE_GETSTDHANDLE 0
+#define HAVE_GETSYSTEMTIMEASFILETIME 0
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_GLOB 1
+#define HAVE_GLXGETPROCADDRESS 0
+#define HAVE_GMTIME_R 1
+#define HAVE_INET_ATON 0
+#define HAVE_ISATTY 1
+#define HAVE_KBHIT 0
+#define HAVE_LOCALTIME_R 1
+#define HAVE_LSTAT 1
+#define HAVE_LZO1X_999_COMPRESS 0
+#define HAVE_MACH_ABSOLUTE_TIME 0
+#define HAVE_MAPVIEWOFFILE 0
+#define HAVE_MEMALIGN 0
+#define HAVE_MKSTEMP 1
+#define HAVE_MMAP 1
+#define HAVE_MPROTECT 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_PEEKNAMEDPIPE 0
+#define HAVE_POSIX_MEMALIGN 1
++#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */
+#define HAVE_PTHREAD_CANCEL 1
+#define HAVE_SCHED_GETAFFINITY 0
+#define HAVE_SECITEMIMPORT 0
+#define HAVE_SETCONSOLETEXTATTRIBUTE 0
+#define HAVE_SETCONSOLECTRLHANDLER 0
+#define HAVE_SETDLLDIRECTORY 0
+#define HAVE_SETMODE 0
+#define HAVE_SETRLIMIT 1
+#define HAVE_SLEEP 0
+#define HAVE_STRERROR_R 1
+#define HAVE_SYSCONF 1
+#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */
+#define HAVE_USLEEP 1
+#define HAVE_UTGETOSTYPEFROMSTRING 0
+#define HAVE_VIRTUALALLOC 0
+#define HAVE_WGLGETPROCADDRESS 0
+#define HAVE_BCRYPT 0
+#define HAVE_VAAPI_DRM 0
+#define HAVE_VAAPI_X11 0
+#define HAVE_VDPAU_X11 0
+#define HAVE_PTHREADS 1
+#define HAVE_OS2THREADS 0
+#define HAVE_W32THREADS 0
+#define HAVE_AS_ARCH_DIRECTIVE 0
+#define HAVE_AS_DN_DIRECTIVE 0
+#define HAVE_AS_FPU_DIRECTIVE 0
+#define HAVE_AS_FUNC 0
+#define HAVE_AS_OBJECT_ARCH 0
+#define HAVE_ASM_MOD_Q 0
+#define HAVE_BLOCKS_EXTENSION 0
+/* #define HAVE_EBP_AVAILABLE 1 -- ebp selection is done by the chrome build */
+#define HAVE_EBX_AVAILABLE 1
+#define HAVE_GNU_AS 0
+#define HAVE_GNU_WINDRES 0
+#define HAVE_IBM_ASM 0
+#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1
+#define HAVE_INLINE_ASM_LABELS 1
+#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1
+#define HAVE_PRAGMA_DEPRECATED 1
-+#define HAVE_RSYNC_CONTIMEOUT 1
++#define HAVE_RSYNC_CONTIMEOUT 0
+#define HAVE_SYMVER_ASM_LABEL 1
+#define HAVE_SYMVER_GNU_ASM 1
+#define HAVE_VFP_ARGS 0
+#define HAVE_XFORM_ASM 0
+#define HAVE_XMM_CLOBBERS 1
++#define HAVE_DPI_AWARENESS_CONTEXT 0
++#define HAVE_IDXGIOUTPUT5 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVC 0
+#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0
+#define HAVE_KCMVIDEOCODECTYPE_VP9 0
+#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0
+#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0
+#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0
+#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0
+#define HAVE_SOCKLEN_T 0
+#define HAVE_STRUCT_ADDRINFO 0
+#define HAVE_STRUCT_GROUP_SOURCE_REQ 0
+#define HAVE_STRUCT_IP_MREQ_SOURCE 0
+#define HAVE_STRUCT_IPV6_MREQ 0
+#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0
+#define HAVE_STRUCT_POLLFD 0
+#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
+#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0
+#define HAVE_STRUCT_SOCKADDR_IN6 0
+#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
+#define HAVE_STRUCT_SOCKADDR_STORAGE 0
+#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1
+#define HAVE_GZIP 1
+#define HAVE_LIBDRM_GETFB2 0
+#define HAVE_MAKEINFO 1
+#define HAVE_MAKEINFO_HTML 0
+#define HAVE_OPENCL_D3D11 0
+#define HAVE_OPENCL_DRM_ARM 0
+#define HAVE_OPENCL_DRM_BEIGNET 0
+#define HAVE_OPENCL_DXVA2 0
+#define HAVE_OPENCL_VAAPI_BEIGNET 0
+#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0
+#define HAVE_PERL 1
+#define HAVE_POD2MAN 1
+#define HAVE_TEXI2HTML 0
+#define HAVE_XMLLINT 1
+#define HAVE_ZLIB_GZIP 0
+#define CONFIG_DOC 0
+#define CONFIG_HTMLPAGES 0
+#define CONFIG_MANPAGES 0
+#define CONFIG_PODPAGES 0
+#define CONFIG_TXTPAGES 0
+#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1
+#define CONFIG_AVIO_READING_EXAMPLE 1
+#define CONFIG_DECODE_AUDIO_EXAMPLE 1
+#define CONFIG_DECODE_VIDEO_EXAMPLE 1
+#define CONFIG_DEMUXING_DECODING_EXAMPLE 1
+#define CONFIG_ENCODE_AUDIO_EXAMPLE 1
+#define CONFIG_ENCODE_VIDEO_EXAMPLE 1
+#define CONFIG_EXTRACT_MVS_EXAMPLE 1
+#define CONFIG_FILTER_AUDIO_EXAMPLE 0
+#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
+#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
+#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1
+#define CONFIG_HW_DECODE_EXAMPLE 1
+#define CONFIG_METADATA_EXAMPLE 1
+#define CONFIG_MUXING_EXAMPLE 0
+#define CONFIG_QSVDEC_EXAMPLE 0
+#define CONFIG_REMUXING_EXAMPLE 1
+#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0
+#define CONFIG_SCALING_VIDEO_EXAMPLE 0
+#define CONFIG_TRANSCODE_AAC_EXAMPLE 0
+#define CONFIG_TRANSCODING_EXAMPLE 0
+#define CONFIG_VAAPI_ENCODE_EXAMPLE 0
+#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0
+#define CONFIG_AVISYNTH 0
+#define CONFIG_FREI0R 0
+#define CONFIG_LIBCDIO 0
+#define CONFIG_LIBDAVS2 0
+#define CONFIG_LIBRUBBERBAND 0
+#define CONFIG_LIBVIDSTAB 0
+#define CONFIG_LIBX264 0
+#define CONFIG_LIBX265 0
+#define CONFIG_LIBXAVS 0
+#define CONFIG_LIBXAVS2 0
+#define CONFIG_LIBXVID 0
+#define CONFIG_DECKLINK 0
+#define CONFIG_LIBFDK_AAC 0
+#define CONFIG_LIBTLS 0
+#define CONFIG_GMP 0
+#define CONFIG_LIBARIBB24 0
+#define CONFIG_LIBLENSFUN 0
+#define CONFIG_LIBOPENCORE_AMRNB 0
+#define CONFIG_LIBOPENCORE_AMRWB 0
+#define CONFIG_LIBVO_AMRWBENC 0
+#define CONFIG_MBEDTLS 0
+#define CONFIG_RKMPP 0
+#define CONFIG_LIBSMBCLIENT 0
+#define CONFIG_CHROMAPRINT 0
+#define CONFIG_GCRYPT 0
+#define CONFIG_GNUTLS 0
+#define CONFIG_JNI 0
+#define CONFIG_LADSPA 0
++#define CONFIG_LCMS2 0
+#define CONFIG_LIBAOM 0
+#define CONFIG_LIBASS 0
+#define CONFIG_LIBBLURAY 0
+#define CONFIG_LIBBS2B 0
+#define CONFIG_LIBCACA 0
+#define CONFIG_LIBCELT 0
+#define CONFIG_LIBCODEC2 0
+#define CONFIG_LIBDAV1D 0
+#define CONFIG_LIBDC1394 0
+#define CONFIG_LIBDRM 0
+#define CONFIG_LIBFLITE 0
+#define CONFIG_LIBFONTCONFIG 0
+#define CONFIG_LIBFREETYPE 0
+#define CONFIG_LIBFRIBIDI 0
+#define CONFIG_LIBGLSLANG 0
+#define CONFIG_LIBGME 0
+#define CONFIG_LIBGSM 0
+#define CONFIG_LIBIEC61883 0
+#define CONFIG_LIBILBC 0
+#define CONFIG_LIBJACK 0
++#define CONFIG_LIBJXL 0
+#define CONFIG_LIBKLVANC 0
+#define CONFIG_LIBKVAZAAR 0
+#define CONFIG_LIBMODPLUG 0
+#define CONFIG_LIBMP3LAME 0
+#define CONFIG_LIBMYSOFA 0
+#define CONFIG_LIBOPENCV 0
+#define CONFIG_LIBOPENH264 0
+#define CONFIG_LIBOPENJPEG 0
+#define CONFIG_LIBOPENMPT 0
+#define CONFIG_LIBOPENVINO 0
+#define CONFIG_LIBOPUS 1
+#define CONFIG_LIBPLACEBO 0
+#define CONFIG_LIBPULSE 0
+#define CONFIG_LIBRABBITMQ 0
+#define CONFIG_LIBRAV1E 0
+#define CONFIG_LIBRIST 0
+#define CONFIG_LIBRSVG 0
+#define CONFIG_LIBRTMP 0
+#define CONFIG_LIBSHADERC 0
+#define CONFIG_LIBSHINE 0
+#define CONFIG_LIBSMBCLIENT 0
+#define CONFIG_LIBSNAPPY 0
+#define CONFIG_LIBSOXR 0
+#define CONFIG_LIBSPEEX 0
+#define CONFIG_LIBSRT 0
+#define CONFIG_LIBSSH 0
+#define CONFIG_LIBSVTAV1 0
+#define CONFIG_LIBTENSORFLOW 0
+#define CONFIG_LIBTESSERACT 0
+#define CONFIG_LIBTHEORA 0
+#define CONFIG_LIBTWOLAME 0
+#define CONFIG_LIBUAVS3D 0
+#define CONFIG_LIBV4L2 0
+#define CONFIG_LIBVMAF 0
+#define CONFIG_LIBVORBIS 0
+#define CONFIG_LIBVPX 0
+#define CONFIG_LIBWEBP 0
+#define CONFIG_LIBXML2 0
+#define CONFIG_LIBZIMG 0
+#define CONFIG_LIBZMQ 0
+#define CONFIG_LIBZVBI 0
+#define CONFIG_LV2 0
+#define CONFIG_MEDIACODEC 0
+#define CONFIG_OPENAL 0
+#define CONFIG_OPENGL 0
+#define CONFIG_OPENSSL 0
+#define CONFIG_POCKETSPHINX 0
+#define CONFIG_VAPOURSYNTH 0
+#define CONFIG_ALSA 0
+#define CONFIG_APPKIT 0
+#define CONFIG_AVFOUNDATION 0
+#define CONFIG_BZLIB 0
+#define CONFIG_COREIMAGE 0
+#define CONFIG_ICONV 0
+#define CONFIG_LIBXCB 0
+#define CONFIG_LIBXCB_SHM 0
+#define CONFIG_LIBXCB_SHAPE 0
+#define CONFIG_LIBXCB_XFIXES 0
+#define CONFIG_LZMA 0
+#define CONFIG_MEDIAFOUNDATION 0
+#define CONFIG_METAL 0
+#define CONFIG_SCHANNEL 0
+#define CONFIG_SDL2 0
+#define CONFIG_SECURETRANSPORT 0
+#define CONFIG_SNDIO 0
+#define CONFIG_XLIB 0
+#define CONFIG_ZLIB 0
+#define CONFIG_CUDA_NVCC 0
+#define CONFIG_CUDA_SDK 0
+#define CONFIG_LIBNPP 0
+#define CONFIG_LIBMFX 0
++#define CONFIG_LIBVPL 0
+#define CONFIG_MMAL 0
+#define CONFIG_OMX 0
+#define CONFIG_OPENCL 0
+#define CONFIG_AMF 0
+#define CONFIG_AUDIOTOOLBOX 0
+#define CONFIG_CRYSTALHD 0
+#define CONFIG_CUDA 0
+#define CONFIG_CUDA_LLVM 0
+#define CONFIG_CUVID 0
+#define CONFIG_D3D11VA 0
+#define CONFIG_DXVA2 0
+#define CONFIG_FFNVCODEC 0
+#define CONFIG_NVDEC 0
+#define CONFIG_NVENC 0
+#define CONFIG_VAAPI 0
+#define CONFIG_VDPAU 0
+#define CONFIG_VIDEOTOOLBOX 0
+#define CONFIG_VULKAN 0
+#define CONFIG_V4L2_M2M 0
+#define CONFIG_FTRAPV 0
+#define CONFIG_GRAY 0
+#define CONFIG_HARDCODED_TABLES 0
+#define CONFIG_OMX_RPI 0
+#define CONFIG_RUNTIME_CPUDETECT 1
+#define CONFIG_SAFE_BITSTREAM_READER 1
+#define CONFIG_SHARED 0
+#define CONFIG_SMALL 0
+#define CONFIG_STATIC 1
+#define CONFIG_SWSCALE_ALPHA 1
+#define CONFIG_GPL 0
+#define CONFIG_NONFREE 0
+#define CONFIG_VERSION3 0
+#define CONFIG_AVDEVICE 0
+#define CONFIG_AVFILTER 0
+#define CONFIG_SWSCALE 0
+#define CONFIG_POSTPROC 0
+#define CONFIG_AVFORMAT 1
+#define CONFIG_AVCODEC 1
+#define CONFIG_SWRESAMPLE 0
+#define CONFIG_AVUTIL 1
+#define CONFIG_FFPLAY 0
+#define CONFIG_FFPROBE 0
+#define CONFIG_FFMPEG 0
+#define CONFIG_DCT 1
+#define CONFIG_DWT 0
+#define CONFIG_ERROR_RESILIENCE 0
+#define CONFIG_FAAN 0
+#define CONFIG_FAST_UNALIGNED 1
+#define CONFIG_FFT 1
+#define CONFIG_LSP 0
-+#define CONFIG_MDCT 1
++#define CONFIG_MDCT 0
+#define CONFIG_PIXELUTILS 0
+#define CONFIG_NETWORK 0
+#define CONFIG_RDFT 1
+#define CONFIG_AUTODETECT 0
+#define CONFIG_FONTCONFIG 0
+#define CONFIG_LARGE_TESTS 1
+#define CONFIG_LINUX_PERF 0
+#define CONFIG_MACOS_KPERF 0
+#define CONFIG_MEMORY_POISONING 0
+#define CONFIG_NEON_CLOBBER_TEST 0
+#define CONFIG_OSSFUZZ 0
+#define CONFIG_PIC 1
+#define CONFIG_PTX_COMPRESSION 0
+#define CONFIG_THUMB 0
+#define CONFIG_VALGRIND_BACKTRACE 0
+#define CONFIG_XMM_CLOBBER_TEST 0
+#define CONFIG_BSFS 0
+#define CONFIG_DECODERS 1
+#define CONFIG_ENCODERS 0
+#define CONFIG_HWACCELS 0
+#define CONFIG_PARSERS 1
+#define CONFIG_INDEVS 0
+#define CONFIG_OUTDEVS 0
+#define CONFIG_FILTERS 0
+#define CONFIG_DEMUXERS 1
+#define CONFIG_MUXERS 0
+#define CONFIG_PROTOCOLS 0
+#define CONFIG_AANDCTTABLES 0
+#define CONFIG_AC3DSP 0
+#define CONFIG_ADTS_HEADER 1
+#define CONFIG_ATSC_A53 1
+#define CONFIG_AUDIO_FRAME_QUEUE 0
+#define CONFIG_AUDIODSP 0
+#define CONFIG_BLOCKDSP 0
+#define CONFIG_BSWAPDSP 0
+#define CONFIG_CABAC 1
+#define CONFIG_CBS 0
+#define CONFIG_CBS_AV1 0
+#define CONFIG_CBS_H264 0
+#define CONFIG_CBS_H265 0
+#define CONFIG_CBS_JPEG 0
+#define CONFIG_CBS_MPEG2 0
+#define CONFIG_CBS_VP9 0
+#define CONFIG_DEFLATE_WRAPPER 0
+#define CONFIG_DIRAC_PARSE 1
+#define CONFIG_DNN 0
+#define CONFIG_DOVI_RPU 0
+#define CONFIG_DVPROFILE 0
+#define CONFIG_EXIF 0
+#define CONFIG_FAANDCT 0
+#define CONFIG_FAANIDCT 0
+#define CONFIG_FDCTDSP 0
-+#define CONFIG_FLACDSP 1
+#define CONFIG_FMTCONVERT 0
+#define CONFIG_FRAME_THREAD_ENCODER 0
+#define CONFIG_G722DSP 0
+#define CONFIG_GOLOMB 1
+#define CONFIG_GPLV3 0
+#define CONFIG_H263DSP 0
+#define CONFIG_H264CHROMA 1
+#define CONFIG_H264DSP 1
+#define CONFIG_H264PARSE 1
+#define CONFIG_H264PRED 1
+#define CONFIG_H264QPEL 1
+#define CONFIG_HEVCPARSE 0
+#define CONFIG_HPELDSP 1
+#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
-+#define CONFIG_MDCT15 1
+#define CONFIG_INFLATE_WRAPPER 0
+#define CONFIG_INTRAX8 0
+#define CONFIG_ISO_MEDIA 1
+#define CONFIG_IVIDSP 0
+#define CONFIG_JPEGTABLES 0
+#define CONFIG_LGPLV3 0
+#define CONFIG_LIBX262 0
+#define CONFIG_LLAUDDSP 0
+#define CONFIG_LLVIDDSP 0
+#define CONFIG_LLVIDENCDSP 0
+#define CONFIG_LPC 0
+#define CONFIG_LZF 0
+#define CONFIG_ME_CMP 0
+#define CONFIG_MPEG_ER 0
+#define CONFIG_MPEGAUDIO 1
+#define CONFIG_MPEGAUDIODSP 1
+#define CONFIG_MPEGAUDIOHEADER 1
+#define CONFIG_MPEG4AUDIO 1
+#define CONFIG_MPEGVIDEO 0
+#define CONFIG_MPEGVIDEODEC 0
+#define CONFIG_MPEGVIDEOENC 0
++#define CONFIG_MSMPEG4DEC 0
++#define CONFIG_MSMPEG4ENC 0
+#define CONFIG_MSS34DSP 0
+#define CONFIG_PIXBLOCKDSP 0
+#define CONFIG_QPELDSP 0
+#define CONFIG_QSV 0
+#define CONFIG_QSVDEC 0
+#define CONFIG_QSVENC 0
+#define CONFIG_QSVVPP 0
+#define CONFIG_RANGECODER 0
+#define CONFIG_RIFFDEC 1
+#define CONFIG_RIFFENC 0
+#define CONFIG_RTPDEC 0
+#define CONFIG_RTPENC_CHAIN 0
+#define CONFIG_RV34DSP 0
+#define CONFIG_SCENE_SAD 0
+#define CONFIG_SINEWIN 1
+#define CONFIG_SNAPPY 0
+#define CONFIG_SRTP 0
+#define CONFIG_STARTCODE 1
+#define CONFIG_TEXTUREDSP 0
+#define CONFIG_TEXTUREDSPENC 0
+#define CONFIG_TPELDSP 0
+#define CONFIG_VAAPI_1 0
+#define CONFIG_VAAPI_ENCODE 0
+#define CONFIG_VC1DSP 0
+#define CONFIG_VIDEODSP 1
+#define CONFIG_VP3DSP 1
+#define CONFIG_VP56DSP 0
+#define CONFIG_VP8DSP 1
+#define CONFIG_WMA_FREQS 0
+#define CONFIG_WMV2DSP 0
+#endif /* FFMPEG_CONFIG_H */
diff --git a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h
index 55a1ea24b721..a1276982d2f2 100644
--- a/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h
+++ b/www/chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h
@@ -1,2066 +1,2128 @@
---- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h.orig 2022-07-28 06:07:04 UTC
+--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h
-@@ -0,0 +1,2063 @@
+@@ -0,0 +1,2125 @@
+/* Automatically generated by configure - do not modify! */
+#ifndef FFMPEG_CONFIG_COMPONENTS_H
+#define FFMPEG_CONFIG_COMPONENTS_H
+#define CONFIG_AAC_ADTSTOASC_BSF 0
+#define CONFIG_AV1_FRAME_MERGE_BSF 0
+#define CONFIG_AV1_FRAME_SPLIT_BSF 0
+#define CONFIG_AV1_METADATA_BSF 0
+#define CONFIG_CHOMP_BSF 0
+#define CONFIG_DUMP_EXTRADATA_BSF 0
+#define CONFIG_DCA_CORE_BSF 0
++#define CONFIG_DTS2PTS_BSF 0
+#define CONFIG_DV_ERROR_MARKER_BSF 0
+#define CONFIG_EAC3_CORE_BSF 0
+#define CONFIG_EXTRACT_EXTRADATA_BSF 0
+#define CONFIG_FILTER_UNITS_BSF 0
+#define CONFIG_H264_METADATA_BSF 0
+#define CONFIG_H264_MP4TOANNEXB_BSF 0
+#define CONFIG_H264_REDUNDANT_PPS_BSF 0
+#define CONFIG_HAPQA_EXTRACT_BSF 0
+#define CONFIG_HEVC_METADATA_BSF 0
+#define CONFIG_HEVC_MP4TOANNEXB_BSF 0
+#define CONFIG_IMX_DUMP_HEADER_BSF 0
+#define CONFIG_MJPEG2JPEG_BSF 0
+#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
+#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
+#define CONFIG_MPEG2_METADATA_BSF 0
+#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0
+#define CONFIG_MOV2TEXTSUB_BSF 0
+#define CONFIG_NOISE_BSF 0
+#define CONFIG_NULL_BSF 0
+#define CONFIG_OPUS_METADATA_BSF 0
+#define CONFIG_PCM_RECHUNK_BSF 0
++#define CONFIG_PGS_FRAME_MERGE_BSF 0
+#define CONFIG_PRORES_METADATA_BSF 0
+#define CONFIG_REMOVE_EXTRADATA_BSF 0
+#define CONFIG_SETTS_BSF 0
+#define CONFIG_TEXT2MOVSUB_BSF 0
+#define CONFIG_TRACE_HEADERS_BSF 0
+#define CONFIG_TRUEHD_CORE_BSF 0
+#define CONFIG_VP9_METADATA_BSF 0
+#define CONFIG_VP9_RAW_REORDER_BSF 0
+#define CONFIG_VP9_SUPERFRAME_BSF 0
+#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0
+#define CONFIG_AASC_DECODER 0
+#define CONFIG_AIC_DECODER 0
+#define CONFIG_ALIAS_PIX_DECODER 0
+#define CONFIG_AGM_DECODER 0
+#define CONFIG_AMV_DECODER 0
+#define CONFIG_ANM_DECODER 0
+#define CONFIG_ANSI_DECODER 0
+#define CONFIG_APNG_DECODER 0
+#define CONFIG_ARBC_DECODER 0
+#define CONFIG_ARGO_DECODER 0
+#define CONFIG_ASV1_DECODER 0
+#define CONFIG_ASV2_DECODER 0
+#define CONFIG_AURA_DECODER 0
+#define CONFIG_AURA2_DECODER 0
+#define CONFIG_AVRP_DECODER 0
+#define CONFIG_AVRN_DECODER 0
+#define CONFIG_AVS_DECODER 0
+#define CONFIG_AVUI_DECODER 0
+#define CONFIG_AYUV_DECODER 0
+#define CONFIG_BETHSOFTVID_DECODER 0
+#define CONFIG_BFI_DECODER 0
+#define CONFIG_BINK_DECODER 0
+#define CONFIG_BITPACKED_DECODER 0
+#define CONFIG_BMP_DECODER 0
+#define CONFIG_BMV_VIDEO_DECODER 0
+#define CONFIG_BRENDER_PIX_DECODER 0
+#define CONFIG_C93_DECODER 0
+#define CONFIG_CAVS_DECODER 0
+#define CONFIG_CDGRAPHICS_DECODER 0
+#define CONFIG_CDTOONS_DECODER 0
+#define CONFIG_CDXL_DECODER 0
+#define CONFIG_CFHD_DECODER 0
+#define CONFIG_CINEPAK_DECODER 0
+#define CONFIG_CLEARVIDEO_DECODER 0
+#define CONFIG_CLJR_DECODER 0
+#define CONFIG_CLLC_DECODER 0
+#define CONFIG_COMFORTNOISE_DECODER 0
+#define CONFIG_CPIA_DECODER 0
+#define CONFIG_CRI_DECODER 0
+#define CONFIG_CSCD_DECODER 0
+#define CONFIG_CYUV_DECODER 0
+#define CONFIG_DDS_DECODER 0
+#define CONFIG_DFA_DECODER 0
+#define CONFIG_DIRAC_DECODER 0
+#define CONFIG_DNXHD_DECODER 0
+#define CONFIG_DPX_DECODER 0
+#define CONFIG_DSICINVIDEO_DECODER 0
+#define CONFIG_DVAUDIO_DECODER 0
+#define CONFIG_DVVIDEO_DECODER 0
+#define CONFIG_DXA_DECODER 0
+#define CONFIG_DXTORY_DECODER 0
+#define CONFIG_DXV_DECODER 0
+#define CONFIG_EACMV_DECODER 0
+#define CONFIG_EAMAD_DECODER 0
+#define CONFIG_EATGQ_DECODER 0
+#define CONFIG_EATGV_DECODER 0
+#define CONFIG_EATQI_DECODER 0
+#define CONFIG_EIGHTBPS_DECODER 0
+#define CONFIG_EIGHTSVX_EXP_DECODER 0
+#define CONFIG_EIGHTSVX_FIB_DECODER 0
+#define CONFIG_ESCAPE124_DECODER 0
+#define CONFIG_ESCAPE130_DECODER 0
+#define CONFIG_EXR_DECODER 0
+#define CONFIG_FFV1_DECODER 0
+#define CONFIG_FFVHUFF_DECODER 0
+#define CONFIG_FIC_DECODER 0
+#define CONFIG_FITS_DECODER 0
+#define CONFIG_FLASHSV_DECODER 0
+#define CONFIG_FLASHSV2_DECODER 0
+#define CONFIG_FLIC_DECODER 0
+#define CONFIG_FLV_DECODER 0
+#define CONFIG_FMVC_DECODER 0
+#define CONFIG_FOURXM_DECODER 0
+#define CONFIG_FRAPS_DECODER 0
+#define CONFIG_FRWU_DECODER 0
+#define CONFIG_G2M_DECODER 0
+#define CONFIG_GDV_DECODER 0
+#define CONFIG_GEM_DECODER 0
+#define CONFIG_GIF_DECODER 0
+#define CONFIG_H261_DECODER 0
+#define CONFIG_H263_DECODER 0
+#define CONFIG_H263I_DECODER 0
+#define CONFIG_H263P_DECODER 0
+#define CONFIG_H263_V4L2M2M_DECODER 0
+#define CONFIG_H264_DECODER 1
+#define CONFIG_H264_CRYSTALHD_DECODER 0
+#define CONFIG_H264_V4L2M2M_DECODER 0
+#define CONFIG_H264_MEDIACODEC_DECODER 0
+#define CONFIG_H264_MMAL_DECODER 0
+#define CONFIG_H264_QSV_DECODER 0
+#define CONFIG_H264_RKMPP_DECODER 0
+#define CONFIG_HAP_DECODER 0
+#define CONFIG_HEVC_DECODER 0
+#define CONFIG_HEVC_QSV_DECODER 0
+#define CONFIG_HEVC_RKMPP_DECODER 0
+#define CONFIG_HEVC_V4L2M2M_DECODER 0
+#define CONFIG_HNM4_VIDEO_DECODER 0
+#define CONFIG_HQ_HQA_DECODER 0
+#define CONFIG_HQX_DECODER 0
+#define CONFIG_HUFFYUV_DECODER 0
+#define CONFIG_HYMT_DECODER 0
+#define CONFIG_IDCIN_DECODER 0
+#define CONFIG_IFF_ILBM_DECODER 0
+#define CONFIG_IMM4_DECODER 0
+#define CONFIG_IMM5_DECODER 0
+#define CONFIG_INDEO2_DECODER 0
+#define CONFIG_INDEO3_DECODER 0
+#define CONFIG_INDEO4_DECODER 0
+#define CONFIG_INDEO5_DECODER 0
+#define CONFIG_INTERPLAY_VIDEO_DECODER 0
+#define CONFIG_IPU_DECODER 0
+#define CONFIG_JPEG2000_DECODER 0
+#define CONFIG_JPEGLS_DECODER 0
+#define CONFIG_JV_DECODER 0
+#define CONFIG_KGV1_DECODER 0
+#define CONFIG_KMVC_DECODER 0
+#define CONFIG_LAGARITH_DECODER 0
+#define CONFIG_LOCO_DECODER 0
+#define CONFIG_LSCR_DECODER 0
+#define CONFIG_M101_DECODER 0
+#define CONFIG_MAGICYUV_DECODER 0
+#define CONFIG_MDEC_DECODER 0
++#define CONFIG_MEDIA100_DECODER 0
+#define CONFIG_MIMIC_DECODER 0
+#define CONFIG_MJPEG_DECODER 0
+#define CONFIG_MJPEGB_DECODER 0
+#define CONFIG_MMVIDEO_DECODER 0
+#define CONFIG_MOBICLIP_DECODER 0
+#define CONFIG_MOTIONPIXELS_DECODER 0
+#define CONFIG_MPEG1VIDEO_DECODER 0
+#define CONFIG_MPEG2VIDEO_DECODER 0
+#define CONFIG_MPEG4_DECODER 0
+#define CONFIG_MPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG4_V4L2M2M_DECODER 0
+#define CONFIG_MPEG4_MMAL_DECODER 0
+#define CONFIG_MPEGVIDEO_DECODER 0
+#define CONFIG_MPEG1_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_MMAL_DECODER 0
+#define CONFIG_MPEG2_CRYSTALHD_DECODER 0
+#define CONFIG_MPEG2_V4L2M2M_DECODER 0
+#define CONFIG_MPEG2_QSV_DECODER 0
+#define CONFIG_MPEG2_MEDIACODEC_DECODER 0
+#define CONFIG_MSA1_DECODER 0
+#define CONFIG_MSCC_DECODER 0
+#define CONFIG_MSMPEG4V1_DECODER 0
+#define CONFIG_MSMPEG4V2_DECODER 0
+#define CONFIG_MSMPEG4V3_DECODER 0
+#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0
+#define CONFIG_MSP2_DECODER 0
+#define CONFIG_MSRLE_DECODER 0
+#define CONFIG_MSS1_DECODER 0
+#define CONFIG_MSS2_DECODER 0
+#define CONFIG_MSVIDEO1_DECODER 0
+#define CONFIG_MSZH_DECODER 0
+#define CONFIG_MTS2_DECODER 0
+#define CONFIG_MV30_DECODER 0
+#define CONFIG_MVC1_DECODER 0
+#define CONFIG_MVC2_DECODER 0
+#define CONFIG_MVDV_DECODER 0
+#define CONFIG_MVHA_DECODER 0
+#define CONFIG_MWSC_DECODER 0
+#define CONFIG_MXPEG_DECODER 0
+#define CONFIG_NOTCHLC_DECODER 0
+#define CONFIG_NUV_DECODER 0
+#define CONFIG_PAF_VIDEO_DECODER 0
+#define CONFIG_PAM_DECODER 0
+#define CONFIG_PBM_DECODER 0
+#define CONFIG_PCX_DECODER 0
+#define CONFIG_PFM_DECODER 0
+#define CONFIG_PGM_DECODER 0
+#define CONFIG_PGMYUV_DECODER 0
+#define CONFIG_PGX_DECODER 0
++#define CONFIG_PHM_DECODER 0
+#define CONFIG_PHOTOCD_DECODER 0
+#define CONFIG_PICTOR_DECODER 0
+#define CONFIG_PIXLET_DECODER 0
+#define CONFIG_PNG_DECODER 0
+#define CONFIG_PPM_DECODER 0
+#define CONFIG_PRORES_DECODER 0
+#define CONFIG_PROSUMER_DECODER 0
+#define CONFIG_PSD_DECODER 0
+#define CONFIG_PTX_DECODER 0
+#define CONFIG_QDRAW_DECODER 0
++#define CONFIG_QOI_DECODER 0
+#define CONFIG_QPEG_DECODER 0
+#define CONFIG_QTRLE_DECODER 0
+#define CONFIG_R10K_DECODER 0
+#define CONFIG_R210_DECODER 0
+#define CONFIG_RASC_DECODER 0
+#define CONFIG_RAWVIDEO_DECODER 0
+#define CONFIG_RL2_DECODER 0
+#define CONFIG_ROQ_DECODER 0
+#define CONFIG_RPZA_DECODER 0
+#define CONFIG_RSCC_DECODER 0
+#define CONFIG_RV10_DECODER 0
+#define CONFIG_RV20_DECODER 0
+#define CONFIG_RV30_DECODER 0
+#define CONFIG_RV40_DECODER 0
+#define CONFIG_S302M_DECODER 0
+#define CONFIG_SANM_DECODER 0
+#define CONFIG_SCPR_DECODER 0
+#define CONFIG_SCREENPRESSO_DECODER 0
+#define CONFIG_SGA_DECODER 0
+#define CONFIG_SGI_DECODER 0
+#define CONFIG_SGIRLE_DECODER 0
+#define CONFIG_SHEERVIDEO_DECODER 0
+#define CONFIG_SIMBIOSIS_IMX_DECODER 0
+#define CONFIG_SMACKER_DECODER 0
+#define CONFIG_SMC_DECODER 0
+#define CONFIG_SMVJPEG_DECODER 0
+#define CONFIG_SNOW_DECODER 0
+#define CONFIG_SP5X_DECODER 0
+#define CONFIG_SPEEDHQ_DECODER 0
+#define CONFIG_SPEEX_DECODER 0
+#define CONFIG_SRGC_DECODER 0
+#define CONFIG_SUNRAST_DECODER 0
+#define CONFIG_SVQ1_DECODER 0
+#define CONFIG_SVQ3_DECODER 0
+#define CONFIG_TARGA_DECODER 0
+#define CONFIG_TARGA_Y216_DECODER 0
+#define CONFIG_TDSC_DECODER 0
+#define CONFIG_THEORA_DECODER 1
+#define CONFIG_THP_DECODER 0
+#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
+#define CONFIG_TIFF_DECODER 0
+#define CONFIG_TMV_DECODER 0
+#define CONFIG_TRUEMOTION1_DECODER 0
+#define CONFIG_TRUEMOTION2_DECODER 0
+#define CONFIG_TRUEMOTION2RT_DECODER 0
+#define CONFIG_TSCC_DECODER 0
+#define CONFIG_TSCC2_DECODER 0
+#define CONFIG_TXD_DECODER 0
+#define CONFIG_ULTI_DECODER 0
+#define CONFIG_UTVIDEO_DECODER 0
+#define CONFIG_V210_DECODER 0
+#define CONFIG_V210X_DECODER 0
+#define CONFIG_V308_DECODER 0
+#define CONFIG_V408_DECODER 0
+#define CONFIG_V410_DECODER 0
+#define CONFIG_VB_DECODER 0
++#define CONFIG_VBN_DECODER 0
+#define CONFIG_VBLE_DECODER 0
+#define CONFIG_VC1_DECODER 0
+#define CONFIG_VC1_CRYSTALHD_DECODER 0
+#define CONFIG_VC1IMAGE_DECODER 0
+#define CONFIG_VC1_MMAL_DECODER 0
+#define CONFIG_VC1_QSV_DECODER 0
+#define CONFIG_VC1_V4L2M2M_DECODER 0
+#define CONFIG_VCR1_DECODER 0
+#define CONFIG_VMDVIDEO_DECODER 0
+#define CONFIG_VMNC_DECODER 0
+#define CONFIG_VP3_DECODER 1
+#define CONFIG_VP4_DECODER 0
+#define CONFIG_VP5_DECODER 0
+#define CONFIG_VP6_DECODER 0
+#define CONFIG_VP6A_DECODER 0
+#define CONFIG_VP6F_DECODER 0
+#define CONFIG_VP7_DECODER 0
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP8_RKMPP_DECODER 0
+#define CONFIG_VP8_V4L2M2M_DECODER 0
+#define CONFIG_VP9_DECODER 0
+#define CONFIG_VP9_RKMPP_DECODER 0
+#define CONFIG_VP9_V4L2M2M_DECODER 0
+#define CONFIG_VQA_DECODER 0
++#define CONFIG_VQC_DECODER 0
++#define CONFIG_WBMP_DECODER 0
+#define CONFIG_WEBP_DECODER 0
+#define CONFIG_WCMV_DECODER 0
+#define CONFIG_WRAPPED_AVFRAME_DECODER 0
+#define CONFIG_WMV1_DECODER 0
+#define CONFIG_WMV2_DECODER 0
+#define CONFIG_WMV3_DECODER 0
+#define CONFIG_WMV3_CRYSTALHD_DECODER 0
+#define CONFIG_WMV3IMAGE_DECODER 0
+#define CONFIG_WNV1_DECODER 0
+#define CONFIG_XAN_WC3_DECODER 0
+#define CONFIG_XAN_WC4_DECODER 0
+#define CONFIG_XBM_DECODER 0
+#define CONFIG_XFACE_DECODER 0
+#define CONFIG_XL_DECODER 0
+#define CONFIG_XPM_DECODER 0
+#define CONFIG_XWD_DECODER 0
+#define CONFIG_Y41P_DECODER 0
+#define CONFIG_YLC_DECODER 0
+#define CONFIG_YOP_DECODER 0
+#define CONFIG_YUV4_DECODER 0
+#define CONFIG_ZERO12V_DECODER 0
+#define CONFIG_ZEROCODEC_DECODER 0
+#define CONFIG_ZLIB_DECODER 0
+#define CONFIG_ZMBV_DECODER 0
+#define CONFIG_AAC_DECODER 1
+#define CONFIG_AAC_FIXED_DECODER 0
+#define CONFIG_AAC_LATM_DECODER 0
+#define CONFIG_AC3_DECODER 0
+#define CONFIG_AC3_FIXED_DECODER 0
+#define CONFIG_ACELP_KELVIN_DECODER 0
+#define CONFIG_ALAC_DECODER 0
+#define CONFIG_ALS_DECODER 0
+#define CONFIG_AMRNB_DECODER 0
+#define CONFIG_AMRWB_DECODER 0
++#define CONFIG_APAC_DECODER 0
+#define CONFIG_APE_DECODER 0
+#define CONFIG_APTX_DECODER 0
+#define CONFIG_APTX_HD_DECODER 0
+#define CONFIG_ATRAC1_DECODER 0
+#define CONFIG_ATRAC3_DECODER 0
+#define CONFIG_ATRAC3AL_DECODER 0
+#define CONFIG_ATRAC3P_DECODER 0
+#define CONFIG_ATRAC3PAL_DECODER 0
+#define CONFIG_ATRAC9_DECODER 0
+#define CONFIG_BINKAUDIO_DCT_DECODER 0
+#define CONFIG_BINKAUDIO_RDFT_DECODER 0
+#define CONFIG_BMV_AUDIO_DECODER 0
++#define CONFIG_BONK_DECODER 0
+#define CONFIG_COOK_DECODER 0
+#define CONFIG_DCA_DECODER 0
+#define CONFIG_DFPWM_DECODER 0
+#define CONFIG_DOLBY_E_DECODER 0
+#define CONFIG_DSD_LSBF_DECODER 0
+#define CONFIG_DSD_MSBF_DECODER 0
+#define CONFIG_DSD_LSBF_PLANAR_DECODER 0
+#define CONFIG_DSD_MSBF_PLANAR_DECODER 0
+#define CONFIG_DSICINAUDIO_DECODER 0
+#define CONFIG_DSS_SP_DECODER 0
+#define CONFIG_DST_DECODER 0
+#define CONFIG_EAC3_DECODER 0
+#define CONFIG_EVRC_DECODER 0
+#define CONFIG_FASTAUDIO_DECODER 0
+#define CONFIG_FFWAVESYNTH_DECODER 0
+#define CONFIG_FLAC_DECODER 1
++#define CONFIG_FTR_DECODER 0
+#define CONFIG_G723_1_DECODER 0
+#define CONFIG_G729_DECODER 0
+#define CONFIG_GSM_DECODER 0
+#define CONFIG_GSM_MS_DECODER 0
+#define CONFIG_HCA_DECODER 0
+#define CONFIG_HCOM_DECODER 0
++#define CONFIG_HDR_DECODER 0
+#define CONFIG_IAC_DECODER 0
+#define CONFIG_ILBC_DECODER 0
+#define CONFIG_IMC_DECODER 0
+#define CONFIG_INTERPLAY_ACM_DECODER 0
+#define CONFIG_MACE3_DECODER 0
+#define CONFIG_MACE6_DECODER 0
+#define CONFIG_METASOUND_DECODER 0
++#define CONFIG_MISC4_DECODER 0
+#define CONFIG_MLP_DECODER 0
+#define CONFIG_MP1_DECODER 0
+#define CONFIG_MP1FLOAT_DECODER 0
+#define CONFIG_MP2_DECODER 0
+#define CONFIG_MP2FLOAT_DECODER 0
+#define CONFIG_MP3FLOAT_DECODER 0
+#define CONFIG_MP3_DECODER 1
+#define CONFIG_MP3ADUFLOAT_DECODER 0
+#define CONFIG_MP3ADU_DECODER 0
+#define CONFIG_MP3ON4FLOAT_DECODER 0
+#define CONFIG_MP3ON4_DECODER 0
+#define CONFIG_MPC7_DECODER 0
+#define CONFIG_MPC8_DECODER 0
+#define CONFIG_MSNSIREN_DECODER 0
+#define CONFIG_NELLYMOSER_DECODER 0
+#define CONFIG_ON2AVC_DECODER 0
+#define CONFIG_OPUS_DECODER 0
+#define CONFIG_PAF_AUDIO_DECODER 0
+#define CONFIG_QCELP_DECODER 0
+#define CONFIG_QDM2_DECODER 0
+#define CONFIG_QDMC_DECODER 0
+#define CONFIG_RA_144_DECODER 0
+#define CONFIG_RA_288_DECODER 0
+#define CONFIG_RALF_DECODER 0
+#define CONFIG_SBC_DECODER 0
+#define CONFIG_SHORTEN_DECODER 0
+#define CONFIG_SIPR_DECODER 0
+#define CONFIG_SIREN_DECODER 0
+#define CONFIG_SMACKAUD_DECODER 0
+#define CONFIG_SONIC_DECODER 0
+#define CONFIG_TAK_DECODER 0
+#define CONFIG_TRUEHD_DECODER 0
+#define CONFIG_TRUESPEECH_DECODER 0
+#define CONFIG_TTA_DECODER 0
+#define CONFIG_TWINVQ_DECODER 0
+#define CONFIG_VMDAUDIO_DECODER 0
+#define CONFIG_VORBIS_DECODER 1
+#define CONFIG_WAVPACK_DECODER 0
+#define CONFIG_WMALOSSLESS_DECODER 0
+#define CONFIG_WMAPRO_DECODER 0
+#define CONFIG_WMAV1_DECODER 0
+#define CONFIG_WMAV2_DECODER 0
+#define CONFIG_WMAVOICE_DECODER 0
+#define CONFIG_WS_SND1_DECODER 0
+#define CONFIG_XMA1_DECODER 0
+#define CONFIG_XMA2_DECODER 0
+#define CONFIG_PCM_ALAW_DECODER 1
+#define CONFIG_PCM_BLURAY_DECODER 0
+#define CONFIG_PCM_DVD_DECODER 0
+#define CONFIG_PCM_F16LE_DECODER 0
+#define CONFIG_PCM_F24LE_DECODER 0
+#define CONFIG_PCM_F32BE_DECODER 0
+#define CONFIG_PCM_F32LE_DECODER 1
+#define CONFIG_PCM_F64BE_DECODER 0
+#define CONFIG_PCM_F64LE_DECODER 0
+#define CONFIG_PCM_LXF_DECODER 0
+#define CONFIG_PCM_MULAW_DECODER 1
+#define CONFIG_PCM_S8_DECODER 0
+#define CONFIG_PCM_S8_PLANAR_DECODER 0
+#define CONFIG_PCM_S16BE_DECODER 1
+#define CONFIG_PCM_S16BE_PLANAR_DECODER 0
+#define CONFIG_PCM_S16LE_DECODER 1
+#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S24BE_DECODER 1
+#define CONFIG_PCM_S24DAUD_DECODER 0
+#define CONFIG_PCM_S24LE_DECODER 1
+#define CONFIG_PCM_S24LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S32BE_DECODER 0
+#define CONFIG_PCM_S32LE_DECODER 1
+#define CONFIG_PCM_S32LE_PLANAR_DECODER 0
+#define CONFIG_PCM_S64BE_DECODER 0
+#define CONFIG_PCM_S64LE_DECODER 0
+#define CONFIG_PCM_SGA_DECODER 0
+#define CONFIG_PCM_U8_DECODER 1
+#define CONFIG_PCM_U16BE_DECODER 0
+#define CONFIG_PCM_U16LE_DECODER 0
+#define CONFIG_PCM_U24BE_DECODER 0
+#define CONFIG_PCM_U24LE_DECODER 0
+#define CONFIG_PCM_U32BE_DECODER 0
+#define CONFIG_PCM_U32LE_DECODER 0
+#define CONFIG_PCM_VIDC_DECODER 0
+#define CONFIG_DERF_DPCM_DECODER 0
+#define CONFIG_GREMLIN_DPCM_DECODER 0
+#define CONFIG_INTERPLAY_DPCM_DECODER 0
+#define CONFIG_ROQ_DPCM_DECODER 0
+#define CONFIG_SDX2_DPCM_DECODER 0
+#define CONFIG_SOL_DPCM_DECODER 0
+#define CONFIG_XAN_DPCM_DECODER 0
+#define CONFIG_ADPCM_4XM_DECODER 0
+#define CONFIG_ADPCM_ADX_DECODER 0
+#define CONFIG_ADPCM_AFC_DECODER 0
+#define CONFIG_ADPCM_AGM_DECODER 0
+#define CONFIG_ADPCM_AICA_DECODER 0
+#define CONFIG_ADPCM_ARGO_DECODER 0
+#define CONFIG_ADPCM_CT_DECODER 0
+#define CONFIG_ADPCM_DTK_DECODER 0
+#define CONFIG_ADPCM_EA_DECODER 0
+#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
+#define CONFIG_ADPCM_EA_R1_DECODER 0
+#define CONFIG_ADPCM_EA_R2_DECODER 0
+#define CONFIG_ADPCM_EA_R3_DECODER 0
+#define CONFIG_ADPCM_EA_XAS_DECODER 0
+#define CONFIG_ADPCM_G722_DECODER 0
+#define CONFIG_ADPCM_G726_DECODER 0
+#define CONFIG_ADPCM_G726LE_DECODER 0
+#define CONFIG_ADPCM_IMA_ACORN_DECODER 0
+#define CONFIG_ADPCM_IMA_AMV_DECODER 0
+#define CONFIG_ADPCM_IMA_ALP_DECODER 0
+#define CONFIG_ADPCM_IMA_APC_DECODER 0
+#define CONFIG_ADPCM_IMA_APM_DECODER 0
+#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0
+#define CONFIG_ADPCM_IMA_DAT4_DECODER 0
+#define CONFIG_ADPCM_IMA_DK3_DECODER 0
+#define CONFIG_ADPCM_IMA_DK4_DECODER 0
+#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
+#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
+#define CONFIG_ADPCM_IMA_ISS_DECODER 0
+#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0
+#define CONFIG_ADPCM_IMA_MTF_DECODER 0
+#define CONFIG_ADPCM_IMA_OKI_DECODER 0
+#define CONFIG_ADPCM_IMA_QT_DECODER 0
+#define CONFIG_ADPCM_IMA_RAD_DECODER 0
+#define CONFIG_ADPCM_IMA_SSI_DECODER 0
+#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
+#define CONFIG_ADPCM_IMA_WAV_DECODER 0
+#define CONFIG_ADPCM_IMA_WS_DECODER 0
+#define CONFIG_ADPCM_MS_DECODER 0
+#define CONFIG_ADPCM_MTAF_DECODER 0
+#define CONFIG_ADPCM_PSX_DECODER 0
+#define CONFIG_ADPCM_SBPRO_2_DECODER 0
+#define CONFIG_ADPCM_SBPRO_3_DECODER 0
+#define CONFIG_ADPCM_SBPRO_4_DECODER 0
+#define CONFIG_ADPCM_SWF_DECODER 0
+#define CONFIG_ADPCM_THP_DECODER 0
+#define CONFIG_ADPCM_THP_LE_DECODER 0
+#define CONFIG_ADPCM_VIMA_DECODER 0
+#define CONFIG_ADPCM_XA_DECODER 0
+#define CONFIG_ADPCM_YAMAHA_DECODER 0
+#define CONFIG_ADPCM_ZORK_DECODER 0
+#define CONFIG_SSA_DECODER 0
+#define CONFIG_ASS_DECODER 0
+#define CONFIG_CCAPTION_DECODER 0
+#define CONFIG_DVBSUB_DECODER 0
+#define CONFIG_DVDSUB_DECODER 0
+#define CONFIG_JACOSUB_DECODER 0
+#define CONFIG_MICRODVD_DECODER 0
+#define CONFIG_MOVTEXT_DECODER 0
+#define CONFIG_MPL2_DECODER 0
+#define CONFIG_PGSSUB_DECODER 0
+#define CONFIG_PJS_DECODER 0
+#define CONFIG_REALTEXT_DECODER 0
+#define CONFIG_SAMI_DECODER 0
+#define CONFIG_SRT_DECODER 0
+#define CONFIG_STL_DECODER 0
+#define CONFIG_SUBRIP_DECODER 0
+#define CONFIG_SUBVIEWER_DECODER 0
+#define CONFIG_SUBVIEWER1_DECODER 0
+#define CONFIG_TEXT_DECODER 0
+#define CONFIG_VPLAYER_DECODER 0
+#define CONFIG_WEBVTT_DECODER 0
+#define CONFIG_XSUB_DECODER 0
+#define CONFIG_AAC_AT_DECODER 0
+#define CONFIG_AC3_AT_DECODER 0
+#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0
+#define CONFIG_ALAC_AT_DECODER 0
+#define CONFIG_AMR_NB_AT_DECODER 0
+#define CONFIG_EAC3_AT_DECODER 0
+#define CONFIG_GSM_MS_AT_DECODER 0
+#define CONFIG_ILBC_AT_DECODER 0
+#define CONFIG_MP1_AT_DECODER 0
+#define CONFIG_MP2_AT_DECODER 0
+#define CONFIG_MP3_AT_DECODER 0
+#define CONFIG_PCM_ALAW_AT_DECODER 0
+#define CONFIG_PCM_MULAW_AT_DECODER 0
+#define CONFIG_QDMC_AT_DECODER 0
+#define CONFIG_QDM2_AT_DECODER 0
+#define CONFIG_LIBARIBB24_DECODER 0
+#define CONFIG_LIBCELT_DECODER 0
+#define CONFIG_LIBCODEC2_DECODER 0
+#define CONFIG_LIBDAV1D_DECODER 0
+#define CONFIG_LIBDAVS2_DECODER 0
+#define CONFIG_LIBFDK_AAC_DECODER 0
+#define CONFIG_LIBGSM_DECODER 0
+#define CONFIG_LIBGSM_MS_DECODER 0
+#define CONFIG_LIBILBC_DECODER 0
++#define CONFIG_LIBJXL_DECODER 0
+#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
+#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
+#define CONFIG_LIBOPENJPEG_DECODER 0
+#define CONFIG_LIBOPUS_DECODER 1
+#define CONFIG_LIBRSVG_DECODER 0
+#define CONFIG_LIBSPEEX_DECODER 0
+#define CONFIG_LIBUAVS3D_DECODER 0
+#define CONFIG_LIBVORBIS_DECODER 0
+#define CONFIG_LIBVPX_VP8_DECODER 0
+#define CONFIG_LIBVPX_VP9_DECODER 0
+#define CONFIG_LIBZVBI_TELETEXT_DECODER 0
+#define CONFIG_BINTEXT_DECODER 0
+#define CONFIG_XBIN_DECODER 0
+#define CONFIG_IDF_DECODER 0
+#define CONFIG_LIBAOM_AV1_DECODER 0
+#define CONFIG_AV1_DECODER 0
+#define CONFIG_AV1_CUVID_DECODER 0
+#define CONFIG_AV1_QSV_DECODER 0
+#define CONFIG_LIBOPENH264_DECODER 0
+#define CONFIG_H264_CUVID_DECODER 0
+#define CONFIG_HEVC_CUVID_DECODER 0
+#define CONFIG_HEVC_MEDIACODEC_DECODER 0
+#define CONFIG_MJPEG_CUVID_DECODER 0
+#define CONFIG_MJPEG_QSV_DECODER 0
+#define CONFIG_MPEG1_CUVID_DECODER 0
+#define CONFIG_MPEG2_CUVID_DECODER 0
+#define CONFIG_MPEG4_CUVID_DECODER 0
+#define CONFIG_MPEG4_MEDIACODEC_DECODER 0
+#define CONFIG_VC1_CUVID_DECODER 0
+#define CONFIG_VP8_CUVID_DECODER 0
+#define CONFIG_VP8_MEDIACODEC_DECODER 0
+#define CONFIG_VP8_QSV_DECODER 0
+#define CONFIG_VP9_CUVID_DECODER 0
+#define CONFIG_VP9_MEDIACODEC_DECODER 0
+#define CONFIG_VP9_QSV_DECODER 0
+#define CONFIG_A64MULTI_ENCODER 0
+#define CONFIG_A64MULTI5_ENCODER 0
+#define CONFIG_ALIAS_PIX_ENCODER 0
+#define CONFIG_AMV_ENCODER 0
+#define CONFIG_APNG_ENCODER 0
+#define CONFIG_ASV1_ENCODER 0
+#define CONFIG_ASV2_ENCODER 0
+#define CONFIG_AVRP_ENCODER 0
+#define CONFIG_AVUI_ENCODER 0
+#define CONFIG_AYUV_ENCODER 0
+#define CONFIG_BITPACKED_ENCODER 0
+#define CONFIG_BMP_ENCODER 0
+#define CONFIG_CFHD_ENCODER 0
+#define CONFIG_CINEPAK_ENCODER 0
+#define CONFIG_CLJR_ENCODER 0
+#define CONFIG_COMFORTNOISE_ENCODER 0
+#define CONFIG_DNXHD_ENCODER 0
+#define CONFIG_DPX_ENCODER 0
+#define CONFIG_DVVIDEO_ENCODER 0
+#define CONFIG_EXR_ENCODER 0
+#define CONFIG_FFV1_ENCODER 0
+#define CONFIG_FFVHUFF_ENCODER 0
+#define CONFIG_FITS_ENCODER 0
+#define CONFIG_FLASHSV_ENCODER 0
+#define CONFIG_FLASHSV2_ENCODER 0
+#define CONFIG_FLV_ENCODER 0
+#define CONFIG_GIF_ENCODER 0
+#define CONFIG_H261_ENCODER 0
+#define CONFIG_H263_ENCODER 0
+#define CONFIG_H263P_ENCODER 0
++#define CONFIG_H264_MEDIACODEC_ENCODER 0
+#define CONFIG_HAP_ENCODER 0
+#define CONFIG_HUFFYUV_ENCODER 0
+#define CONFIG_JPEG2000_ENCODER 0
+#define CONFIG_JPEGLS_ENCODER 0
+#define CONFIG_LJPEG_ENCODER 0
+#define CONFIG_MAGICYUV_ENCODER 0
+#define CONFIG_MJPEG_ENCODER 0
+#define CONFIG_MPEG1VIDEO_ENCODER 0
+#define CONFIG_MPEG2VIDEO_ENCODER 0
+#define CONFIG_MPEG4_ENCODER 0
+#define CONFIG_MSMPEG4V2_ENCODER 0
+#define CONFIG_MSMPEG4V3_ENCODER 0
+#define CONFIG_MSVIDEO1_ENCODER 0
+#define CONFIG_PAM_ENCODER 0
+#define CONFIG_PBM_ENCODER 0
+#define CONFIG_PCX_ENCODER 0
+#define CONFIG_PFM_ENCODER 0
+#define CONFIG_PGM_ENCODER 0
+#define CONFIG_PGMYUV_ENCODER 0
++#define CONFIG_PHM_ENCODER 0
+#define CONFIG_PNG_ENCODER 0
+#define CONFIG_PPM_ENCODER 0
+#define CONFIG_PRORES_ENCODER 0
+#define CONFIG_PRORES_AW_ENCODER 0
+#define CONFIG_PRORES_KS_ENCODER 0
++#define CONFIG_QOI_ENCODER 0
+#define CONFIG_QTRLE_ENCODER 0
+#define CONFIG_R10K_ENCODER 0
+#define CONFIG_R210_ENCODER 0
+#define CONFIG_RAWVIDEO_ENCODER 0
+#define CONFIG_ROQ_ENCODER 0
+#define CONFIG_RPZA_ENCODER 0
+#define CONFIG_RV10_ENCODER 0
+#define CONFIG_RV20_ENCODER 0
+#define CONFIG_S302M_ENCODER 0
+#define CONFIG_SGI_ENCODER 0
+#define CONFIG_SMC_ENCODER 0
+#define CONFIG_SNOW_ENCODER 0
+#define CONFIG_SPEEDHQ_ENCODER 0
+#define CONFIG_SUNRAST_ENCODER 0
+#define CONFIG_SVQ1_ENCODER 0
+#define CONFIG_TARGA_ENCODER 0
+#define CONFIG_TIFF_ENCODER 0
+#define CONFIG_UTVIDEO_ENCODER 0
+#define CONFIG_V210_ENCODER 0
+#define CONFIG_V308_ENCODER 0
+#define CONFIG_V408_ENCODER 0
+#define CONFIG_V410_ENCODER 0
++#define CONFIG_VBN_ENCODER 0
+#define CONFIG_VC2_ENCODER 0
++#define CONFIG_WBMP_ENCODER 0
+#define CONFIG_WRAPPED_AVFRAME_ENCODER 0
+#define CONFIG_WMV1_ENCODER 0
+#define CONFIG_WMV2_ENCODER 0
+#define CONFIG_XBM_ENCODER 0
+#define CONFIG_XFACE_ENCODER 0
+#define CONFIG_XWD_ENCODER 0
+#define CONFIG_Y41P_ENCODER 0
+#define CONFIG_YUV4_ENCODER 0
+#define CONFIG_ZLIB_ENCODER 0
+#define CONFIG_ZMBV_ENCODER 0
+#define CONFIG_AAC_ENCODER 0
+#define CONFIG_AC3_ENCODER 0
+#define CONFIG_AC3_FIXED_ENCODER 0
+#define CONFIG_ALAC_ENCODER 0
+#define CONFIG_APTX_ENCODER 0
+#define CONFIG_APTX_HD_ENCODER 0
+#define CONFIG_DCA_ENCODER 0
+#define CONFIG_DFPWM_ENCODER 0
+#define CONFIG_EAC3_ENCODER 0
+#define CONFIG_FLAC_ENCODER 0
+#define CONFIG_G723_1_ENCODER 0
++#define CONFIG_HDR_ENCODER 0
+#define CONFIG_MLP_ENCODER 0
+#define CONFIG_MP2_ENCODER 0
+#define CONFIG_MP2FIXED_ENCODER 0
+#define CONFIG_NELLYMOSER_ENCODER 0
+#define CONFIG_OPUS_ENCODER 0
+#define CONFIG_RA_144_ENCODER 0
+#define CONFIG_SBC_ENCODER 0
+#define CONFIG_SONIC_ENCODER 0
+#define CONFIG_SONIC_LS_ENCODER 0
+#define CONFIG_TRUEHD_ENCODER 0
+#define CONFIG_TTA_ENCODER 0
+#define CONFIG_VORBIS_ENCODER 0
+#define CONFIG_WAVPACK_ENCODER 0
+#define CONFIG_WMAV1_ENCODER 0
+#define CONFIG_WMAV2_ENCODER 0
+#define CONFIG_PCM_ALAW_ENCODER 0
+#define CONFIG_PCM_BLURAY_ENCODER 0
+#define CONFIG_PCM_DVD_ENCODER 0
+#define CONFIG_PCM_F32BE_ENCODER 0
+#define CONFIG_PCM_F32LE_ENCODER 0
+#define CONFIG_PCM_F64BE_ENCODER 0
+#define CONFIG_PCM_F64LE_ENCODER 0
+#define CONFIG_PCM_MULAW_ENCODER 0
+#define CONFIG_PCM_S8_ENCODER 0
+#define CONFIG_PCM_S8_PLANAR_ENCODER 0
+#define CONFIG_PCM_S16BE_ENCODER 0
+#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S16LE_ENCODER 0
+#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S24BE_ENCODER 0
+#define CONFIG_PCM_S24DAUD_ENCODER 0
+#define CONFIG_PCM_S24LE_ENCODER 0
+#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S32BE_ENCODER 0
+#define CONFIG_PCM_S32LE_ENCODER 0
+#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0
+#define CONFIG_PCM_S64BE_ENCODER 0
+#define CONFIG_PCM_S64LE_ENCODER 0
+#define CONFIG_PCM_U8_ENCODER 0
+#define CONFIG_PCM_U16BE_ENCODER 0
+#define CONFIG_PCM_U16LE_ENCODER 0
+#define CONFIG_PCM_U24BE_ENCODER 0
+#define CONFIG_PCM_U24LE_ENCODER 0
+#define CONFIG_PCM_U32BE_ENCODER 0
+#define CONFIG_PCM_U32LE_ENCODER 0
+#define CONFIG_PCM_VIDC_ENCODER 0
+#define CONFIG_ROQ_DPCM_ENCODER 0
+#define CONFIG_ADPCM_ADX_ENCODER 0
+#define CONFIG_ADPCM_ARGO_ENCODER 0
+#define CONFIG_ADPCM_G722_ENCODER 0
+#define CONFIG_ADPCM_G726_ENCODER 0
+#define CONFIG_ADPCM_G726LE_ENCODER 0
+#define CONFIG_ADPCM_IMA_AMV_ENCODER 0
+#define CONFIG_ADPCM_IMA_ALP_ENCODER 0
+#define CONFIG_ADPCM_IMA_APM_ENCODER 0
+#define CONFIG_ADPCM_IMA_QT_ENCODER 0
+#define CONFIG_ADPCM_IMA_SSI_ENCODER 0
+#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
+#define CONFIG_ADPCM_IMA_WS_ENCODER 0
+#define CONFIG_ADPCM_MS_ENCODER 0
+#define CONFIG_ADPCM_SWF_ENCODER 0
+#define CONFIG_ADPCM_YAMAHA_ENCODER 0
+#define CONFIG_SSA_ENCODER 0
+#define CONFIG_ASS_ENCODER 0
+#define CONFIG_DVBSUB_ENCODER 0
+#define CONFIG_DVDSUB_ENCODER 0
+#define CONFIG_MOVTEXT_ENCODER 0
+#define CONFIG_SRT_ENCODER 0
+#define CONFIG_SUBRIP_ENCODER 0
+#define CONFIG_TEXT_ENCODER 0
+#define CONFIG_TTML_ENCODER 0
+#define CONFIG_WEBVTT_ENCODER 0
+#define CONFIG_XSUB_ENCODER 0
+#define CONFIG_AAC_AT_ENCODER 0
+#define CONFIG_ALAC_AT_ENCODER 0
+#define CONFIG_ILBC_AT_ENCODER 0
+#define CONFIG_PCM_ALAW_AT_ENCODER 0
+#define CONFIG_PCM_MULAW_AT_ENCODER 0
+#define CONFIG_LIBAOM_AV1_ENCODER 0
+#define CONFIG_LIBCODEC2_ENCODER 0
+#define CONFIG_LIBFDK_AAC_ENCODER 0
+#define CONFIG_LIBGSM_ENCODER 0
+#define CONFIG_LIBGSM_MS_ENCODER 0
+#define CONFIG_LIBILBC_ENCODER 0
++#define CONFIG_LIBJXL_ENCODER 0
+#define CONFIG_LIBMP3LAME_ENCODER 0
+#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
+#define CONFIG_LIBOPENJPEG_ENCODER 0
+#define CONFIG_LIBOPUS_ENCODER 0
+#define CONFIG_LIBRAV1E_ENCODER 0
+#define CONFIG_LIBSHINE_ENCODER 0
+#define CONFIG_LIBSPEEX_ENCODER 0
+#define CONFIG_LIBSVTAV1_ENCODER 0
+#define CONFIG_LIBTHEORA_ENCODER 0
+#define CONFIG_LIBTWOLAME_ENCODER 0
+#define CONFIG_LIBVO_AMRWBENC_ENCODER 0
+#define CONFIG_LIBVORBIS_ENCODER 0
+#define CONFIG_LIBVPX_VP8_ENCODER 0
+#define CONFIG_LIBVPX_VP9_ENCODER 0
+#define CONFIG_LIBWEBP_ANIM_ENCODER 0
+#define CONFIG_LIBWEBP_ENCODER 0
+#define CONFIG_LIBX262_ENCODER 0
+#define CONFIG_LIBX264_ENCODER 0
+#define CONFIG_LIBX264RGB_ENCODER 0
+#define CONFIG_LIBX265_ENCODER 0
+#define CONFIG_LIBXAVS_ENCODER 0
+#define CONFIG_LIBXAVS2_ENCODER 0
+#define CONFIG_LIBXVID_ENCODER 0
+#define CONFIG_AAC_MF_ENCODER 0
+#define CONFIG_AC3_MF_ENCODER 0
+#define CONFIG_H263_V4L2M2M_ENCODER 0
++#define CONFIG_AV1_NVENC_ENCODER 0
++#define CONFIG_AV1_QSV_ENCODER 0
+#define CONFIG_LIBOPENH264_ENCODER 0
+#define CONFIG_H264_AMF_ENCODER 0
+#define CONFIG_H264_MF_ENCODER 0
+#define CONFIG_H264_NVENC_ENCODER 0
+#define CONFIG_H264_OMX_ENCODER 0
+#define CONFIG_H264_QSV_ENCODER 0
+#define CONFIG_H264_V4L2M2M_ENCODER 0
+#define CONFIG_H264_VAAPI_ENCODER 0
+#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_HEVC_AMF_ENCODER 0
++#define CONFIG_HEVC_MEDIACODEC_ENCODER 0
+#define CONFIG_HEVC_MF_ENCODER 0
+#define CONFIG_HEVC_NVENC_ENCODER 0
+#define CONFIG_HEVC_QSV_ENCODER 0
+#define CONFIG_HEVC_V4L2M2M_ENCODER 0
+#define CONFIG_HEVC_VAAPI_ENCODER 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_LIBKVAZAAR_ENCODER 0
+#define CONFIG_MJPEG_QSV_ENCODER 0
+#define CONFIG_MJPEG_VAAPI_ENCODER 0
+#define CONFIG_MP3_MF_ENCODER 0
+#define CONFIG_MPEG2_QSV_ENCODER 0
+#define CONFIG_MPEG2_VAAPI_ENCODER 0
+#define CONFIG_MPEG4_OMX_ENCODER 0
+#define CONFIG_MPEG4_V4L2M2M_ENCODER 0
+#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0
+#define CONFIG_VP8_V4L2M2M_ENCODER 0
+#define CONFIG_VP8_VAAPI_ENCODER 0
+#define CONFIG_VP9_VAAPI_ENCODER 0
+#define CONFIG_VP9_QSV_ENCODER 0
+#define CONFIG_AV1_D3D11VA_HWACCEL 0
+#define CONFIG_AV1_D3D11VA2_HWACCEL 0
+#define CONFIG_AV1_DXVA2_HWACCEL 0
+#define CONFIG_AV1_NVDEC_HWACCEL 0
+#define CONFIG_AV1_VAAPI_HWACCEL 0
++#define CONFIG_AV1_VDPAU_HWACCEL 0
+#define CONFIG_H263_VAAPI_HWACCEL 0
+#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_H264_D3D11VA_HWACCEL 0
+#define CONFIG_H264_D3D11VA2_HWACCEL 0
+#define CONFIG_H264_DXVA2_HWACCEL 0
+#define CONFIG_H264_NVDEC_HWACCEL 0
+#define CONFIG_H264_VAAPI_HWACCEL 0
+#define CONFIG_H264_VDPAU_HWACCEL 0
+#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_HEVC_D3D11VA_HWACCEL 0
+#define CONFIG_HEVC_D3D11VA2_HWACCEL 0
+#define CONFIG_HEVC_DXVA2_HWACCEL 0
+#define CONFIG_HEVC_NVDEC_HWACCEL 0
+#define CONFIG_HEVC_VAAPI_HWACCEL 0
+#define CONFIG_HEVC_VDPAU_HWACCEL 0
+#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MJPEG_NVDEC_HWACCEL 0
+#define CONFIG_MJPEG_VAAPI_HWACCEL 0
+#define CONFIG_MPEG1_NVDEC_HWACCEL 0
+#define CONFIG_MPEG1_VDPAU_HWACCEL 0
+#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MPEG2_D3D11VA_HWACCEL 0
+#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
+#define CONFIG_MPEG2_NVDEC_HWACCEL 0
+#define CONFIG_MPEG2_DXVA2_HWACCEL 0
+#define CONFIG_MPEG2_VAAPI_HWACCEL 0
+#define CONFIG_MPEG2_VDPAU_HWACCEL 0
+#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_MPEG4_NVDEC_HWACCEL 0
+#define CONFIG_MPEG4_VAAPI_HWACCEL 0
+#define CONFIG_MPEG4_VDPAU_HWACCEL 0
+#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_VC1_D3D11VA_HWACCEL 0
+#define CONFIG_VC1_D3D11VA2_HWACCEL 0
+#define CONFIG_VC1_DXVA2_HWACCEL 0
+#define CONFIG_VC1_NVDEC_HWACCEL 0
+#define CONFIG_VC1_VAAPI_HWACCEL 0
+#define CONFIG_VC1_VDPAU_HWACCEL 0
+#define CONFIG_VP8_NVDEC_HWACCEL 0
+#define CONFIG_VP8_VAAPI_HWACCEL 0
+#define CONFIG_VP9_D3D11VA_HWACCEL 0
+#define CONFIG_VP9_D3D11VA2_HWACCEL 0
+#define CONFIG_VP9_DXVA2_HWACCEL 0
+#define CONFIG_VP9_NVDEC_HWACCEL 0
+#define CONFIG_VP9_VAAPI_HWACCEL 0
+#define CONFIG_VP9_VDPAU_HWACCEL 0
+#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA_HWACCEL 0
+#define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+#define CONFIG_WMV3_DXVA2_HWACCEL 0
+#define CONFIG_WMV3_NVDEC_HWACCEL 0
+#define CONFIG_WMV3_VAAPI_HWACCEL 0
+#define CONFIG_WMV3_VDPAU_HWACCEL 0
+#define CONFIG_AAC_PARSER 1
+#define CONFIG_AAC_LATM_PARSER 0
+#define CONFIG_AC3_PARSER 0
+#define CONFIG_ADX_PARSER 0
+#define CONFIG_AMR_PARSER 0
+#define CONFIG_AV1_PARSER 0
+#define CONFIG_AVS2_PARSER 0
+#define CONFIG_AVS3_PARSER 0
+#define CONFIG_BMP_PARSER 0
+#define CONFIG_CAVSVIDEO_PARSER 0
+#define CONFIG_COOK_PARSER 0
+#define CONFIG_CRI_PARSER 0
+#define CONFIG_DCA_PARSER 0
+#define CONFIG_DIRAC_PARSER 0
+#define CONFIG_DNXHD_PARSER 0
+#define CONFIG_DOLBY_E_PARSER 0
+#define CONFIG_DPX_PARSER 0
+#define CONFIG_DVAUDIO_PARSER 0
+#define CONFIG_DVBSUB_PARSER 0
+#define CONFIG_DVDSUB_PARSER 0
+#define CONFIG_DVD_NAV_PARSER 0
+#define CONFIG_FLAC_PARSER 1
++#define CONFIG_FTR_PARSER 0
+#define CONFIG_G723_1_PARSER 0
+#define CONFIG_G729_PARSER 0
+#define CONFIG_GIF_PARSER 0
+#define CONFIG_GSM_PARSER 0
+#define CONFIG_H261_PARSER 0
+#define CONFIG_H263_PARSER 0
+#define CONFIG_H264_PARSER 1
+#define CONFIG_HEVC_PARSER 0
++#define CONFIG_HDR_PARSER 0
+#define CONFIG_IPU_PARSER 0
+#define CONFIG_JPEG2000_PARSER 0
++#define CONFIG_MISC4_PARSER 0
+#define CONFIG_MJPEG_PARSER 0
+#define CONFIG_MLP_PARSER 0
+#define CONFIG_MPEG4VIDEO_PARSER 0
+#define CONFIG_MPEGAUDIO_PARSER 1
+#define CONFIG_MPEGVIDEO_PARSER 0
+#define CONFIG_OPUS_PARSER 1
+#define CONFIG_PNG_PARSER 0
+#define CONFIG_PNM_PARSER 0
++#define CONFIG_QOI_PARSER 0
+#define CONFIG_RV30_PARSER 0
+#define CONFIG_RV40_PARSER 0
+#define CONFIG_SBC_PARSER 0
+#define CONFIG_SIPR_PARSER 0
+#define CONFIG_TAK_PARSER 0
+#define CONFIG_VC1_PARSER 0
+#define CONFIG_VORBIS_PARSER 1
+#define CONFIG_VP3_PARSER 1
+#define CONFIG_VP8_PARSER 1
+#define CONFIG_VP9_PARSER 1
+#define CONFIG_WEBP_PARSER 0
+#define CONFIG_XBM_PARSER 0
+#define CONFIG_XMA_PARSER 0
++#define CONFIG_XWD_PARSER 0
+#define CONFIG_ALSA_INDEV 0
+#define CONFIG_ANDROID_CAMERA_INDEV 0
+#define CONFIG_AVFOUNDATION_INDEV 0
+#define CONFIG_BKTR_INDEV 0
+#define CONFIG_DECKLINK_INDEV 0
+#define CONFIG_DSHOW_INDEV 0
+#define CONFIG_FBDEV_INDEV 0
+#define CONFIG_GDIGRAB_INDEV 0
+#define CONFIG_IEC61883_INDEV 0
+#define CONFIG_JACK_INDEV 0
+#define CONFIG_KMSGRAB_INDEV 0
+#define CONFIG_LAVFI_INDEV 0
+#define CONFIG_OPENAL_INDEV 0
+#define CONFIG_OSS_INDEV 0
+#define CONFIG_PULSE_INDEV 0
+#define CONFIG_SNDIO_INDEV 0
+#define CONFIG_V4L2_INDEV 0
+#define CONFIG_VFWCAP_INDEV 0
+#define CONFIG_XCBGRAB_INDEV 0
+#define CONFIG_LIBCDIO_INDEV 0
+#define CONFIG_LIBDC1394_INDEV 0
+#define CONFIG_ALSA_OUTDEV 0
+#define CONFIG_AUDIOTOOLBOX_OUTDEV 0
+#define CONFIG_CACA_OUTDEV 0
+#define CONFIG_DECKLINK_OUTDEV 0
+#define CONFIG_FBDEV_OUTDEV 0
+#define CONFIG_OPENGL_OUTDEV 0
+#define CONFIG_OSS_OUTDEV 0
+#define CONFIG_PULSE_OUTDEV 0
+#define CONFIG_SDL2_OUTDEV 0
+#define CONFIG_SNDIO_OUTDEV 0
+#define CONFIG_V4L2_OUTDEV 0
+#define CONFIG_XV_OUTDEV 0
+#define CONFIG_ABENCH_FILTER 0
+#define CONFIG_ACOMPRESSOR_FILTER 0
+#define CONFIG_ACONTRAST_FILTER 0
+#define CONFIG_ACOPY_FILTER 0
+#define CONFIG_ACUE_FILTER 0
+#define CONFIG_ACROSSFADE_FILTER 0
+#define CONFIG_ACROSSOVER_FILTER 0
+#define CONFIG_ACRUSHER_FILTER 0
+#define CONFIG_ADECLICK_FILTER 0
+#define CONFIG_ADECLIP_FILTER 0
+#define CONFIG_ADECORRELATE_FILTER 0
+#define CONFIG_ADELAY_FILTER 0
+#define CONFIG_ADENORM_FILTER 0
+#define CONFIG_ADERIVATIVE_FILTER 0
+#define CONFIG_ADYNAMICEQUALIZER_FILTER 0
+#define CONFIG_ADYNAMICSMOOTH_FILTER 0
+#define CONFIG_AECHO_FILTER 0
+#define CONFIG_AEMPHASIS_FILTER 0
+#define CONFIG_AEVAL_FILTER 0
+#define CONFIG_AEXCITER_FILTER 0
+#define CONFIG_AFADE_FILTER 0
+#define CONFIG_AFFTDN_FILTER 0
+#define CONFIG_AFFTFILT_FILTER 0
+#define CONFIG_AFIR_FILTER 0
+#define CONFIG_AFORMAT_FILTER 0
+#define CONFIG_AFREQSHIFT_FILTER 0
+#define CONFIG_AFWTDN_FILTER 0
+#define CONFIG_AGATE_FILTER 0
+#define CONFIG_AIIR_FILTER 0
+#define CONFIG_AINTEGRAL_FILTER 0
+#define CONFIG_AINTERLEAVE_FILTER 0
+#define CONFIG_ALATENCY_FILTER 0
+#define CONFIG_ALIMITER_FILTER 0
+#define CONFIG_ALLPASS_FILTER 0
+#define CONFIG_ALOOP_FILTER 0
+#define CONFIG_AMERGE_FILTER 0
+#define CONFIG_AMETADATA_FILTER 0
+#define CONFIG_AMIX_FILTER 0
+#define CONFIG_AMULTIPLY_FILTER 0
+#define CONFIG_ANEQUALIZER_FILTER 0
+#define CONFIG_ANLMDN_FILTER 0
+#define CONFIG_ANLMF_FILTER 0
+#define CONFIG_ANLMS_FILTER 0
+#define CONFIG_ANULL_FILTER 0
+#define CONFIG_APAD_FILTER 0
+#define CONFIG_APERMS_FILTER 0
+#define CONFIG_APHASER_FILTER 0
+#define CONFIG_APHASESHIFT_FILTER 0
+#define CONFIG_APSYCLIP_FILTER 0
+#define CONFIG_APULSATOR_FILTER 0
+#define CONFIG_AREALTIME_FILTER 0
+#define CONFIG_ARESAMPLE_FILTER 0
+#define CONFIG_AREVERSE_FILTER 0
+#define CONFIG_ARNNDN_FILTER 0
+#define CONFIG_ASDR_FILTER 0
+#define CONFIG_ASEGMENT_FILTER 0
+#define CONFIG_ASELECT_FILTER 0
+#define CONFIG_ASENDCMD_FILTER 0
+#define CONFIG_ASETNSAMPLES_FILTER 0
+#define CONFIG_ASETPTS_FILTER 0
+#define CONFIG_ASETRATE_FILTER 0
+#define CONFIG_ASETTB_FILTER 0
+#define CONFIG_ASHOWINFO_FILTER 0
+#define CONFIG_ASIDEDATA_FILTER 0
+#define CONFIG_ASOFTCLIP_FILTER 0
+#define CONFIG_ASPECTRALSTATS_FILTER 0
+#define CONFIG_ASPLIT_FILTER 0
+#define CONFIG_ASR_FILTER 0
+#define CONFIG_ASTATS_FILTER 0
+#define CONFIG_ASTREAMSELECT_FILTER 0
+#define CONFIG_ASUBBOOST_FILTER 0
+#define CONFIG_ASUBCUT_FILTER 0
+#define CONFIG_ASUPERCUT_FILTER 0
+#define CONFIG_ASUPERPASS_FILTER 0
+#define CONFIG_ASUPERSTOP_FILTER 0
+#define CONFIG_ATEMPO_FILTER 0
+#define CONFIG_ATILT_FILTER 0
+#define CONFIG_ATRIM_FILTER 0
+#define CONFIG_AXCORRELATE_FILTER 0
+#define CONFIG_AZMQ_FILTER 0
+#define CONFIG_BANDPASS_FILTER 0
+#define CONFIG_BANDREJECT_FILTER 0
+#define CONFIG_BASS_FILTER 0
+#define CONFIG_BIQUAD_FILTER 0
+#define CONFIG_BS2B_FILTER 0
+#define CONFIG_CHANNELMAP_FILTER 0
+#define CONFIG_CHANNELSPLIT_FILTER 0
+#define CONFIG_CHORUS_FILTER 0
+#define CONFIG_COMPAND_FILTER 0
+#define CONFIG_COMPENSATIONDELAY_FILTER 0
+#define CONFIG_CROSSFEED_FILTER 0
+#define CONFIG_CRYSTALIZER_FILTER 0
+#define CONFIG_DCSHIFT_FILTER 0
+#define CONFIG_DEESSER_FILTER 0
+#define CONFIG_DIALOGUENHANCE_FILTER 0
+#define CONFIG_DRMETER_FILTER 0
+#define CONFIG_DYNAUDNORM_FILTER 0
+#define CONFIG_EARWAX_FILTER 0
+#define CONFIG_EBUR128_FILTER 0
+#define CONFIG_EQUALIZER_FILTER 0
+#define CONFIG_EXTRASTEREO_FILTER 0
+#define CONFIG_FIREQUALIZER_FILTER 0
+#define CONFIG_FLANGER_FILTER 0
+#define CONFIG_HAAS_FILTER 0
+#define CONFIG_HDCD_FILTER 0
+#define CONFIG_HEADPHONE_FILTER 0
+#define CONFIG_HIGHPASS_FILTER 0
+#define CONFIG_HIGHSHELF_FILTER 0
+#define CONFIG_JOIN_FILTER 0
+#define CONFIG_LADSPA_FILTER 0
+#define CONFIG_LOUDNORM_FILTER 0
+#define CONFIG_LOWPASS_FILTER 0
+#define CONFIG_LOWSHELF_FILTER 0
+#define CONFIG_LV2_FILTER 0
+#define CONFIG_MCOMPAND_FILTER 0
+#define CONFIG_PAN_FILTER 0
+#define CONFIG_REPLAYGAIN_FILTER 0
+#define CONFIG_RUBBERBAND_FILTER 0
+#define CONFIG_SIDECHAINCOMPRESS_FILTER 0
+#define CONFIG_SIDECHAINGATE_FILTER 0
+#define CONFIG_SILENCEDETECT_FILTER 0
+#define CONFIG_SILENCEREMOVE_FILTER 0
+#define CONFIG_SOFALIZER_FILTER 0
+#define CONFIG_SPEECHNORM_FILTER 0
+#define CONFIG_STEREOTOOLS_FILTER 0
+#define CONFIG_STEREOWIDEN_FILTER 0
+#define CONFIG_SUPEREQUALIZER_FILTER 0
+#define CONFIG_SURROUND_FILTER 0
++#define CONFIG_TILTSHELF_FILTER 0
+#define CONFIG_TREBLE_FILTER 0
+#define CONFIG_TREMOLO_FILTER 0
+#define CONFIG_VIBRATO_FILTER 0
++#define CONFIG_VIRTUALBASS_FILTER 0
+#define CONFIG_VOLUME_FILTER 0
+#define CONFIG_VOLUMEDETECT_FILTER 0
+#define CONFIG_AEVALSRC_FILTER 0
+#define CONFIG_AFIRSRC_FILTER 0
+#define CONFIG_ANOISESRC_FILTER 0
+#define CONFIG_ANULLSRC_FILTER 0
+#define CONFIG_FLITE_FILTER 0
+#define CONFIG_HILBERT_FILTER 0
+#define CONFIG_SINC_FILTER 0
+#define CONFIG_SINE_FILTER 0
+#define CONFIG_ANULLSINK_FILTER 0
+#define CONFIG_ADDROI_FILTER 0
+#define CONFIG_ALPHAEXTRACT_FILTER 0
+#define CONFIG_ALPHAMERGE_FILTER 0
+#define CONFIG_AMPLIFY_FILTER 0
+#define CONFIG_ASS_FILTER 0
+#define CONFIG_ATADENOISE_FILTER 0
+#define CONFIG_AVGBLUR_FILTER 0
+#define CONFIG_AVGBLUR_OPENCL_FILTER 0
+#define CONFIG_AVGBLUR_VULKAN_FILTER 0
++#define CONFIG_BACKGROUNDKEY_FILTER 0
+#define CONFIG_BBOX_FILTER 0
+#define CONFIG_BENCH_FILTER 0
+#define CONFIG_BILATERAL_FILTER 0
++#define CONFIG_BILATERAL_CUDA_FILTER 0
+#define CONFIG_BITPLANENOISE_FILTER 0
+#define CONFIG_BLACKDETECT_FILTER 0
+#define CONFIG_BLACKFRAME_FILTER 0
+#define CONFIG_BLEND_FILTER 0
+#define CONFIG_BLEND_VULKAN_FILTER 0
++#define CONFIG_BLOCKDETECT_FILTER 0
++#define CONFIG_BLURDETECT_FILTER 0
+#define CONFIG_BM3D_FILTER 0
+#define CONFIG_BOXBLUR_FILTER 0
+#define CONFIG_BOXBLUR_OPENCL_FILTER 0
+#define CONFIG_BWDIF_FILTER 0
+#define CONFIG_CAS_FILTER 0
+#define CONFIG_CHROMABER_VULKAN_FILTER 0
+#define CONFIG_CHROMAHOLD_FILTER 0
+#define CONFIG_CHROMAKEY_FILTER 0
++#define CONFIG_CHROMAKEY_CUDA_FILTER 0
+#define CONFIG_CHROMANR_FILTER 0
+#define CONFIG_CHROMASHIFT_FILTER 0
+#define CONFIG_CIESCOPE_FILTER 0
+#define CONFIG_CODECVIEW_FILTER 0
+#define CONFIG_COLORBALANCE_FILTER 0
+#define CONFIG_COLORCHANNELMIXER_FILTER 0
+#define CONFIG_COLORCONTRAST_FILTER 0
+#define CONFIG_COLORCORRECT_FILTER 0
+#define CONFIG_COLORIZE_FILTER 0
+#define CONFIG_COLORKEY_FILTER 0
+#define CONFIG_COLORKEY_OPENCL_FILTER 0
+#define CONFIG_COLORHOLD_FILTER 0
+#define CONFIG_COLORLEVELS_FILTER 0
++#define CONFIG_COLORMAP_FILTER 0
+#define CONFIG_COLORMATRIX_FILTER 0
+#define CONFIG_COLORSPACE_FILTER 0
++#define CONFIG_COLORSPACE_CUDA_FILTER 0
+#define CONFIG_COLORTEMPERATURE_FILTER 0
+#define CONFIG_CONVOLUTION_FILTER 0
+#define CONFIG_CONVOLUTION_OPENCL_FILTER 0
+#define CONFIG_CONVOLVE_FILTER 0
+#define CONFIG_COPY_FILTER 0
+#define CONFIG_COREIMAGE_FILTER 0
+#define CONFIG_COVER_RECT_FILTER 0
+#define CONFIG_CROP_FILTER 0
+#define CONFIG_CROPDETECT_FILTER 0
+#define CONFIG_CUE_FILTER 0
+#define CONFIG_CURVES_FILTER 0
+#define CONFIG_DATASCOPE_FILTER 0
+#define CONFIG_DBLUR_FILTER 0
+#define CONFIG_DCTDNOIZ_FILTER 0
+#define CONFIG_DEBAND_FILTER 0
+#define CONFIG_DEBLOCK_FILTER 0
+#define CONFIG_DECIMATE_FILTER 0
+#define CONFIG_DECONVOLVE_FILTER 0
+#define CONFIG_DEDOT_FILTER 0
+#define CONFIG_DEFLATE_FILTER 0
+#define CONFIG_DEFLICKER_FILTER 0
+#define CONFIG_DEINTERLACE_QSV_FILTER 0
+#define CONFIG_DEINTERLACE_VAAPI_FILTER 0
+#define CONFIG_DEJUDDER_FILTER 0
+#define CONFIG_DELOGO_FILTER 0
+#define CONFIG_DENOISE_VAAPI_FILTER 0
+#define CONFIG_DERAIN_FILTER 0
+#define CONFIG_DESHAKE_FILTER 0
+#define CONFIG_DESHAKE_OPENCL_FILTER 0
+#define CONFIG_DESPILL_FILTER 0
+#define CONFIG_DETELECINE_FILTER 0
+#define CONFIG_DILATION_FILTER 0
+#define CONFIG_DILATION_OPENCL_FILTER 0
+#define CONFIG_DISPLACE_FILTER 0
+#define CONFIG_DNN_CLASSIFY_FILTER 0
+#define CONFIG_DNN_DETECT_FILTER 0
+#define CONFIG_DNN_PROCESSING_FILTER 0
+#define CONFIG_DOUBLEWEAVE_FILTER 0
+#define CONFIG_DRAWBOX_FILTER 0
+#define CONFIG_DRAWGRAPH_FILTER 0
+#define CONFIG_DRAWGRID_FILTER 0
+#define CONFIG_DRAWTEXT_FILTER 0
+#define CONFIG_EDGEDETECT_FILTER 0
+#define CONFIG_ELBG_FILTER 0
+#define CONFIG_ENTROPY_FILTER 0
+#define CONFIG_EPX_FILTER 0
+#define CONFIG_EQ_FILTER 0
+#define CONFIG_EROSION_FILTER 0
+#define CONFIG_EROSION_OPENCL_FILTER 0
+#define CONFIG_ESTDIF_FILTER 0
+#define CONFIG_EXPOSURE_FILTER 0
+#define CONFIG_EXTRACTPLANES_FILTER 0
+#define CONFIG_FADE_FILTER 0
++#define CONFIG_FEEDBACK_FILTER 0
+#define CONFIG_FFTDNOIZ_FILTER 0
+#define CONFIG_FFTFILT_FILTER 0
+#define CONFIG_FIELD_FILTER 0
+#define CONFIG_FIELDHINT_FILTER 0
+#define CONFIG_FIELDMATCH_FILTER 0
+#define CONFIG_FIELDORDER_FILTER 0
+#define CONFIG_FILLBORDERS_FILTER 0
+#define CONFIG_FIND_RECT_FILTER 0
+#define CONFIG_FLIP_VULKAN_FILTER 0
+#define CONFIG_FLOODFILL_FILTER 0
+#define CONFIG_FORMAT_FILTER 0
+#define CONFIG_FPS_FILTER 0
+#define CONFIG_FRAMEPACK_FILTER 0
+#define CONFIG_FRAMERATE_FILTER 0
+#define CONFIG_FRAMESTEP_FILTER 0
+#define CONFIG_FREEZEDETECT_FILTER 0
+#define CONFIG_FREEZEFRAMES_FILTER 0
+#define CONFIG_FREI0R_FILTER 0
+#define CONFIG_FSPP_FILTER 0
+#define CONFIG_GBLUR_FILTER 0
+#define CONFIG_GBLUR_VULKAN_FILTER 0
+#define CONFIG_GEQ_FILTER 0
+#define CONFIG_GRADFUN_FILTER 0
+#define CONFIG_GRAPHMONITOR_FILTER 0
+#define CONFIG_GRAYWORLD_FILTER 0
+#define CONFIG_GREYEDGE_FILTER 0
+#define CONFIG_GUIDED_FILTER 0
+#define CONFIG_HALDCLUT_FILTER 0
+#define CONFIG_HFLIP_FILTER 0
+#define CONFIG_HFLIP_VULKAN_FILTER 0
+#define CONFIG_HISTEQ_FILTER 0
+#define CONFIG_HISTOGRAM_FILTER 0
+#define CONFIG_HQDN3D_FILTER 0
+#define CONFIG_HQX_FILTER 0
+#define CONFIG_HSTACK_FILTER 0
+#define CONFIG_HSVHOLD_FILTER 0
+#define CONFIG_HSVKEY_FILTER 0
+#define CONFIG_HUE_FILTER 0
+#define CONFIG_HUESATURATION_FILTER 0
+#define CONFIG_HWDOWNLOAD_FILTER 0
+#define CONFIG_HWMAP_FILTER 0
+#define CONFIG_HWUPLOAD_FILTER 0
+#define CONFIG_HWUPLOAD_CUDA_FILTER 0
+#define CONFIG_HYSTERESIS_FILTER 0
++#define CONFIG_ICCDETECT_FILTER 0
++#define CONFIG_ICCGEN_FILTER 0
+#define CONFIG_IDENTITY_FILTER 0
+#define CONFIG_IDET_FILTER 0
+#define CONFIG_IL_FILTER 0
+#define CONFIG_INFLATE_FILTER 0
+#define CONFIG_INTERLACE_FILTER 0
+#define CONFIG_INTERLEAVE_FILTER 0
+#define CONFIG_KERNDEINT_FILTER 0
+#define CONFIG_KIRSCH_FILTER 0
+#define CONFIG_LAGFUN_FILTER 0
+#define CONFIG_LATENCY_FILTER 0
+#define CONFIG_LENSCORRECTION_FILTER 0
+#define CONFIG_LENSFUN_FILTER 0
+#define CONFIG_LIBPLACEBO_FILTER 0
+#define CONFIG_LIBVMAF_FILTER 0
+#define CONFIG_LIMITDIFF_FILTER 0
+#define CONFIG_LIMITER_FILTER 0
+#define CONFIG_LOOP_FILTER 0
+#define CONFIG_LUMAKEY_FILTER 0
+#define CONFIG_LUT_FILTER 0
+#define CONFIG_LUT1D_FILTER 0
+#define CONFIG_LUT2_FILTER 0
+#define CONFIG_LUT3D_FILTER 0
+#define CONFIG_LUTRGB_FILTER 0
+#define CONFIG_LUTYUV_FILTER 0
+#define CONFIG_MASKEDCLAMP_FILTER 0
+#define CONFIG_MASKEDMAX_FILTER 0
+#define CONFIG_MASKEDMERGE_FILTER 0
+#define CONFIG_MASKEDMIN_FILTER 0
+#define CONFIG_MASKEDTHRESHOLD_FILTER 0
+#define CONFIG_MASKFUN_FILTER 0
+#define CONFIG_MCDEINT_FILTER 0
+#define CONFIG_MEDIAN_FILTER 0
+#define CONFIG_MERGEPLANES_FILTER 0
+#define CONFIG_MESTIMATE_FILTER 0
+#define CONFIG_METADATA_FILTER 0
+#define CONFIG_MIDEQUALIZER_FILTER 0
+#define CONFIG_MINTERPOLATE_FILTER 0
+#define CONFIG_MIX_FILTER 0
+#define CONFIG_MONOCHROME_FILTER 0
+#define CONFIG_MORPHO_FILTER 0
+#define CONFIG_MPDECIMATE_FILTER 0
+#define CONFIG_MSAD_FILTER 0
++#define CONFIG_MULTIPLY_FILTER 0
+#define CONFIG_NEGATE_FILTER 0
+#define CONFIG_NLMEANS_FILTER 0
+#define CONFIG_NLMEANS_OPENCL_FILTER 0
+#define CONFIG_NNEDI_FILTER 0
+#define CONFIG_NOFORMAT_FILTER 0
+#define CONFIG_NOISE_FILTER 0
+#define CONFIG_NORMALIZE_FILTER 0
+#define CONFIG_NULL_FILTER 0
+#define CONFIG_OCR_FILTER 0
+#define CONFIG_OCV_FILTER 0
+#define CONFIG_OSCILLOSCOPE_FILTER 0
+#define CONFIG_OVERLAY_FILTER 0
+#define CONFIG_OVERLAY_OPENCL_FILTER 0
+#define CONFIG_OVERLAY_QSV_FILTER 0
+#define CONFIG_OVERLAY_VAAPI_FILTER 0
+#define CONFIG_OVERLAY_VULKAN_FILTER 0
+#define CONFIG_OVERLAY_CUDA_FILTER 0
+#define CONFIG_OWDENOISE_FILTER 0
+#define CONFIG_PAD_FILTER 0
+#define CONFIG_PAD_OPENCL_FILTER 0
+#define CONFIG_PALETTEGEN_FILTER 0
+#define CONFIG_PALETTEUSE_FILTER 0
+#define CONFIG_PERMS_FILTER 0
+#define CONFIG_PERSPECTIVE_FILTER 0
+#define CONFIG_PHASE_FILTER 0
+#define CONFIG_PHOTOSENSITIVITY_FILTER 0
+#define CONFIG_PIXDESCTEST_FILTER 0
++#define CONFIG_PIXELIZE_FILTER 0
+#define CONFIG_PIXSCOPE_FILTER 0
+#define CONFIG_PP_FILTER 0
+#define CONFIG_PP7_FILTER 0
+#define CONFIG_PREMULTIPLY_FILTER 0
+#define CONFIG_PREWITT_FILTER 0
+#define CONFIG_PREWITT_OPENCL_FILTER 0
+#define CONFIG_PROCAMP_VAAPI_FILTER 0
+#define CONFIG_PROGRAM_OPENCL_FILTER 0
+#define CONFIG_PSEUDOCOLOR_FILTER 0
+#define CONFIG_PSNR_FILTER 0
+#define CONFIG_PULLUP_FILTER 0
+#define CONFIG_QP_FILTER 0
+#define CONFIG_RANDOM_FILTER 0
+#define CONFIG_READEIA608_FILTER 0
+#define CONFIG_READVITC_FILTER 0
+#define CONFIG_REALTIME_FILTER 0
+#define CONFIG_REMAP_FILTER 0
++#define CONFIG_REMAP_OPENCL_FILTER 0
+#define CONFIG_REMOVEGRAIN_FILTER 0
+#define CONFIG_REMOVELOGO_FILTER 0
+#define CONFIG_REPEATFIELDS_FILTER 0
+#define CONFIG_REVERSE_FILTER 0
+#define CONFIG_RGBASHIFT_FILTER 0
+#define CONFIG_ROBERTS_FILTER 0
+#define CONFIG_ROBERTS_OPENCL_FILTER 0
+#define CONFIG_ROTATE_FILTER 0
+#define CONFIG_SAB_FILTER 0
+#define CONFIG_SCALE_FILTER 0
+#define CONFIG_SCALE_CUDA_FILTER 0
+#define CONFIG_SCALE_NPP_FILTER 0
+#define CONFIG_SCALE_QSV_FILTER 0
+#define CONFIG_SCALE_VAAPI_FILTER 0
+#define CONFIG_SCALE_VULKAN_FILTER 0
+#define CONFIG_SCALE2REF_FILTER 0
+#define CONFIG_SCALE2REF_NPP_FILTER 0
+#define CONFIG_SCDET_FILTER 0
+#define CONFIG_SCHARR_FILTER 0
+#define CONFIG_SCROLL_FILTER 0
+#define CONFIG_SEGMENT_FILTER 0
+#define CONFIG_SELECT_FILTER 0
+#define CONFIG_SELECTIVECOLOR_FILTER 0
+#define CONFIG_SENDCMD_FILTER 0
+#define CONFIG_SEPARATEFIELDS_FILTER 0
+#define CONFIG_SETDAR_FILTER 0
+#define CONFIG_SETFIELD_FILTER 0
+#define CONFIG_SETPARAMS_FILTER 0
+#define CONFIG_SETPTS_FILTER 0
+#define CONFIG_SETRANGE_FILTER 0
+#define CONFIG_SETSAR_FILTER 0
+#define CONFIG_SETTB_FILTER 0
+#define CONFIG_SHARPEN_NPP_FILTER 0
+#define CONFIG_SHARPNESS_VAAPI_FILTER 0
+#define CONFIG_SHEAR_FILTER 0
+#define CONFIG_SHOWINFO_FILTER 0
+#define CONFIG_SHOWPALETTE_FILTER 0
+#define CONFIG_SHUFFLEFRAMES_FILTER 0
+#define CONFIG_SHUFFLEPIXELS_FILTER 0
+#define CONFIG_SHUFFLEPLANES_FILTER 0
+#define CONFIG_SIDEDATA_FILTER 0
+#define CONFIG_SIGNALSTATS_FILTER 0
+#define CONFIG_SIGNATURE_FILTER 0
++#define CONFIG_SITI_FILTER 0
+#define CONFIG_SMARTBLUR_FILTER 0
+#define CONFIG_SOBEL_FILTER 0
+#define CONFIG_SOBEL_OPENCL_FILTER 0
+#define CONFIG_SPLIT_FILTER 0
+#define CONFIG_SPP_FILTER 0
+#define CONFIG_SR_FILTER 0
+#define CONFIG_SSIM_FILTER 0
+#define CONFIG_STEREO3D_FILTER 0
+#define CONFIG_STREAMSELECT_FILTER 0
+#define CONFIG_SUBTITLES_FILTER 0
+#define CONFIG_SUPER2XSAI_FILTER 0
+#define CONFIG_SWAPRECT_FILTER 0
+#define CONFIG_SWAPUV_FILTER 0
+#define CONFIG_TBLEND_FILTER 0
+#define CONFIG_TELECINE_FILTER 0
+#define CONFIG_THISTOGRAM_FILTER 0
+#define CONFIG_THRESHOLD_FILTER 0
+#define CONFIG_THUMBNAIL_FILTER 0
+#define CONFIG_THUMBNAIL_CUDA_FILTER 0
+#define CONFIG_TILE_FILTER 0
+#define CONFIG_TINTERLACE_FILTER 0
+#define CONFIG_TLUT2_FILTER 0
+#define CONFIG_TMEDIAN_FILTER 0
+#define CONFIG_TMIDEQUALIZER_FILTER 0
+#define CONFIG_TMIX_FILTER 0
+#define CONFIG_TONEMAP_FILTER 0
+#define CONFIG_TONEMAP_OPENCL_FILTER 0
+#define CONFIG_TONEMAP_VAAPI_FILTER 0
+#define CONFIG_TPAD_FILTER 0
+#define CONFIG_TRANSPOSE_FILTER 0
+#define CONFIG_TRANSPOSE_NPP_FILTER 0
+#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
+#define CONFIG_TRANSPOSE_VULKAN_FILTER 0
+#define CONFIG_TRIM_FILTER 0
+#define CONFIG_UNPREMULTIPLY_FILTER 0
+#define CONFIG_UNSHARP_FILTER 0
+#define CONFIG_UNSHARP_OPENCL_FILTER 0
+#define CONFIG_UNTILE_FILTER 0
+#define CONFIG_USPP_FILTER 0
+#define CONFIG_V360_FILTER 0
+#define CONFIG_VAGUEDENOISER_FILTER 0
+#define CONFIG_VARBLUR_FILTER 0
+#define CONFIG_VECTORSCOPE_FILTER 0
+#define CONFIG_VFLIP_FILTER 0
+#define CONFIG_VFLIP_VULKAN_FILTER 0
+#define CONFIG_VFRDET_FILTER 0
+#define CONFIG_VIBRANCE_FILTER 0
+#define CONFIG_VIDSTABDETECT_FILTER 0
+#define CONFIG_VIDSTABTRANSFORM_FILTER 0
+#define CONFIG_VIF_FILTER 0
+#define CONFIG_VIGNETTE_FILTER 0
+#define CONFIG_VMAFMOTION_FILTER 0
+#define CONFIG_VPP_QSV_FILTER 0
+#define CONFIG_VSTACK_FILTER 0
+#define CONFIG_W3FDIF_FILTER 0
+#define CONFIG_WAVEFORM_FILTER 0
+#define CONFIG_WEAVE_FILTER 0
+#define CONFIG_XBR_FILTER 0
+#define CONFIG_XCORRELATE_FILTER 0
+#define CONFIG_XFADE_FILTER 0
+#define CONFIG_XFADE_OPENCL_FILTER 0
+#define CONFIG_XMEDIAN_FILTER 0
+#define CONFIG_XSTACK_FILTER 0
+#define CONFIG_YADIF_FILTER 0
+#define CONFIG_YADIF_CUDA_FILTER 0
+#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0
+#define CONFIG_YAEPBLUR_FILTER 0
+#define CONFIG_ZMQ_FILTER 0
+#define CONFIG_ZOOMPAN_FILTER 0
+#define CONFIG_ZSCALE_FILTER 0
+#define CONFIG_ALLRGB_FILTER 0
+#define CONFIG_ALLYUV_FILTER 0
+#define CONFIG_CELLAUTO_FILTER 0
+#define CONFIG_COLOR_FILTER 0
++#define CONFIG_COLORCHART_FILTER 0
+#define CONFIG_COLORSPECTRUM_FILTER 0
+#define CONFIG_COREIMAGESRC_FILTER 0
++#define CONFIG_DDAGRAB_FILTER 0
+#define CONFIG_FREI0R_SRC_FILTER 0
+#define CONFIG_GRADIENTS_FILTER 0
+#define CONFIG_HALDCLUTSRC_FILTER 0
+#define CONFIG_LIFE_FILTER 0
+#define CONFIG_MANDELBROT_FILTER 0
+#define CONFIG_MPTESTSRC_FILTER 0
+#define CONFIG_NULLSRC_FILTER 0
+#define CONFIG_OPENCLSRC_FILTER 0
+#define CONFIG_PAL75BARS_FILTER 0
+#define CONFIG_PAL100BARS_FILTER 0
+#define CONFIG_RGBTESTSRC_FILTER 0
+#define CONFIG_SIERPINSKI_FILTER 0
+#define CONFIG_SMPTEBARS_FILTER 0
+#define CONFIG_SMPTEHDBARS_FILTER 0
+#define CONFIG_TESTSRC_FILTER 0
+#define CONFIG_TESTSRC2_FILTER 0
+#define CONFIG_YUVTESTSRC_FILTER 0
+#define CONFIG_NULLSINK_FILTER 0
++#define CONFIG_A3DSCOPE_FILTER 0
+#define CONFIG_ABITSCOPE_FILTER 0
+#define CONFIG_ADRAWGRAPH_FILTER 0
+#define CONFIG_AGRAPHMONITOR_FILTER 0
+#define CONFIG_AHISTOGRAM_FILTER 0
+#define CONFIG_APHASEMETER_FILTER 0
+#define CONFIG_AVECTORSCOPE_FILTER 0
+#define CONFIG_CONCAT_FILTER 0
+#define CONFIG_SHOWCQT_FILTER 0
+#define CONFIG_SHOWFREQS_FILTER 0
+#define CONFIG_SHOWSPATIAL_FILTER 0
+#define CONFIG_SHOWSPECTRUM_FILTER 0
+#define CONFIG_SHOWSPECTRUMPIC_FILTER 0
+#define CONFIG_SHOWVOLUME_FILTER 0
+#define CONFIG_SHOWWAVES_FILTER 0
+#define CONFIG_SHOWWAVESPIC_FILTER 0
+#define CONFIG_SPECTRUMSYNTH_FILTER 0
++#define CONFIG_AVSYNCTEST_FILTER 0
+#define CONFIG_AMOVIE_FILTER 0
+#define CONFIG_MOVIE_FILTER 0
+#define CONFIG_AFIFO_FILTER 0
+#define CONFIG_FIFO_FILTER 0
+#define CONFIG_AA_DEMUXER 0
+#define CONFIG_AAC_DEMUXER 1
+#define CONFIG_AAX_DEMUXER 0
+#define CONFIG_AC3_DEMUXER 0
+#define CONFIG_ACE_DEMUXER 0
+#define CONFIG_ACM_DEMUXER 0
+#define CONFIG_ACT_DEMUXER 0
+#define CONFIG_ADF_DEMUXER 0
+#define CONFIG_ADP_DEMUXER 0
+#define CONFIG_ADS_DEMUXER 0
+#define CONFIG_ADX_DEMUXER 0
+#define CONFIG_AEA_DEMUXER 0
+#define CONFIG_AFC_DEMUXER 0
+#define CONFIG_AIFF_DEMUXER 0
+#define CONFIG_AIX_DEMUXER 0
+#define CONFIG_ALP_DEMUXER 0
+#define CONFIG_AMR_DEMUXER 0
+#define CONFIG_AMRNB_DEMUXER 0
+#define CONFIG_AMRWB_DEMUXER 0
+#define CONFIG_ANM_DEMUXER 0
++#define CONFIG_APAC_DEMUXER 0
+#define CONFIG_APC_DEMUXER 0
+#define CONFIG_APE_DEMUXER 0
+#define CONFIG_APM_DEMUXER 0
+#define CONFIG_APNG_DEMUXER 0
+#define CONFIG_APTX_DEMUXER 0
+#define CONFIG_APTX_HD_DEMUXER 0
+#define CONFIG_AQTITLE_DEMUXER 0
+#define CONFIG_ARGO_ASF_DEMUXER 0
+#define CONFIG_ARGO_BRP_DEMUXER 0
+#define CONFIG_ARGO_CVG_DEMUXER 0
+#define CONFIG_ASF_DEMUXER 0
+#define CONFIG_ASF_O_DEMUXER 0
+#define CONFIG_ASS_DEMUXER 0
+#define CONFIG_AST_DEMUXER 0
+#define CONFIG_AU_DEMUXER 0
+#define CONFIG_AV1_DEMUXER 0
+#define CONFIG_AVI_DEMUXER 0
+#define CONFIG_AVISYNTH_DEMUXER 0
+#define CONFIG_AVR_DEMUXER 0
+#define CONFIG_AVS_DEMUXER 0
+#define CONFIG_AVS2_DEMUXER 0
+#define CONFIG_AVS3_DEMUXER 0
+#define CONFIG_BETHSOFTVID_DEMUXER 0
+#define CONFIG_BFI_DEMUXER 0
+#define CONFIG_BINTEXT_DEMUXER 0
+#define CONFIG_BINK_DEMUXER 0
+#define CONFIG_BINKA_DEMUXER 0
+#define CONFIG_BIT_DEMUXER 0
+#define CONFIG_BITPACKED_DEMUXER 0
+#define CONFIG_BMV_DEMUXER 0
+#define CONFIG_BFSTM_DEMUXER 0
+#define CONFIG_BRSTM_DEMUXER 0
+#define CONFIG_BOA_DEMUXER 0
++#define CONFIG_BONK_DEMUXER 0
+#define CONFIG_C93_DEMUXER 0
+#define CONFIG_CAF_DEMUXER 0
+#define CONFIG_CAVSVIDEO_DEMUXER 0
+#define CONFIG_CDG_DEMUXER 0
+#define CONFIG_CDXL_DEMUXER 0
+#define CONFIG_CINE_DEMUXER 0
+#define CONFIG_CODEC2_DEMUXER 0
+#define CONFIG_CODEC2RAW_DEMUXER 0
+#define CONFIG_CONCAT_DEMUXER 0
+#define CONFIG_DASH_DEMUXER 0
+#define CONFIG_DATA_DEMUXER 0
+#define CONFIG_DAUD_DEMUXER 0
+#define CONFIG_DCSTR_DEMUXER 0
+#define CONFIG_DERF_DEMUXER 0
+#define CONFIG_DFA_DEMUXER 0
+#define CONFIG_DFPWM_DEMUXER 0
+#define CONFIG_DHAV_DEMUXER 0
+#define CONFIG_DIRAC_DEMUXER 0
+#define CONFIG_DNXHD_DEMUXER 0
+#define CONFIG_DSF_DEMUXER 0
+#define CONFIG_DSICIN_DEMUXER 0
+#define CONFIG_DSS_DEMUXER 0
+#define CONFIG_DTS_DEMUXER 0
+#define CONFIG_DTSHD_DEMUXER 0
+#define CONFIG_DV_DEMUXER 0
+#define CONFIG_DVBSUB_DEMUXER 0
+#define CONFIG_DVBTXT_DEMUXER 0
+#define CONFIG_DXA_DEMUXER 0
+#define CONFIG_EA_DEMUXER 0
+#define CONFIG_EA_CDATA_DEMUXER 0
+#define CONFIG_EAC3_DEMUXER 0
+#define CONFIG_EPAF_DEMUXER 0
+#define CONFIG_FFMETADATA_DEMUXER 0
+#define CONFIG_FILMSTRIP_DEMUXER 0
+#define CONFIG_FITS_DEMUXER 0
+#define CONFIG_FLAC_DEMUXER 1
+#define CONFIG_FLIC_DEMUXER 0
+#define CONFIG_FLV_DEMUXER 0
+#define CONFIG_LIVE_FLV_DEMUXER 0
+#define CONFIG_FOURXM_DEMUXER 0
+#define CONFIG_FRM_DEMUXER 0
+#define CONFIG_FSB_DEMUXER 0
+#define CONFIG_FWSE_DEMUXER 0
+#define CONFIG_G722_DEMUXER 0
+#define CONFIG_G723_1_DEMUXER 0
+#define CONFIG_G726_DEMUXER 0
+#define CONFIG_G726LE_DEMUXER 0
+#define CONFIG_G729_DEMUXER 0
+#define CONFIG_GDV_DEMUXER 0
+#define CONFIG_GENH_DEMUXER 0
+#define CONFIG_GIF_DEMUXER 0
+#define CONFIG_GSM_DEMUXER 0
+#define CONFIG_GXF_DEMUXER 0
+#define CONFIG_H261_DEMUXER 0
+#define CONFIG_H263_DEMUXER 0
+#define CONFIG_H264_DEMUXER 0
+#define CONFIG_HCA_DEMUXER 0
+#define CONFIG_HCOM_DEMUXER 0
+#define CONFIG_HEVC_DEMUXER 0
+#define CONFIG_HLS_DEMUXER 0
+#define CONFIG_HNM_DEMUXER 0
+#define CONFIG_ICO_DEMUXER 0
+#define CONFIG_IDCIN_DEMUXER 0
+#define CONFIG_IDF_DEMUXER 0
+#define CONFIG_IFF_DEMUXER 0
+#define CONFIG_IFV_DEMUXER 0
+#define CONFIG_ILBC_DEMUXER 0
+#define CONFIG_IMAGE2_DEMUXER 0
+#define CONFIG_IMAGE2PIPE_DEMUXER 0
+#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0
+#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0
+#define CONFIG_IMF_DEMUXER 0
+#define CONFIG_INGENIENT_DEMUXER 0
+#define CONFIG_IPMOVIE_DEMUXER 0
+#define CONFIG_IPU_DEMUXER 0
+#define CONFIG_IRCAM_DEMUXER 0
+#define CONFIG_ISS_DEMUXER 0
+#define CONFIG_IV8_DEMUXER 0
+#define CONFIG_IVF_DEMUXER 0
+#define CONFIG_IVR_DEMUXER 0
+#define CONFIG_JACOSUB_DEMUXER 0
+#define CONFIG_JV_DEMUXER 0
+#define CONFIG_KUX_DEMUXER 0
+#define CONFIG_KVAG_DEMUXER 0
++#define CONFIG_LAF_DEMUXER 0
+#define CONFIG_LMLM4_DEMUXER 0
+#define CONFIG_LOAS_DEMUXER 0
+#define CONFIG_LUODAT_DEMUXER 0
+#define CONFIG_LRC_DEMUXER 0
+#define CONFIG_LVF_DEMUXER 0
+#define CONFIG_LXF_DEMUXER 0
+#define CONFIG_M4V_DEMUXER 0
+#define CONFIG_MCA_DEMUXER 0
+#define CONFIG_MCC_DEMUXER 0
+#define CONFIG_MATROSKA_DEMUXER 1
+#define CONFIG_MGSTS_DEMUXER 0
+#define CONFIG_MICRODVD_DEMUXER 0
+#define CONFIG_MJPEG_DEMUXER 0
+#define CONFIG_MJPEG_2000_DEMUXER 0
+#define CONFIG_MLP_DEMUXER 0
+#define CONFIG_MLV_DEMUXER 0
+#define CONFIG_MM_DEMUXER 0
+#define CONFIG_MMF_DEMUXER 0
+#define CONFIG_MODS_DEMUXER 0
+#define CONFIG_MOFLEX_DEMUXER 0
+#define CONFIG_MOV_DEMUXER 1
+#define CONFIG_MP3_DEMUXER 1
+#define CONFIG_MPC_DEMUXER 0
+#define CONFIG_MPC8_DEMUXER 0
+#define CONFIG_MPEGPS_DEMUXER 0
+#define CONFIG_MPEGTS_DEMUXER 0
+#define CONFIG_MPEGTSRAW_DEMUXER 0
+#define CONFIG_MPEGVIDEO_DEMUXER 0
+#define CONFIG_MPJPEG_DEMUXER 0
+#define CONFIG_MPL2_DEMUXER 0
+#define CONFIG_MPSUB_DEMUXER 0
+#define CONFIG_MSF_DEMUXER 0
+#define CONFIG_MSNWC_TCP_DEMUXER 0
+#define CONFIG_MSP_DEMUXER 0
+#define CONFIG_MTAF_DEMUXER 0
+#define CONFIG_MTV_DEMUXER 0
+#define CONFIG_MUSX_DEMUXER 0
+#define CONFIG_MV_DEMUXER 0
+#define CONFIG_MVI_DEMUXER 0
+#define CONFIG_MXF_DEMUXER 0
+#define CONFIG_MXG_DEMUXER 0
+#define CONFIG_NC_DEMUXER 0
+#define CONFIG_NISTSPHERE_DEMUXER 0
+#define CONFIG_NSP_DEMUXER 0
+#define CONFIG_NSV_DEMUXER 0
+#define CONFIG_NUT_DEMUXER 0
+#define CONFIG_NUV_DEMUXER 0
+#define CONFIG_OBU_DEMUXER 0
+#define CONFIG_OGG_DEMUXER 1
+#define CONFIG_OMA_DEMUXER 0
+#define CONFIG_PAF_DEMUXER 0
+#define CONFIG_PCM_ALAW_DEMUXER 0
+#define CONFIG_PCM_MULAW_DEMUXER 0
+#define CONFIG_PCM_VIDC_DEMUXER 0
+#define CONFIG_PCM_F64BE_DEMUXER 0
+#define CONFIG_PCM_F64LE_DEMUXER 0
+#define CONFIG_PCM_F32BE_DEMUXER 0
+#define CONFIG_PCM_F32LE_DEMUXER 0
+#define CONFIG_PCM_S32BE_DEMUXER 0
+#define CONFIG_PCM_S32LE_DEMUXER 0
+#define CONFIG_PCM_S24BE_DEMUXER 0
+#define CONFIG_PCM_S24LE_DEMUXER 0
+#define CONFIG_PCM_S16BE_DEMUXER 0
+#define CONFIG_PCM_S16LE_DEMUXER 0
+#define CONFIG_PCM_S8_DEMUXER 0
+#define CONFIG_PCM_U32BE_DEMUXER 0
+#define CONFIG_PCM_U32LE_DEMUXER 0
+#define CONFIG_PCM_U24BE_DEMUXER 0
+#define CONFIG_PCM_U24LE_DEMUXER 0
+#define CONFIG_PCM_U16BE_DEMUXER 0
+#define CONFIG_PCM_U16LE_DEMUXER 0
+#define CONFIG_PCM_U8_DEMUXER 0
+#define CONFIG_PJS_DEMUXER 0
+#define CONFIG_PMP_DEMUXER 0
+#define CONFIG_PP_BNK_DEMUXER 0
+#define CONFIG_PVA_DEMUXER 0
+#define CONFIG_PVF_DEMUXER 0
+#define CONFIG_QCP_DEMUXER 0
+#define CONFIG_R3D_DEMUXER 0
+#define CONFIG_RAWVIDEO_DEMUXER 0
+#define CONFIG_REALTEXT_DEMUXER 0
+#define CONFIG_REDSPARK_DEMUXER 0
+#define CONFIG_RL2_DEMUXER 0
+#define CONFIG_RM_DEMUXER 0
+#define CONFIG_ROQ_DEMUXER 0
+#define CONFIG_RPL_DEMUXER 0
+#define CONFIG_RSD_DEMUXER 0
+#define CONFIG_RSO_DEMUXER 0
+#define CONFIG_RTP_DEMUXER 0
+#define CONFIG_RTSP_DEMUXER 0
+#define CONFIG_S337M_DEMUXER 0
+#define CONFIG_SAMI_DEMUXER 0
+#define CONFIG_SAP_DEMUXER 0
+#define CONFIG_SBC_DEMUXER 0
+#define CONFIG_SBG_DEMUXER 0
+#define CONFIG_SCC_DEMUXER 0
+#define CONFIG_SCD_DEMUXER 0
+#define CONFIG_SDP_DEMUXER 0
+#define CONFIG_SDR2_DEMUXER 0
+#define CONFIG_SDS_DEMUXER 0
+#define CONFIG_SDX_DEMUXER 0
+#define CONFIG_SEGAFILM_DEMUXER 0
+#define CONFIG_SER_DEMUXER 0
+#define CONFIG_SGA_DEMUXER 0
+#define CONFIG_SHORTEN_DEMUXER 0
+#define CONFIG_SIFF_DEMUXER 0
+#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0
+#define CONFIG_SLN_DEMUXER 0
+#define CONFIG_SMACKER_DEMUXER 0
+#define CONFIG_SMJPEG_DEMUXER 0
+#define CONFIG_SMUSH_DEMUXER 0
+#define CONFIG_SOL_DEMUXER 0
+#define CONFIG_SOX_DEMUXER 0
+#define CONFIG_SPDIF_DEMUXER 0
+#define CONFIG_SRT_DEMUXER 0
+#define CONFIG_STR_DEMUXER 0
+#define CONFIG_STL_DEMUXER 0
+#define CONFIG_SUBVIEWER1_DEMUXER 0
+#define CONFIG_SUBVIEWER_DEMUXER 0
+#define CONFIG_SUP_DEMUXER 0
+#define CONFIG_SVAG_DEMUXER 0
+#define CONFIG_SVS_DEMUXER 0
+#define CONFIG_SWF_DEMUXER 0
+#define CONFIG_TAK_DEMUXER 0
+#define CONFIG_TEDCAPTIONS_DEMUXER 0
+#define CONFIG_THP_DEMUXER 0
+#define CONFIG_THREEDOSTR_DEMUXER 0
+#define CONFIG_TIERTEXSEQ_DEMUXER 0
+#define CONFIG_TMV_DEMUXER 0
+#define CONFIG_TRUEHD_DEMUXER 0
+#define CONFIG_TTA_DEMUXER 0
+#define CONFIG_TXD_DEMUXER 0
+#define CONFIG_TTY_DEMUXER 0
+#define CONFIG_TY_DEMUXER 0
+#define CONFIG_V210_DEMUXER 0
+#define CONFIG_V210X_DEMUXER 0
+#define CONFIG_VAG_DEMUXER 0
+#define CONFIG_VC1_DEMUXER 0
+#define CONFIG_VC1T_DEMUXER 0
+#define CONFIG_VIVIDAS_DEMUXER 0
+#define CONFIG_VIVO_DEMUXER 0
+#define CONFIG_VMD_DEMUXER 0
+#define CONFIG_VOBSUB_DEMUXER 0
+#define CONFIG_VOC_DEMUXER 0
+#define CONFIG_VPK_DEMUXER 0
+#define CONFIG_VPLAYER_DEMUXER 0
+#define CONFIG_VQF_DEMUXER 0
+#define CONFIG_W64_DEMUXER 0
+#define CONFIG_WAV_DEMUXER 1
+#define CONFIG_WC3_DEMUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
+#define CONFIG_WEBVTT_DEMUXER 0
+#define CONFIG_WSAUD_DEMUXER 0
+#define CONFIG_WSD_DEMUXER 0
+#define CONFIG_WSVQA_DEMUXER 0
+#define CONFIG_WTV_DEMUXER 0
+#define CONFIG_WVE_DEMUXER 0
+#define CONFIG_WV_DEMUXER 0
+#define CONFIG_XA_DEMUXER 0
+#define CONFIG_XBIN_DEMUXER 0
+#define CONFIG_XMV_DEMUXER 0
+#define CONFIG_XVAG_DEMUXER 0
+#define CONFIG_XWMA_DEMUXER 0
+#define CONFIG_YOP_DEMUXER 0
+#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_HDR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_PFM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_PHM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_QOI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
++#define CONFIG_IMAGE_VBN_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0
+#define CONFIG_LIBGME_DEMUXER 0
+#define CONFIG_LIBMODPLUG_DEMUXER 0
+#define CONFIG_LIBOPENMPT_DEMUXER 0
+#define CONFIG_VAPOURSYNTH_DEMUXER 0
+#define CONFIG_A64_MUXER 0
+#define CONFIG_AC3_MUXER 0
+#define CONFIG_ADTS_MUXER 0
+#define CONFIG_ADX_MUXER 0
+#define CONFIG_AIFF_MUXER 0
+#define CONFIG_ALP_MUXER 0
+#define CONFIG_AMR_MUXER 0
+#define CONFIG_AMV_MUXER 0
+#define CONFIG_APM_MUXER 0
+#define CONFIG_APNG_MUXER 0
+#define CONFIG_APTX_MUXER 0
+#define CONFIG_APTX_HD_MUXER 0
+#define CONFIG_ARGO_ASF_MUXER 0
+#define CONFIG_ARGO_CVG_MUXER 0
+#define CONFIG_ASF_MUXER 0
+#define CONFIG_ASS_MUXER 0
+#define CONFIG_AST_MUXER 0
+#define CONFIG_ASF_STREAM_MUXER 0
+#define CONFIG_AU_MUXER 0
+#define CONFIG_AVI_MUXER 0
++#define CONFIG_AVIF_MUXER 0
+#define CONFIG_AVM2_MUXER 0
+#define CONFIG_AVS2_MUXER 0
+#define CONFIG_AVS3_MUXER 0
+#define CONFIG_BIT_MUXER 0
+#define CONFIG_CAF_MUXER 0
+#define CONFIG_CAVSVIDEO_MUXER 0
+#define CONFIG_CODEC2_MUXER 0
+#define CONFIG_CODEC2RAW_MUXER 0
+#define CONFIG_CRC_MUXER 0
+#define CONFIG_DASH_MUXER 0
+#define CONFIG_DATA_MUXER 0
+#define CONFIG_DAUD_MUXER 0
+#define CONFIG_DFPWM_MUXER 0
+#define CONFIG_DIRAC_MUXER 0
+#define CONFIG_DNXHD_MUXER 0
+#define CONFIG_DTS_MUXER 0
+#define CONFIG_DV_MUXER 0
+#define CONFIG_EAC3_MUXER 0
+#define CONFIG_F4V_MUXER 0
+#define CONFIG_FFMETADATA_MUXER 0
+#define CONFIG_FIFO_MUXER 0
+#define CONFIG_FIFO_TEST_MUXER 0
+#define CONFIG_FILMSTRIP_MUXER 0
+#define CONFIG_FITS_MUXER 0
+#define CONFIG_FLAC_MUXER 0
+#define CONFIG_FLV_MUXER 0
+#define CONFIG_FRAMECRC_MUXER 0
+#define CONFIG_FRAMEHASH_MUXER 0
+#define CONFIG_FRAMEMD5_MUXER 0
+#define CONFIG_G722_MUXER 0
+#define CONFIG_G723_1_MUXER 0
+#define CONFIG_G726_MUXER 0
+#define CONFIG_G726LE_MUXER 0
+#define CONFIG_GIF_MUXER 0
+#define CONFIG_GSM_MUXER 0
+#define CONFIG_GXF_MUXER 0
+#define CONFIG_H261_MUXER 0
+#define CONFIG_H263_MUXER 0
+#define CONFIG_H264_MUXER 0
+#define CONFIG_HASH_MUXER 0
+#define CONFIG_HDS_MUXER 0
+#define CONFIG_HEVC_MUXER 0
+#define CONFIG_HLS_MUXER 0
+#define CONFIG_ICO_MUXER 0
+#define CONFIG_ILBC_MUXER 0
+#define CONFIG_IMAGE2_MUXER 0
+#define CONFIG_IMAGE2PIPE_MUXER 0
+#define CONFIG_IPOD_MUXER 0
+#define CONFIG_IRCAM_MUXER 0
+#define CONFIG_ISMV_MUXER 0
+#define CONFIG_IVF_MUXER 0
+#define CONFIG_JACOSUB_MUXER 0
+#define CONFIG_KVAG_MUXER 0
+#define CONFIG_LATM_MUXER 0
+#define CONFIG_LRC_MUXER 0
+#define CONFIG_M4V_MUXER 0
+#define CONFIG_MD5_MUXER 0
+#define CONFIG_MATROSKA_MUXER 0
+#define CONFIG_MATROSKA_AUDIO_MUXER 0
+#define CONFIG_MICRODVD_MUXER 0
+#define CONFIG_MJPEG_MUXER 0
+#define CONFIG_MLP_MUXER 0
+#define CONFIG_MMF_MUXER 0
+#define CONFIG_MOV_MUXER 0
+#define CONFIG_MP2_MUXER 0
+#define CONFIG_MP3_MUXER 0
+#define CONFIG_MP4_MUXER 0
+#define CONFIG_MPEG1SYSTEM_MUXER 0
+#define CONFIG_MPEG1VCD_MUXER 0
+#define CONFIG_MPEG1VIDEO_MUXER 0
+#define CONFIG_MPEG2DVD_MUXER 0
+#define CONFIG_MPEG2SVCD_MUXER 0
+#define CONFIG_MPEG2VIDEO_MUXER 0
+#define CONFIG_MPEG2VOB_MUXER 0
+#define CONFIG_MPEGTS_MUXER 0
+#define CONFIG_MPJPEG_MUXER 0
+#define CONFIG_MXF_MUXER 0
+#define CONFIG_MXF_D10_MUXER 0
+#define CONFIG_MXF_OPATOM_MUXER 0
+#define CONFIG_NULL_MUXER 0
+#define CONFIG_NUT_MUXER 0
+#define CONFIG_OBU_MUXER 0
+#define CONFIG_OGA_MUXER 0
+#define CONFIG_OGG_MUXER 0
+#define CONFIG_OGV_MUXER 0
+#define CONFIG_OMA_MUXER 0
+#define CONFIG_OPUS_MUXER 0
+#define CONFIG_PCM_ALAW_MUXER 0
+#define CONFIG_PCM_MULAW_MUXER 0
+#define CONFIG_PCM_VIDC_MUXER 0
+#define CONFIG_PCM_F64BE_MUXER 0
+#define CONFIG_PCM_F64LE_MUXER 0
+#define CONFIG_PCM_F32BE_MUXER 0
+#define CONFIG_PCM_F32LE_MUXER 0
+#define CONFIG_PCM_S32BE_MUXER 0
+#define CONFIG_PCM_S32LE_MUXER 0
+#define CONFIG_PCM_S24BE_MUXER 0
+#define CONFIG_PCM_S24LE_MUXER 0
+#define CONFIG_PCM_S16BE_MUXER 0
+#define CONFIG_PCM_S16LE_MUXER 0
+#define CONFIG_PCM_S8_MUXER 0
+#define CONFIG_PCM_U32BE_MUXER 0
+#define CONFIG_PCM_U32LE_MUXER 0
+#define CONFIG_PCM_U24BE_MUXER 0
+#define CONFIG_PCM_U24LE_MUXER 0
+#define CONFIG_PCM_U16BE_MUXER 0
+#define CONFIG_PCM_U16LE_MUXER 0
+#define CONFIG_PCM_U8_MUXER 0
+#define CONFIG_PSP_MUXER 0
+#define CONFIG_RAWVIDEO_MUXER 0
+#define CONFIG_RM_MUXER 0
+#define CONFIG_ROQ_MUXER 0
+#define CONFIG_RSO_MUXER 0
+#define CONFIG_RTP_MUXER 0
+#define CONFIG_RTP_MPEGTS_MUXER 0
+#define CONFIG_RTSP_MUXER 0
+#define CONFIG_SAP_MUXER 0
+#define CONFIG_SBC_MUXER 0
+#define CONFIG_SCC_MUXER 0
+#define CONFIG_SEGAFILM_MUXER 0
+#define CONFIG_SEGMENT_MUXER 0
+#define CONFIG_STREAM_SEGMENT_MUXER 0
+#define CONFIG_SMJPEG_MUXER 0
+#define CONFIG_SMOOTHSTREAMING_MUXER 0
+#define CONFIG_SOX_MUXER 0
+#define CONFIG_SPX_MUXER 0
+#define CONFIG_SPDIF_MUXER 0
+#define CONFIG_SRT_MUXER 0
+#define CONFIG_STREAMHASH_MUXER 0
+#define CONFIG_SUP_MUXER 0
+#define CONFIG_SWF_MUXER 0
+#define CONFIG_TEE_MUXER 0
+#define CONFIG_TG2_MUXER 0
+#define CONFIG_TGP_MUXER 0
+#define CONFIG_MKVTIMESTAMP_V2_MUXER 0
+#define CONFIG_TRUEHD_MUXER 0
+#define CONFIG_TTA_MUXER 0
+#define CONFIG_TTML_MUXER 0
+#define CONFIG_UNCODEDFRAMECRC_MUXER 0
+#define CONFIG_VC1_MUXER 0
+#define CONFIG_VC1T_MUXER 0
+#define CONFIG_VOC_MUXER 0
+#define CONFIG_W64_MUXER 0
+#define CONFIG_WAV_MUXER 0
+#define CONFIG_WEBM_MUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
+#define CONFIG_WEBM_CHUNK_MUXER 0
+#define CONFIG_WEBP_MUXER 0
+#define CONFIG_WEBVTT_MUXER 0
+#define CONFIG_WSAUD_MUXER 0
+#define CONFIG_WTV_MUXER 0
+#define CONFIG_WV_MUXER 0
+#define CONFIG_YUV4MPEGPIPE_MUXER 0
+#define CONFIG_CHROMAPRINT_MUXER 0
+#define CONFIG_ASYNC_PROTOCOL 0
+#define CONFIG_BLURAY_PROTOCOL 0
+#define CONFIG_CACHE_PROTOCOL 0
+#define CONFIG_CONCAT_PROTOCOL 0
+#define CONFIG_CONCATF_PROTOCOL 0
+#define CONFIG_CRYPTO_PROTOCOL 0
+#define CONFIG_DATA_PROTOCOL 0
+#define CONFIG_FFRTMPCRYPT_PROTOCOL 0
+#define CONFIG_FFRTMPHTTP_PROTOCOL 0
+#define CONFIG_FILE_PROTOCOL 0
+#define CONFIG_FTP_PROTOCOL 0
+#define CONFIG_GOPHER_PROTOCOL 0
+#define CONFIG_GOPHERS_PROTOCOL 0
+#define CONFIG_HLS_PROTOCOL 0
+#define CONFIG_HTTP_PROTOCOL 0
+#define CONFIG_HTTPPROXY_PROTOCOL 0
+#define CONFIG_HTTPS_PROTOCOL 0
+#define CONFIG_ICECAST_PROTOCOL 0
+#define CONFIG_MMSH_PROTOCOL 0
+#define CONFIG_MMST_PROTOCOL 0
+#define CONFIG_MD5_PROTOCOL 0
+#define CONFIG_PIPE_PROTOCOL 0
+#define CONFIG_PROMPEG_PROTOCOL 0
+#define CONFIG_RTMP_PROTOCOL 0
+#define CONFIG_RTMPE_PROTOCOL 0
+#define CONFIG_RTMPS_PROTOCOL 0
+#define CONFIG_RTMPT_PROTOCOL 0
+#define CONFIG_RTMPTE_PROTOCOL 0
+#define CONFIG_RTMPTS_PROTOCOL 0
+#define CONFIG_RTP_PROTOCOL 0
+#define CONFIG_SCTP_PROTOCOL 0
+#define CONFIG_SRTP_PROTOCOL 0
+#define CONFIG_SUBFILE_PROTOCOL 0
+#define CONFIG_TEE_PROTOCOL 0
+#define CONFIG_TCP_PROTOCOL 0
+#define CONFIG_TLS_PROTOCOL 0
+#define CONFIG_UDP_PROTOCOL 0
+#define CONFIG_UDPLITE_PROTOCOL 0
+#define CONFIG_UNIX_PROTOCOL 0
+#define CONFIG_LIBAMQP_PROTOCOL 0
+#define CONFIG_LIBRIST_PROTOCOL 0
+#define CONFIG_LIBRTMP_PROTOCOL 0
+#define CONFIG_LIBRTMPE_PROTOCOL 0
+#define CONFIG_LIBRTMPS_PROTOCOL 0
+#define CONFIG_LIBRTMPT_PROTOCOL 0
+#define CONFIG_LIBRTMPTE_PROTOCOL 0
+#define CONFIG_LIBSRT_PROTOCOL 0
+#define CONFIG_LIBSSH_PROTOCOL 0
+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
+#define CONFIG_LIBZMQ_PROTOCOL 0
++#define CONFIG_IPFS_PROTOCOL 0
++#define CONFIG_IPNS_PROTOCOL 0
+#endif /* FFMPEG_CONFIG_COMPONENTS_H */
diff --git a/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c b/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c
new file mode 100644
index 000000000000..e3f240592c39
--- /dev/null
+++ b/www/chromium/files/patch-third__party_libusb_src_libusb_os_threads__posix.c
@@ -0,0 +1,24 @@
+--- third_party/libusb/src/libusb/os/threads_posix.c.orig 2023-03-09 06:31:50 UTC
++++ third_party/libusb/src/libusb/os/threads_posix.c
+@@ -19,9 +19,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+-#if defined(__linux__) || defined(__OpenBSD__)
++#if defined(__linux__)
+ # include <unistd.h>
+ # include <sys/syscall.h>
++#elif defined(__OpenBSD__)
++# include <unistd.h>
+ #elif defined(__APPLE__)
+ # include <mach/mach.h>
+ #elif defined(__CYGWIN__)
+@@ -65,7 +67,7 @@ int usbi_get_tid(void)
+ #elif defined(__OpenBSD__)
+ /* The following only works with OpenBSD > 5.1 as it requires
+ real thread support. For 5.1 and earlier, -1 is returned. */
+- ret = syscall(SYS_getthrid);
++ ret = getthrid();
+ #elif defined(__APPLE__)
+ ret = mach_thread_self();
+ mach_port_deallocate(mach_task_self(), ret);
diff --git a/www/chromium/files/patch-third__party_libxml_src_dict.c b/www/chromium/files/patch-third__party_libxml_src_dict.c
index a97982d6def4..095b6bf5ba61 100644
--- a/www/chromium/files/patch-third__party_libxml_src_dict.c
+++ b/www/chromium/files/patch-third__party_libxml_src_dict.c
@@ -1,41 +1,41 @@
---- third_party/libxml/src/dict.c.orig 2022-10-24 13:33:33 UTC
+--- third_party/libxml/src/dict.c.orig 2023-03-09 06:31:50 UTC
+++ third_party/libxml/src/dict.c
-@@ -137,7 +137,7 @@ static xmlMutexPtr xmlDictMutex = NULL;
- static int xmlDictInitialized = 0;
+@@ -133,7 +133,7 @@ struct _xmlDict {
+ static xmlMutex xmlDictMutex;
#ifdef DICT_RANDOMIZATION
-#ifdef HAVE_RAND_R
+#if defined(HAVE_RAND_R) && !defined(HAVE_ARC4RANDOM)
/*
* Internal data for random function, protected by xmlDictMutex
*/
-@@ -180,7 +180,7 @@ int __xmlInitializeDict(void) {
- return(0);
- xmlMutexLock(xmlDictMutex);
+@@ -160,7 +160,7 @@ int xmlInitializeDict(void) {
+ int __xmlInitializeDict(void) {
+ xmlInitMutex(&xmlDictMutex);
-#ifdef DICT_RANDOMIZATION
+#if defined(DICT_RANDOMIZATION) && !defined(HAVE_ARC4RANDOM)
#ifdef HAVE_RAND_R
rand_seed = time(NULL);
rand_r(& rand_seed);
-@@ -200,13 +200,17 @@ int __xmlRandom(void) {
- if (xmlDictInitialized == 0)
- __xmlInitializeDict();
+@@ -175,13 +175,17 @@ int __xmlInitializeDict(void) {
+ int __xmlRandom(void) {
+ int ret;
+#ifdef HAVE_ARC4RANDOM
+ ret = arc4random();
+#else
- xmlMutexLock(xmlDictMutex);
+ xmlMutexLock(&xmlDictMutex);
-#ifdef HAVE_RAND_R
+# ifdef HAVE_RAND_R
ret = rand_r(& rand_seed);
-#else
+# else
ret = rand();
-#endif
+# endif
- xmlMutexUnlock(xmlDictMutex);
+ xmlMutexUnlock(&xmlDictMutex);
+#endif
return(ret);
}
#endif
diff --git a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
index 5f3fc99ad5d7..1d1c3780a699 100644
--- a/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
+++ b/www/chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h
@@ -1,20 +1,34 @@
---- third_party/perfetto/include/perfetto/base/time.h.orig 2022-02-07 13:39:41 UTC
+--- third_party/perfetto/include/perfetto/base/time.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/perfetto/include/perfetto/base/time.h
-@@ -142,6 +142,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
+@@ -157,6 +157,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
// Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time
// during suspend (when supported).
inline TimeNanos GetBootTimeNs() {
+#if defined(__FreeBSD__)
+ return GetTimeInternalNs(kWallTimeClockSource);
+#else
// Determine if CLOCK_BOOTTIME is available on the first call.
static const clockid_t kBootTimeClockSource = [] {
struct timespec ts = {};
-@@ -149,6 +152,7 @@ inline TimeNanos GetBootTimeNs() {
+@@ -164,6 +167,7 @@ inline TimeNanos GetBootTimeNs() {
return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
}();
return GetTimeInternalNs(kBootTimeClockSource);
+#endif
}
inline TimeNanos GetWallTimeNs() {
+@@ -171,7 +175,13 @@ inline TimeNanos GetWallTimeNs() {
+ }
+
+ inline TimeNanos GetWallTimeRawNs() {
++#if defined(__OpenBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC);
++#elif defined(__FreeBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC_FAST);
++#else
+ return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++#endif
+ }
+
+ inline TimeNanos GetThreadCPUTimeNs() {
diff --git a/www/chromium/files/patch-third__party_skia_src_core_SkContainers.cpp b/www/chromium/files/patch-third__party_skia_src_base_SkContainers.cpp
similarity index 77%
rename from www/chromium/files/patch-third__party_skia_src_core_SkContainers.cpp
rename to www/chromium/files/patch-third__party_skia_src_base_SkContainers.cpp
index 8b5d0d05c9f6..7bee2c85f712 100644
--- a/www/chromium/files/patch-third__party_skia_src_core_SkContainers.cpp
+++ b/www/chromium/files/patch-third__party_skia_src_base_SkContainers.cpp
@@ -1,20 +1,20 @@
---- third_party/skia/src/core/SkContainers.cpp.orig 2023-01-11 09:17:16 UTC
-+++ third_party/skia/src/core/SkContainers.cpp
-@@ -13,7 +13,7 @@
+--- third_party/skia/src/base/SkContainers.cpp.orig 2023-03-09 06:31:50 UTC
++++ third_party/skia/src/base/SkContainers.cpp
+@@ -14,7 +14,7 @@
#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
#include <malloc/malloc.h>
-#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX)
+#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__)
#include <malloc.h>
#elif defined(SK_BUILD_FOR_WIN)
#include <malloc.h>
-@@ -37,7 +37,7 @@ SkSpan<std::byte> complete_size(void* ptr, size_t size
+@@ -38,7 +38,7 @@ SkSpan<std::byte> complete_size(void* ptr, size_t size
#elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17
completeSize = malloc_usable_size(ptr);
SkASSERT(completeSize >= size);
- #elif defined(SK_BUILD_FOR_UNIX)
+ #elif defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__)
completeSize = malloc_usable_size(ptr);
SkASSERT(completeSize >= size);
#elif defined(SK_BUILD_FOR_WIN)
diff --git a/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c b/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
index f59a42ea2055..fbc553b3458d 100644
--- a/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
+++ b/www/chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c
@@ -1,23 +1,23 @@
---- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2023-02-08 09:03:45 UTC
+--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2023-03-09 06:31:50 UTC
+++ third_party/sqlite/src/amalgamation/sqlite3.c
-@@ -43286,7 +43286,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -43302,7 +43302,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
memset(zBuf, 0, nBuf);
randomnessPid = osGetpid(0);
#if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS)
+#if defined(__OpenBSD__)
{
+ arc4random_buf(zBuf, nBuf);
+ }
+#else
+ {
int fd, got;
fd = robust_open("/dev/urandom", O_RDONLY, 0);
if( fd<0 ){
-@@ -43301,6 +43306,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -43317,6 +43322,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
robust_close(0, fd, __LINE__);
}
}
+#endif
#endif
return nBuf;
}
diff --git a/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
index 81eef28aa359..185449677a55 100644
--- a/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
+++ b/www/chromium/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp
@@ -1,20 +1,20 @@
---- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2022-05-19 14:06:27 UTC
+--- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2023-03-09 06:31:50 UTC
+++ third_party/swiftshader/src/WSI/libXCB.cpp
-@@ -55,7 +55,7 @@ LibXcbExports *LibXCB::loadExports()
+@@ -57,7 +57,7 @@ LibXcbExports *LibXCB::loadExports()
}
else
{
- libxcb = loadLibrary("libxcb.so.1");
+ libxcb = loadLibrary("libxcb.so");
}
if(getProcAddress(RTLD_DEFAULT, "xcb_shm_query_version")) // Search the global scope for pre-loaded XCB library.
-@@ -64,7 +64,7 @@ LibXcbExports *LibXCB::loadExports()
+@@ -66,7 +66,7 @@ LibXcbExports *LibXCB::loadExports()
}
else
{
- libshm = loadLibrary("libxcb-shm.so.0");
+ libshm = loadLibrary("libxcb-shm.so");
}
return LibXcbExports(libxcb, libshm);
diff --git a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
index e7ec91e58ca7..c7a092911f8e 100644
--- a/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
+++ b/www/chromium/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
@@ -1,11 +1,11 @@
---- third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h.orig 2022-10-24 13:33:33 UTC
+--- third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h.orig 2023-03-09 06:31:50 UTC
+++ third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h
-@@ -2700,7 +2700,7 @@ static void* vma_aligned_alloc(size_t alignment, size_
+@@ -2703,7 +2703,7 @@ static void* vma_aligned_alloc(size_t alignment, size_
return memalign(alignment, size);
}
-#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC))
+#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) || defined(__OpenBSD__) || defined(__FreeBSD__)
#define ALIGNED_ALLOC_WITH_POSIX_MEMALIGN
#elif defined(__GNU_LIBRARY__)
# if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 16)
diff --git a/www/chromium/files/patch-third__party_webrtc_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_BUILD.gn
index 6819fef2d988..4e28312a5fb5 100644
--- a/www/chromium/files/patch-third__party_webrtc_BUILD.gn
+++ b/www/chromium/files/patch-third__party_webrtc_BUILD.gn
@@ -1,12 +1,12 @@
---- third_party/webrtc/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- third_party/webrtc/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ third_party/webrtc/BUILD.gn
-@@ -209,6 +209,9 @@ config("common_inherited_config") {
+@@ -211,6 +211,9 @@ config("common_inherited_config") {
if (is_linux || is_chromeos) {
defines += [ "WEBRTC_LINUX" ]
}
+ if (is_bsd) {
+ defines += [ "WEBRTC_BSD" ]
+ }
if (is_mac) {
defines += [ "WEBRTC_MAC" ]
}
diff --git a/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
index 626fa7ef11b0..0f7e3f19ae1d 100644
--- a/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
+++ b/www/chromium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
@@ -1,11 +1,11 @@
---- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ third_party/webrtc/modules/audio_device/BUILD.gn
-@@ -299,7 +299,7 @@ rtc_library("audio_device_impl") {
+@@ -300,7 +300,7 @@ rtc_library("audio_device_impl") {
if (rtc_use_dummy_audio_file_devices) {
defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ]
} else {
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"linux/alsasymboltable_linux.cc",
"linux/alsasymboltable_linux.h",
diff --git a/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn
deleted file mode 100644
index f67f8721b000..000000000000
--- a/www/chromium/files/patch-third__party_webrtc_rtc__base_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/BUILD.gn.orig 2023-02-08 09:03:45 UTC
-+++ third_party/webrtc/rtc_base/BUILD.gn
-@@ -1248,7 +1248,7 @@ rtc_library("rtc_base") {
- sources += [ "mac_ifaddrs_converter.cc" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- libs += [
- "dl",
- "rt",
diff --git a/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py b/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
index 61d595420b1e..389f705b24da 100644
--- a/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
+++ b/www/chromium/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py
@@ -1,11 +1,11 @@
---- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2022-05-19 14:06:27 UTC
+--- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2023-03-09 06:31:50 UTC
+++ tools/json_schema_compiler/cpp_bundle_generator.py
-@@ -153,7 +153,7 @@ class CppBundleGenerator(object):
+@@ -149,7 +149,7 @@ class CppBundleGenerator(object):
# BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(IS_CHROMEOS_LACROS).
ifdefs.append('BUILDFLAG(IS_CHROMEOS_LACROS)')
elif platform == Platforms.LINUX:
- ifdefs.append('BUILDFLAG(IS_LINUX)')
+ ifdefs.append('BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)')
elif platform == Platforms.MAC:
ifdefs.append('BUILDFLAG(IS_MAC)')
elif platform == Platforms.WIN:
diff --git a/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py b/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
index d2d100ba4054..98a96bf5e18e 100644
--- a/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
+++ b/www/chromium/files/patch-tools_json__schema__compiler_feature__compiler.py
@@ -1,11 +1,11 @@
---- tools/json_schema_compiler/feature_compiler.py.orig 2023-01-11 09:17:16 UTC
+--- tools/json_schema_compiler/feature_compiler.py.orig 2023-03-09 06:31:50 UTC
+++ tools/json_schema_compiler/feature_compiler.py
-@@ -268,6 +268,8 @@ FEATURE_GRAMMAR = ({
+@@ -266,6 +266,8 @@ FEATURE_GRAMMAR = ({
'linux': 'Feature::LINUX_PLATFORM',
'mac': 'Feature::MACOSX_PLATFORM',
'win': 'Feature::WIN_PLATFORM',
+ 'openbsd': 'Feature::LINUX_PLATFORM',
+ 'freebsd': 'Feature::LINUX_PLATFORM',
}
}
},
diff --git a/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
index 989a6184a5ec..1f9924232244 100644
--- a/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
+++ b/www/chromium/files/patch-tools_protoc__wrapper_protoc__wrapper.py
@@ -1,24 +1,24 @@
---- tools/protoc_wrapper/protoc_wrapper.py.orig 2022-07-28 04:37:35 UTC
+--- tools/protoc_wrapper/protoc_wrapper.py.orig 2023-03-09 06:31:50 UTC
+++ tools/protoc_wrapper/protoc_wrapper.py
-@@ -182,15 +182,19 @@ def main(argv):
+@@ -175,15 +175,19 @@ def main(argv):
if not options.exclude_imports:
protoc_cmd += ["--include_imports"]
+ nenv = os.environ.copy()
+ nenv["PATH"] = "${WRKOBJDIR}/bin:" + nenv["PATH"]
+ nenv["LD_LIBRARY_PATH"] = "${WRKSRC}/out/Release"
+
dependency_file_data = None
if options.descriptor_set_out and options.descriptor_set_dependency_file:
protoc_cmd += ['--dependency_out', options.descriptor_set_dependency_file]
- ret = subprocess.call(protoc_cmd)
+ ret = subprocess.call(protoc_cmd, env=nenv)
with open(options.descriptor_set_dependency_file, 'rb') as f:
dependency_file_data = f.read().decode('utf-8')
- ret = subprocess.call(protoc_cmd)
+ ret = subprocess.call(protoc_cmd, env=nenv)
if ret != 0:
if ret <= -100:
# Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
index 0fbb5d4ddf9c..bed9a22723d5 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc
@@ -1,11 +1,11 @@
---- ui/base/cursor/cursor_factory.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/base/cursor/cursor_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/base/cursor/cursor_factory.cc
-@@ -83,7 +83,7 @@ void CursorFactory::ObserveThemeChanges() {
+@@ -89,7 +89,7 @@ void CursorFactory::ObserveThemeChanges() {
void CursorFactory::SetDeviceScaleFactor(float scale) {}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Returns a cursor name compatible with either X11 or the FreeDesktop.org
// cursor spec ([1] and [2]), followed by fallbacks that can work as
diff --git a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
index d155d2ff5289..8776e0acf5e4 100644
--- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
+++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h
@@ -1,11 +1,11 @@
---- ui/base/cursor/cursor_factory.h.orig 2022-02-28 16:54:41 UTC
+--- ui/base/cursor/cursor_factory.h.orig 2023-03-09 06:31:50 UTC
+++ ui/base/cursor/cursor_factory.h
-@@ -81,7 +81,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
+@@ -88,7 +88,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
base::ObserverList<CursorFactoryObserver>::Unchecked observers_;
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(UI_BASE_CURSOR)
std::vector<std::string> CursorNamesFromType(mojom::CursorType type);
#endif
diff --git a/www/chromium/files/patch-ui_base_ui__base__features.cc b/www/chromium/files/patch-ui_base_ui__base__features.cc
index 1635573ef0f0..57d288e5a008 100644
--- a/www/chromium/files/patch-ui_base_ui__base__features.cc
+++ b/www/chromium/files/patch-ui_base_ui__base__features.cc
@@ -1,20 +1,20 @@
---- ui/base/ui_base_features.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/base/ui_base_features.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/base/ui_base_features.cc
-@@ -205,7 +205,7 @@ BASE_FEATURE(kExperimentalFlingAnimation,
+@@ -210,7 +210,7 @@ BASE_FEATURE(kExperimentalFlingAnimation,
"ExperimentalFlingAnimation",
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_WIN) || \
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
!BUILDFLAG(IS_CHROMEOS_LACROS))
base::FEATURE_ENABLED_BY_DEFAULT
-@@ -311,7 +311,7 @@ bool IsForcedColorsEnabled() {
+@@ -315,7 +315,7 @@ bool IsForcedColorsEnabled() {
// milestones.
BASE_FEATURE(kEyeDropper,
"EyeDropper",
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
index 0339332c99f2..67eabd010a54 100644
--- a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
+++ b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc
@@ -1,11 +1,11 @@
---- ui/base/webui/web_ui_util.cc.orig 2022-11-30 08:12:58 UTC
+--- ui/base/webui/web_ui_util.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/base/webui/web_ui_util.cc
-@@ -218,7 +218,7 @@ std::string GetFontFamily() {
+@@ -212,7 +212,7 @@ std::string GetFontFamily() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
std::string font_name = ui::ResourceBundle::GetSharedInstance()
.GetFont(ui::ResourceBundle::BaseFont)
.GetFontName();
diff --git a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
index 83be0d5ac856..c3ead00abff6 100644
--- a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
+++ b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc
@@ -1,53 +1,53 @@
---- ui/base/x/x11_shm_image_pool.cc.orig 2022-02-28 16:54:41 UTC
+--- ui/base/x/x11_shm_image_pool.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/base/x/x11_shm_image_pool.cc
@@ -16,6 +16,7 @@
- #include "base/environment.h"
+ #include "base/functional/callback.h"
#include "base/location.h"
#include "base/strings/string_util.h"
+#include "base/system/sys_info.h"
- #include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
-@@ -46,10 +47,14 @@ constexpr float kShmResizeShrinkThreshold =
+ #include "net/base/url_util.h"
+@@ -45,10 +46,14 @@ constexpr float kShmResizeShrinkThreshold =
1.0f / (kShmResizeThreshold * kShmResizeThreshold);
std::size_t MaxShmSegmentSizeImpl() {
+#if BUILDFLAG(IS_BSD)
+ return base::SysInfo::MaxSharedMemorySize();
+#else
struct shminfo info;
if (shmctl(0, IPC_INFO, reinterpret_cast<struct shmid_ds*>(&info)) == -1)
return 0;
return info.shmmax;
+#endif
}
std::size_t MaxShmSegmentSize() {
-@@ -66,6 +71,9 @@ bool IsRemoteHost(const std::string& name) {
+@@ -65,6 +70,9 @@ bool IsRemoteHost(const std::string& name) {
}
bool ShouldUseMitShm(x11::Connection* connection) {
+#if BUILDFLAG(IS_BSD)
+ return false;
+#endif
// MIT-SHM may be available on remote connetions, but it will be unusable. Do
// a best-effort check to see if the host is remote to disable the SHM
// codepath. It may be possible in contrived cases for there to be a
-@@ -184,7 +192,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -183,7 +191,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
shmctl(state.shmid, IPC_RMID, nullptr);
return false;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// On Linux, a shmid can still be attached after IPC_RMID if otherwise
// kept alive. Detach before XShmAttach to prevent a memory leak in case
// the process dies.
-@@ -203,7 +211,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -202,7 +210,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
return false;
state.shmseg = shmseg;
state.shmem_attached_to_server = true;
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
// The Linux-specific shmctl behavior above may not be portable, so we're
// forced to do IPC_RMID after the server has attached to the segment.
shmctl(state.shmid, IPC_RMID, nullptr);
diff --git a/www/chromium/files/patch-ui_color_color__id.h b/www/chromium/files/patch-ui_color_color__id.h
index 1349b033e555..8745f242d6da 100644
--- a/www/chromium/files/patch-ui_color_color__id.h
+++ b/www/chromium/files/patch-ui_color_color__id.h
@@ -1,11 +1,11 @@
---- ui/color/color_id.h.orig 2023-02-08 09:03:45 UTC
+--- ui/color/color_id.h.orig 2023-03-09 06:31:50 UTC
+++ ui/color/color_id.h
-@@ -371,7 +371,7 @@
+@@ -414,7 +414,7 @@
E_CPONLY(kColorNativeColor6) \
E_CPONLY(kColorNativeBaseColor) \
E_CPONLY(kColorNativeSecondaryColor)
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#define PLATFORM_SPECIFIC_COLOR_IDS \
E_CPONLY(kColorNativeButtonBorder)\
E_CPONLY(kColorNativeHeaderButtonBorderActive) \
diff --git a/www/chromium/files/patch-ui_compositor_compositor.cc b/www/chromium/files/patch-ui_compositor_compositor.cc
index 2a9b70ab8063..35f97c899806 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.cc
+++ b/www/chromium/files/patch-ui_compositor_compositor.cc
@@ -1,11 +1,11 @@
---- ui/compositor/compositor.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/compositor/compositor.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/compositor/compositor.cc
-@@ -868,7 +868,7 @@ void Compositor::OnResume() {
+@@ -887,7 +887,7 @@ void Compositor::OnResume() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) {
for (auto& observer : observer_list_)
observer.OnCompositingCompleteSwapWithNewSize(this, size);
diff --git a/www/chromium/files/patch-ui_compositor_compositor.h b/www/chromium/files/patch-ui_compositor_compositor.h
index a8be07b91953..2e998a135efc 100644
--- a/www/chromium/files/patch-ui_compositor_compositor.h
+++ b/www/chromium/files/patch-ui_compositor_compositor.h
@@ -1,11 +1,11 @@
---- ui/compositor/compositor.h.orig 2023-02-08 09:03:45 UTC
+--- ui/compositor/compositor.h.orig 2023-03-09 06:31:50 UTC
+++ ui/compositor/compositor.h
-@@ -437,7 +437,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
+@@ -446,7 +446,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
void OnCompleteSwapWithNewSize(const gfx::Size& size);
#endif
diff --git a/www/chromium/files/patch-ui_gfx_BUILD.gn b/www/chromium/files/patch-ui_gfx_BUILD.gn
index 0ed92ac9451b..c32505643c16 100644
--- a/www/chromium/files/patch-ui_gfx_BUILD.gn
+++ b/www/chromium/files/patch-ui_gfx_BUILD.gn
@@ -1,11 +1,11 @@
---- ui/gfx/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- ui/gfx/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ ui/gfx/BUILD.gn
-@@ -593,7 +593,7 @@ source_set("memory_buffer_sources") {
+@@ -594,7 +594,7 @@ source_set("memory_buffer_sources") {
deps += [ "//build/config/linux/libdrm" ]
}
- if (is_linux || is_chromeos || is_android) {
+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
deps += [ "//third_party/libsync" ]
}
diff --git a/www/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn
index 1d94579dd5d0..1ce11d60371a 100644
--- a/www/chromium/files/patch-ui_gl_BUILD.gn
+++ b/www/chromium/files/patch-ui_gl_BUILD.gn
@@ -1,35 +1,35 @@
---- ui/gl/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- ui/gl/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ ui/gl/BUILD.gn
-@@ -160,8 +160,6 @@ component("gl") {
+@@ -162,8 +162,6 @@ component("gl") {
defines += [ "GPU_ENABLE_SERVICE_LOGGING" ]
}
- include_dirs = [ "//third_party/mesa_headers" ]
-
all_dependent_configs = [ ":gl_config" ]
public_configs = [ "//third_party/khronos:khronos_headers" ]
-@@ -178,7 +176,6 @@ component("gl") {
+@@ -180,7 +178,6 @@ component("gl") {
]
public_deps = [
"//base",
- "//third_party/mesa_headers",
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
-@@ -390,7 +387,6 @@ component("gl") {
+@@ -391,7 +388,6 @@ component("gl") {
data_deps += [
"//third_party/angle:libEGL",
"//third_party/angle:libGLESv2",
- "//third_party/mesa_headers",
]
if (enable_swiftshader) {
data_deps += [
@@ -607,7 +603,6 @@ test("gl_unittests") {
data_deps = [
"//testing/buildbot/filters:gl_unittests_filters",
- "//third_party/mesa_headers",
]
if (is_win) {
diff --git a/www/chromium/files/patch-ui_gl_gl__features.h b/www/chromium/files/patch-ui_gl_gl__features.h
deleted file mode 100644
index 41c15f0f6f90..000000000000
--- a/www/chromium/files/patch-ui_gl_gl__features.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_features.h.orig 2023-01-11 09:17:16 UTC
-+++ ui/gl/gl_features.h
-@@ -23,7 +23,7 @@ GL_EXPORT BASE_DECLARE_FEATURE(kAndroidFrameDeadline);
-
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || \
- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \
-- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC)
-+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
- #define PASSTHROUGH_COMMAND_DECODER_LAUNCHED
- #else
- // All features in alphabetical order. The features should be documented
diff --git a/www/chromium/files/patch-ui_gl_gl__implementation.cc b/www/chromium/files/patch-ui_gl_gl__implementation.cc
index 00f5e3e05f6b..40c5b67adee5 100644
--- a/www/chromium/files/patch-ui_gl_gl__implementation.cc
+++ b/www/chromium/files/patch-ui_gl_gl__implementation.cc
@@ -1,11 +1,11 @@
---- ui/gl/gl_implementation.cc.orig 2022-10-24 13:33:33 UTC
+--- ui/gl/gl_implementation.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/gl/gl_implementation.cc
-@@ -287,7 +287,7 @@ GetRequestedGLImplementationFromCommandLine(
+@@ -292,7 +292,7 @@ GetRequestedGLImplementationFromCommandLine(
*fallback_to_software_gl = false;
bool overrideUseSoftwareGL =
command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests);
-#if BUILDFLAG(IS_LINUX) || \
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
(BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE))
if (std::getenv("RUNNING_UNDER_RR")) {
// https://rr-project.org/ is a Linux-only record-and-replay debugger that
diff --git a/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc b/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
index 377f8a3289c4..157fa2f70deb 100644
--- a/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
+++ b/www/chromium/files/patch-ui_gtk_printing_print__dialog__gtk.cc
@@ -1,11 +1,11 @@
---- ui/gtk/printing/print_dialog_gtk.cc.orig 2023-01-11 09:17:16 UTC
+--- ui/gtk/printing/print_dialog_gtk.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/gtk/printing/print_dialog_gtk.cc
-@@ -402,7 +402,7 @@ void PrintDialogGtk::ShowDialog(
+@@ -403,7 +403,7 @@ void PrintDialogGtk::ShowDialog(
GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
GTK_PRINT_CAPABILITY_COPIES | GTK_PRINT_CAPABILITY_COLLATE |
- GTK_PRINT_CAPABILITY_REVERSE);
+ GTK_PRINT_CAPABILITY_REVERSE | GTK_PRINT_CAPABILITY_GENERATE_PS);
gtk_print_unix_dialog_set_manual_capabilities(GTK_PRINT_UNIX_DIALOG(dialog_),
cap);
gtk_print_unix_dialog_set_embed_page_setup(GTK_PRINT_UNIX_DIALOG(dialog_),
diff --git a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc b/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
index f9dcdc6d3e65..a14d129acee8 100644
--- a/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc
@@ -1,20 +1,20 @@
---- ui/ozone/platform/headless/headless_surface_factory.cc.orig 2022-09-24 10:57:32 UTC
+--- ui/ozone/platform/headless/headless_surface_factory.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/ozone/platform/headless/headless_surface_factory.cc
@@ -34,7 +34,7 @@
#include "ui/ozone/platform/headless/headless_window_manager.h"
#include "ui/ozone/public/surface_ozone_canvas.h"
-#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA))
+#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD))
#include "ui/ozone/platform/headless/vulkan_implementation_headless.h"
#endif
-@@ -282,7 +282,7 @@ std::unique_ptr<gpu::VulkanImplementation>
+@@ -281,7 +281,7 @@ std::unique_ptr<gpu::VulkanImplementation>
HeadlessSurfaceFactory::CreateVulkanImplementation(
bool use_swiftshader,
bool allow_protected_memory) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
return std::make_unique<VulkanImplementationHeadless>(use_swiftshader);
#else
return nullptr;
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc
new file mode 100644
index 000000000000..ff536aeba5d2
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc
@@ -0,0 +1,11 @@
+--- ui/ozone/platform/wayland/host/wayland_toplevel_window.cc.orig 2023-03-09 06:31:50 UTC
++++ ui/ozone/platform/wayland/host/wayland_toplevel_window.cc
+@@ -446,7 +446,7 @@ void WaylandToplevelWindow::HandleAuraToplevelConfigur
+ const bool did_active_change = is_active_ != window_states.is_activated;
+ is_active_ = window_states.is_activated;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ // The tiled state affects the window geometry, so apply it here.
+ if (window_states.tiled_edges != tiled_state_) {
+ // This configure changes the decoration insets. We should adjust the
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h
new file mode 100644
index 000000000000..f45cd89ae585
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h
@@ -0,0 +1,11 @@
+--- ui/ozone/platform/wayland/host/wayland_toplevel_window.h.orig 2023-03-09 06:31:50 UTC
++++ ui/ozone/platform/wayland/host/wayland_toplevel_window.h
+@@ -250,7 +250,7 @@ class WaylandToplevelWindow : public WaylandWindow,
+ // Contains the previous state of the window.
+ PlatformWindowState previous_state_ = PlatformWindowState::kUnknown;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ // Contains the current state of the tiled edges.
+ WindowTiledEdges tiled_state_;
+ #endif
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__window.h b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__window.h
new file mode 100644
index 000000000000..dfc6634bb7fd
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_host_wayland__window.h
@@ -0,0 +1,11 @@
+--- ui/ozone/platform/wayland/host/wayland_window.h.orig 2023-03-09 06:31:50 UTC
++++ ui/ozone/platform/wayland/host/wayland_window.h
+@@ -231,7 +231,7 @@ class WaylandWindow : public PlatformWindow,
+ bool is_snapped_primary = false;
+ bool is_snapped_secondary = false;
+ bool is_floated = false;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ WindowTiledEdges tiled_edges;
+ #endif
+ };
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc b/www/chromium/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc
new file mode 100644
index 000000000000..fbdae046587a
--- /dev/null
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc
@@ -0,0 +1,11 @@
+--- ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc.orig 2023-03-09 06:31:50 UTC
++++ ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc
+@@ -269,7 +269,7 @@ void XDGToplevelWrapperImpl::ConfigureTopLevel(
+ CheckIfWlArrayHasValue(states, XDG_TOPLEVEL_STATE_ACTIVATED),
+ };
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ if (xdg_toplevel_get_version(xdg_toplevel) >=
+ XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION) {
+ // All four tiled states have the same since version, so it is enough to
diff --git a/www/chromium/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc b/www/chromium/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc
index d7f1a38b1768..ae04705dbc72 100644
--- a/www/chromium/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc
@@ -1,29 +1,29 @@
---- ui/ozone/platform/wayland/ozone_platform_wayland.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/ozone/platform/wayland/ozone_platform_wayland.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/ozone/platform/wayland/ozone_platform_wayland.cc
-@@ -68,7 +68,7 @@
+@@ -71,7 +71,7 @@
#include "ui/ozone/platform/wayland/host/wayland_cursor_factory.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/ozone/platform/wayland/host/linux_ui_delegate_wayland.h"
#endif
-@@ -243,7 +243,7 @@ class OzonePlatformWayland : public OzonePlatform,
+@@ -246,7 +246,7 @@ class OzonePlatformWayland : public OzonePlatform,
supported_buffer_formats_ =
connection_->buffer_manager_host()->GetSupportedBufferFormats();
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
linux_ui_delegate_ =
std::make_unique<LinuxUiDelegateWayland>(connection_.get());
#endif
-@@ -446,7 +446,7 @@ class OzonePlatformWayland : public OzonePlatform,
+@@ -469,7 +469,7 @@ class OzonePlatformWayland : public OzonePlatform,
DrmRenderNodePathFinder path_finder_;
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::unique_ptr<LinuxUiDelegateWayland> linux_ui_delegate_;
#endif
};
diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc b/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc
index 98f2fa4310a8..148a3a69823f 100644
--- a/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc
+++ b/www/chromium/files/patch-ui_ozone_platform_x11_ozone__platform__x11.cc
@@ -1,11 +1,11 @@
---- ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2022-11-30 08:12:58 UTC
+--- ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/ozone/platform/x11/ozone_platform_x11.cc
-@@ -195,7 +195,7 @@ class OzonePlatformX11 : public OzonePlatform,
+@@ -196,7 +196,7 @@ class OzonePlatformX11 : public OzonePlatform,
properties->supports_global_application_menus = true;
properties->app_modal_dialogs_use_event_blocker = true;
properties->fetch_buffer_formats_for_gmb_on_gpu = true;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
properties->supports_vaapi = true;
#endif
diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
index e1df29922b1d..2ddefb35425e 100644
--- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
+++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc
@@ -1,64 +1,64 @@
---- ui/views/controls/textfield/textfield.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/views/controls/textfield/textfield.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/views/controls/textfield/textfield.cc
@@ -72,7 +72,7 @@
#include "base/win/win_util.h"
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
#include "ui/linux/linux_ui.h"
#endif
-@@ -164,7 +164,7 @@ bool IsControlKeyModifier(int flags) {
+@@ -166,7 +166,7 @@ bool IsControlKeyModifier(int flags) {
// Control-modified key combination, but we cannot extend it to other platforms
// as Control has different meanings and behaviors.
// https://crrev.com/2580483002/#msg46
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
return flags & ui::EF_CONTROL_DOWN;
#else
return false;
-@@ -706,7 +706,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
+@@ -703,7 +703,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
if (!textfield)
return handled;
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
if (!handled && linux_ui &&
-@@ -850,7 +850,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
+@@ -847,7 +847,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
}
bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Skip any accelerator handling that conflicts with custom keybindings.
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
-@@ -1720,7 +1720,7 @@ bool Textfield::ShouldDoLearning() {
+@@ -1740,7 +1740,7 @@ bool Textfield::ShouldDoLearning() {
return false;
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// TODO(https://crbug.com/952355): Implement this method to support Korean IME
// reconversion feature on native text fields (e.g. find bar).
bool Textfield::SetCompositionFromExistingText(
-@@ -2231,14 +2231,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
+@@ -2254,14 +2254,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
#endif
return ui::TextEditCommand::DELETE_BACKWARD;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Only erase by line break on Linux and ChromeOS.
if (shift)
return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE;
#endif
return ui::TextEditCommand::DELETE_WORD_BACKWARD;
case ui::VKEY_DELETE:
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
// Only erase by line break on Linux and ChromeOS.
if (shift && control)
return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
index 21a327bd034f..aa6f76cff23f 100644
--- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
+++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h
@@ -1,20 +1,20 @@
---- ui/views/controls/textfield/textfield.h.orig 2022-11-30 08:12:58 UTC
+--- ui/views/controls/textfield/textfield.h.orig 2023-03-09 06:31:50 UTC
+++ ui/views/controls/textfield/textfield.h
@@ -42,7 +42,7 @@
#include "ui/views/view.h"
#include "ui/views/word_lookup_client.h"
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <vector>
#endif
-@@ -448,7 +448,7 @@ class VIEWS_EXPORT Textfield : public View,
+@@ -450,7 +450,7 @@ class VIEWS_EXPORT Textfield : public View,
// Set whether the text should be used to improve typing suggestions.
void SetShouldDoLearning(bool value) { should_do_learning_ = value; }
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
bool SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) override;
diff --git a/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc b/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
index d038084fa408..8885ccb37b35 100644
--- a/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
+++ b/www/chromium/files/patch-ui_views_corewm_tooltip__aura.cc
@@ -1,11 +1,11 @@
---- ui/views/corewm/tooltip_aura.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/views/corewm/tooltip_aura.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/views/corewm/tooltip_aura.cc
-@@ -50,7 +50,7 @@ constexpr int kVerticalPaddingBottom = 5;
+@@ -51,7 +51,7 @@ constexpr int kVerticalPaddingBottom = 5;
bool CanUseTranslucentTooltipWidget() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_WIN)
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
return false;
#else
return true;
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
index c697cbef6041..bcdf9c87e91e 100644
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
+++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
@@ -1,38 +1,38 @@
---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2023-02-08 09:03:45 UTC
+--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -43,7 +43,7 @@
#include "ui/wm/core/window_util.h"
#include "ui/wm/public/window_move_client.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h"
#endif
@@ -259,7 +259,7 @@ void DesktopWindowTreeHostPlatform::Init(const Widget:
if (params.type == Widget::InitParams::TYPE_WINDOW)
GetContentWindow()->SetProperty(aura::client::kAnimationsDisabledKey, true);
-#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
const bool requires_accelerated_widget = params.requires_accelerated_widget;
#else
const bool requires_accelerated_widget = false;
@@ -331,7 +331,7 @@ std::unique_ptr<aura::client::DragDropClient>
DesktopWindowTreeHostPlatform::CreateDragDropClient() {
ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window()));
std::unique_ptr<DesktopDragDropClientOzone> drag_drop_client =
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
std::make_unique<DesktopDragDropClientOzoneLinux>(window(), drag_handler);
#else
std::make_unique<DesktopDragDropClientOzone>(window(), drag_handler);
-@@ -1019,7 +1019,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
+@@ -1041,7 +1041,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
// DesktopWindowTreeHost:
// Linux subclasses this host and adds some Linux specific bits.
-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)
// static
DesktopWindowTreeHost* DesktopWindowTreeHost::Create(
internal::NativeWidgetDelegate* native_widget_delegate,
diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc
index aef07eb7d912..635cd4689d76 100644
--- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc
+++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc
@@ -1,11 +1,11 @@
---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc.orig 2022-08-31 12:19:35 UTC
+--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc
-@@ -22,7 +22,7 @@
+@@ -21,7 +21,7 @@
#include "ui/views/widget/widget_delegate.h"
#include "ui/views/window/native_frame_view.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
#include "ui/views/widget/desktop_aura/window_event_filter_linux.h"
using DesktopWindowTreeHostPlatformImpl = views::DesktopWindowTreeHostLinux;
diff --git a/www/chromium/files/patch-ui_views_window_dialog__delegate.cc b/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
index 51e7ce37e2bb..ccb15c1781b5 100644
--- a/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
+++ b/www/chromium/files/patch-ui_views_window_dialog__delegate.cc
@@ -1,11 +1,11 @@
---- ui/views/window/dialog_delegate.cc.orig 2022-05-19 14:06:27 UTC
+--- ui/views/window/dialog_delegate.cc.orig 2023-03-09 06:31:50 UTC
+++ ui/views/window/dialog_delegate.cc
-@@ -79,7 +79,7 @@ Widget* DialogDelegate::CreateDialogWidget(
+@@ -73,7 +73,7 @@ Widget* DialogDelegate::CreateDialogWidget(
// static
bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
BUILDFLAG(ENABLE_DESKTOP_AURA)
// The new style doesn't support unparented dialogs on Linux desktop.
return parent != nullptr;
diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn
index 72689d6facd5..22000360980e 100644
--- a/www/chromium/files/patch-v8_BUILD.gn
+++ b/www/chromium/files/patch-v8_BUILD.gn
@@ -1,45 +1,45 @@
---- v8/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- v8/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+++ v8/BUILD.gn
-@@ -1278,6 +1278,14 @@ config("toolchain") {
+@@ -1299,6 +1299,14 @@ config("toolchain") {
} else if (target_os == "win") {
defines += [ "V8_HAVE_TARGET_OS" ]
defines += [ "V8_TARGET_OS_WIN" ]
+ } else if (target_os == "openbsd") {
+ defines += [ "V8_HAVE_TARGET_OS" ]
+ defines += [ "V8_TARGET_OS_OPENBSD" ]
+ defines += [ "V8_TARGET_OS_BSD" ]
+ } else if (target_os == "freebsd") {
+ defines += [ "V8_HAVE_TARGET_OS" ]
+ defines += [ "V8_TARGET_OS_FREEBSD" ]
+ defines += [ "V8_TARGET_OS_BSD" ]
}
# TODO(infra): Support v8_enable_prof on Windows.
-@@ -5602,7 +5610,7 @@ v8_component("v8_libbase") {
+@@ -5702,7 +5710,7 @@ v8_component("v8_libbase") {
}
}
- if (is_linux || is_chromeos) {
+ if ((is_linux || is_chromeos) && !is_bsd) {
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -5613,6 +5621,18 @@ v8_component("v8_libbase") {
+@@ -5713,6 +5721,18 @@ v8_component("v8_libbase") {
"dl",
"rt",
]
+ } else if (is_openbsd) {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
+ "src/base/platform/platform-openbsd.cc",
+ ]
+ libs = [ "execinfo" ]
+ } else if (is_freebsd) {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
+ "src/base/platform/platform-freebsd.cc",
+ ]
+ libs = [ "execinfo" ]
} else if (current_os == "aix") {
sources += [
"src/base/debug/stack_trace_posix.cc",
diff --git a/www/chromium/files/patch-v8_src_api_api.cc b/www/chromium/files/patch-v8_src_api_api.cc
index fda40026b4af..38d07d8aab3a 100644
--- a/www/chromium/files/patch-v8_src_api_api.cc
+++ b/www/chromium/files/patch-v8_src_api_api.cc
@@ -1,20 +1,20 @@
---- v8/src/api/api.cc.orig 2023-02-08 09:03:45 UTC
+--- v8/src/api/api.cc.orig 2023-03-09 06:31:50 UTC
+++ v8/src/api/api.cc
@@ -141,7 +141,7 @@
#include "src/wasm/wasm-serialization.h"
#endif // V8_ENABLE_WEBASSEMBLY
-#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD
+#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
#include <signal.h>
#if V8_ENABLE_WEBASSEMBLY
-@@ -6337,7 +6337,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -6364,7 +6364,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
-#if V8_OS_LINUX || V8_OS_DARWIN
+#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
void* context) {
#if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED
diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
index 10f975e3fe2d..4edd5149e266 100644
--- a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
+++ b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc
@@ -1,62 +1,62 @@
---- v8/src/base/platform/platform-posix.cc.orig 2022-10-24 13:33:33 UTC
+--- v8/src/base/platform/platform-posix.cc.orig 2023-03-09 06:31:50 UTC
+++ v8/src/base/platform/platform-posix.cc
@@ -53,7 +53,7 @@
#if V8_OS_DARWIN
#include <mach/mach.h>
#include <malloc/malloc.h>
-#else
+#elif !V8_OS_BSD
#include <malloc.h>
#endif
@@ -71,7 +71,7 @@
#include <sys/syscall.h>
#endif
-#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS
+#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS
#define MAP_ANONYMOUS MAP_ANON
#endif
@@ -297,8 +297,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
}
}
+#if V8_OS_OPENBSD
+// Allow OpenBSD's mmap to select a random address on OpenBSD
// static
void* OS::GetRandomMmapAddr() {
+ return nullptr;
+}
+#else
+// static
+void* OS::GetRandomMmapAddr() {
uintptr_t raw_addr;
{
MutexGuard guard(rng_mutex.Pointer());
@@ -393,6 +400,7 @@ void* OS::GetRandomMmapAddr() {
#endif
return reinterpret_cast<void*>(raw_addr);
}
+#endif
// TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
#if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
-@@ -650,7 +658,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
+@@ -661,7 +669,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
// static
bool OS::HasLazyCommits() {
-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN
+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
-@@ -1227,7 +1235,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
+@@ -1238,7 +1246,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
// keep this version in POSIX as most Linux-compatible derivatives will
// support it. MacOS and FreeBSD are different here.
#if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \
- !defined(V8_OS_SOLARIS)
+ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
// static
Stack::StackSlot Stack::GetStackStart() {
diff --git a/www/chromium/files/patch-v8_src_execution_isolate.cc b/www/chromium/files/patch-v8_src_execution_isolate.cc
index 27b5d1398070..9b10a957adaf 100644
--- a/www/chromium/files/patch-v8_src_execution_isolate.cc
+++ b/www/chromium/files/patch-v8_src_execution_isolate.cc
@@ -1,25 +1,25 @@
---- v8/src/execution/isolate.cc.orig 2023-02-08 09:03:45 UTC
+--- v8/src/execution/isolate.cc.orig 2023-03-09 06:31:50 UTC
+++ v8/src/execution/isolate.cc
@@ -146,6 +146,10 @@
#include "src/execution/simulator-base.h"
#endif
+#if defined(V8_OS_OPENBSD)
+#include <sys/mman.h>
+#endif
+
extern "C" const uint8_t v8_Default_embedded_blob_code_[];
extern "C" uint32_t v8_Default_embedded_blob_code_size_;
extern "C" const uint8_t v8_Default_embedded_blob_data_[];
-@@ -3936,6 +3940,11 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
+@@ -3924,6 +3928,11 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
uint32_t code_size = DefaultEmbeddedBlobCodeSize();
const uint8_t* data = DefaultEmbeddedBlobData();
uint32_t data_size = DefaultEmbeddedBlobDataSize();
+
+#if defined(V8_OS_OPENBSD)
+ mprotect(reinterpret_cast<void *>(const_cast<uint8_t *>(code)),
+ code_size, PROT_READ | PROT_EXEC);
+#endif
if (StickyEmbeddedBlobCode() != nullptr) {
base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer());
diff --git a/www/chromium/pkg-plist b/www/chromium/pkg-plist
index dc981f2c3a6e..0611044682a1 100644
--- a/www/chromium/pkg-plist
+++ b/www/chromium/pkg-plist
@@ -1,145 +1,146 @@
bin/chrome
%%DATADIR%%/chrome
%%DATADIR%%/chrome-wrapper
%%DATADIR%%/chrome_100_percent.pak
%%DATADIR%%/chrome_200_percent.pak
+%%DATADIR%%/headless_command_resources.pak
%%DATADIR%%/headless_lib_data.pak
%%DATADIR%%/headless_lib_strings.pak
%%DATADIR%%/libEGL.so
%%DATADIR%%/libGLESv2.so
%%DATADIR%%/libVkICD_mock_icd.so
%%DATADIR%%/libvulkan.so
%%DATADIR%%/locales/am.pak
%%DATADIR%%/locales/am.pak.info
%%DATADIR%%/locales/ar.pak
%%DATADIR%%/locales/ar.pak.info
%%DEBUG%%%%DATADIR%%/locales/ar-XB.pak
%%DEBUG%%%%DATADIR%%/locales/ar-XB.pak.info
%%DATADIR%%/locales/af.pak
%%DATADIR%%/locales/af.pak.info
%%DATADIR%%/locales/bg.pak
%%DATADIR%%/locales/bg.pak.info
%%DATADIR%%/locales/bn.pak
%%DATADIR%%/locales/bn.pak.info
%%DATADIR%%/locales/ca.pak
%%DATADIR%%/locales/ca.pak.info
%%DATADIR%%/locales/cs.pak
%%DATADIR%%/locales/cs.pak.info
%%DATADIR%%/locales/da.pak
%%DATADIR%%/locales/da.pak.info
%%DATADIR%%/locales/de.pak
%%DATADIR%%/locales/de.pak.info
%%DATADIR%%/locales/el.pak
%%DATADIR%%/locales/el.pak.info
%%DATADIR%%/locales/en-GB.pak
%%DATADIR%%/locales/en-GB.pak.info
%%DATADIR%%/locales/en-US.pak
%%DATADIR%%/locales/en-US.pak.info
%%DEBUG%%%%DATADIR%%/locales/en-XA.pak
%%DEBUG%%%%DATADIR%%/locales/en-XA.pak.info
%%DATADIR%%/locales/es-419.pak
%%DATADIR%%/locales/es-419.pak.info
%%DATADIR%%/locales/es.pak
%%DATADIR%%/locales/es.pak.info
%%DATADIR%%/locales/et.pak
%%DATADIR%%/locales/et.pak.info
%%DATADIR%%/locales/fa.pak
%%DATADIR%%/locales/fa.pak.info
%%DATADIR%%/locales/fi.pak
%%DATADIR%%/locales/fi.pak.info
%%DATADIR%%/locales/fil.pak
%%DATADIR%%/locales/fil.pak.info
%%DATADIR%%/locales/fr.pak
%%DATADIR%%/locales/fr.pak.info
%%DATADIR%%/locales/gu.pak
%%DATADIR%%/locales/gu.pak.info
%%DATADIR%%/locales/he.pak
%%DATADIR%%/locales/he.pak.info
%%DATADIR%%/locales/hi.pak
%%DATADIR%%/locales/hi.pak.info
%%DATADIR%%/locales/hr.pak
%%DATADIR%%/locales/hr.pak.info
%%DATADIR%%/locales/hu.pak
%%DATADIR%%/locales/hu.pak.info
%%DATADIR%%/locales/id.pak
%%DATADIR%%/locales/id.pak.info
%%DATADIR%%/locales/it.pak
%%DATADIR%%/locales/it.pak.info
%%DATADIR%%/locales/ja.pak
%%DATADIR%%/locales/ja.pak.info
%%DATADIR%%/locales/kn.pak
%%DATADIR%%/locales/kn.pak.info
%%DATADIR%%/locales/ko.pak
%%DATADIR%%/locales/ko.pak.info
%%DATADIR%%/locales/lt.pak
%%DATADIR%%/locales/lt.pak.info
%%DATADIR%%/locales/lv.pak
%%DATADIR%%/locales/lv.pak.info
%%DATADIR%%/locales/ml.pak
%%DATADIR%%/locales/ml.pak.info
%%DATADIR%%/locales/mr.pak
%%DATADIR%%/locales/mr.pak.info
%%DATADIR%%/locales/ms.pak
%%DATADIR%%/locales/ms.pak.info
%%DATADIR%%/locales/nb.pak
%%DATADIR%%/locales/nb.pak.info
%%DATADIR%%/locales/nl.pak
%%DATADIR%%/locales/nl.pak.info
%%DATADIR%%/locales/pl.pak
%%DATADIR%%/locales/pl.pak.info
%%DATADIR%%/locales/pt-BR.pak
%%DATADIR%%/locales/pt-BR.pak.info
%%DATADIR%%/locales/pt-PT.pak
%%DATADIR%%/locales/pt-PT.pak.info
%%DATADIR%%/locales/ro.pak
%%DATADIR%%/locales/ro.pak.info
%%DATADIR%%/locales/ru.pak
%%DATADIR%%/locales/ru.pak.info
%%DATADIR%%/locales/sk.pak
%%DATADIR%%/locales/sk.pak.info
%%DATADIR%%/locales/sl.pak
%%DATADIR%%/locales/sl.pak.info
%%DATADIR%%/locales/sr.pak
%%DATADIR%%/locales/sr.pak.info
%%DATADIR%%/locales/sv.pak
%%DATADIR%%/locales/sv.pak.info
%%DATADIR%%/locales/sw.pak
%%DATADIR%%/locales/sw.pak.info
%%DATADIR%%/locales/ta.pak
%%DATADIR%%/locales/ta.pak.info
%%DATADIR%%/locales/te.pak
%%DATADIR%%/locales/te.pak.info
%%DATADIR%%/locales/th.pak
%%DATADIR%%/locales/th.pak.info
%%DATADIR%%/locales/tr.pak
%%DATADIR%%/locales/tr.pak.info
%%DATADIR%%/locales/uk.pak
%%DATADIR%%/locales/uk.pak.info
%%DATADIR%%/locales/ur.pak
%%DATADIR%%/locales/ur.pak.info
%%DATADIR%%/locales/vi.pak
%%DATADIR%%/locales/vi.pak.info
%%DATADIR%%/locales/zh-CN.pak
%%DATADIR%%/locales/zh-CN.pak.info
%%DATADIR%%/locales/zh-TW.pak
%%DATADIR%%/locales/zh-TW.pak.info
%%DATADIR%%/mksnapshot
%%DATADIR%%/product_logo_48.png
%%DATADIR%%/protoc
%%DATADIR%%/resources.pak
%%DATADIR%%/resources/inspector_overlay/inspector_overlay_resources.grd
%%DATADIR%%/resources/inspector_overlay/main.js
%%DATADIR%%/snapshot_blob.bin
%%NOT_AARCH64%%%%DATADIR%%/libvk_swiftshader.so
%%DATADIR%%/v8_context_snapshot.bin
%%DEBUG%%%%DATADIR%%/character_data_generator
%%DEBUG%%%%DATADIR%%/libVkLayer_khronos_validation.so
%%DRIVER%%bin/chromedriver
man/man1/chrome.1.gz
share/applications/chromium-browser.desktop
share/icons/hicolor/128x128/apps/chrome.png
share/icons/hicolor/22x22/apps/chrome.png
share/icons/hicolor/24x24/apps/chrome.png
share/icons/hicolor/256x256/apps/chrome.png
share/icons/hicolor/48x48/apps/chrome.png
share/icons/hicolor/64x64/apps/chrome.png

File Metadata

Mime Type
text/x-diff
Expires
Sun, Dec 21, 3:50 PM (12 h, 43 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
a2/47/065e8d8a12baa23922ac76665e73
Default Alt Text
(993 KB)

Event Timeline