diff --git a/www/chromium/Makefile b/www/chromium/Makefile index a7cc495bcd84..c22da2c7383b 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,429 +1,429 @@ PORTNAME= chromium -PORTVERSION= 146.0.7680.80 +PORTVERSION= 146.0.7680.164 PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= ${DISTNAME}-lite${EXTRACT_SUFX} \ ${DISTNAME}-profdata${EXTRACT_SUFX}:external \ pulseaudio-${PULSEV}.tar.gz:pulseaudio USE_GITHUB= nodefault GH_TUPLE= rollup:rollup:v4.22.4:rollup/rollup \ evanw:esbuild:v${_ESBUILD_VERSION:sh}:esbuild/esbuild 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 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ esbuild:devel/esbuild \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ rustc:lang/rust \ 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-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ 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 \ libdav1d.so:multimedia/dav1d \ 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 cargo compiler:c++17-lang cpe desktop-file-utils gl gmake \ gnome iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \ python:build qt:5 shebangfix tar:xz xorg WITHOUT_FBSD10_FIX= Yes CARGO_CARGOTOML= ${WRKSRC}/rollup/rust/Cargo.toml CARGO_CARGOLOCK= ${WRKSRC}/rollup/rust/Cargo.lock CARGO_TARGET_DIR= ${WRKSRC}/rollup/rust/target CARGO_INSTALL= No CARGO_BUILD= No CARGO_TEST= No _ESBUILD_VERSION= ${MAKE} -C ${PORTSDIR}/devel/esbuild -V DISTVERSION CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf 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} # 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_remoting=false \ enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ 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} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # 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 PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO 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+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false 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="60 GB" \ WANTMEM="32 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="35 GB" \ WANTMEM="8 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="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .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 LLVM_DEFAULT= 21 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} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # 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 # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} 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 \ dav1d flac fontconfig harfbuzz-ng libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} @cd ${WRKSRC}/chrome/build/pgo_profiles && _p=$$(echo *.profdata) && \ ${LOCALBASE}/bin/llvm-profdata${LLVM_DEFAULT} merge $${_p}.txt --output=$${_p} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni pre-build: @${CARGO_CARGO_RUN} build \ --manifest-path ${CARGO_CARGOTOML} \ --verbose \ --verbose \ ${CARGO_BUILD_ARGS} (cd ${WRKSRC}/third_party/devtools-frontend/src/node_modules/@rollup && \ mkdir -p rollup-freebsd && \ cp ${CARGO_TARGET_DIR}/release/libbindings_napi.so \ rollup-freebsd/rollup.freebsd.node && \ echo '{ "main": "./rollup.freebsd.node" }' \ > rollup-freebsd/package.json) do-configure: (cd ${WRKSRC}/esbuild && \ ${LOCALBASE}/bin/node scripts/esbuild.js \ /usr/local/bin/esbuild --neutral && \ rm -rf ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild && \ ln -sf ${WRKSRC}/esbuild/npm/esbuild \ ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild \ ) # 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 esbuild dependency ${LN} -sf ${LOCALBASE}/bin/esbuild ${WRKSRC}/third_party/devtools-frontend/src/third_party/esbuild/esbuild # 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}${PREFIX}/share/man/man1/chrome.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/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} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${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 diff --git a/www/chromium/distinfo b/www/chromium/distinfo index dfedf8b24ddf..36893370f501 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,345 +1,345 @@ -TIMESTAMP = 1773598133 -SHA256 (chromium-146.0.7680.80-lite.tar.xz) = 2344889e79e91438f5e6891aac1f00207ddb8ea86414dc2a6c9b6d8d083a3e4f -SIZE (chromium-146.0.7680.80-lite.tar.xz) = 1476612920 -SHA256 (chromium-146.0.7680.80-profdata.tar.xz) = a09d9720f5045952b1138230fb7545dbc167444f2c451709f9ee719b95b374d7 -SIZE (chromium-146.0.7680.80-profdata.tar.xz) = 15134368 +TIMESTAMP = 1774337730 +SHA256 (chromium-146.0.7680.164-lite.tar.xz) = 2d4163d39cc85c58d0bad83ccb5f200174cc99e3627fc56b095025f1ae7038c8 +SIZE (chromium-146.0.7680.164-lite.tar.xz) = 1476795816 +SHA256 (chromium-146.0.7680.164-profdata.tar.xz) = b8b8577f201521af73dffc34abbcecf5556972d06da29e6ae3862a83c31e174d +SIZE (chromium-146.0.7680.164-profdata.tar.xz) = 15190948 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-146.0.7680.80-testdata.tar.xz) = f8d92f75e1ceba28456d1470bf304526af05f039e2f8bd07a2bc556553010fb2 -SIZE (chromium-146.0.7680.80-testdata.tar.xz) = 1320139412 +SHA256 (chromium-146.0.7680.164-testdata.tar.xz) = 571c53a793975a2e8e75ff0b79e0be61d88187dd8846f88cadf706545e5e01c6 +SIZE (chromium-146.0.7680.164-testdata.tar.xz) = 1319956124 SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3 SIZE (rust/crates/Inflector-0.11.4.crate) = 17438 SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011 SIZE (rust/crates/ahash-0.8.11.crate) = 43607 SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 SHA256 (rust/crates/allocator-api2-0.2.18.crate) = 5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f SIZE (rust/crates/allocator-api2-0.2.18.crate) = 62504 SHA256 (rust/crates/anyhow-1.0.89.crate) = 86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6 SIZE (rust/crates/anyhow-1.0.89.crate) = 47078 SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50 SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237 SHA256 (rust/crates/ast_node-0.10.0.crate) = 9f8486443b68ecc17b8b45c6161b0194142f74622ed8dade227480a20291fc91 SIZE (rust/crates/ast_node-0.10.0.crate) = 8073 SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 SHA256 (rust/crates/base-encode-0.3.1.crate) = a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c SIZE (rust/crates/base-encode-0.3.1.crate) = 3630 SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 SIZE (rust/crates/base64-0.21.7.crate) = 82576 SHA256 (rust/crates/base64-simd-0.7.0.crate) = 781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5 SIZE (rust/crates/base64-simd-0.7.0.crate) = 9966 SHA256 (rust/crates/better_scoped_tls-0.1.1.crate) = 794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de SIZE (rust/crates/better_scoped_tls-0.1.1.crate) = 1874 SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de SIZE (rust/crates/bitflags-2.6.0.crate) = 45357 SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c SIZE (rust/crates/bitvec-1.0.1.crate) = 224375 SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677 SHA256 (rust/crates/cc-1.1.21.crate) = 07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0 SIZE (rust/crates/cc-1.1.21.crate) = 83463 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca SIZE (rust/crates/convert_case-0.6.0.crate) = 18675 SHA256 (rust/crates/ctor-0.2.8.crate) = edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f SIZE (rust/crates/ctor-0.2.8.crate) = 11053 SHA256 (rust/crates/cty-0.2.2.crate) = b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35 SIZE (rust/crates/cty-0.2.2.crate) = 7230 SHA256 (rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856 SIZE (rust/crates/dashmap-5.5.3.crate) = 24061 SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769 SHA256 (rust/crates/debugid-0.8.0.crate) = bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d SIZE (rust/crates/debugid-0.8.0.crate) = 12757 SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0 SIZE (rust/crates/either-1.13.0.crate) = 19169 SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80 SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954 SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 SHA256 (rust/crates/from_variant-0.1.9.crate) = 32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4 SIZE (rust/crates/from_variant-0.1.9.crate) = 1617 SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c SIZE (rust/crates/funty-2.0.0.crate) = 13160 SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 SIZE (rust/crates/getrandom-0.2.15.crate) = 37163 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165 SHA256 (rust/crates/hstr-0.2.12.crate) = dae404c0c5d4e95d4858876ab02eecd6a196bb8caa42050dfa809938833fc412 SIZE (rust/crates/hstr-0.2.12.crate) = 22307 SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 SIZE (rust/crates/idna-0.5.0.crate) = 271940 SHA256 (rust/crates/if_chain-1.0.2.crate) = cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed SIZE (rust/crates/if_chain-1.0.2.crate) = 8062 SHA256 (rust/crates/indexmap-2.5.0.crate) = 68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5 SIZE (rust/crates/indexmap-2.5.0.crate) = 85919 SHA256 (rust/crates/is-macro-0.3.6.crate) = 2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1 SIZE (rust/crates/is-macro-0.3.6.crate) = 9068 SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b SIZE (rust/crates/itoa-1.0.11.crate) = 10563 SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a SIZE (rust/crates/js-sys-0.3.70.crate) = 53863 SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439 SIZE (rust/crates/libc-0.2.158.crate) = 751340 SHA256 (rust/crates/libloading-0.8.5.crate) = 4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4 SIZE (rust/crates/libloading-0.8.5.crate) = 28902 SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24 SIZE (rust/crates/log-0.4.22.crate) = 44027 SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 SIZE (rust/crates/memchr-2.7.4.crate) = 96670 SHA256 (rust/crates/mimalloc-rust-0.2.1.crate) = 5eb726c8298efb4010b2c46d8050e4be36cf807b9d9e98cb112f830914fc9bbe SIZE (rust/crates/mimalloc-rust-0.2.1.crate) = 5327 SHA256 (rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 6413e13241a9809f291568133eca6694572cf528c1a6175502d090adce5dd5db SIZE (rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 134952 SHA256 (rust/crates/napi-2.16.11.crate) = 53575dfa17f208dd1ce3a2da2da4659aae393b256a472f2738a8586a6c4107fd SIZE (rust/crates/napi-2.16.11.crate) = 85909 SHA256 (rust/crates/napi-build-2.1.3.crate) = e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a SIZE (rust/crates/napi-build-2.1.3.crate) = 2096 SHA256 (rust/crates/napi-derive-2.16.12.crate) = 17435f7a00bfdab20b0c27d9c56f58f6499e418252253081bfff448099da31d1 SIZE (rust/crates/napi-derive-2.16.12.crate) = 17184 SHA256 (rust/crates/napi-derive-backend-1.0.74.crate) = 967c485e00f0bf3b1bdbe510a38a4606919cf1d34d9a37ad41f25a81aa077abe SIZE (rust/crates/napi-derive-backend-1.0.74.crate) = 21755 SHA256 (rust/crates/napi-sys-2.4.0.crate) = 427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3 SIZE (rust/crates/napi-sys-2.4.0.crate) = 6582 SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086 SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582 SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801 SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 SHA256 (rust/crates/outref-0.1.0.crate) = 7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4 SIZE (rust/crates/outref-0.1.0.crate) = 3067 SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142 SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 SHA256 (rust/crates/petgraph-0.6.5.crate) = b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db SIZE (rust/crates/petgraph-0.6.5.crate) = 710970 SHA256 (rust/crates/phf-0.11.2.crate) = ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc SIZE (rust/crates/phf-0.11.2.crate) = 21569 SHA256 (rust/crates/phf_generator-0.11.2.crate) = 48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0 SIZE (rust/crates/phf_generator-0.11.2.crate) = 14190 SHA256 (rust/crates/phf_macros-0.11.2.crate) = 3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b SIZE (rust/crates/phf_macros-0.11.2.crate) = 4748 SHA256 (rust/crates/phf_shared-0.11.2.crate) = 90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b SIZE (rust/crates/phf_shared-0.11.2.crate) = 14284 SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 SHA256 (rust/crates/psm-0.1.23.crate) = aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205 SIZE (rust/crates/psm-0.1.23.crate) = 23318 SHA256 (rust/crates/ptr_meta-0.1.4.crate) = 0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1 SIZE (rust/crates/ptr_meta-0.1.4.crate) = 5754 SHA256 (rust/crates/ptr_meta_derive-0.1.4.crate) = 16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac SIZE (rust/crates/ptr_meta_derive-0.1.4.crate) = 2302 SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af SIZE (rust/crates/quote-1.0.37.crate) = 28558 SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 SIZE (rust/crates/radium-0.7.0.crate) = 10906 SHA256 (rust/crates/radix_fmt-1.0.0.crate) = ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426 SIZE (rust/crates/radix_fmt-1.0.0.crate) = 8743 SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 SIZE (rust/crates/rand-0.8.5.crate) = 87113 SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 SHA256 (rust/crates/redox_syscall-0.5.4.crate) = 0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853 SIZE (rust/crates/redox_syscall-0.5.4.crate) = 25977 SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619 SIZE (rust/crates/regex-1.10.6.crate) = 253894 SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210 SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f SIZE (rust/crates/ryu-1.0.18.crate) = 47713 SHA256 (rust/crates/ryu-js-1.0.1.crate) = ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5 SIZE (rust/crates/ryu-js-1.0.1.crate) = 74220 SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403 SIZE (rust/crates/semver-0.9.0.crate) = 17344 SHA256 (rust/crates/semver-1.0.23.crate) = 61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b SIZE (rust/crates/semver-1.0.23.crate) = 30622 SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3 SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268 SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a SIZE (rust/crates/serde-1.0.210.crate) = 78338 SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020 SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8 SIZE (rust/crates/serde_json-1.0.128.crate) = 149520 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (rust/crates/simd-abstraction-0.7.1.crate) = 9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987 SIZE (rust/crates/simd-abstraction-0.7.1.crate) = 9170 SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d SIZE (rust/crates/siphasher-0.3.11.crate) = 10442 SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 SHA256 (rust/crates/smartstring-1.0.1.crate) = 3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29 SIZE (rust/crates/smartstring-1.0.1.crate) = 29555 SHA256 (rust/crates/sourcemap-9.0.0.crate) = dab08a862c70980b8e23698b507e272317ae52a608a164a844111f5372374f1f SIZE (rust/crates/sourcemap-9.0.0.crate) = 43857 SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054 SHA256 (rust/crates/stacker-0.1.17.crate) = 799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b SIZE (rust/crates/stacker-0.1.17.crate) = 14699 SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (rust/crates/string_enum-0.4.4.crate) = 05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90 SIZE (rust/crates/string_enum-0.4.4.crate) = 3861 SHA256 (rust/crates/swc_allocator-0.1.8.crate) = adc8bd3075d1c6964010333fae9ddcd91ad422a4f8eb8b3206a9b2b6afb4209e SIZE (rust/crates/swc_allocator-0.1.8.crate) = 12576 SHA256 (rust/crates/swc_atoms-0.7.0.crate) = 8ff4ad2795eabc349fb7ac1bdccb2625858a8be5545703ef31d5b5dc7a9f37f4 SIZE (rust/crates/swc_atoms-0.7.0.crate) = 3503 SHA256 (rust/crates/swc_cached-0.3.20.crate) = 83406221c501860fce9c27444f44125eafe9e598b8b81be7563d7036784cd05c SIZE (rust/crates/swc_cached-0.3.20.crate) = 1958 SHA256 (rust/crates/swc_common-0.39.0.crate) = 04012755fd21334086b5ee2467a6236afea869d0aff3bdf8b20dc07ee5f676c6 SIZE (rust/crates/swc_common-0.39.0.crate) = 80673 SHA256 (rust/crates/swc_compiler_base-0.22.0.crate) = 72452f40c7bc9c133b060cbc73f032d0c5ce87843d301e4ef33faa09008b83be SIZE (rust/crates/swc_compiler_base-0.22.0.crate) = 5051 SHA256 (rust/crates/swc_config-0.1.15.crate) = 4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000 SIZE (rust/crates/swc_config-0.1.15.crate) = 4839 SHA256 (rust/crates/swc_config_macro-0.1.4.crate) = 7c5f56139042c1a95b54f5ca48baa0e0172d369bcc9d3d473dad1de36bae8399 SIZE (rust/crates/swc_config_macro-0.1.4.crate) = 1717 SHA256 (rust/crates/swc_ecma_ast-0.120.0.crate) = bb7f7d4a08f9a413b27506903a5a893a51bd0df6c8b91203fbb76aa217472ed6 SIZE (rust/crates/swc_ecma_ast-0.120.0.crate) = 34640 SHA256 (rust/crates/swc_ecma_codegen-0.157.0.crate) = 78ce83228e9304008f2df1d21e0e88d70232c438337f5faad27024974e2d3a09 SIZE (rust/crates/swc_ecma_codegen-0.157.0.crate) = 52829 SHA256 (rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca SIZE (rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 2945 SHA256 (rust/crates/swc_ecma_minifier-0.207.0.crate) = 15739c02dff0b2b3fe10146b0105b7842b7f71e9340f226b6f1862db15a680f6 SIZE (rust/crates/swc_ecma_minifier-0.207.0.crate) = 225454 SHA256 (rust/crates/swc_ecma_parser-0.151.0.crate) = 3c23f8288f6a38f84a1b82896917eac3adf92e37dee19cbc1c42cebab7b48590 SIZE (rust/crates/swc_ecma_parser-0.151.0.crate) = 150827 SHA256 (rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 0231922ee5391a452ea47f7bf6ffde401fd7ceb201b8ac6343c885758e33551e SIZE (rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 72533 SHA256 (rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 500a1dadad1e0e41e417d633b3d6d5de677c9e0d3159b94ba3348436cdb15aab SIZE (rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 3827 SHA256 (rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 5966e6e631795b350441fcfea34dd00d6ad637d182033697f606c82a74d64894 SIZE (rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 61838 SHA256 (rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = ae003379b4b3f0ef1b149014a9bac0db7261ebd8b8abe03e51be3fd2b0134fe4 SIZE (rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = 11954 SHA256 (rust/crates/swc_ecma_utils-0.136.0.crate) = df9b03b44d3342bcf4e3f8a4c05605e07c642b537198a5534314c433a3767fe5 SIZE (rust/crates/swc_ecma_utils-0.136.0.crate) = 32888 SHA256 (rust/crates/swc_ecma_visit-0.106.0.crate) = f4ee9335a4ad1a78587d5cb0d75a8c718a53d40eaf37475e3eda9c4ed1741da0 SIZE (rust/crates/swc_ecma_visit-0.106.0.crate) = 318891 SHA256 (rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497 SIZE (rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 2741 SHA256 (rust/crates/swc_fast_graph-0.27.0.crate) = accc67d03a5b88d5d8fc4ba051738075ba0e12194d1dc26f9f88a776026fe938 SIZE (rust/crates/swc_fast_graph-0.27.0.crate) = 7100 SHA256 (rust/crates/swc_macros_common-0.3.13.crate) = f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847 SIZE (rust/crates/swc_macros_common-0.3.13.crate) = 6666 SHA256 (rust/crates/swc_timer-0.27.0.crate) = f53899e4ab3f9ce3db83b4c845f8a27f37bf700b233febbc9a6da749651c2fbb SIZE (rust/crates/swc_timer-0.27.0.crate) = 1680 SHA256 (rust/crates/swc_visit-0.6.2.crate) = 1ceb044142ba2719ef9eb3b6b454fce61ab849eb696c34d190f04651955c613d SIZE (rust/crates/swc_visit-0.6.2.crate) = 5188 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (rust/crates/syn-1.0.109.crate) = 237611 SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed SIZE (rust/crates/syn-2.0.77.crate) = 268784 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (rust/crates/tap-1.0.1.crate) = 11316 SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938 SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796 SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef SIZE (rust/crates/tracing-0.1.40.crate) = 79459 SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 SHA256 (rust/crates/triomphe-0.1.13.crate) = e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369 SIZE (rust/crates/triomphe-0.1.13.crate) = 29568 SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848 SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811 SHA256 (rust/crates/unicode-id-0.3.5.crate) = 10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561 SIZE (rust/crates/unicode-id-0.3.5.crate) = 16807 SHA256 (rust/crates/unicode-id-start-1.3.0.crate) = 97e2a3c5fc9de285c0e805d98eba666adb4b2d9e1049ce44821ff7707cc34e91 SIZE (rust/crates/unicode-id-start-1.3.0.crate) = 43825 SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279 SHA256 (rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956 SIZE (rust/crates/unicode-normalization-0.1.24.crate) = 126536 SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493 SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323 SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615 SHA256 (rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c SIZE (rust/crates/url-2.5.2.crate) = 79704 SHA256 (rust/crates/uuid-1.10.0.crate) = 81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314 SIZE (rust/crates/uuid-1.10.0.crate) = 47648 SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a SIZE (rust/crates/version_check-0.9.5.crate) = 15554 SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5 SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769 SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344 SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822 SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836 SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642 SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484 SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527 SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (rust/crates/xxhash-rust-0.8.12.crate) = 6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984 SIZE (rust/crates/xxhash-rust-0.8.12.crate) = 21329 SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0 SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645 SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829 SHA256 (rollup-rollup-v4.22.4_GH0.tar.gz) = a7e5c09f00fe50adabe27fef8455510f156cf73fee8aef1faf3804b653988e4c SIZE (rollup-rollup-v4.22.4_GH0.tar.gz) = 1732642 SHA256 (evanw-esbuild-v0.27.1_GH0.tar.gz) = bcc3abdc911961ef04340714dc69ddc34af6d2e2c60a1c4036d1c7f1a3fc4a23 SIZE (evanw-esbuild-v0.27.1_GH0.tar.gz) = 1978868 diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn index d928742f1bd3..b66dfd5d9ee9 100644 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- chrome/browser/BUILD.gn.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/BUILD.gn.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/BUILD.gn -@@ -7098,6 +7098,13 @@ static_library("browser") { +@@ -7100,6 +7100,13 @@ static_library("browser") { [ "//third_party/webrtc/modules/desktop_capture:pipewire_config" ] } + if (is_bsd) { + sources -= [ + "metrics/bluetooth_metrics_provider.cc", + "metrics/bluetooth_metrics_provider.h", + ] + } + if (use_dbus) { sources += [ "dbus_memory_pressure_evaluator_linux.cc", diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index e3269d062495..c323b63de1fc 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,562 +1,562 @@ ---- chrome/browser/about_flags.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/about_flags.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/about_flags.cc @@ -331,13 +331,13 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck #include "chrome/browser/enterprise/data_protection/data_protection_features.h" #include "chrome/browser/enterprise/profile_management/profile_management_features.h" @@ -354,7 +354,7 @@ #include "components/enterprise/platform_auth/platform_auth_features.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/reporting/reporting_features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) @@ -787,6 +787,23 @@ const FeatureEntry::FeatureVariation "identity request to Android OS", kWebIdentityDigitalIdentityCredentialHighRiskDialogParam, nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", + kAudioBackendPulseAudio, nullptr}, + {"using sndio by default if available", + kAudioBackendSndio, nullptr}, + {"using ALSA by default if available", + kAudioBackendAlsa, nullptr}}; +#endif + const FeatureEntry::FeatureParam kMBIModeLegacy[] = {{"mode", "legacy"}}; const FeatureEntry::FeatureParam kMBIModeEnabledPerRenderProcessHost[] = { {"mode", "per_render_process_host"}}; @@ -1211,7 +1228,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { @@ -3411,7 +3428,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = @@ -3437,7 +3454,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // 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) const FeatureEntry::Choice kReplaceSyncPromosWithSignInPromosChoices[] = { {"Default", "", ""}, {"Disabled", switches::kDisableFeatures, -@@ -3636,7 +3653,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -3639,7 +3656,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4375,7 +4392,7 @@ const FeatureEntry::FeatureVariation +@@ -4378,7 +4395,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -4476,7 +4493,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa +@@ -4479,7 +4496,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa kSeamlessSigninCompactSignin, nullptr}}; #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) const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { {"profile-picker-variation", "keep-work-and-life-separate"}}; const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { -@@ -5448,7 +5465,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5451,7 +5468,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableIsolatedWebAppDevModeName, flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)}, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -5639,7 +5656,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5642,7 +5659,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -5654,6 +5671,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5657,6 +5674,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -6149,7 +6176,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6152,7 +6179,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kFillOnAccountSelectDescription, kOsAll, FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"first-run-desktop-refresh", flag_descriptions::kFirstRunDesktopRefreshName, flag_descriptions::kFirstRunDesktopRefreshDescription, -@@ -6485,7 +6512,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6488,7 +6515,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -6893,7 +6920,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6896,7 +6923,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7078,7 +7105,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7081,7 +7108,7 @@ const FeatureEntry kFeatureEntries[] = { "NtpRealboxNext")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -7324,7 +7351,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7327,7 +7354,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_PRINTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8177,7 +8204,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8180,7 +8207,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ash::features::kGesturePropertiesDBusService)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -8698,7 +8725,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8701,7 +8728,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -9147,7 +9174,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9155,7 +9182,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"auto-picture-in-picture-for-video-playback", flag_descriptions::kAutoPictureInPictureForVideoPlaybackName, flag_descriptions::kAutoPictureInPictureForVideoPlaybackDescription, -@@ -9328,7 +9355,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9336,7 +9363,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -9827,7 +9854,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9835,7 +9862,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -9842,7 +9869,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9850,7 +9877,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-user-navigation-capturing-pwa", flag_descriptions::kPwaNavigationCapturingName, flag_descriptions::kPwaNavigationCapturingDescription, -@@ -10245,7 +10272,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10253,7 +10280,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -10601,7 +10628,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10609,7 +10636,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -10680,7 +10707,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10688,7 +10715,7 @@ const FeatureEntry kFeatureEntries[] = { password_manager::features::kPasswordFormClientsideClassifier)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsDesktop, FEATURE_WITH_PARAMS_VALUE_TYPE(contextual_cueing::kContextualCueing, -@@ -11071,7 +11098,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11079,7 +11106,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -11102,7 +11129,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11110,7 +11137,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -11254,7 +11281,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11262,7 +11289,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( feature_engagement::kIPHAutofillCreditCardBenefitFeature)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -11300,7 +11327,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11308,7 +11335,7 @@ const FeatureEntry kFeatureEntries[] = { supervised_user::kSupervisedUserUseUrlFilteringService)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -11315,7 +11342,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11323,7 +11350,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableWebAppPredictableAppUpdatingDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebAppPredictableAppUpdating)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -11569,7 +11596,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11577,7 +11604,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -11639,7 +11666,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11647,7 +11674,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -11720,7 +11747,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11728,7 +11755,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -11784,7 +11811,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11792,7 +11819,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -12093,7 +12120,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12101,7 +12128,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID), #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-ntp-enterprise-shortcuts", flag_descriptions::kEnableNtpEnterpriseShortcutsName, flag_descriptions::kEnableNtpEnterpriseShortcutsDescription, -@@ -12204,7 +12231,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12212,7 +12239,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -12224,7 +12251,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12232,7 +12259,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillPreferBuyNowPayLaterBlocklists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-ai-based-amount-extraction", flag_descriptions::kAutofillEnableAiBasedAmountExtractionName, flag_descriptions::kAutofillEnableAiBasedAmountExtractionDescription, -@@ -12306,7 +12333,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12314,7 +12341,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -12364,7 +12391,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12372,7 +12399,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-manager", flag_descriptions::kPasskeyUnlockManagerName, flag_descriptions::kPasskeyUnlockManagerDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockManager)}, -@@ -12405,7 +12432,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12413,7 +12440,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kUserValueDefaultBrowserStrings)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-read-aloud-ts-text-segmentation", flag_descriptions::kReadAnythingReadAloudTsTextSegmentationName, flag_descriptions::kReadAnythingReadAloudTsTextSegmentationDescription, -@@ -12417,7 +12444,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12425,7 +12452,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -12425,7 +12452,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12433,7 +12460,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-prefill-name-requirement", flag_descriptions:: kProfileCreationFrictionReductionExperimentPrefillNameRequirementName, -@@ -12437,7 +12464,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12445,7 +12472,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentPrefillNameRequirement)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-remove-signin-step", flag_descriptions:: kProfileCreationFrictionReductionExperimentRemoveSigninStepName, -@@ -12449,7 +12476,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12457,7 +12484,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentRemoveSigninStep)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-skip-customize-profile", flag_descriptions:: kProfileCreationFrictionReductionExperimentSkipCustomizeProfileName, -@@ -12461,7 +12488,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12469,7 +12496,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentSkipCustomizeProfile)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"show-profile-picker-to-all-users-experiment", flag_descriptions::kShowProfilePickerToAllUsersExperimentName, flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, -@@ -12469,7 +12496,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12477,7 +12504,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kShowProfilePickerToAllUsersExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"open-all-profiles-from-profile-picker-experiment", flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentName, flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentDescription, -@@ -12512,7 +12539,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12520,7 +12547,7 @@ const FeatureEntry kFeatureEntries[] = { "AndroidDesktopZoomScaling")}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-picker-text-variations", flag_descriptions::kProfilePickerTextVariationsName, flag_descriptions::kProfilePickerTextVariationsDescription, -@@ -12523,7 +12550,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12531,7 +12558,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -12542,7 +12569,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12550,7 +12577,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(network::features::kConnectionAllowlists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -12550,7 +12577,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12558,7 +12585,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-omnibox-chip", flag_descriptions::kReadAnythingOmniboxChipName, flag_descriptions::kReadAnythingOmniboxChipDescription, kOsDesktop, -@@ -12579,7 +12606,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12587,7 +12614,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillDisableBnplCountryCheckForTesting)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"infobar-prioritization", flag_descriptions::kInfobarPrioritizationName, flag_descriptions::kInfobarPrioritizationDescription, kOsDesktop, FEATURE_VALUE_TYPE(infobars::features::kInfobarPrioritization)}, -@@ -12597,7 +12624,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12605,7 +12632,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-immersive-reading-mode", flag_descriptions::kReadAnythingImmersiveReadingModeName, flag_descriptions::kReadAnythingImmersiveReadingModeDescription, -@@ -12610,7 +12637,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12618,7 +12645,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription, -@@ -12683,7 +12710,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12691,7 +12718,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-your-saved-info-settings-page", flag_descriptions::kYourSavedInfoSettingsPageName, flag_descriptions::kYourSavedInfoSettingsPageDescription, kOsDesktop, -@@ -12780,14 +12807,14 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12788,14 +12815,14 @@ const FeatureEntry kFeatureEntries[] = { autofill::features:: kAutofillAiBasedAmountExtractionIgnoreSeenTermsForTesting)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"updater-ui", flag_descriptions::kUpdaterUIName, flag_descriptions::kUpdaterUIDescription, kOsLinux | kOsMac | kOsWin, FEATURE_VALUE_TYPE(features::kUpdaterUI)}, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-line-focus", flag_descriptions::kReadAnythingLineFocusName, flag_descriptions::kReadAnythingLineFocusDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kReadAnythingLineFocus)}, -@@ -12811,7 +12838,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12819,7 +12846,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(payments::android::kDeduplicateNativePaymentApps)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"password-upload-ui-update", flag_descriptions::kPasswordUploadUiUpdateName, flag_descriptions::kPasswordUploadUiUpdateDescription, -@@ -12840,7 +12867,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12848,7 +12875,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kAlwaysDrawCompositedToolbarHairline)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"saas-usage-reporting", flag_descriptions::kSaasUsageReportingName, flag_descriptions::kSaasUsageReportingDescription, kOsLinux | kOsMac | kOsWin, diff --git a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index c28ccb6aade7..69bbe9195a0d 100644 --- a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc +++ b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc @@ -1,38 +1,38 @@ ---- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/background/glic/glic_status_icon.cc @@ -128,7 +128,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set a vector icon for proper theming on Linux. status_icon_->SetIcon( GlicVectorIconManager::GetVectorIcon(IDR_GLIC_BUTTON_VECTOR_ICON)); @@ -169,7 +169,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control GlicStatusIcon::~GlicStatusIcon() { context_menu_ = nullptr; if (status_icon_) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) status_icon_->RemoveObserver(this); #endif std::unique_ptr removed_icon = @@ -306,7 +306,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato } void GlicStatusIcon::UpdateVisibilityOfExitInContextMenu() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (context_menu_) { const bool is_visible = GlobalBrowserCollection::GetInstance()->IsEmpty(); const std::optional index = -@@ -389,7 +389,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -390,7 +390,7 @@ std::unique_ptr GlicStatusIcon::C menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_SETTINGS, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_SETTINGS)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) menu->AddSeparator(ui::NORMAL_SEPARATOR); menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_EXIT, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_EXIT)); diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 6d808c816c52..2e2224f09e57 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,21 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/flag_descriptions.h -@@ -8306,6 +8306,18 @@ inline constexpr char kEnableOktaSSOName[] = +@@ -8311,6 +8311,18 @@ inline constexpr char kEnableOktaSSOName[] = inline constexpr char kEnableOktaSSODescription[] = "Enables native support for Okta SSO on managed MacOS devices."; +#if BUILDFLAG(IS_BSD) +inline constexpr char kAudioBackendName[] = + "Audio Backend"; +inline constexpr char kAudioBackendDescription[] = +#if BUILDFLAG(IS_OPENBSD) + "Select the desired audio backend to use. The default is sndio."; +#elif BUILDFLAG(IS_FREEBSD) + "Select the desired audio backend to use. The default will automatically " + "enumerate through the supported backends."; +#endif +#endif + // ============================================================================ // Don't just add flags to the end, put them in the alphabetical order. // ============================================================================ diff --git a/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc b/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc index a13fbe39a2ba..86ad348c1ef5 100644 --- a/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc +++ b/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc @@ -1,20 +1,20 @@ ---- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -67,7 +67,7 @@ +@@ -68,7 +68,7 @@ #include "url/gurl.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -345,7 +345,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU +@@ -354,7 +354,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU bool PageLoadMetricsEmbedder::ShouldObserveScheme(std::string_view scheme) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return scheme == webapps::kIsolatedAppScheme; #else // !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS)) diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.h deleted file mode 100644 index ec3c57a5f66a..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.h.orig 2026-03-13 06:02:14 UTC -+++ chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.h -@@ -32,7 +32,7 @@ class MultiContentsViewDropTargetController final - public MultiContentsDropTargetView::DragDelegate { - public: - static constexpr base::TimeDelta kShowDropTargetForTabDelay = --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::Milliseconds(1000); - #else - base::Milliseconds(500); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc index 545e7effe759..1ace9964c41b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -1846,7 +1846,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup +@@ -1850,7 +1850,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup } } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (new_state != OmniboxPopupState::kNone) { // Close any overlapping user education bubbles when any popup opens. // It's not great for promos to overlap the omnibox if the user opens the diff --git a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc index d823da786cd3..2ac1064884be 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1267,7 +1267,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1268,7 +1268,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered when a shared tab becomes the active tab."))); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // kIPHSupervisedUserProfileSigninFeature: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( -@@ -1524,7 +1524,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1529,7 +1529,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered to inform users of the availability of the " "new translate screen feature on the Lens Overlay."))); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc index 921db51f635b..9dc5482aa480 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -168,7 +168,7 @@ const char* kMacShareIconResourceName = +@@ -169,7 +169,7 @@ const char* kMacShareIconResourceName = #elif BUILDFLAG(IS_WIN) const char* kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share.svg"; #else -@@ -228,7 +228,7 @@ static void DefineChromeRefreshRealboxIcons() { +@@ -229,7 +229,7 @@ static void DefineChromeRefreshRealboxIcons() { #elif BUILDFLAG(IS_WIN) kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else -@@ -605,7 +605,7 @@ std::string SearchboxHandler::AutocompleteIconToResour +@@ -606,7 +606,7 @@ std::string SearchboxHandler::AutocompleteIconToResour if (icon.name == omnibox::kShareWinChromeRefreshIcon.name) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { return kLinuxShareIconResourceName; } 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 6f29ef3ad0e2..ffec046555ba 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,155 +1,149 @@ ---- content/app/content_main_runner_impl.cc.orig 2026-03-13 06:02:14 UTC +--- content/app/content_main_runner_impl.cc.orig 2026-03-24 07:37:53 UTC +++ content/app/content_main_runner_impl.cc @@ -152,18 +152,21 @@ #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" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif +#include "third_party/skia/rust/png/FFI.rs.h" #include "third_party/boringssl/src/include/openssl/crypto.h" #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck @@ -187,6 +190,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/android/background_thread_pool_field_trial.h" #include "base/system/sys_info.h" @@ -366,7 +373,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // Loads registered library CDMs but does not initialize them. This is needed by @@ -385,7 +392,10 @@ void PreloadLibraryCdms() { void PreSandboxInit() { // Ensure the /dev/urandom is opened. + // we use arc4random +#if !BUILDFLAG(IS_BSD) base::GetUrandomFD(); +#endif // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/ // files. @@ -397,9 +407,16 @@ void PreSandboxInit() { // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md CRYPTO_pre_sandbox_init(); +#if BUILDFLAG(IS_BSD) + // rust_png calls into sysctl so cache the cpu features before pledge(2) + rust_png::initialize_cpudetect(); +#endif + +#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_LIBRARY_CDMS) // Ensure access to the library CDMs before the sandbox is turned on. @@ -628,7 +645,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* // Once Zygote forks and feature list initializes we can start a thread to // begin tracing immediately. if (delegate->ShouldInitializePerfetto(invoked_in_child)) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (process_type == switches::kGpuProcess) { tracing::InitTracingPostFeatureList(/*enable_consumer=*/false, /*will_trace_thread_restart=*/true); @@ -732,7 +749,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( base::HangWatcher::CreateHangWatcherInstance(); unregister_thread_closure = base::HangWatcher::RegisterThread( base::HangWatcher::ThreadType::kMainThread); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is // initialized, because the sandbox can't be started with multiple threads. // TODO(mpdenton): start the HangWatcher after the sandbox is initialized. @@ -848,13 +865,15 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam g_fds->Set(kTraceOutputSharedMemoryDescriptor, kTraceOutputSharedMemoryDescriptor + base::GlobalDescriptors::kBaseDescriptor); + g_fds->Set(kPseudonymizationSaltDescriptor, + kPseudonymizationSaltDescriptor + + 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) @@ -1010,7 +1029,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam // SeatbeltExecServer. CHECK(sandbox::Seatbelt::IsSandboxed()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // In sandboxed processes and zygotes, certain resource should be pre-warmed // as they cannot be initialized under a sandbox. In addition, loading these // resources in zygotes (including the unsandboxed zygote) allows them to be -@@ -1020,10 +1039,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam - process_type == switches::kZygoteProcess) { - PreSandboxInit(); - } -+#elif BUILDFLAG(IS_BSD) -+ PreSandboxInit(); - #elif BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_IOS_TVOS) +@@ -1024,6 +1043,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam ChildProcessEnterSandbox(); #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) -@@ -1140,6 +1171,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1140,6 +1169,11 @@ NO_STACK_PROTECTOR int 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);