diff --git a/www/chromium/Makefile b/www/chromium/Makefile index bf695ea6e24b..757fee9142f3 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,428 +1,428 @@ PORTNAME= chromium -PORTVERSION= 144.0.7559.132 +PORTVERSION= 145.0.7632.45 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 3c3a8cc0c7a4..f88323040248 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,345 +1,345 @@ -TIMESTAMP = 1770648493 -SHA256 (chromium-144.0.7559.132-lite.tar.xz) = 41cc60391836575f4a40ffd576f647c0b9105219acb494e739c9ea2c66f5ddb9 -SIZE (chromium-144.0.7559.132-lite.tar.xz) = 1292631752 -SHA256 (chromium-144.0.7559.132-profdata.tar.xz) = a92b2122ec73bc59a284bfe734279b5cecb7227d010d90c3ee2f865ace637e89 -SIZE (chromium-144.0.7559.132-profdata.tar.xz) = 14850172 +TIMESTAMP = 1770798621 +SHA256 (chromium-145.0.7632.45-lite.tar.xz) = a7ce8bd85d36e6c01d382e71c9018b0d118553a848e32dd399aea2e437476be1 +SIZE (chromium-145.0.7632.45-lite.tar.xz) = 1416448168 +SHA256 (chromium-145.0.7632.45-profdata.tar.xz) = efa40ddcfe9a069cadc9f0d1a82eec0efa511a4db816e86f325be8223703bfdd +SIZE (chromium-145.0.7632.45-profdata.tar.xz) = 15042256 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-144.0.7559.132-testdata.tar.xz) = 25b9e93cfb265a2d70f6fe27cb3efe5f88b3c6c4f1559a1a7ab06d0b74292773 -SIZE (chromium-144.0.7559.132-testdata.tar.xz) = 1310786880 +SHA256 (chromium-145.0.7632.45-testdata.tar.xz) = 8c3681570164328c6a2d8a0fadd55ad081e75a1d2d56df6fddd6100cb9a67b38 +SIZE (chromium-145.0.7632.45-testdata.tar.xz) = 1319076104 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-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index 599b90399dd2..d4977bc100bd 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,150 +1,150 @@ ---- base/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- base/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ base/BUILD.gn -@@ -1127,11 +1127,26 @@ component("base") { +@@ -1136,11 +1136,26 @@ component("base") { # Needed for if using newer C++ library than sysroot, except if # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. - if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && + if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) && host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } + # *BSD needs libkvm + if (is_bsd) { + libs += [ + "kvm", + "epoll-shim", + ] + } + + if (is_freebsd) { + libs += [ + "execinfo", + "util", + ] + } + if (use_allocator_shim) { if (is_apple) { sources += [ "allocator/early_zone_registration_apple.h" ] -@@ -1151,7 +1166,7 @@ component("base") { +@@ -1160,7 +1175,7 @@ component("base") { # Allow more direct string conversions on platforms with native utf8 # strings - if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { + if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { defines += [ "SYSTEM_NATIVE_UTF8" ] } -@@ -2155,6 +2170,22 @@ component("base") { +@@ -2165,6 +2180,22 @@ component("base") { ] } + if (is_openbsd) { + sources += [ + "process/process_handle_openbsd.cc", + "process/process_iterator_openbsd.cc", + "process/process_metrics_openbsd.cc", + "system/sys_info_openbsd.cc", + ] + } else if (is_freebsd) { + sources += [ + "process/process_handle_freebsd.cc", + "process/process_iterator_freebsd.cc", + "process/process_metrics_freebsd.cc", + "system/sys_info_freebsd.cc", + ] + } + # iOS if (is_ios) { sources += [ -@@ -2329,6 +2360,33 @@ component("base") { +@@ -2339,6 +2370,33 @@ component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_inotify.cc", + "files/scoped_file_linux.cc", + "process/set_process_title_linux.cc", + "process/set_process_title_linux.h", + "system/sys_info_linux.cc", + "process/process_iterator_linux.cc", + "process/process_linux.cc", + "process/process_metrics_linux.cc", + "process/process_handle_linux.cc", + "profiler/stack_copier_signal.cc", + "profiler/stack_copier_signal.h", + "profiler/thread_delegate_posix.cc", + "profiler/thread_delegate_posix.h", + "threading/platform_thread_linux.cc", + "stack_canary_linux.cc", + "stack_canary_linux.h", + ] + sources += [ + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", + "files/file_path_watcher_bsd.cc", + "threading/platform_thread_bsd.cc", + ] + } + if (use_blink) { sources += [ "files/file_path_watcher.cc", -@@ -2734,7 +2792,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2769,7 +2827,7 @@ buildflag_header("protected_memory_buildflags") { header = "protected_memory_buildflags.h" header_dir = "base/memory" - protected_memory_enabled = !is_component_build && is_clang && + protected_memory_enabled = !is_openbsd && !is_component_build && is_clang && (is_win || is_linux || is_android || is_mac) flags = [ "PROTECTED_MEMORY_ENABLED=$protected_memory_enabled" ] -@@ -3240,7 +3298,7 @@ if (is_apple) { +@@ -3275,7 +3333,7 @@ if (is_apple) { } } -if (is_linux || is_chromeos) { +if (!is_bsd && (is_linux || is_chromeos)) { # This test must compile with -fstack-protector-all source_set("stack_canary_linux_unittests") { testonly = true -@@ -3981,7 +4039,7 @@ test("base_unittests") { +@@ -4015,7 +4073,7 @@ test("base_unittests") { configs += [ ":delayload_esent_dll" ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "debug/proc_maps_linux_unittest.cc", "files/scoped_file_linux_unittest.cc", -@@ -4006,7 +4064,7 @@ test("base_unittests") { +@@ -4040,7 +4098,7 @@ test("base_unittests") { "posix/file_descriptor_shuffle_unittest.cc", "posix/unix_domain_socket_unittest.cc", ] - if (!is_apple) { + if (!is_apple && !is_bsd) { sources += [ "profiler/stack_base_address_posix_unittest.cc", "profiler/stack_copier_signal_unittest.cc", -@@ -4017,7 +4075,7 @@ test("base_unittests") { +@@ -4051,7 +4109,7 @@ test("base_unittests") { # Allow more direct string conversions on platforms with native utf8 # strings - if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { + if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { defines += [ "SYSTEM_NATIVE_UTF8" ] } -@@ -4204,7 +4262,7 @@ test("base_unittests") { +@@ -4238,7 +4296,7 @@ test("base_unittests") { deps += [ ":base_profiler_test_support_library" ] } - if (is_fuchsia || is_linux || is_chromeos) { + if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/elf_reader_unittest.cc", "debug/test_elf_image_builder.cc", diff --git a/www/chromium/files/patch-base_allocator_dispatcher_tls.h b/www/chromium/files/patch-base_allocator_dispatcher_tls.h index dfc04c58133e..b15d89242dc1 100644 --- a/www/chromium/files/patch-base_allocator_dispatcher_tls.h +++ b/www/chromium/files/patch-base_allocator_dispatcher_tls.h @@ -1,11 +1,11 @@ ---- base/allocator/dispatcher/tls.h.orig 2025-09-06 10:01:20 UTC +--- base/allocator/dispatcher/tls.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/dispatcher/tls.h -@@ -86,7 +86,7 @@ struct BASE_EXPORT MMapAllocator { +@@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator { constexpr static size_t AllocationChunkSize = 16384; #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) constexpr static size_t AllocationChunkSize = 16384; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) constexpr static size_t AllocationChunkSize = 16384; #else constexpr static size_t AllocationChunkSize = 4096; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h index 75d7d71da3dc..cfa93eaa66d0 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -@@ -43,7 +43,7 @@ AslrMask(uintptr_t bits) { +@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { #if PA_BUILDFLAG(PA_ARCH_CPU_64_BITS) - #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !PA_BUILDFLAG(IS_BSD) // We shouldn't allocate system pages at all for sanitizer builds. However, // we do, and if random hint addresses interfere with address ranges -@@ -130,7 +130,7 @@ AslrMask(uintptr_t bits) { +@@ -125,7 +125,7 @@ AslrMask(uintptr_t bits) { return AslrAddress(0x20000000ULL); } #elif PA_BUILDFLAG(PA_ARCH_CPU_ARM64) - #if PA_BUILDFLAG(IS_LINUX) + #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD) // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on // page size and number of levels of translation pages used. We use diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h index 26454905596f..0a4cdb2c1fb2 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-12-05 10:12:50 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h -@@ -284,7 +284,7 @@ bool DecommitAndZeroSystemPages(void* address, +@@ -279,7 +279,7 @@ bool DecommitAndZeroSystemPages(void* address, // recommitted. Do not assume that this will not change over time. constexpr PA_COMPONENT_EXPORT( PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h index 56148b42ed6e..0ed3f4004a5b 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h @@ -1,15 +1,15 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2025-10-30 15:44:36 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -@@ -31,9 +31,9 @@ +@@ -26,9 +26,9 @@ #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) #elif (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_LOONGARCH64)) + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) || \ + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_LOONGARCH64)) // This should work for all POSIX (if needed), but currently all other // supported OS/architecture combinations use either hard-coded values // (such as x86) or have means to determine these values without needing diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc index 88c53f45a67d..1ffdc4c482e7 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc -@@ -44,7 +44,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API +@@ -40,7 +40,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \ - __has_include()) + __has_include() && !PA_BUILDFLAG(IS_BSD)) struct __ifunc_arg_t; #include "partition_alloc/aarch64_support.h" diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h index 2dd6b4cfe14c..288c3f9162a4 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h @@ -1,16 +1,16 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h -@@ -322,8 +322,12 @@ bool TryRecommitSystemPagesInternal( +@@ -318,8 +318,12 @@ bool TryRecommitSystemPagesInternal( void DiscardSystemPagesInternal(uintptr_t address, size_t length) { void* ptr = reinterpret_cast(address); -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) +#if PA_BUILDFLAG(IS_BSD) + int ret = madvise(ptr, length, MADV_FREE); +#else int ret = madvise(ptr, length, MADV_FREE_REUSABLE); +#endif if (ret) { // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED. ret = madvise(ptr, length, MADV_DONTNEED); diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc index 1a7f78ac4f45..acd0191ed72a 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc @@ -1,34 +1,34 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc -@@ -18,11 +18,11 @@ +@@ -14,11 +14,11 @@ #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h" #include "partition_alloc/partition_alloc_base/strings/safe_sprintf.h" -#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) +#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) #include // For ElfW() macro. #endif -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) #include #endif -@@ -30,7 +30,7 @@ namespace partition_alloc::internal::base::debug { +@@ -26,7 +26,7 @@ namespace partition_alloc::internal::base::debug { namespace { -#if !PA_BUILDFLAG(IS_APPLE) +#if !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) // On Android the 'open' function has two versions: // int open(const char *pathname, int flags); @@ -374,7 +374,7 @@ void PrintStackTraceInternal(const void** trace, size_ } #endif // !PA_BUILDFLAG(IS_APPLE) -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) // Since /proc/self/maps is not available, use dladdr() to obtain module // names and offsets inside the modules from the given addresses. void PrintStackTraceInternal(const void* const* trace, size_t size) { diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc index 51a5a958bb13..2a5ae83c0634 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc @@ -1,13 +1,13 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc -@@ -107,6 +107,10 @@ void RandBytes(void* output, size_t output_length) { +@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { if (getentropy(output, output_length) == 0) { return; } +#elif PA_BUILDFLAG(IS_BSD) + if (getentropy(output, output_length) == 0) { + return; + } #endif // If getrandom(2) above returned with an error and the /dev/urandom fallback // took place on Linux/ChromeOS bots, they would fail with a CHECK in diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h index 107a428fe85d..dd91505bc9b1 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h -@@ -15,7 +15,7 @@ +@@ -10,7 +10,7 @@ namespace partition_alloc::internal::base::internal { -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // Current thread id is cached in thread local storage for performance reasons. // In some rare cases it's important to invalidate that cache explicitly (e.g. // after going through clone() syscall which does not call pthread_atfork() diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc index 109676a94d16..bc66fc59bf05 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc -@@ -23,7 +23,7 @@ +@@ -18,7 +18,7 @@ #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h" -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include #include #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h index c1f2a0160e09..8555e11c078e 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2025-10-30 15:44:36 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h -@@ -171,7 +171,7 @@ constexpr bool kUseLazyCommit = false; +@@ -166,7 +166,7 @@ constexpr bool kUseLazyCommit = false; // macOS, where it yielded no beenefit (nor any real downside). constexpr bool kUseFewerMemoryRegions = #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_ANDROID) || \ - PA_BUILDFLAG(IS_CHROMEOS) + PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) true; #else false; -@@ -181,7 +181,7 @@ constexpr bool kUseFewerMemoryRegions = +@@ -176,7 +176,7 @@ constexpr bool kUseFewerMemoryRegions = // This may be required on more platforms in the future. #define PA_CONFIG_HAS_ATFORK_HANDLER() \ (PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_LINUX) || \ - PA_BUILDFLAG(IS_CHROMEOS)) + PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)) #if PA_BUILDFLAG(MOVE_METADATA_OUT_OF_GIGACAGE_FOR_64_BITS_POINTERS) && \ PA_BUILDFLAG(HAS_64_BIT_POINTERS) -@@ -238,7 +238,7 @@ constexpr bool kUseFewerMemoryRegions = +@@ -233,7 +233,7 @@ constexpr bool kUseFewerMemoryRegions = // Also enabled on ARM64 macOS and iOS, as the 16kiB pages on this platform lead // to larger slot spans. #if PA_BUILDFLAG(IS_LINUX) || \ - (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) + (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || PA_BUILDFLAG(IS_BSD) #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 1 #else #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 0 diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h index 18232546ab94..eeeeb0dff7bb 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2025-10-02 04:28:32 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -315,7 +315,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); +@@ -310,7 +310,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); // 8GB for each of the glued pools). #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ - PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; -@@ -399,7 +399,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { +@@ -394,7 +394,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation // where a normal slot span will be large enough to contain multiple items, // but the address will go over the final partition page after being aligned. -#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) - constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; + inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; #else - constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; + inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h index 6754997eb021..11cc6876b8c5 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h @@ -1,16 +1,16 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h -@@ -34,9 +34,13 @@ namespace internal { +@@ -29,9 +29,13 @@ namespace internal { // the second one 16. We could technically return something different for // malloc() and operator new(), but this would complicate things, and most of // our allocations are presumably coming from operator new() anyway. +#if defined(__i386__) && defined(OS_FREEBSD) +constexpr size_t kAlignment = 8; +#else constexpr inline size_t kAlignment = std::max(alignof(max_align_t), static_cast(__STDCPP_DEFAULT_NEW_ALIGNMENT__)); +#endif static_assert(base::bits::HasSingleBit(kAlignment), "Alignment must be power of two."); static_assert(kAlignment <= 16, diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc index 2434af9585b5..bd5ab3739020 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-01-14 08:33:23 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc -@@ -52,7 +52,7 @@ +@@ -48,7 +48,7 @@ #include "wow64apiset.h" #endif -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include #endif // PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) -@@ -301,7 +301,7 @@ void PartitionAllocMallocInitOnce() { +@@ -297,7 +297,7 @@ void PartitionAllocMallocInitOnce() { return; } -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // When fork() is called, only the current thread continues to execute in the // child process. If the lock is held, but *not* by this thread when fork() is // called, we have a deadlock. -@@ -1011,7 +1011,7 @@ void PartitionRoot::Init(PartitionOptions opts) { +@@ -1007,7 +1007,7 @@ void PartitionRoot::Init(PartitionOptions opts) { // apple OSes. PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14))); -#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) // Check runtime pagesize. Though the code is currently the same, it is // not merged with the IS_APPLE case above as a 1 << 16 case is only // supported on Linux on AArch64. diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc index f0e58763c65d..f7795810e8eb 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc @@ -1,36 +1,36 @@ ---- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2025-10-30 15:44:36 UTC +--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc -@@ -25,7 +25,16 @@ +@@ -20,7 +20,16 @@ #endif #if PA_CONFIG(HAS_LINUX_KERNEL) +#if defined(OS_OPENBSD) +#include +#include +#elif defined(OS_FREEBSD) +#include +#include +#include +#else #include +#endif #include #include -@@ -155,8 +164,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, +@@ -159,8 +168,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, int saved_errno = errno; errno = 0; +#if defined(OS_FREEBSD) + long retval = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, + kLockedContended, nullptr, nullptr); +#elif defined(OS_OPENBSD) + long retval = futex(reinterpret_cast(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + kLockedContended, nullptr, nullptr); +#else long retval = syscall(SYS_futex, ftx, op | FUTEX_PRIVATE_FLAG, value, nullptr, nullptr, 0); +#endif if (retval == -1) { // These are programming errors, check them. PA_DCHECK((errno != EPERM) || (errno != EACCES) || (errno != EINVAL) || diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc index 768b84dd5262..b4e92454ac95 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc @@ -1,50 +1,50 @@ ---- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc -@@ -23,6 +23,10 @@ +@@ -18,6 +18,10 @@ #include #endif +#if PA_BUILDFLAG(IS_BSD) +#include +#endif + #if PA_BUILDFLAG(PA_LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif -@@ -53,6 +57,36 @@ void* GetStackTop() { +@@ -48,6 +52,36 @@ void* GetStackTop() { void* GetStackTop() { return pthread_get_stackaddr_np(pthread_self()); +} + +#elif PA_BUILDFLAG(IS_OPENBSD) + +void* GetStackTop() { + stack_t ss; + if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; + return reinterpret_cast(ss.ss_sp); +} + +#elif PA_BUILDFLAG(IS_FREEBSD) + +void* GetStackTop() { + pthread_attr_t attr; + int error = pthread_attr_init(&attr); + if (error) { + return nullptr; + } + error = pthread_attr_get_np(pthread_self(), &attr); + if (!error) { + void* base; + size_t size; + error = pthread_attr_getstack(&attr, &base, &size); + PA_CHECK(!error); + pthread_attr_destroy(&attr); + return reinterpret_cast(base) + size; + } + pthread_attr_destroy(&attr); + return nullptr; } #elif PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA) diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc index 2dfe6df53365..9b756c719e05 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2025-09-06 10:01:20 UTC +--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2026-02-11 09:05:39 UTC +++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc -@@ -21,7 +21,7 @@ +@@ -16,7 +16,7 @@ #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) +#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD) #error "This pkey code is currently only supported on Linux and ChromeOS" #endif diff --git a/www/chromium/files/patch-base_debug_elf__reader.cc b/www/chromium/files/patch-base_debug_elf__reader.cc index 3c9b50fe69c5..6b731e4a2419 100644 --- a/www/chromium/files/patch-base_debug_elf__reader.cc +++ b/www/chromium/files/patch-base_debug_elf__reader.cc @@ -1,13 +1,13 @@ ---- base/debug/elf_reader.cc.orig 2025-03-05 08:14:56 UTC +--- base/debug/elf_reader.cc.orig 2026-02-11 09:05:39 UTC +++ base/debug/elf_reader.cc -@@ -49,6 +49,10 @@ using Xword = Elf64_Xword; +@@ -45,6 +45,10 @@ using Xword = Elf64_Xword; constexpr char kGnuNoteName[] = "GNU"; +#ifndef NT_GNU_BUILD_ID +#define NT_GNU_BUILD_ID 3 +#endif + // Returns a pointer to the header of the ELF binary mapped into memory, or a // null pointer if the header is invalid. Here and below |elf_mapped_base| is a // pointer to the start of the ELF image. diff --git a/www/chromium/files/patch-base_debug_proc__maps__linux.cc b/www/chromium/files/patch-base_debug_proc__maps__linux.cc index c18ef40c33c4..9cffba34ee87 100644 --- a/www/chromium/files/patch-base_debug_proc__maps__linux.cc +++ b/www/chromium/files/patch-base_debug_proc__maps__linux.cc @@ -1,11 +1,11 @@ ---- base/debug/proc_maps_linux.cc.orig 2026-01-14 08:33:23 UTC +--- base/debug/proc_maps_linux.cc.orig 2026-02-11 09:05:39 UTC +++ base/debug/proc_maps_linux.cc -@@ -23,7 +23,7 @@ +@@ -20,7 +20,7 @@ #include "base/strings/string_split.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include #endif diff --git a/www/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc index 6f08d4e44207..2becfaefae46 100644 --- a/www/chromium/files/patch-base_debug_stack__trace.cc +++ b/www/chromium/files/patch-base_debug_stack__trace.cc @@ -1,39 +1,39 @@ ---- base/debug/stack_trace.cc.orig 2025-10-30 15:44:36 UTC +--- base/debug/stack_trace.cc.orig 2026-02-11 09:05:39 UTC +++ base/debug/stack_trace.cc -@@ -292,7 +292,7 @@ bool StackTrace::WillSymbolizeToStreamForTesting() { +@@ -293,7 +293,7 @@ bool StackTrace::WillSymbolizeToStreamForTesting() { // Symbols are not expected to be reliable when gn args specifies // symbol_level=0. return false; -#elif defined(__UCLIBC__) || defined(_AIX) +#elif defined(__UCLIBC__) || defined(_AIX) || BUILDFLAG(IS_BSD) // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX. // See https://crbug.com/706728 return false; -@@ -357,7 +357,9 @@ void StackTrace::OutputToStreamWithPrefix(std::ostream +@@ -360,7 +360,9 @@ void StackTrace::OutputToStreamWithPrefix(std::ostream } return; } +#if !BUILDFLAG(IS_BSD) OutputToStreamWithPrefixImpl(os, prefix_string); +#endif } std::string StackTrace::ToString() const { -@@ -366,7 +368,7 @@ std::string StackTrace::ToString() const { +@@ -369,7 +371,7 @@ std::string StackTrace::ToString() const { std::string StackTrace::ToStringWithPrefix(cstring_view prefix_string) const { std::stringstream stream; -#if !defined(__UCLIBC__) && !defined(_AIX) +#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) OutputToStreamWithPrefix(&stream, prefix_string); #endif return stream.str(); -@@ -390,7 +392,7 @@ bool StackTrace::ShouldSuppressOutput() { +@@ -393,7 +395,7 @@ bool StackTrace::ShouldSuppressOutput() { } std::ostream& operator<<(std::ostream& os, const StackTrace& s) { -#if !defined(__UCLIBC__) && !defined(_AIX) +#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) s.OutputToStream(&os); #else os << "StackTrace::OutputToStream not implemented."; diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc index f1884d7de037..42c17b309a42 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,101 +1,101 @@ ---- base/debug/stack_trace_posix.cc.orig 2025-09-06 10:01:20 UTC +--- base/debug/stack_trace_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/debug/stack_trace_posix.cc -@@ -51,7 +51,7 @@ +@@ -47,7 +47,7 @@ // execinfo.h and backtrace(3) are really only present in glibc and in macOS // libc. #if BUILDFLAG(IS_APPLE) || \ - (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX)) + (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD)) #define HAVE_BACKTRACE #include #endif -@@ -69,8 +69,10 @@ +@@ -65,8 +65,10 @@ #include #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +#if !BUILDFLAG(IS_BSD) #include +#endif #include "base/debug/proc_maps_linux.h" #endif -@@ -327,7 +329,7 @@ void PrintToStderr(const char* output) { +@@ -323,7 +325,7 @@ void PrintToStderr(const char* output) { std::ignore = HANDLE_EINTR(write(STDERR_FILENO, output, strlen(output))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void AlarmSignalHandler(int signal, siginfo_t* info, void* void_context) { // We have seen rare cases on AMD linux where the default signal handler // either does not run or a thread (Probably an AMD driver thread) prevents -@@ -344,7 +346,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v +@@ -340,7 +342,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v "Warning: Default signal handler failed to terminate process.\n"); PrintToStderr("Calling exit_group() directly to prevent timeout.\n"); // See: https://man7.org/linux/man-pages/man2/exit_group.2.html +#if BUILDFLAG(IS_BSD) + _exit(EXIT_FAILURE); +#else syscall(SYS_exit_group, EXIT_FAILURE); +#endif } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -548,7 +554,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -544,7 +550,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf _exit(EXIT_FAILURE); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Set an alarm to trigger in case the default handler does not terminate // the process. See 'AlarmSignalHandler' for more details. struct sigaction action; -@@ -573,6 +579,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -569,6 +575,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf // signals that do not re-raise autonomously), such as signals delivered via // kill() and asynchronous hardware faults such as SEGV_MTEAERR, which would // otherwise be lost when re-raising the signal via raise(). +#if !BUILDFLAG(IS_BSD) long retval = syscall(SYS_rt_tgsigqueueinfo, getpid(), syscall(SYS_gettid), info->si_signo, info); if (retval == 0) { -@@ -587,6 +594,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -583,6 +590,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf if (errno != EPERM) { _exit(EXIT_FAILURE); } +#endif #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -779,6 +787,7 @@ class SandboxSymbolizeHelper { +@@ -775,6 +783,7 @@ class SandboxSymbolizeHelper { return -1; } +#if !BUILDFLAG(IS_BSD) // This class is copied from // third_party/crashpad/crashpad/util/linux/scoped_pr_set_dumpable.h. // It aims at ensuring the process is dumpable before opening /proc/self/mem. -@@ -871,11 +880,15 @@ class SandboxSymbolizeHelper { +@@ -867,11 +876,15 @@ class SandboxSymbolizeHelper { r.base = cur_base; } } +#endif // Parses /proc/self/maps in order to compile a list of all object file names // for the modules that are loaded in the current process. // Returns true on success. bool CacheMemoryRegions() { +#if BUILDFLAG(IS_BSD) + return false; +#else // Reads /proc/self/maps. std::string contents; if (!ReadProcMaps(&contents)) { -@@ -893,6 +906,7 @@ class SandboxSymbolizeHelper { +@@ -889,6 +902,7 @@ class SandboxSymbolizeHelper { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. diff --git a/www/chromium/files/patch-base_files_dir__reader__linux.h b/www/chromium/files/patch-base_files_dir__reader__linux.h index be86558f0c8b..4a4cc5357d59 100644 --- a/www/chromium/files/patch-base_files_dir__reader__linux.h +++ b/www/chromium/files/patch-base_files_dir__reader__linux.h @@ -1,39 +1,39 @@ ---- base/files/dir_reader_linux.h.orig 2025-02-19 07:43:18 UTC +--- base/files/dir_reader_linux.h.orig 2026-02-11 09:05:39 UTC +++ base/files/dir_reader_linux.h -@@ -21,10 +21,16 @@ +@@ -19,10 +19,16 @@ #include "base/logging.h" #include "base/posix/eintr_wrapper.h" +#include "build/build_config.h" + // See the comments in dir_reader_posix.h about this. namespace base { +#if BUILDFLAG(IS_BSD) +#include +typedef struct dirent linux_dirent; +#else struct linux_dirent { uint64_t d_ino; int64_t d_off; -@@ -32,6 +38,7 @@ struct linux_dirent { +@@ -30,6 +36,7 @@ struct linux_dirent { unsigned char d_type; char d_name[0]; }; +#endif class DirReaderLinux { public: -@@ -66,7 +73,11 @@ class DirReaderLinux { +@@ -61,7 +68,11 @@ class DirReaderLinux { return true; } +#if BUILDFLAG(IS_BSD) -+ const int r = getdents(fd_, reinterpret_cast(buf_), sizeof(buf_)); ++ const int r = getdents(fd_, reinterpret_cast(buf_.data()), buf_.size()); +#else - const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); + const long r = syscall(__NR_getdents64, fd_, buf_.data(), buf_.size()); +#endif if (r == 0) { return false; } diff --git a/www/chromium/files/patch-base_files_file__util__posix.cc b/www/chromium/files/patch-base_files_file__util__posix.cc index 7f43792f197e..70117c6fea0f 100644 --- a/www/chromium/files/patch-base_files_file__util__posix.cc +++ b/www/chromium/files/patch-base_files_file__util__posix.cc @@ -1,48 +1,48 @@ ---- base/files/file_util_posix.cc.orig 2026-01-14 08:33:23 UTC +--- base/files/file_util_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/files/file_util_posix.cc -@@ -944,6 +944,7 @@ bool CreateNewTempDirectory(FilePath::StringViewType p +@@ -936,6 +936,7 @@ bool CreateNewTempDirectory(FilePath::StringViewType p bool CreateDirectoryAndGetError(const FilePath& full_path, File::Error* error) { ScopedBlockingCall scoped_blocking_call( FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). + const FilePath kFileSystemRoot("/"); // Avoid checking subdirs if directory already exists. if (DirectoryExists(full_path)) { -@@ -953,8 +954,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -945,8 +946,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p // Collect a list of all missing directories. std::vector missing_subpaths({full_path}); FilePath last_path = full_path; - for (FilePath path = full_path.DirName(); path.value() != last_path.value(); - path = path.DirName()) { + for (FilePath path = full_path.DirName(); (path.value() != last_path.value() && + (path != kFileSystemRoot)); path = path.DirName()) { if (DirectoryExists(path)) { break; } -@@ -972,21 +973,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -964,21 +965,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p } #endif // BUILDFLAG(IS_CHROMEOS) - if (File::Mkdir(subpath, mode) == 0) { - continue; - } - // Mkdir failed, but it might have failed with EEXIST, or some other error - // due to the directory appearing out of thin air. This can occur if - // two processes are trying to create the same file system tree at the same - // time. Check to see if it exists and make sure it is a directory. - int saved_errno = errno; - if (!DirectoryExists(subpath)) { - if (error) { + if ((mkdir(subpath.value().c_str(), mode) == -1) && + ((full_path != subpath) ? (errno != ENOENT) : (-1))) { + int saved_errno = errno; + if (error) *error = File::OSErrorToFileError(saved_errno); - } - errno = saved_errno; return false; } + errno = 0; } return true; } diff --git a/www/chromium/files/patch-base_linux__util.cc b/www/chromium/files/patch-base_linux__util.cc index 53a96952eaf4..45dfc5021d42 100644 --- a/www/chromium/files/patch-base_linux__util.cc +++ b/www/chromium/files/patch-base_linux__util.cc @@ -1,17 +1,17 @@ ---- base/linux_util.cc.orig 2025-04-04 08:52:13 UTC +--- base/linux_util.cc.orig 2026-02-11 09:05:39 UTC +++ base/linux_util.cc -@@ -163,10 +163,14 @@ void SetLinuxDistro(const std::string& distro) { +@@ -159,10 +159,14 @@ void SetLinuxDistro(const std::string& distro) { } bool GetThreadsForProcess(pid_t pid, std::vector* tids) { +#if BUILDFLAG(IS_BSD) + return false; +#else // 25 > strlen("/proc//task") + strlen(base::NumberToString(INT_MAX)) + 1 = 22 char buf[25]; strings::SafeSPrintf(buf, "/proc/%d/task", pid); return GetThreadsFromProcessDir(buf, tids); +#endif } bool GetThreadsForCurrentProcess(std::vector* tids) { diff --git a/www/chromium/files/patch-base_logging__unittest.cc b/www/chromium/files/patch-base_logging__unittest.cc index dff2b542257c..ae3f752d1d8c 100644 --- a/www/chromium/files/patch-base_logging__unittest.cc +++ b/www/chromium/files/patch-base_logging__unittest.cc @@ -1,31 +1,31 @@ ---- base/logging_unittest.cc.orig 2026-01-14 08:33:23 UTC +--- base/logging_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/logging_unittest.cc -@@ -41,7 +41,7 @@ +@@ -37,7 +37,7 @@ #include "base/posix/eintr_wrapper.h" #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) #include #endif -@@ -587,14 +587,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo +@@ -584,14 +584,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo // need the arch-specific boilerplate below, which is inspired by breakpad. // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. uintptr_t crash_addr = 0; -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FREEBSD) crash_addr = reinterpret_cast(info->si_addr); #else // OS_* ucontext_t* context = reinterpret_cast(context_ptr); #if defined(ARCH_CPU_X86) crash_addr = static_cast(context->uc_mcontext.gregs[REG_EIP]); #elif defined(ARCH_CPU_X86_64) +#if BUILDFLAG(IS_OPENBSD) + crash_addr = static_cast(context->sc_rip); +#else crash_addr = static_cast(context->uc_mcontext.gregs[REG_RIP]); +#endif #elif defined(ARCH_CPU_ARMEL) crash_addr = static_cast(context->uc_mcontext.arm_pc); #elif defined(ARCH_CPU_ARM64) diff --git a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc index b3b7b188b4c4..de8108db5dce 100644 --- a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc +++ b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -1,21 +1,21 @@ ---- base/memory/madv_free_discardable_memory_posix.cc.orig 2025-10-02 04:28:32 UTC +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/memory/madv_free_discardable_memory_posix.cc -@@ -297,6 +297,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT +@@ -293,6 +293,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT bool MadvFreeDiscardableMemoryPosix::IsResident() const { DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); +// XXX mincore +#if BUILDFLAG(IS_BSD) + return false; +#else #if BUILDFLAG(IS_APPLE) std::vector vec(allocated_pages_); #else -@@ -313,6 +317,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons +@@ -309,6 +313,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons } } return true; +#endif } bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/www/chromium/files/patch-base_memory_protected__memory.h b/www/chromium/files/patch-base_memory_protected__memory.h index ebe910dfe1b6..ef2a85d5fd13 100644 --- a/www/chromium/files/patch-base_memory_protected__memory.h +++ b/www/chromium/files/patch-base_memory_protected__memory.h @@ -1,44 +1,44 @@ ---- base/memory/protected_memory.h.orig 2025-01-15 09:18:26 UTC +--- base/memory/protected_memory.h.orig 2026-02-11 09:05:39 UTC +++ base/memory/protected_memory.h -@@ -120,12 +120,12 @@ __declspec(selectany) char __stop_protected_memory; +@@ -115,12 +115,12 @@ __declspec(selectany) char __stop_protected_memory; #define DECLARE_PROTECTED_DATA constinit #define DEFINE_PROTECTED_DATA constinit __declspec(allocate("prot$mem")) -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // This value is used to align the writers variable. That variable needs to be // aligned to ensure that the protected memory section starts on a page // boundary. #if (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) // arm64 supports 4kb, 16kb, and 64kb pages. Set to the largest of 64kb as that // will guarantee the section is page aligned regardless of the choice. inline constexpr int kProtectedMemoryAlignment = 65536; -@@ -340,7 +340,7 @@ class BASE_EXPORT AutoWritableMemoryBase { +@@ -335,7 +335,7 @@ class BASE_EXPORT AutoWritableMemoryBase { // where an attacker could overwrite it with a large value and invoke code // that constructs and destructs an AutoWritableMemory. After such a call // protected memory would still be set writable because writers > 0. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux, the protected memory section is not automatically page aligned. // This means that attempts to reset the protected memory region to readonly // will set some of the preceding section that is on the same page readonly -@@ -354,7 +354,7 @@ class BASE_EXPORT AutoWritableMemoryBase { +@@ -349,7 +349,7 @@ class BASE_EXPORT AutoWritableMemoryBase { #endif static inline size_t writers GUARDED_BY(writers_lock()) = 0; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux, there is no guarantee the section following the protected // memory section is page aligned. This can result in attempts to change // the access permissions of the end of the protected memory section -@@ -412,7 +412,7 @@ class BASE_EXPORT AutoWritableMemoryInitializer +@@ -407,7 +407,7 @@ class BASE_EXPORT AutoWritableMemoryInitializer // the variable to something large before the section was read-only. WriterData::writers = 0; CHECK(SetProtectedSectionReadOnly()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Set the protected_memory_section_buffer to true to ensure the buffer // section is created. If a variable is declared but not used the memory // section won't be created. diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket.cc b/www/chromium/files/patch-base_posix_unix__domain__socket.cc index 8cdd9418e0fd..f1e89128ad17 100644 --- a/www/chromium/files/patch-base_posix_unix__domain__socket.cc +++ b/www/chromium/files/patch-base_posix_unix__domain__socket.cc @@ -1,65 +1,65 @@ ---- base/posix/unix_domain_socket.cc.orig 2025-08-07 06:57:29 UTC +--- base/posix/unix_domain_socket.cc.orig 2026-02-11 09:05:39 UTC +++ base/posix/unix_domain_socket.cc -@@ -20,6 +20,7 @@ +@@ -16,6 +16,7 @@ #include "base/files/scoped_file.h" #include "base/logging.h" #include "base/notreached.h" +#include "base/notimplemented.h" #include "base/numerics/safe_conversions.h" #include "base/pickle.h" #include "base/posix/eintr_wrapper.h" -@@ -47,7 +48,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { +@@ -43,7 +44,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { // static bool UnixDomainSocket::EnableReceiveProcessId(int fd) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) const int enable = 1; return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; #else -@@ -73,7 +74,7 @@ bool UnixDomainSocket::SendMsg(int fd, +@@ -69,7 +70,7 @@ bool UnixDomainSocket::SendMsg(int fd, struct cmsghdr* cmsg; msg.msg_control = control_buffer; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) msg.msg_controllen = checked_cast(control_len); #else msg.msg_controllen = control_len; -@@ -81,7 +82,7 @@ bool UnixDomainSocket::SendMsg(int fd, +@@ -77,7 +78,7 @@ bool UnixDomainSocket::SendMsg(int fd, cmsg = CMSG_FIRSTHDR(&msg); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) cmsg->cmsg_len = checked_cast(CMSG_LEN(sizeof(int) * fds.size())); #else cmsg->cmsg_len = CMSG_LEN(sizeof(int) * fds.size()); -@@ -133,7 +134,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -129,7 +130,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, const size_t kControlBufferSize = CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support ucred. // macOS supports xucred, but this structure is insufficient. + CMSG_SPACE(sizeof(struct ucred)) -@@ -162,7 +163,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - wire_fds = reinterpret_cast(CMSG_DATA(cmsg)); +@@ -159,7 +160,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + wire_fds = reinterpret_cast(UNSAFE_TODO(CMSG_DATA(cmsg))); wire_fds_len = payload_len / sizeof(int); } -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support SCM_CREDENTIALS. if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_CREDENTIALS) { -@@ -199,6 +200,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -197,6 +198,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) { pid = -1; } +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + pid = -1; #else // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we // actually received a message. Unfortunately, Linux allows sending zero diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc index 168cc89eb449..1b28b1b1a912 100644 --- a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc +++ b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -1,11 +1,11 @@ ---- base/posix/unix_domain_socket_unittest.cc.orig 2026-01-14 08:33:23 UTC +--- base/posix/unix_domain_socket_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/posix/unix_domain_socket_unittest.cc -@@ -15,6 +15,8 @@ +@@ -10,6 +10,8 @@ #include #include +#include + + #include "base/compiler_specific.h" #include "base/files/scoped_file.h" #include "base/functional/bind.h" - #include "base/functional/callback_helpers.h" diff --git a/www/chromium/files/patch-base_process_internal__linux.h b/www/chromium/files/patch-base_process_internal__linux.h index fa154978ba86..b1e66fc380b6 100644 --- a/www/chromium/files/patch-base_process_internal__linux.h +++ b/www/chromium/files/patch-base_process_internal__linux.h @@ -1,20 +1,20 @@ ---- base/process/internal_linux.h.orig 2025-07-02 06:08:04 UTC +--- base/process/internal_linux.h.orig 2026-02-11 09:05:39 UTC +++ base/process/internal_linux.h -@@ -146,6 +146,9 @@ TimeDelta ClockTicksToTimeDelta(int64_t clock_ticks); +@@ -142,6 +142,9 @@ TimeDelta ClockTicksToTimeDelta(int64_t clock_ticks); // arguments to the lambda. template void ForEachProcessTask(base::ProcessHandle process, Lambda&& lambda) { +#if BUILDFLAG(IS_BSD) + return; +#else // Iterate through the different threads tracked in /proc//task. FilePath fd_path = GetProcPidDir(process).Append("task"); -@@ -169,6 +172,7 @@ void ForEachProcessTask(base::ProcessHandle process, L +@@ -166,6 +169,7 @@ void ForEachProcessTask(base::ProcessHandle process, L FilePath task_path = fd_path.Append(tid_str); lambda(tid, task_path); } +#endif } } // namespace internal diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h index 0015680c602f..d9e0a4503311 100644 --- a/www/chromium/files/patch-base_process_process__metrics.h +++ b/www/chromium/files/patch-base_process_process__metrics.h @@ -1,116 +1,116 @@ ---- base/process/process_metrics.h.orig 2026-01-14 08:33:23 UTC +--- base/process/process_metrics.h.orig 2026-02-11 09:05:39 UTC +++ base/process/process_metrics.h -@@ -41,7 +41,7 @@ +@@ -40,7 +40,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) #include #include #include -@@ -51,7 +51,7 @@ +@@ -50,7 +50,7 @@ namespace base { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Minor and major page fault counts since the process creation. // Both counts are process-wide, and exclude child processes. // -@@ -89,7 +89,7 @@ struct ProcessMemoryInfo { +@@ -88,7 +88,7 @@ struct ProcessMemoryInfo { #endif // BUILDFLAG(IS_APPLE) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) uint64_t rss_anon_bytes = 0; uint64_t vm_swap_bytes = 0; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || -@@ -181,7 +181,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -180,7 +180,7 @@ class BASE_EXPORT ProcessMetrics { base::expected GetCumulativeCPUUsage(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Emits the cumulative CPU usage for all currently active threads since they // were started into the output parameter (replacing its current contents). // Threads that have already terminated will not be reported. Thus, the sum of -@@ -226,7 +226,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -225,7 +225,7 @@ class BASE_EXPORT ProcessMetrics { int GetOpenFdSoftLimit() const; #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Minor and major page fault count as reported by /proc/[pid]/stat. // Returns true for success. bool GetPageFaultCounts(PageFaultCounts* counts) const; -@@ -244,7 +244,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -243,7 +243,7 @@ class BASE_EXPORT ProcessMetrics { #endif // !BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); #endif #if BUILDFLAG(IS_APPLE) -@@ -266,12 +266,12 @@ class BASE_EXPORT ProcessMetrics { +@@ -265,12 +265,12 @@ class BASE_EXPORT ProcessMetrics { // Used to store the previous times and CPU usage counts so we can // compute the CPU usage between calls. TimeTicks last_cpu_time_; -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) +#if BUILDFLAG(IS_POSIX) TimeDelta last_cumulative_cpu_; #endif #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Same thing for idle wakeups. TimeTicks last_idle_wakeups_time_; uint64_t last_absolute_idle_wakeups_; -@@ -312,7 +312,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de +@@ -311,7 +311,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Data about system-wide memory consumption. Available on Windows, Mac, Linux, // Android and Chrome OS. // -@@ -349,7 +349,7 @@ struct BASE_EXPORT SystemMemoryInfo { +@@ -346,7 +346,7 @@ struct BASE_EXPORT SystemMemoryInfo { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // This provides an estimate of available memory as described here: // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always -@@ -364,7 +364,7 @@ struct BASE_EXPORT SystemMemoryInfo { +@@ -361,7 +361,7 @@ struct BASE_EXPORT SystemMemoryInfo { #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - ByteCount buffers; - ByteCount cached; - ByteCount active_anon; -@@ -406,7 +406,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfo* + ByteSize buffers; + ByteSize cached; + ByteSize active_anon; +@@ -403,7 +403,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfo* // BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Parse the data found in /proc//stat and return the sum of the // CPU-related ticks. Returns -1 on parse error. // Exposed for testing. -@@ -582,7 +582,7 @@ class BASE_EXPORT SystemMetrics { +@@ -579,7 +579,7 @@ class BASE_EXPORT SystemMetrics { FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); size_t committed_memory_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) SystemMemoryInfo memory_info_; VmStatInfo vmstat_info_; SystemDiskInfo disk_info_; diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc index 901fbbcb7254..7520423e2374 100644 --- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,225 +1,225 @@ ---- base/process/process_metrics_freebsd.cc.orig 2025-10-02 14:20:29 UTC +--- base/process/process_metrics_freebsd.cc.orig 2026-02-12 08:43:57 UTC +++ base/process/process_metrics_freebsd.cc @@ -3,41 +3,92 @@ // found in the LICENSE file. #include "base/process/process_metrics.h" +#include "base/notimplemented.h" #include +#include #include #include #include +#include /* O_RDONLY */ +#include +#include + #include "base/memory/ptr_util.h" +#include "base/values.h" namespace base { +namespace { +int GetPageShift() { + int pagesize = getpagesize(); + int pageshift = 0; -ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), last_cpu_(0) {} + while (pagesize > 1) { + pageshift++; + pagesize >>= 1; + } + return pageshift; +} +} + +ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {} + // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( ProcessHandle process) { return WrapUnique(new ProcessMetrics(process)); } -base::expected -ProcessMetrics::GetPlatformIndependentCPUUsage() { - struct kinfo_proc info; - int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_}; - size_t length = sizeof(info); +base::expected +ProcessMetrics::GetMemoryInfo() const { + ProcessMemoryInfo memory_info; + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + struct kinfo_proc *pp; + int nproc; - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { - return base::unexpected(ProcessCPUUsageError::kSystemError); + if (kd == nullptr) { + return base::unexpected(ProcessUsageError::kSystemError); } - return base::ok(double{info.ki_pctcpu} / FSCALE * 100.0); + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return base::unexpected(ProcessUsageError::kProcessNotFound); + } + + if (nproc > 0) { + memory_info.resident_set_bytes = pp->ki_rssize << GetPageShift(); + } else { + kvm_close(kd); + return base::unexpected(ProcessUsageError::kProcessNotFound); + } + + kvm_close(kd); + return memory_info; } base::expected ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + struct timeval tv; + + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; + + if (process_ == 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); + } + + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); + } + + if (length == 0) { + return base::unexpected(ProcessCPUUsageError::kProcessNotFound); + } + + return base::ok(Microseconds(info.ki_runtime)); } size_t GetSystemCommitCharge() { @@ -65,5 +116,118 @@ size_t GetSystemCommitCharge() { return mem_total - (mem_free * pagesize) - (mem_inactive * pagesize); } + +int64_t GetNumberOfThreads(ProcessHandle process) { + // Taken from FreeBSD top (usr.bin/top/machine.c) + + kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); + if (kd == NULL) + return 0; + + struct kinfo_proc* pbase; + int nproc; + pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); + if (pbase == NULL) + return 0; + + if (kvm_close(kd) == -1) + return 0; + + return nproc; +} + +bool GetSystemMemoryInfo(SystemMemoryInfo *meminfo) { + unsigned int mem_total, mem_free, swap_total, swap_used; + size_t length; + int pagesize; + + pagesize = getpagesize(); + + length = sizeof(mem_total); + if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, + &length, NULL, 0) != 0 || length != sizeof(mem_total)) + return false; + + length = sizeof(mem_free); + if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) + != 0 || length != sizeof(mem_free)) + return false; + + length = sizeof(swap_total); + if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) + != 0 || length != sizeof(swap_total)) + return false; + + length = sizeof(swap_used); + if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) + != 0 || length != sizeof(swap_used)) + return false; + -+ meminfo->total = ByteCount::FromUnsigned(mem_total * pagesize); -+ meminfo->free = ByteCount::FromUnsigned(mem_free * pagesize); -+ meminfo->swap_total = ByteCount::FromUnsigned(swap_total * pagesize); -+ meminfo->swap_free = ByteCount::FromUnsigned((swap_total - swap_used) * pagesize); ++ meminfo->total = ByteSize(mem_total * pagesize); ++ meminfo->free = ByteSize(mem_free * pagesize); ++ meminfo->swap_total = ByteSize(swap_total * pagesize); ++ meminfo->swap_free = ByteSize((swap_total - swap_used) * pagesize); + + return true; +} + +int ProcessMetrics::GetOpenFdCount() const { + struct kinfo_file * kif; + int cnt; + + if ((kif = kinfo_getfile(process_, &cnt)) == NULL) + return -1; + + free(kif); + + return cnt; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + size_t length; + int total_count = 0; + int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; + + length = sizeof(total_count); + + if (sysctl(mib, std::size(mib), &total_count, &length, NULL, 0) < 0) { + total_count = -1; + } + + return total_count; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +SystemDiskInfo::SystemDiskInfo() { + reads = 0; + reads_merged = 0; + sectors_read = 0; + read_time = 0; + writes = 0; + writes_merged = 0; + sectors_written = 0; + write_time = 0; + io = 0; + io_time = 0; + weighted_io_time = 0; +} + +SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; + +SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; } // namespace base diff --git a/www/chromium/files/patch-base_process_process__metrics__unittest.cc b/www/chromium/files/patch-base_process_process__metrics__unittest.cc index 4ee0caf25884..bbcf88b1e572 100644 --- a/www/chromium/files/patch-base_process_process__metrics__unittest.cc +++ b/www/chromium/files/patch-base_process_process__metrics__unittest.cc @@ -1,12 +1,12 @@ ---- base/process/process_metrics_unittest.cc.orig 2025-10-02 04:28:32 UTC +--- base/process/process_metrics_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/process/process_metrics_unittest.cc -@@ -62,7 +62,8 @@ +@@ -59,7 +59,8 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || \ + BUILDFLAG(IS_BSD) #define ENABLE_CPU_TESTS 1 #else #define ENABLE_CPU_TESTS 0 diff --git a/www/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h index bec594b9f46b..dce795735f7d 100644 --- a/www/chromium/files/patch-base_rand__util.h +++ b/www/chromium/files/patch-base_rand__util.h @@ -1,11 +1,11 @@ ---- base/rand_util.h.orig 2025-09-06 10:01:20 UTC +--- base/rand_util.h.orig 2026-02-11 09:05:39 UTC +++ base/rand_util.h -@@ -213,7 +213,7 @@ void RandomShuffle(Itr first, Itr last) { - std::shuffle(first, last, RandomBitGenerator()); +@@ -222,7 +222,7 @@ decltype(auto) RandomChoice(Range&& r) { + return r[base::RandGenerator(r.size())]; } -#if BUILDFLAG(IS_POSIX) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD) BASE_EXPORT int GetUrandomFD(); #endif diff --git a/www/chromium/files/patch-base_rand__util__posix.cc b/www/chromium/files/patch-base_rand__util__posix.cc index 522d86461f96..4957cdda053e 100644 --- a/www/chromium/files/patch-base_rand__util__posix.cc +++ b/www/chromium/files/patch-base_rand__util__posix.cc @@ -1,60 +1,60 @@ ---- base/rand_util_posix.cc.orig 2025-10-02 04:28:32 UTC +--- base/rand_util_posix.cc.orig 2026-02-11 09:05:39 UTC +++ base/rand_util_posix.cc -@@ -30,7 +30,7 @@ +@@ -25,7 +25,7 @@ #include "build/build_config.h" #include "third_party/boringssl/src/include/openssl/rand.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. -@@ -42,6 +42,7 @@ namespace base { +@@ -37,6 +37,7 @@ namespace base { namespace { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_AIX) // AIX has no 64-bit support for O_CLOEXEC. static constexpr int kOpenFlags = O_RDONLY; -@@ -66,8 +67,9 @@ class URandomFd { +@@ -61,8 +62,9 @@ class URandomFd { private: const int fd_; }; +#endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) && !BUILDFLAG(IS_BSD) bool KernelSupportsGetRandom() { return base::SysInfo::KernelVersionNumber::Current() >= -@@ -120,6 +122,7 @@ bool UseBoringSSLForRandBytes() { +@@ -115,6 +117,7 @@ bool UseBoringSSLForRandBytes() { namespace { void RandBytesInternal(span output, bool avoid_allocation) { +#if !BUILDFLAG(IS_BSD) // The BoringSSL experiment takes priority over everything else. if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { // BoringSSL's RAND_bytes always returns 1. Any error aborts the program. -@@ -150,6 +153,9 @@ void RandBytesInternal(span output, bool avoi +@@ -145,6 +148,9 @@ void RandBytesInternal(span output, bool avoi const int urandom_fd = GetUrandomFD(); const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); CHECK(success); +#else + arc4random_buf(output.data(), output.size()); +#endif } } // namespace -@@ -169,9 +175,11 @@ void RandBytes(span output) { +@@ -164,9 +170,11 @@ void RandBytes(span output) { RandBytesInternal(output, /*avoid_allocation=*/false); } +#if !BUILDFLAG(IS_BSD) int GetUrandomFD() { static NoDestructor urandom_fd; return urandom_fd->fd(); } +#endif } // namespace base diff --git a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc index df25d69feed0..ade2ed5243eb 100644 --- a/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc +++ b/www/chromium/files/patch-base_strings_safe__sprintf__unittest.cc @@ -1,18 +1,18 @@ ---- base/strings/safe_sprintf_unittest.cc.orig 2025-10-02 04:28:32 UTC +--- base/strings/safe_sprintf_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/strings/safe_sprintf_unittest.cc -@@ -747,6 +747,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { +@@ -744,6 +744,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { #endif } +#if !BUILDFLAG(IS_BSD) TEST(SafeSPrintfTest, EmitNULL) { char buf[40]; #if defined(__GNUC__) -@@ -763,6 +764,7 @@ TEST(SafeSPrintfTest, EmitNULL) { +@@ -760,6 +761,7 @@ TEST(SafeSPrintfTest, EmitNULL) { #pragma GCC diagnostic pop #endif } +#endif TEST(SafeSPrintfTest, PointerSize) { // The internal data representation is a 64bit value, independent of the diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc index 3ee988944f64..83ddc31920f2 100644 --- a/www/chromium/files/patch-base_system_sys__info.cc +++ b/www/chromium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2025-12-05 10:12:50 UTC +--- base/system/sys_info.cc.orig 2026-02-11 09:05:39 UTC +++ base/system/sys_info.cc -@@ -233,7 +233,7 @@ std::string SysInfo::SocManufacturer() { +@@ -241,7 +241,7 @@ std::string SysInfo::SocManufacturer() { #endif void SysInfo::GetHardwareInfo(base::OnceCallback callback) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr base::TaskTraits kTraits = {base::MayBlock()}; #else constexpr base::TaskTraits kTraits = {}; diff --git a/www/chromium/files/patch-base_system_sys__info.h b/www/chromium/files/patch-base_system_sys__info.h index 2c767b7693d0..048fd13a4436 100644 --- a/www/chromium/files/patch-base_system_sys__info.h +++ b/www/chromium/files/patch-base_system_sys__info.h @@ -1,20 +1,20 @@ ---- base/system/sys_info.h.orig 2025-12-05 10:12:50 UTC +--- base/system/sys_info.h.orig 2026-02-11 09:05:39 UTC +++ base/system/sys_info.h -@@ -354,6 +354,8 @@ class BASE_EXPORT SysInfo { +@@ -381,6 +381,8 @@ class BASE_EXPORT SysInfo { static void ResetCpuSecurityMitigationsEnabledForTesting(); #endif + static uint64_t MaxSharedMemorySize(); + private: friend class test::ScopedAmountOfPhysicalMemoryOverride; FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); -@@ -366,7 +368,7 @@ class BASE_EXPORT SysInfo { +@@ -393,7 +395,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - static ByteCount AmountOfAvailablePhysicalMemory( + static ByteSize AmountOfAvailablePhysicalMemory( const SystemMemoryInfo& meminfo); #endif diff --git a/www/chromium/files/patch-base_system_sys__info__freebsd.cc b/www/chromium/files/patch-base_system_sys__info__freebsd.cc index 12a4b3fffc6f..4f3edc5e31ee 100644 --- a/www/chromium/files/patch-base_system_sys__info__freebsd.cc +++ b/www/chromium/files/patch-base_system_sys__info__freebsd.cc @@ -1,103 +1,101 @@ ---- base/system/sys_info_freebsd.cc.orig 2025-10-02 14:20:29 UTC +--- base/system/sys_info_freebsd.cc.orig 2026-02-12 08:43:57 UTC +++ base/system/sys_info_freebsd.cc -@@ -9,28 +9,95 @@ - #include +@@ -10,21 +10,75 @@ #include "base/notreached.h" + #include "base/numerics/safe_conversions.h" +#include "base/process/process_metrics.h" +#include "base/strings/string_util.h" namespace base { +int SysInfo::NumberOfProcessors() { + int mib[] = {CTL_HW, HW_NCPU}; + int ncpu; + size_t size = sizeof(ncpu); + if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { + NOTREACHED(); + return 1; + } + return ncpu; +} + - ByteCount SysInfo::AmountOfPhysicalMemoryImpl() { + ByteSize SysInfo::AmountOfTotalPhysicalMemoryImpl() { - int pages, page_size; + int pages, page_size, r = 0; size_t size = sizeof(pages); - sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); - sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); - if (pages == -1 || page_size == -1) { + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + + if (r == -1) { NOTREACHED(); } -- return ByteCount(page_size) * pages; + -+ return ByteCount::FromUnsigned(static_cast(pages) * page_size); + return ByteSize(checked_cast(page_size)) * pages; } -+ByteCount SysInfo::AmountOfAvailablePhysicalMemoryImpl() { ++ByteSize SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + int page_size, r = 0; + unsigned int pgfree, pginact, pgcache; + size_t size = sizeof(page_size); + size_t szpg = sizeof(pgfree); + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); + + if (r == -1) { + NOTREACHED(); -+ return ByteCount(); ++ return ByteSize(0); + } + -+ return ByteCount::FromUnsigned(static_cast((pgfree + pginact + pgcache) * page_size)); ++ return ByteSize((pgfree + pginact + pgcache) * checked_cast(page_size)); +} + // static +std::string SysInfo::CPUModelName() { + int mib[] = { CTL_HW, HW_MODEL }; + char name[256]; + size_t size = std::size(name); + + if (sysctl(mib, std::size(mib), &name, &size, NULL, 0) == 0) { + return name; + } + + return std::string(); +} + +// static uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); -+ - if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { +@@ -32,6 +86,18 @@ uint64_t SysInfo::MaxSharedMemorySize() { NOTREACHED(); } return static_cast(limit); +} + +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + + info.manufacturer = "FreeBSD"; + info.model = HardwareModelName(); + + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + + return info; } } // namespace base diff --git a/www/chromium/files/patch-base_system_sys__info__openbsd.cc b/www/chromium/files/patch-base_system_sys__info__openbsd.cc index a3b760812bb4..528622713e1a 100644 --- a/www/chromium/files/patch-base_system_sys__info__openbsd.cc +++ b/www/chromium/files/patch-base_system_sys__info__openbsd.cc @@ -1,83 +1,83 @@ ---- base/system/sys_info_openbsd.cc.orig 2025-10-02 04:28:32 UTC +--- base/system/sys_info_openbsd.cc.orig 2026-02-11 09:05:39 UTC +++ base/system/sys_info_openbsd.cc -@@ -12,6 +12,7 @@ - +@@ -13,6 +13,7 @@ #include "base/notreached.h" + #include "base/numerics/safe_conversions.h" #include "base/posix/sysctl.h" +#include "base/strings/string_util.h" namespace base { -@@ -28,9 +29,14 @@ ByteCount AmountOfMemory(int pages_name) { +@@ -29,9 +30,14 @@ ByteSize AmountOfMemory(int pages_name) { } // namespace +// pledge(2) -+ByteCount aofpmem = ByteCount(0); ++ByteSize aofpmem = ByteSize(0); +uint64_t shmmax = 0; +char cpumodel[256]; + // static int SysInfo::NumberOfProcessors() { - int mib[] = {CTL_HW, HW_NCPU}; + int mib[] = {CTL_HW, HW_NCPUONLINE}; int ncpu; size_t size = sizeof(ncpu); if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { -@@ -40,8 +46,24 @@ int SysInfo::NumberOfProcessors() { +@@ -41,8 +47,24 @@ int SysInfo::NumberOfProcessors() { } // static +std::string SysInfo::CPUModelName() { + int mib[] = {CTL_HW, HW_MODEL}; + size_t len = std::size(cpumodel); + + if (cpumodel[0] == '\0') { + if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0) + return std::string(); + } + + return std::string(cpumodel, len - 1); +} + +// static - ByteCount SysInfo::AmountOfPhysicalMemoryImpl() { + ByteSize SysInfo::AmountOfTotalPhysicalMemoryImpl() { - return AmountOfMemory(_SC_PHYS_PAGES); + // pledge(2) -+ if (aofpmem == ByteCount(0)) ++ if (aofpmem == ByteSize(0)) + aofpmem = AmountOfMemory(_SC_PHYS_PAGES); + return aofpmem; } // static -@@ -56,15 +78,27 @@ uint64_t SysInfo::MaxSharedMemorySize() { +@@ -57,15 +79,27 @@ uint64_t SysInfo::MaxSharedMemorySize() { int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX}; size_t limit; size_t size = sizeof(limit); + // pledge(2) + if (shmmax) + goto out; if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { NOTREACHED(); } - return static_cast(limit); + shmmax = static_cast(limit); +out: + return shmmax; } // static -std::string SysInfo::CPUModelName() { - return StringSysctl({CTL_HW, HW_MODEL}).value(); +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + // Set the manufacturer to "OpenBSD" and the model to + // an empty string. + info.manufacturer = "OpenBSD"; + info.model = HardwareModelName(); + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + return info; } } // namespace base diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc index 0e8c2af90b2b..3c9d6375f8e2 100644 --- a/www/chromium/files/patch-base_system_sys__info__posix.cc +++ b/www/chromium/files/patch-base_system_sys__info__posix.cc @@ -1,29 +1,41 @@ ---- base/system/sys_info_posix.cc.orig 2025-12-05 10:12:50 UTC +--- base/system/sys_info_posix.cc.orig 2026-02-12 08:43:57 UTC +++ base/system/sys_info_posix.cc -@@ -143,7 +143,7 @@ void GetKernelVersionNumbers(int32_t* major_version, +@@ -58,7 +58,11 @@ base::ByteSize AmountOfVirtualMemory() { + if (result != 0) { + NOTREACHED(); + } ++#if BUILDFLAG(IS_FREEBSD) ++ return base::ByteSize(limit.rlim_cur == RLIM_INFINITY ? 0 : base::checked_cast(limit.rlim_cur)); ++#else + return base::ByteSize(limit.rlim_cur == RLIM_INFINITY ? 0 : limit.rlim_cur); ++#endif + } + using LazyVirtualMemory = + base::internal::LazySysInfoValue; +@@ -140,7 +144,7 @@ void GetKernelVersionNumbers(int32_t* major_version, namespace base { -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) // static int SysInfo::NumberOfProcessors() { #if BUILDFLAG(IS_MAC) -@@ -199,7 +199,7 @@ int SysInfo::NumberOfProcessors() { +@@ -196,7 +200,7 @@ int SysInfo::NumberOfProcessors() { return cached_num_cpus; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static - ByteCount SysInfo::AmountOfVirtualMemory() { -@@ -289,6 +289,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + ByteSize SysInfo::AmountOfVirtualMemory() { +@@ -286,6 +290,8 @@ std::string SysInfo::OperatingSystemArchitecture() { arch = "x86"; } else if (arch == "amd64") { arch = "x86_64"; + } else if (arch == "arm64") { + arch = "aarch64"; } else if (std::string(info.sysname) == "AIX") { arch = "ppc64"; } diff --git a/www/chromium/files/patch-base_system_sys__info__unittest.cc b/www/chromium/files/patch-base_system_sys__info__unittest.cc index 015e2d2cf7ec..485bef5adc4e 100644 --- a/www/chromium/files/patch-base_system_sys__info__unittest.cc +++ b/www/chromium/files/patch-base_system_sys__info__unittest.cc @@ -1,20 +1,20 @@ ---- base/system/sys_info_unittest.cc.orig 2025-10-02 04:28:32 UTC +--- base/system/sys_info_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/system/sys_info_unittest.cc -@@ -263,12 +263,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { +@@ -266,12 +266,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { EXPECT_TRUE(IsStringUTF8(hardware_info->model)); bool empty_result_expected = #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) false; #else true; #endif EXPECT_EQ(hardware_info->manufacturer.empty(), empty_result_expected); +#if BUILDFLAG(IS_BSD) + empty_result_expected = true; +#endif EXPECT_EQ(hardware_info->model.empty(), empty_result_expected); } diff --git a/www/chromium/files/patch-base_test_launcher_test__launcher.cc b/www/chromium/files/patch-base_test_launcher_test__launcher.cc index 235bf52bd415..e6c25d741c1b 100644 --- a/www/chromium/files/patch-base_test_launcher_test__launcher.cc +++ b/www/chromium/files/patch-base_test_launcher_test__launcher.cc @@ -1,10 +1,10 @@ ---- base/test/launcher/test_launcher.cc.orig 2025-04-04 08:52:13 UTC +--- base/test/launcher/test_launcher.cc.orig 2026-02-11 09:05:39 UTC +++ base/test/launcher/test_launcher.cc -@@ -73,6 +73,7 @@ - #include "testing/gtest/include/gtest/gtest.h" +@@ -66,6 +66,7 @@ + #include "third_party/abseil-cpp/absl/container/flat_hash_set.h" #if BUILDFLAG(IS_POSIX) +#include #include #include "base/files/file_descriptor_watcher_posix.h" diff --git a/www/chromium/files/patch-base_threading_platform__thread.h b/www/chromium/files/patch-base_threading_platform__thread.h index 1efe3dbdccbb..8e4cc0d3dd07 100644 --- a/www/chromium/files/patch-base_threading_platform__thread.h +++ b/www/chromium/files/patch-base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- base/threading/platform_thread.h.orig 2025-10-02 04:28:32 UTC +--- base/threading/platform_thread.h.orig 2026-02-11 09:05:39 UTC +++ base/threading/platform_thread.h -@@ -56,6 +56,8 @@ class BASE_EXPORT PlatformThreadId { +@@ -60,6 +60,8 @@ class BASE_EXPORT PlatformThreadId { using UnderlyingType = zx_koid_t; #elif BUILDFLAG(IS_APPLE) using UnderlyingType = uint64_t; +#elif BUILDFLAG(IS_BSD) + using UnderlyingType = uint64_t; #elif BUILDFLAG(IS_POSIX) using UnderlyingType = pid_t; #endif diff --git a/www/chromium/files/patch-base_threading_platform__thread__bsd.cc b/www/chromium/files/patch-base_threading_platform__thread__bsd.cc index 809741f14c07..efc25da27b40 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__bsd.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__bsd.cc @@ -1,42 +1,44 @@ ---- base/threading/platform_thread_bsd.cc.orig 2026-01-14 08:33:23 UTC +--- base/threading/platform_thread_bsd.cc.orig 2026-02-11 09:05:39 UTC +++ base/threading/platform_thread_bsd.cc -@@ -0,0 +1,39 @@ +@@ -0,0 +1,41 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Description: These are stubs for *BSD. + +#include "base/notimplemented.h" +#include "base/threading/platform_thread.h" + +namespace base { +namespace internal { + +void SetCurrentThreadTypeImpl(ThreadType thread_type, -+ MessagePumpType pump_type_hint) { ++ MessagePumpType pump_type_hint, ++ bool may_change_affinity) { + NOTIMPLEMENTED(); + return; +} + +bool CanSetThreadTypeToRealtimeAudio() { + return false; +} + +PlatformPriorityOverride SetThreadTypeOverride( + PlatformThreadHandle thread_handle, + ThreadType thread_type) { + return false; +} + -+void RemoveThreadTypeOverrideImpl( ++void RemoveThreadTypeOverride( ++ PlatformThreadHandle thread_handle, + const PlatformPriorityOverride& priority_override_handle, -+ ThreadType thread_type) {} ++ ThreadType initial_thread_type) {} + +} // namespace internal + +// static +void PlatformThreadBase::SetName(const std::string& name) { + SetNameCommon(name); +} + +} // namespace base diff --git a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc index f809c663a1c3..4d9408fee5d7 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc @@ -1,38 +1,38 @@ ---- base/threading/platform_thread_unittest.cc.orig 2025-08-07 06:57:29 UTC +--- base/threading/platform_thread_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ base/threading/platform_thread_unittest.cc @@ -36,7 +36,7 @@ #include "base/time/time.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include #include -@@ -370,7 +370,7 @@ TEST(PlatformThreadTest, +@@ -374,7 +374,7 @@ TEST(PlatformThreadTest, // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this // proprerty changes for a given platform. TEST(PlatformThreadTest, CanChangeThreadType) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be // able to increase priority to any level unless we are root (euid == 0). bool kCanIncreasePriority = false; -@@ -618,12 +618,16 @@ INSTANTIATE_TEST_SUITE_P( +@@ -622,12 +622,16 @@ INSTANTIATE_TEST_SUITE_P( #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace { bool IsTidCacheCorrect() { +#if BUILDFLAG(IS_BSD) + return PlatformThread::CurrentId().raw() == reinterpret_cast(pthread_self()); +#else return PlatformThread::CurrentId().raw() == syscall(__NR_gettid); +#endif } void* CheckTidCacheCorrectWrapper(void*) { diff --git a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc index e32383f7a0ab..99fac2119c47 100644 --- a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc +++ b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -1,30 +1,30 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2025-08-07 06:57:29 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2026-02-11 09:05:39 UTC +++ base/trace_event/malloc_dump_provider.cc -@@ -31,6 +31,8 @@ +@@ -27,6 +27,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -180,7 +182,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, +@@ -176,7 +178,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ - !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, -@@ -383,6 +385,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -379,6 +381,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif BUILDFLAG(IS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, &allocated_objects_size, &allocated_objects_count); diff --git a/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc index d2992462ee77..39dfc5573705 100644 --- a/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc +++ b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc @@ -1,11 +1,11 @@ ---- base/trace_event/memory_dump_manager.cc.orig 2025-12-05 10:12:50 UTC +--- base/trace_event/memory_dump_manager.cc.orig 2026-02-11 09:05:39 UTC +++ base/trace_event/memory_dump_manager.cc -@@ -79,7 +79,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP +@@ -84,7 +84,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) MallocDumpProvider::kAllocatedObjects; #else - nullptr; + ""; #endif // static diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc index 0d1ed52f14bc..64d8700f8f95 100644 --- a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc +++ b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc @@ -1,29 +1,29 @@ ---- base/trace_event/process_memory_dump.cc.orig 2025-09-06 10:01:20 UTC +--- base/trace_event/process_memory_dump.cc.orig 2026-02-11 09:05:39 UTC +++ base/trace_event/process_memory_dump.cc -@@ -47,7 +47,7 @@ +@@ -43,7 +43,7 @@ #include #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include #include "base/notreached.h" -@@ -116,7 +116,7 @@ std::optional ProcessMemoryDump::CountResident +@@ -112,7 +112,7 @@ std::optional ProcessMemoryDump::CountResident #if BUILDFLAG(IS_WIN) auto vec = base::HeapArray::WithSize(max_vec_size); -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) auto vec = base::HeapArray::WithSize(max_vec_size); #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) auto vec = base::HeapArray::WithSize(max_vec_size); -@@ -140,7 +140,7 @@ std::optional ProcessMemoryDump::CountResident +@@ -136,7 +136,7 @@ std::optional ProcessMemoryDump::CountResident for (size_t i = 0; i < page_count; i++) { resident_page_count += vec[i].VirtualAttributes.Valid; } -#elif BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050620): Implement counting resident bytes. // For now, log and avoid unused variable warnings. NOTIMPLEMENTED_LOG_ONCE(); diff --git a/www/chromium/files/patch-build_config_clang_clang.gni b/www/chromium/files/patch-build_config_clang_clang.gni index f9edf4e5e70e..ceed021e3803 100644 --- a/www/chromium/files/patch-build_config_clang_clang.gni +++ b/www/chromium/files/patch-build_config_clang_clang.gni @@ -1,11 +1,11 @@ ---- build/config/clang/clang.gni.orig 2026-01-14 08:33:23 UTC +--- build/config/clang/clang.gni.orig 2026-02-11 09:05:39 UTC +++ build/config/clang/clang.gni -@@ -90,7 +90,7 @@ declare_args() { +@@ -93,7 +93,7 @@ declare_args() { # # TODO(https://crbug.com/440260716): Enable for Cronet in AOSP once gn2bp # supports copy targets. - use_clang_modules = + use_clang_modules = !is_bsd && # Clang modules doesn't work with translation_unit used in codesearch # pipeline http://b/436082487. !enable_kythe_annotations && is_clang && diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index f4eabe2ec8de..2ae4e7592000 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,121 +1,121 @@ ---- build/config/compiler/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- build/config/compiler/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ build/config/compiler/BUILD.gn @@ -201,7 +201,7 @@ declare_args() { # This greatly reduces the size of debug builds, at the cost of # debugging information which is required by some specialized # debugging tools. - simple_template_names = is_clang && !is_win && !is_apple + simple_template_names = is_clang && !is_win && !is_apple && !is_bsd # This switch is used to enable -Wexit-time-destructors by default. This # warning serves as a flip switch to allow a gradual migration of targets -@@ -282,7 +282,7 @@ assert(is_bot || +@@ -291,7 +291,7 @@ assert(is_bot || # # Since this is referenced both when passing the file and when deciding which # warnings to enable, store it in a separate variable here. -use_clang_warning_suppression_file = +use_clang_warning_suppression_file = !is_bsd && is_clang && clang_warning_suppression_file != "" # default_include_dirs --------------------------------------------------------- -@@ -300,13 +300,16 @@ config("default_include_dirs") { +@@ -309,13 +309,16 @@ config("default_include_dirs") { # Compiler instrumentation can introduce dependencies in DSOs to symbols in # the executable they are loaded into, so they are unresolved at link-time. config("no_unresolved_symbols") { - if (!using_sanitizer && + if (!using_sanitizer && !is_bsd && (is_linux || is_chromeos || is_android || is_fuchsia)) { ldflags = [ "-Wl,-z,defs", "-Wl,--as-needed", ] } + if (current_cpu == "x86" && is_openbsd) { + ldflags = [ "-Wl,-z,notext", "-Wl,--strip-all" ] + } } # compiler --------------------------------------------------------------------- -@@ -579,6 +582,10 @@ config("compiler") { +@@ -588,6 +591,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_icf && (!is_apple || use_lld)) { -@@ -676,7 +683,7 @@ config("compiler") { +@@ -678,7 +685,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang) { + if (is_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1291,7 +1298,7 @@ config("compiler_cpu_abi") { +@@ -1287,7 +1294,7 @@ config("compiler_cpu_abi") { # CPU architecture. We may or may not be doing a cross compile now, so for # simplicity we always explicitly set the architecture. if (current_cpu == "x64") { - if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) { + if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device && !is_bsd) { cflags += [ "--target=x86_64-unknown-linux-gnu" ] ldflags += [ "--target=x86_64-unknown-linux-gnu" ] } else { -@@ -1300,7 +1307,7 @@ config("compiler_cpu_abi") { +@@ -1301,7 +1308,7 @@ config("compiler_cpu_abi") { + ldflags += [ "-march=$cros_target_cpu_arch" ] } - cflags += [ "-msse3" ] } else if (current_cpu == "x86") { - if (is_clang && !is_android && !is_chromeos_device) { + if (is_clang && !is_android && !is_chromeos_device && !Is_bsd) { cflags += [ "--target=i386-unknown-linux-gnu" ] ldflags += [ "--target=i386-unknown-linux-gnu" ] } else { -@@ -1312,7 +1319,7 @@ config("compiler_cpu_abi") { +@@ -1313,7 +1320,7 @@ config("compiler_cpu_abi") { "-msse3", ] } else if (current_cpu == "arm") { - if (is_clang && !is_android && !is_chromeos_device) { + if (is_clang && !is_android && !is_chromeos_device && !is_bsd) { cflags += [ "--target=arm-linux-gnueabihf" ] ldflags += [ "--target=arm-linux-gnueabihf" ] } -@@ -1324,7 +1331,7 @@ config("compiler_cpu_abi") { - cflags += [ "-mtune=$arm_tune" ] - } +@@ -1322,7 +1329,7 @@ config("compiler_cpu_abi") { + "-mfloat-abi=$arm_float_abi", + ] } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) { + if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device && !is_bsd) { cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } -@@ -1729,7 +1736,7 @@ config("compiler_deterministic") { +@@ -1732,7 +1739,7 @@ config("compiler_deterministic") { } config("clang_revision") { - if (is_clang && clang_base_path == default_clang_base_path && + if (is_clang && !is_bsd && clang_base_path == default_clang_base_path && current_os != "zos") { _perform_consistency_checks = current_toolchain == default_toolchain if (llvm_force_head_revision) { -@@ -2968,7 +2975,7 @@ config("afdo_optimize_size") { +@@ -2965,7 +2972,7 @@ config("afdo_optimize_size") { # There are some targeted places that AFDO regresses, so we provide a separate # config to allow AFDO to be disabled per-target. config("afdo") { - if (is_clang) { + if (is_clang && !is_bsd) { cflags = [] if (clang_emit_debug_info_for_profiling) { # Add the following flags to generate debug info for profiling. -@@ -2995,7 +3002,7 @@ config("afdo") { +@@ -2992,7 +2999,7 @@ config("afdo") { cflags += [ "-Wno-backend-plugin" ] inputs = [ _clang_sample_profile ] } - } else if (auto_profile_path != "" && is_a_target_toolchain) { + } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { cflags = [ "-fauto-profile=${auto_profile_path}" ] inputs = [ auto_profile_path ] } diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni index 418cb1feb683..5f605fc54a34 100644 --- a/www/chromium/files/patch-build_config_rust.gni +++ b/www/chromium/files/patch-build_config_rust.gni @@ -1,39 +1,39 @@ ---- build/config/rust.gni.orig 2026-01-14 08:33:23 UTC +--- build/config/rust.gni.orig 2026-02-11 09:05:39 UTC +++ build/config/rust.gni @@ -67,7 +67,8 @@ declare_args() { # set this to the output of `rustc -V`. Changing this string will cause all # Rust targets to be rebuilt, which allows you to update your toolchain and # not break incremental builds. - rustc_version = "" + rustc_version = exec_script("//build/gn_run_binary.py", + [ "/usr/local/bin/rustc", "-V" ], "trim string") # Whether artifacts produced by the Rust compiler can participate in ThinLTO. # -@@ -152,6 +153,13 @@ if (enable_rust) { +@@ -161,6 +162,13 @@ if (enable_rust) { } else { toolchain_has_rust = custom_toolchain_supports_platform rustc_revision = rustc_version + rust_revision_pieces = string_split(rustc_revision, " ") + rust_version_pieces = string_split(rust_revision_pieces[1], ".") + if (rust_version_pieces[1] == "85") { + rustc_nightly_capability = false + } else { + rustc_nightly_capability = true + } } } @@ -336,7 +344,11 @@ if (is_linux || is_chromeos) { } } -if (toolchain_has_rust) { +if (is_bsd) { + rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os) +} + +if (toolchain_has_rust && !is_bsd) { assert(rust_abi_target != "") _known_rust_target_triples_filepath = "//build/rust/known-target-triples.txt" diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni index 835526210a00..e4140d445527 100644 --- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,44 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2026-01-14 08:33:23 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2026-02-11 09:05:39 UTC +++ build/toolchain/gcc_toolchain.gni @@ -46,6 +46,13 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { + extra_cflags = "" + extra_cppflags = "" + extra_cxxflags = "" + extra_ldflags = "" +} + # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -878,22 +885,12 @@ template("gcc_toolchain") { +@@ -908,22 +915,12 @@ template("gcc_toolchain") { # actually just be doing a native compile. template("clang_toolchain") { gcc_toolchain(target_name) { - _path = "$clang_base_path/bin" - _is_path_absolute = get_path_info(_path, "abspath") == _path - - # Preserve absolute paths for tools like distcc. - if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { - prefix = _path - } else { - prefix = rebase_path(_path, root_build_dir) - } - - cc = "${prefix}/clang" - cxx = "${prefix}/clang++" + cc = "cc" + cxx = "c++" ld = cxx - readelf = "${prefix}/llvm-readelf" - ar = "${prefix}/llvm-ar" - nm = "${prefix}/llvm-nm" + readelf = "readelf" + ar = "ar" + nm = "nm" forward_variables_from(invoker, "*", [ "toolchain_args" ]) diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc index 0750ffe66ced..3e0370ef1c6f 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main.cc @@ -1,43 +1,34 @@ ---- chrome/app/chrome_main.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/app/chrome_main.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/app/chrome_main.cc @@ -28,11 +28,11 @@ #include "chrome/app/chrome_main_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/app/chrome_main_linux.h" #endif -@@ -57,7 +57,7 @@ - // sometime after old headless code is removed from Chrome. - // See https://crbug.com/373672160. - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #define ENABLE_OLD_HEADLESS_INFO - #endif - -@@ -115,7 +115,7 @@ int ChromeMain(int argc, const char** argv) { +@@ -85,7 +85,7 @@ int ChromeMain(int argc, const char** argv) { #error Unknown platform. #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PossiblyDetermineFallbackChromeChannel(argv[0]); #endif -@@ -180,7 +180,7 @@ int ChromeMain(int argc, const char** argv) { +@@ -150,7 +150,7 @@ int ChromeMain(int argc, const char** argv) { SetUpBundleOverrides(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) AppendExtraArgumentsToCommandLine(command_line); #endif diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc index a1ef5ee96986..ad2c485cd090 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,131 +1,131 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/app/chrome_main_delegate.cc -@@ -100,7 +100,7 @@ +@@ -102,7 +102,7 @@ #include "ui/base/ui_base_switches.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif -@@ -179,17 +179,17 @@ +@@ -182,17 +182,17 @@ #include "v8/include/v8.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/environment.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/scoped_xdg_activation_token_injector.h" #include "ui/linux/display_server_utils.h" #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/policy_path_parser.h" #include "components/crash/core/app/crashpad.h" #endif -@@ -223,7 +223,7 @@ const char* const ChromeMainDelegate::kNonWildcardDoma +@@ -226,7 +226,7 @@ const char* const ChromeMainDelegate::kNonWildcardDoma #endif chrome::kChromeSearchScheme, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) webapps::kIsolatedAppScheme, #endif content::kChromeDevToolsScheme, content::kChromeUIScheme, -@@ -298,7 +298,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty +@@ -301,7 +301,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty // and resources loaded. bool SubprocessNeedsResourceBundle(const std::string& process_type) { return -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The zygote process opens the resources for the renderers. process_type == switches::kZygoteProcess || #endif -@@ -378,7 +378,7 @@ bool HandleVersionSwitches(const base::CommandLine& co +@@ -381,7 +381,7 @@ bool HandleVersionSwitches(const base::CommandLine& co return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Show the man page if --help or -h is on the command line. void HandleHelpSwitches(const base::CommandLine& command_line) { if (command_line.HasSwitch(switches::kHelp) || -@@ -390,7 +390,7 @@ void HandleHelpSwitches(const base::CommandLine& comma +@@ -393,7 +393,7 @@ void HandleHelpSwitches(const base::CommandLine& comma } #endif // BUILDFLAG(IS_LINUX) -#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) void SIGTERMProfilingShutdown(int signal) { content::Profiling::Stop(); struct sigaction sigact; -@@ -472,7 +472,7 @@ std::optional AcquireProcessSingleton( +@@ -475,7 +475,7 @@ std::optional AcquireProcessSingleton( // process can be exited. ChromeProcessSingleton::CreateInstance(user_data_dir); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Read the xdg-activation token and set it in the command line for the // duration of the notification in order to ensure this is propagated to an // already running browser process if it exists. -@@ -550,7 +550,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -553,7 +553,7 @@ void InitializeUserDataDir(base::CommandLine* command_ std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, Chrome does not support running multiple copies under different // DISPLAYs, so the profile directory can be specified in the environment to // support the virtual desktop use-case. -@@ -656,7 +656,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& +@@ -659,7 +659,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Record the startup process creation time on supported platforms. On Android // this is recorded in ChromeMainDelegateAndroid. startup_metric_utils::GetCommon().RecordStartupProcessCreationTime( -@@ -815,7 +815,7 @@ std::optional ChromeMainDelegate::PostEarlyInitia +@@ -821,7 +821,7 @@ std::optional ChromeMainDelegate::PostEarlyInitia #if BUILDFLAG(IS_OZONE) // Initialize Ozone platform and add required feature flags as per platform's // properties. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess()); #endif ui::OzonePlatform::PreEarlyInitialization(); -@@ -971,7 +971,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { +@@ -995,7 +995,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { const bool emit_crashes = #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) IsCanaryDev(); #else false; -@@ -1113,7 +1113,7 @@ std::optional ChromeMainDelegate::BasicStartupCom +@@ -1137,7 +1137,7 @@ std::optional ChromeMainDelegate::BasicStartupCom return 0; // Got a --credits switch; exit with a success error code. } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This will directly exit if the user asked for help. HandleHelpSwitches(command_line); #endif -@@ -1426,7 +1426,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1453,7 +1453,7 @@ void ChromeMainDelegate::PreSandboxStartup() { CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; } -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess && !command_line.HasSwitch(switches::kDisableCrashpadForTesting)) { diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn index 1bbe39340dcc..db7cb56f29b0 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-01-21 09:57:21 UTC +--- chrome/browser/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/BUILD.gn -@@ -7134,6 +7134,13 @@ static_library("browser") { +@@ -7106,6 +7106,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 74f23af1b9ed..27c61b60cd63 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,502 +1,538 @@ ---- chrome/browser/about_flags.cc.orig 2026-01-21 09:57:21 UTC +--- chrome/browser/about_flags.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/about_flags.cc -@@ -333,12 +333,12 @@ +@@ -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) ++#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_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #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/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" -@@ -811,6 +811,26 @@ const FeatureEntry::FeatureVariation +@@ -821,6 +821,26 @@ const FeatureEntry::FeatureVariation std::size(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, + std::size(kAudioBackendPulseAudio), + nullptr}, + {"using sndio by default if available", kAudioBackendSndio, + std::size(kAudioBackendSndio), + nullptr}, + {"using ALSA by default if available", kAudioBackendAlsa, + std::size(kAudioBackendAlsa), + nullptr}}; +#endif + const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { {"UIClipboardMaximumAge", "60"}}; const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { @@ -1292,7 +1312,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada }; #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[] = { -@@ -4007,7 +4027,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso +@@ -3912,7 +3932,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[] = -@@ -4037,7 +4057,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -3942,7 +3962,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, -@@ -4283,7 +4303,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent - }; +@@ -4179,7 +4199,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #endif // BUILDFLAG(IS_ANDROID) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -5071,7 +5091,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes +@@ -4963,7 +4983,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"}}; -@@ -5189,7 +5209,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa +@@ -5081,7 +5101,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa 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[] = { -@@ -5838,7 +5858,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5742,7 +5762,7 @@ const FeatureEntry kFeatureEntries[] = { }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { "fluent-overlay-scrollbars", flag_descriptions::kFluentOverlayScrollbarsName, -@@ -6136,7 +6156,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6035,7 +6055,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, -@@ -6328,7 +6348,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6226,7 +6246,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, -@@ -6353,6 +6373,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6246,6 +6266,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) -@@ -7220,7 +7250,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7088,7 +7118,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:: -@@ -7623,7 +7653,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7485,7 +7515,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)}, -@@ -7814,7 +7844,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7676,7 +7706,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, -@@ -8112,7 +8142,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -7959,7 +7989,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // BUILDFLAG(ENABLE_PDF) + #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, -@@ -9021,7 +9051,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8828,7 +8858,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)}, #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, -@@ -9582,7 +9612,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9366,7 +9396,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, -@@ -10212,7 +10242,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9805,7 +9835,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, +@@ -9990,7 +10020,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, -@@ -10758,7 +10788,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10512,7 +10542,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, -@@ -10779,7 +10809,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10527,7 +10557,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, -@@ -11236,7 +11266,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10925,7 +10955,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, -@@ -11652,7 +11682,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11309,7 +11339,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, -@@ -11741,7 +11771,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE( +@@ -11388,7 +11418,7 @@ const FeatureEntry kFeatureEntries[] = { password_manager::features::kPasswordFormClientsideClassifier)}, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, - flag_descriptions::kContextualCueingDescription, - kOsLinux | kOsMac | kOsWin, -@@ -12109,7 +12139,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kContextualCueingDescription, kOsDesktop, + FEATURE_WITH_PARAMS_VALUE_TYPE(contextual_cueing::kContextualCueing, +@@ -11750,7 +11780,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)}, -@@ -12145,7 +12175,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11786,7 +11816,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, -@@ -12302,7 +12332,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11933,7 +11963,7 @@ const FeatureEntry kFeatureEntries[] = { apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)}, #endif // 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) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -12338,7 +12368,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11962,7 +11992,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(supervised_user::kSupervisedUserBlockInterstitialV3)}, #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, -@@ -12353,7 +12383,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11977,7 +12007,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, -@@ -12625,7 +12655,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12239,7 +12269,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)}, -@@ -12715,7 +12745,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12322,7 +12352,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, -@@ -12827,7 +12857,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12418,7 +12448,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, -@@ -12900,7 +12930,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12491,7 +12521,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:: -@@ -13178,7 +13208,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12782,7 +12812,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, -@@ -13308,7 +13338,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12924,7 +12954,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillAndPasswordsInSameSurface)}, #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, -@@ -13328,7 +13358,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12944,7 +12974,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, -@@ -13399,7 +13429,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13015,7 +13045,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, -@@ -13457,7 +13487,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13073,7 +13103,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)}, -@@ -13498,7 +13528,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13114,7 +13144,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, -@@ -13510,7 +13540,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13126,7 +13156,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, -@@ -13518,7 +13548,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13134,7 +13164,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, -@@ -13530,7 +13560,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13146,7 +13176,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, -@@ -13542,7 +13572,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13158,7 +13188,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, -@@ -13554,7 +13584,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13170,7 +13200,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, -@@ -13562,7 +13592,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13178,7 +13208,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, -@@ -13605,7 +13635,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13221,7 +13251,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, -@@ -13616,7 +13646,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13232,7 +13262,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, -@@ -13635,7 +13665,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13251,7 +13281,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, -@@ -13643,7 +13673,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13259,7 +13289,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, -@@ -13698,7 +13728,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13303,7 +13333,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)}, +@@ -13321,7 +13351,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, -@@ -13711,7 +13741,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13334,7 +13364,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, -@@ -13784,7 +13814,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13407,7 +13437,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, +@@ -13504,14 +13534,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)}, diff --git a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc index 37a42422653b..9ded113739a6 100644 --- a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc +++ b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -1,11 +1,11 @@ ---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc -@@ -104,7 +104,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch +@@ -103,7 +103,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch return metrics::OmniboxInputType::QUERY; case ExternalProtocolHandler::UNKNOWN: { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux impl of GetApplicationNameForScheme doesn't distinguish // between URL schemes with handers and those without. This will // make the default behaviour be search on Linux. diff --git a/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc index a6e1103f408e..c88778b5294c 100644 --- a/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc +++ b/www/chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/extensions/background_mode_manager.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/background/extensions/background_mode_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/background/extensions/background_mode_manager.cc -@@ -874,7 +874,7 @@ gfx::ImageSkia GetStatusTrayIcon() { +@@ -860,7 +860,7 @@ gfx::ImageSkia GetStatusTrayIcon() { } return family->CreateExact(size).AsImageSkia(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( IDR_PRODUCT_LOGO_128); #elif BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index 17ad317580c0..2ac8440ea0c6 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-01-14 08:33:23 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/background/glic/glic_status_icon.cc @@ -111,7 +111,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)); @@ -166,7 +166,7 @@ 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 = @@ -304,7 +304,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 = BrowserList::GetInstance()->empty(); + const bool is_visible = GlobalBrowserCollection::GetInstance()->IsEmpty(); const std::optional index = @@ -382,7 +382,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_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc index c1183a462609..30e8727fff2b 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.cc +++ b/www/chromium/files/patch-chrome_browser_browser__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_features.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/browser_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/browser_features.cc @@ -70,7 +70,7 @@ BASE_FEATURE(kCertVerificationNetworkTime, base::FEATU BASE_FEATURE(kClearUserDataUponProfileDestruction, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables usage of os_crypt_async::SecretPortalKeyProvider. Once // `kSecretPortalKeyProviderUseForEncryption` is enabled, this flag cannot be // disabled without losing data. @@ -80,7 +80,7 @@ BASE_FEATURE(kDbusSecretPortal, base::FEATURE_ENABLED_ // Destroy profiles when their last browser window is closed, instead of when // the browser exits. BASE_FEATURE(kDestroyProfileOnBrowserClose, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -180,7 +180,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE +@@ -176,7 +176,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If true, encrypt new data with the key provided by SecretPortalKeyProvider. // Otherwise, it will only decrypt existing data. BASE_FEATURE(kSecretPortalKeyProviderUseForEncryption, diff --git a/www/chromium/files/patch-chrome_browser_browser__features.h b/www/chromium/files/patch-chrome_browser_browser__features.h index 557d2ca83077..fa62509953e7 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.h +++ b/www/chromium/files/patch-chrome_browser_browser__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/browser_features.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/browser_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/browser_features.h @@ -41,7 +41,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); BASE_DECLARE_FEATURE(kClearUserDataUponProfileDestruction); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kDbusSecretPortal); #endif -@@ -85,7 +85,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed +@@ -84,7 +84,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlocked); BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWarning); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kSecretPortalKeyProviderUseForEncryption); #endif diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc index 1e6cad4c482a..8847cd25b5d5 100644 --- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,38 +1,38 @@ ---- chrome/browser/browser_process_impl.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/browser_process_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/browser_process_impl.cc -@@ -257,7 +257,7 @@ void OnLocalStatePrefsLoaded(); +@@ -260,7 +260,7 @@ void OnLocalStatePrefsLoaded(); #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_features.h" #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h" #include "components/os_crypt/async/browser/secret_portal_key_provider.h" -@@ -1192,7 +1192,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -1243,7 +1243,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingEnabled, false); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); #endif } -@@ -1382,7 +1382,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1445,7 +1445,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { local_state()))); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); const auto password_store = cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore); -@@ -1721,7 +1721,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1782,7 +1782,7 @@ void BrowserProcessImpl::Unpin() { } // Mac is currently not supported. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool BrowserProcessImpl::IsRunningInBackground() const { // Check if browser is in the background. diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h index 63d4787b0ff7..ea210d5fcc2b 100644 --- a/www/chromium/files/patch-chrome_browser_browser__process__impl.h +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/browser_process_impl.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/browser_process_impl.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/browser_process_impl.h -@@ -411,7 +411,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -422,7 +422,7 @@ class BrowserProcessImpl : public BrowserProcess, std::unique_ptr battery_metrics_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::RepeatingTimer autoupdate_timer_; // Gets called by autoupdate timer to see if browser needs restart and can be diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index d0e4fc313966..3273cd9b52eb 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,29 +1,29 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_browser_interface_binders.cc @@ -83,7 +83,7 @@ #endif // BUILDFLAG(ENABLE_UNHANDLED_TAP) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/screen_ai/screen_ai_service_router.h" #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h" #include "chrome/browser/ui/web_applications/sub_apps_service_impl.h" @@ -372,7 +372,7 @@ void BindMediaFoundationPreferences( #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) void BindScreenAIAnnotator( content::RenderFrameHost* frame_host, mojo::PendingReceiver receiver) { -@@ -552,7 +552,7 @@ void PopulateChromeFrameBinders( +@@ -541,7 +541,7 @@ void PopulateChromeFrameBinders( #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && !render_frame_host->GetParentOrOuterDocument()) { // The service binder will reject non-primary main frames, but we still need diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc index d612b6580950..b4fb65b54b9a 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc @@ -1,38 +1,47 @@ ---- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc @@ -130,7 +130,7 @@ #include "ui/webui/resources/js/browser_command/browser_command.mojom.h" #include "ui/webui/resources/js/tracked_element/tracked_element.mojom.h" // nogncheck crbug.com/1125897 -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_home/app_home.mojom.h" #include "chrome/browser/ui/webui/app_home/app_home_ui.h" #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" -@@ -328,7 +328,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -335,7 +335,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( HistoryClustersSidePanelUI, NewTabPageUI, BookmarksSidePanelUI>(map); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -340,7 +340,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -347,7 +347,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( RegisterWebUIControllerInterfaceBinder< browser_command::mojom::CommandHandlerFactory, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WhatsNewUI, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) NewTabPageUI>(map); -@@ -541,7 +541,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -548,7 +548,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( OmniboxPopupUI>(map); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); +@@ -582,7 +582,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( + ContextualTasksUI>(map); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder(map); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc index 75c6e4820ea7..fe2d5bcff500 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,161 +1,161 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -168,7 +168,7 @@ +@@ -172,7 +172,7 @@ #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "sql/database.h" #endif -@@ -195,12 +195,12 @@ +@@ -199,12 +199,12 @@ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/first_run/upgrade_util_linux.h" #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_metrics.h" // nogncheck #include "chrome/browser/headless/headless_mode_util.h" // nogncheck #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" -@@ -211,7 +211,7 @@ +@@ -215,7 +215,7 @@ #include "ui/gfx/switches.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/first_run/upgrade_util.h" #endif -@@ -285,7 +285,7 @@ +@@ -290,7 +290,7 @@ #include "chrome/browser/chrome_process_singleton.h" #include "chrome/browser/ui/startup/startup_browser_creator.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON) -@@ -318,7 +318,7 @@ +@@ -319,7 +319,7 @@ #include "chrome/browser/chrome_browser_main_mac.h" #elif BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/chrome_browser_main_linux.h" #elif BUILDFLAG(IS_ANDROID) #include "chrome/browser/chrome_browser_main_android.h" -@@ -326,7 +326,7 @@ +@@ -327,7 +327,7 @@ #include "chrome/browser/chrome_browser_main_posix.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/chrome_browser_main_extra_parts_linux.h" #elif BUILDFLAG(IS_OZONE) #include "chrome/browser/chrome_browser_main_extra_parts_ozone.h" -@@ -335,7 +335,7 @@ +@@ -336,7 +336,7 @@ namespace { #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) constexpr base::FilePath::CharType kMediaHistoryDatabaseName[] = FILE_PATH_LITERAL("Media History"); -@@ -484,7 +484,7 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -486,7 +486,7 @@ void ProcessSingletonNotificationCallbackImpl( } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the global activation token sent as a command line switch by another // browser process. This also removes the switch after use to prevent any side // effects of leaving it in the command line after this point. -@@ -550,7 +550,7 @@ bool ProcessSingletonNotificationCallback( +@@ -552,7 +552,7 @@ bool ProcessSingletonNotificationCallback( // Drop the request if headless mode is in effect or the request is from // a headless Chrome process. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode() || command_line.HasSwitch(switches::kHeadless)) { return false; -@@ -716,7 +716,7 @@ std::unique_ptr ChromeBrows +@@ -718,7 +718,7 @@ std::unique_ptr ChromeBrows #elif BUILDFLAG(IS_CHROMEOS) main_parts = std::make_unique( is_integration_test, startup_data); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts = std::make_unique( is_integration_test, startup_data); #elif BUILDFLAG(IS_ANDROID) -@@ -746,7 +746,7 @@ std::unique_ptr ChromeBrows +@@ -748,7 +748,7 @@ std::unique_ptr ChromeBrows // Construct additional browser parts. Stages are called in the order in // which they are added. #if defined(TOOLKIT_VIEWS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts->AddParts( std::make_unique()); #else -@@ -763,7 +763,7 @@ std::unique_ptr ChromeBrows +@@ -765,7 +765,7 @@ std::unique_ptr ChromeBrows main_parts->AddParts(std::make_unique()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts->AddParts(std::make_unique()); #elif BUILDFLAG(IS_OZONE) main_parts->AddParts(std::make_unique()); -@@ -1221,7 +1221,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1240,7 +1240,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) // Create directory for user-level Native Messaging manifest files. This // makes it less likely that the directory will be created by third-party // software with incorrect owner or permission. See crbug.com/725513 . -@@ -1265,7 +1265,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1284,7 +1284,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); TouchUIControllerStatsTracker::Initialize( -@@ -1479,7 +1479,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1502,7 +1502,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Delete the media history database if it still exists. // TODO(crbug.com/40177301): Remove this. base::ThreadPool::PostTask( -@@ -1530,7 +1530,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1553,7 +1553,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* *UrlLanguageHistogramFactory::GetForBrowserContext(profile)); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode()) { headless::ReportHeadlessActionMetrics(); } -@@ -1641,7 +1641,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1670,7 +1670,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( // In headless mode provide alternate SelectFileDialog factory overriding // any platform specific SelectFileDialog implementation that may have been // set. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode()) { headless::HeadlessSelectFileDialogFactory::SetUp(); } diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index 35f125a89198..ae4677738f4d 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,174 +1,174 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -578,7 +578,7 @@ +@@ -576,7 +576,7 @@ #include "third_party/cros_system_api/switches/chrome_switches.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/crash/core/app/crash_switches.h" #include "components/crash/core/app/crashpad.h" #endif -@@ -589,7 +589,7 @@ +@@ -587,7 +587,7 @@ #endif #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) -@@ -1411,7 +1411,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1408,7 +1408,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre registry->RegisterBooleanPref(prefs::kDataURLWhitespacePreservationEnabled, true); registry->RegisterBooleanPref(prefs::kEnableUnsafeSwiftShader, false); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled, true); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) -@@ -1681,7 +1681,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF +@@ -1674,7 +1674,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF #if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::SiteIsolationPolicy::ShouldUrlUseApplicationIsolationLevel( browser_context, site)) { CHECK(url::Origin::Create(site).scheme() == webapps::kIsolatedAppScheme); -@@ -2548,7 +2548,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati +@@ -2550,7 +2550,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati const GURL& url) { #if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!content::AreIsolatedWebAppsEnabled(browser_context)) { return false; -@@ -2672,7 +2672,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2674,7 +2674,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::CommandLine* command_line, int child_process_id) { +#if !BUILDFLAG(IS_BSD) crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line); +#endif #if BUILDFLAG(IS_MAC) std::unique_ptr client_info = GoogleUpdateSettings::LoadMetricsClientInfo(); -@@ -2681,7 +2683,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2683,7 +2685,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin client_info->client_id); } #elif BUILDFLAG(IS_POSIX) -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) pid_t pid; if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { command_line->AppendSwitchASCII( -@@ -3003,7 +3005,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3005,7 +3007,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Opt into a hardened stack canary mitigation if it hasn't already been // force-disabled. if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) { -@@ -4062,7 +4064,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref +@@ -4055,7 +4057,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref std::optional GetRootScrollbarThemeColor(WebContents* web_contents) { bool root_scrollbar_follows_browser_theme = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) root_scrollbar_follows_browser_theme = base::FeatureList::IsEnabled( blink::features::kRootScrollbarFollowsBrowserTheme); #endif -@@ -4994,7 +4996,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS +@@ -4987,7 +4989,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS additional_allowed_schemes->push_back(content::kChromeUIScheme); additional_allowed_schemes->push_back(content::kChromeUIUntrustedScheme); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) additional_allowed_schemes->push_back(webapps::kIsolatedAppScheme); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -5049,7 +5051,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5041,7 +5043,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst } } -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -5943,7 +5945,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation +@@ -5935,7 +5937,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation } #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (scheme == webapps::kIsolatedAppScheme) { if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { -@@ -5969,7 +5971,7 @@ void ChromeContentBrowserClient:: +@@ -5961,7 +5963,7 @@ void ChromeContentBrowserClient:: DCHECK(factories); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { factories->emplace(webapps::kIsolatedAppScheme, -@@ -5998,7 +6000,7 @@ void ChromeContentBrowserClient:: +@@ -5990,7 +5992,7 @@ void ChromeContentBrowserClient:: DCHECK(factories); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { factories->emplace(webapps::kIsolatedAppScheme, -@@ -6273,7 +6275,7 @@ void ChromeContentBrowserClient:: +@@ -6265,7 +6267,7 @@ void ChromeContentBrowserClient:: #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { auto* rph = content::RenderProcessHost::FromID(render_process_id); content::BrowserContext* browser_context = rph->GetBrowserContext(); @@ -6973,7 +6975,7 @@ bool ChromeContentBrowserClient::HandleWebUI( } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Rewrite chrome://settings/autofill and chrome://settings/enhancedAutofill // to chrome://settings/yourSavedInfo. -@@ -7271,7 +7273,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -7254,7 +7256,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() { // This enterprise policy is supported on Android, but the feature will not be // launched there. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // This is possibly called before `g_browser_process` is initialized. PrefService* local_state; if (g_browser_process) { -@@ -7710,7 +7712,7 @@ void ChromeContentBrowserClient:: +@@ -7677,7 +7679,7 @@ void ChromeContentBrowserClient:: GrantAdditionalRequestPrivilegesToWorkerProcess(int child_id, const GURL& script_url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // IWA Service Workers need to be explicitly granted access to their origin // because isolated-app: isn't a web-safe scheme that can be accessed by // default. -@@ -8159,7 +8161,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve +@@ -8115,7 +8117,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve content::BrowserContext* browser_context, int32_t error_code) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && url.SchemeIs(webapps::kIsolatedAppScheme)) { content::mojom::AlternativeErrorPageOverrideInfoPtr diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h index e32b8fc3674f..4fc95c720300 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -584,7 +584,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -579,7 +579,7 @@ class ChromeContentBrowserClient : public content::Con const GURL& site_url) override; std::unique_ptr CreateTracingDelegate() override; bool IsSystemWideTracingEnabled() override; -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc index 5fb2a1568f74..404a7df570fd 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc @@ -1,38 +1,38 @@ ---- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -126,7 +126,7 @@ +@@ -125,7 +125,7 @@ #include "chrome/browser/captive_portal/captive_portal_service_factory.h" #endif // BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION) -#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/browser_switcher/browser_switcher_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h" -@@ -410,7 +410,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -409,7 +409,7 @@ void CreateAndAddChromeThrottlesForNavigation( TypedNavigationUpgradeThrottle::MaybeCreateAndAdd(registry); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) WebAppSettingsNavigationThrottle::MaybeCreateAndAdd(registry); profile_management::ProfileManagementNavigationThrottle::MaybeCreateAndAdd( registry); -@@ -428,7 +428,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -427,7 +427,7 @@ void CreateAndAddChromeThrottlesForNavigation( #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) enterprise_connectors::DeviceTrustNavigationThrottle::MaybeCreateAndAdd( registry); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || -@@ -467,7 +467,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -466,7 +466,7 @@ void CreateAndAddChromeThrottlesForNavigation( registry, ui_manager); #endif // BUILDFLAG(SAFE_BROWSING_AVAILABLE) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherNavigationThrottle::MaybeCreateAndAdd( registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc index 467f3f8b4900..3f09ae9eceb5 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc @@ -1,20 +1,20 @@ ---- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/component_updater/iwa_key_distribution_component_installer.cc -@@ -77,7 +77,7 @@ bool IsOnDemandUpdateSupported() { +@@ -73,7 +73,7 @@ bool IsComponentSupported() { + // the main IWA feature. + #if BUILDFLAG(IS_WIN) + return base::FeatureList::IsEnabled(features::kIsolatedWebApps); +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled( + component_updater::kIwaKeyDistributionComponent); + #else +@@ -94,7 +94,7 @@ bool IsOnDemandUpdateSupported() { namespace component_updater { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIwaKeyDistributionComponent, #if BUILDFLAG(IS_CHROMEOS) base::FEATURE_ENABLED_BY_DEFAULT -@@ -101,7 +101,7 @@ bool IwaKeyDistributionComponentInstallerPolicy::IsSup - // the main IWA feature. - #if BUILDFLAG(IS_WIN) - return base::FeatureList::IsEnabled(features::kIsolatedWebApps); --#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return base::FeatureList::IsEnabled(kIwaKeyDistributionComponent); - #else - return false; diff --git a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc index 641394db04b5..0877ac18749c 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,38 +1,35 @@ ---- chrome/browser/component_updater/registration.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/component_updater/registration.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/component_updater/registration.cc -@@ -94,7 +94,7 @@ +@@ -90,7 +90,7 @@ #endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) #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) #include "components/component_updater/installer_policies/amount_extraction_heuristic_regexes_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -@@ -107,7 +107,7 @@ +@@ -103,7 +103,7 @@ #include "chrome/browser/component_updater/lacros_component_remover.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/component_updater/wasm_tts_engine_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -254,7 +254,7 @@ void RegisterComponentsForUpdate() { - RegisterCookieReadinessListComponent(cus); +@@ -239,12 +239,12 @@ void RegisterComponentsForUpdate() { + #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) RegisterAmountExtractionHeuristicRegexesComponent(cus); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) -@@ -266,7 +266,7 @@ void RegisterComponentsForUpdate() { - } - #endif // BUIDLFLAG(IS_ANDROID) + // BUILDFLAG(IS_CHROMEOS) || 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) RegisterWasmTtsEngineComponent(cus, g_browser_process->local_state()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) } diff --git a/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc index 173ba3317113..850c192ff170 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc @@ -1,83 +1,83 @@ ---- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/component_updater/wasm_tts_engine_component_installer.cc -@@ -11,7 +11,7 @@ +@@ -14,7 +14,7 @@ #include "components/prefs/pref_registry_simple.h" #include "content/public/browser/browser_thread.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/no_destructor.h" #include "chrome/browser/accessibility/embedded_a11y_extension_loader.h" #include "chrome/common/extensions/extension_constants.h" -@@ -20,7 +20,7 @@ +@@ -23,7 +23,7 @@ namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::FilePath::CharType kBindingsMainWasmFileName[] = FILE_PATH_LITERAL("bindings_main.wasm"); const base::FilePath::CharType kBindingsMainJsFileName[] = -@@ -48,7 +48,7 @@ constexpr std::array kWasmTtsEnginePublic +@@ -51,7 +51,7 @@ constexpr std::array kWasmTtsEnginePublic const char kWasmTtsEngineManifestName[] = "WASM TTS Engine"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class WasmTTSEngineDirectory { public: static WasmTTSEngineDirectory* Get() { -@@ -105,7 +105,7 @@ WasmTtsEngineComponentInstallerPolicy::WasmTtsEngineCo +@@ -108,7 +108,7 @@ WasmTtsEngineComponentInstallerPolicy::WasmTtsEngineCo // static void WasmTtsEngineComponentInstallerPolicy::RegisterPrefs( PrefRegistrySimple* registry) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterTimePref(prefs::kAccessibilityReadAnythingDateLastOpened, base::Time()); registry->RegisterBooleanPref( -@@ -138,7 +138,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR +@@ -141,7 +141,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR VLOG(1) << "Component ready, version " << version.GetString() << " in " << install_dir.value(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!features::IsWasmTtsEngineAutoInstallDisabled()) { // Instead of installing the component extension as soon as it is ready, // store the install directory, so that the install can be triggered -@@ -162,7 +162,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR +@@ -165,7 +165,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR // be removed the next time Chrome is restarted. void WasmTtsEngineComponentInstallerPolicy::MaybeReinstallTtsEngine( const base::FilePath& install_dir) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::Time current_time = base::Time::Now(); const base::Time date_last_opened = pref_service_->GetTime(prefs::kAccessibilityReadAnythingDateLastOpened); -@@ -222,7 +222,7 @@ void WasmTtsEngineComponentInstallerPolicy::MaybeReins +@@ -225,7 +225,7 @@ void WasmTtsEngineComponentInstallerPolicy::MaybeReins bool WasmTtsEngineComponentInstallerPolicy::VerifyInstallation( const base::Value::Dict& /* manifest */, const base::FilePath& install_dir) const { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::PathExists(install_dir.Append(kManifestV3FileName)) && base::PathExists(install_dir.Append(kBindingsMainWasmFileName)) && base::PathExists(install_dir.Append(kBindingsMainJsFileName)) && -@@ -268,7 +268,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer +@@ -291,7 +291,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer void WasmTtsEngineComponentInstallerPolicy::GetWasmTTSEngineDirectory( base::OnceCallback callback) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WasmTTSEngineDirectory* wasm_directory = WasmTTSEngineDirectory::Get(); wasm_directory->Get(std::move(callback)); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -276,7 +276,7 @@ void WasmTtsEngineComponentInstallerPolicy::GetWasmTTS +@@ -299,7 +299,7 @@ void WasmTtsEngineComponentInstallerPolicy::GetWasmTTS // static bool WasmTtsEngineComponentInstallerPolicy::IsWasmTTSEngineDirectorySet() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return WasmTTSEngineDirectory::Get()->IsSet(); #else return false; diff --git a/www/chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc b/www/chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc new file mode 100644 index 000000000000..bb20a17d438e --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/devtools_policy_dialog.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/devtools/devtools_policy_dialog.cc +@@ -32,7 +32,7 @@ + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr int kIconPadding = 4; + #else + constexpr int kIconPadding = 2; diff --git a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index ed32a3d5e8ca..a1a303ba7f3b 100644 --- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -2021,7 +2021,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -2031,7 +2031,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferredForFile( const base::FilePath& path) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { return !download_prefs_->ShouldOpenPdfInSystemReader(); } -@@ -2157,7 +2157,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2167,7 +2167,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow content::CheckDownloadAllowedCallback check_download_allowed_cb) { DCHECK_CURRENTLY_ON(BrowserThread::UI); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Don't download pdf if it is a file URL, as that might cause an infinite // download loop if Chrome is not the system pdf viewer. if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) { -@@ -2235,7 +2235,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2245,7 +2245,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl DCHECK(download_item->IsSavePackageDownload()); #if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC)) && \ + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) std::optional settings = safe_browsing::ShouldUploadBinaryForDeepScanning(download_item); diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc index fb3240b38e80..b74ee6a58a66 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/download/download_item_model.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/download/download_item_model.cc -@@ -724,7 +724,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -725,7 +725,7 @@ bool DownloadItemModel::IsCommandChecked( download_crx_util::IsExtensionDownload(*download_); case DownloadCommands::ALWAYS_OPEN_TYPE: #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); return prefs->ShouldOpenPdfInSystemReader(); -@@ -772,7 +772,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -773,7 +773,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!is_checked); SetShouldPreferOpeningInBrowser(is_checked); -@@ -1177,7 +1177,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1178,7 +1178,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") { SetShouldPreferOpeningInBrowser(true); return; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc index 0ef9f8b02bb6..85cd377cf960 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc -@@ -55,7 +55,7 @@ void AnalysisServiceSettings::ParseVerificationSignatu +@@ -54,7 +54,7 @@ void AnalysisServiceSettings::ParseVerificationSignatu const char* verification_key = kKeyWindowsVerification; #elif BUILDFLAG(IS_MAC) const char* verification_key = kKeyMacVerification; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* verification_key = kKeyLinuxVerification; #endif diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc index 9de8796862df..a72dcacfb9c7 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/common.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/enterprise/connectors/common.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/enterprise/connectors/common.cc -@@ -19,7 +19,7 @@ +@@ -20,7 +20,7 @@ #include "components/user_manager/user.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #include "components/prefs/pref_service.h" #endif -@@ -312,7 +312,7 @@ std::string GetProfileEmail(Profile* profile) { +@@ -320,7 +320,7 @@ std::string GetProfileEmail(Profile* profile) { std::string email = GetProfileEmail(IdentityManagerFactory::GetForProfile(profile)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (email.empty()) { email = profile->GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserEmail); diff --git a/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc index ce799e41d54c..62ab7ad56e71 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc @@ -1,13 +1,13 @@ ---- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2024-06-17 12:56:06 UTC +--- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc -@@ -67,8 +67,8 @@ base::flat_map& Ge +@@ -66,8 +66,8 @@ base::flat_map& Ge // TODO(crbug.com/40267996): Add actual domains with attribute names. profile_attributes->insert(std::make_pair( "supported.test", - SAMLProfileAttributes("placeholderName", "placeholderDomain", - "placeholderToken"))); + SAMLProfileAttributes(SAMLProfileAttributes{"placeholderName", "placeholderDomain", + "placeholderToken"}))); // Extract domains and attributes from the command line switch. const base::CommandLine& command_line = diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc index f566d23d2265..9902c5a66666 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/enterprise/signals/context_info_fetcher.cc -@@ -183,6 +183,8 @@ std::vector ContextInfoFetcher::GetOnSecu +@@ -184,6 +184,8 @@ std::vector ContextInfoFetcher::GetOnSecu SettingValue ContextInfoFetcher::GetOSFirewall() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) return device_signals::GetOSFirewall(); +#elif BUILDFLAG(IS_OPENBSD) + return SettingValue::ENABLED; #elif BUILDFLAG(IS_CHROMEOS) return GetChromeosFirewall(); #else -@@ -202,7 +204,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor +@@ -203,7 +205,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor #endif // BUILDFLAG(IS_LINUX) std::vector ContextInfoFetcher::GetDnsServers() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return device_signals::GetSystemDnsServers(); #else return std::vector(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index 276385fa49c6..b4d734ff1267 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1519,6 +1519,10 @@ source_set("extensions") { +@@ -1511,6 +1511,10 @@ source_set("extensions") { deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_pdf) { deps += [ "//chrome/browser/pdf", diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc index b6eb4f944c4b..c9548eb7f791 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -361,7 +361,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor +@@ -363,7 +363,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor } else if (os == "linux") { info->os = extensions::api::runtime::PlatformOs::kLinux; } else if (os == "openbsd") { - info->os = extensions::api::runtime::PlatformOs::kOpenbsd; + info->os = extensions::api::runtime::PlatformOs::kLinux; + } else if (os == "freebsd") { + info->os = extensions::api::runtime::PlatformOs::kLinux; } else if (os == "android") { info->os = extensions::api::runtime::PlatformOs::kAndroid; } else { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index 3ae1bc93f5b5..7d94eb187c7f 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -198,7 +198,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -197,7 +197,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] = settings_api::PrefType::kBoolean; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) (*s_allowlist)[autofill::prefs::kAutofillBnplEnabled] = settings_api::PrefType::kBoolean; (*s_allowlist)[autofill::prefs::kAutofillAiIdentityEntitiesEnabled] = -@@ -224,7 +224,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -223,7 +223,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[tab_groups::prefs::kAutoPinNewTabGroups] = settings_api::PrefType::kBoolean; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::kBoolean; #endif -@@ -243,7 +243,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -242,7 +242,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; (*s_allowlist)[themes::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kSystemTheme] = settings_api::PrefType::kNumber; #endif (*s_allowlist)[::prefs::kHomePage] = settings_api::PrefType::kUrl; diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc similarity index 66% rename from www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc rename to www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc index 29fac13bb1ce..6dd286570f15 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/tabs/tabs_api_non_android.cc.orig 2026-01-14 08:33:23 UTC -+++ chrome/browser/extensions/api/tabs/tabs_api_non_android.cc -@@ -577,7 +577,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/extensions/api/tabs/tabs_api.cc +@@ -1114,7 +1114,7 @@ ExtensionFunction::ResponseValue WindowsCreateFunction // created as minimized. // TODO(crbug.com/40254339): Remove this workaround when linux is fixed. // TODO(crbug.com/40254339): Find a fix for wayland as well. -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) if (new_window->GetBrowserForMigrationOnly()->initial_show_state() == ui::mojom::WindowShowState::kMinimized) { new_window->GetWindow()->Minimize(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc index 0ebf79d3f16e..98c64396f8ae 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -920,7 +920,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: +@@ -948,7 +948,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: #if BUILDFLAG(IS_CHROMEOS) RequestExtensionApproval(contents); return; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Shows a parental permission dialog directly bypassing the extension // install dialog view. The parental permission dialog contains a superset // of data from the extension install dialog: requested extension diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 5956b8254b4f..be85d1c0ebd9 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-01-21 09:57:21 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/flag_descriptions.h -@@ -8623,6 +8623,18 @@ inline constexpr char kHandleMdmErrorsForDasherAccount - inline constexpr char kHandleMdmErrorsForDasherAccountsDescription[] = - "Enables the mdm error handling feature for dasher accounts"; +@@ -8430,6 +8430,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_glic_host_glic__page__handler.cc b/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc index ad39721aca64..c703e1831d8d 100644 --- a/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-01-21 09:57:21 UTC +--- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/glic/host/glic_page_handler.cc -@@ -138,7 +138,7 @@ namespace { +@@ -146,7 +146,7 @@ namespace { constexpr mojom::Platform kPlatform = mojom::Platform::kMacOS; #elif BUILDFLAG(IS_WIN) constexpr mojom::Platform kPlatform = mojom::Platform::kWindows; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr mojom::Platform kPlatform = mojom::Platform::kLinux; #elif BUILDFLAG(IS_CHROMEOS) constexpr mojom::Platform kPlatform = mojom::Platform::kChromeOS; diff --git a/www/chromium/files/patch-chrome_browser_global__features.cc b/www/chromium/files/patch-chrome_browser_global__features.cc index ab752b856326..03e62eee885d 100644 --- a/www/chromium/files/patch-chrome_browser_global__features.cc +++ b/www/chromium/files/patch-chrome_browser_global__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/global_features.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/global_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/global_features.cc -@@ -32,7 +32,7 @@ +@@ -36,7 +36,7 @@ #include "chrome/browser/glic/public/glic_enabling.h" // nogncheck #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This causes a gn error on Android builds, because gn does not understand // buildflags, so we include it only on platforms where it is used. #include "chrome/browser/default_browser/default_browser_manager.h" -@@ -105,7 +105,7 @@ void GlobalFeatures::Init() { +@@ -140,7 +140,7 @@ void GlobalFeatures::PreBrowserProcessInitCore() { - void GlobalFeatures::InitCoreFeatures() { + void GlobalFeatures::PostBrowserProcessInitCore() { system_permissions_platform_handle_ = CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/463742800): Migrate WhatsNewRegistry (and other non-core // features) to Init(). whats_new_registry_ = CreateWhatsNewRegistry(); -@@ -171,7 +171,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -218,7 +218,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( return system_permission_settings::PlatformHandle::Create(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr GlobalFeatures::CreateWhatsNewRegistry() { return whats_new::CreateWhatsNewRegistry(); diff --git a/www/chromium/files/patch-chrome_browser_global__features.h b/www/chromium/files/patch-chrome_browser_global__features.h index 0f7984952bb2..198795d5e702 100644 --- a/www/chromium/files/patch-chrome_browser_global__features.h +++ b/www/chromium/files/patch-chrome_browser_global__features.h @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/global_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/global_features.h -@@ -16,7 +16,7 @@ +@@ -17,7 +17,7 @@ namespace system_permission_settings { class PlatformHandle; } // namespace system_permission_settings -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace whats_new { class WhatsNewRegistry; } // namespace whats_new -@@ -91,7 +91,7 @@ class GlobalFeatures { +@@ -118,7 +118,7 @@ class GlobalFeatures { system_permissions_platform_handle() { return system_permissions_platform_handle_.get(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) whats_new::WhatsNewRegistry* whats_new_registry() { return whats_new_registry_.get(); } -@@ -158,7 +158,7 @@ class GlobalFeatures { +@@ -187,7 +187,7 @@ class GlobalFeatures { virtual std::unique_ptr CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual std::unique_ptr CreateWhatsNewRegistry(); #endif -@@ -170,7 +170,7 @@ class GlobalFeatures { +@@ -199,7 +199,7 @@ class GlobalFeatures { std::unique_ptr system_permissions_platform_handle_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr whats_new_registry_; std::unique_ptr diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc index 347af6d2c1d3..de58ebaca93c 100644 --- a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc +++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/headless/headless_mode_util.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/headless/headless_mode_util.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/headless/headless_mode_util.cc -@@ -12,7 +12,7 @@ +@@ -13,7 +13,7 @@ // New headless mode is available on Linux, Windows and Mac platforms. // More platforms will be added later, so avoid function level clutter // by providing stub implementations at the end of the file. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #include "base/files/file_path.h" -@@ -24,7 +24,7 @@ +@@ -25,7 +25,7 @@ #include "chrome/common/chrome_switches.h" #include "content/public/common/content_switches.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/gl/gl_switches.h" // nogncheck #include "ui/ozone/public/ozone_switches.h" // nogncheck #endif // BUILDFLAG(IS_LINUX) -@@ -117,7 +117,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand +@@ -94,7 +94,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Headless mode on Linux relies on ozone/headless platform. command_line->AppendSwitchASCII(::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__async__delegate.h b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__async__delegate.h deleted file mode 100644 index 5d201a477e01..000000000000 --- a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__async__delegate.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/media_galleries/fileapi/mtp_device_async_delegate.h.orig 2026-01-14 08:33:23 UTC -+++ chrome/browser/media_galleries/fileapi/mtp_device_async_delegate.h -@@ -209,7 +209,7 @@ class MTPDeviceAsyncDelegate { - virtual ~MTPDeviceAsyncDelegate() = default; - }; - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - typedef base::OnceCallback - CreateMTPDeviceAsyncDelegateCallback; - diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc deleted file mode 100644 index 2ebd3f80c3ca..000000000000 --- a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc +++ /dev/null @@ -1,24 +0,0 @@ ---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2026-01-14 08:33:23 UTC -+++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc -@@ -30,7 +30,7 @@ void MTPDeviceMapService::RegisterMTPFileSystem( - const base::FilePath::StringType& device_location, - const std::string& filesystem_id, - const bool read_only) { --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - DCHECK_CURRENTLY_ON(content::BrowserThread::IO); - DCHECK(!device_location.empty()); - DCHECK(!filesystem_id.empty()); -@@ -40,10 +40,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem( - // Note that this initializes the delegate asynchronously, but since - // the delegate will only be used from the IO thread, it is guaranteed - // to be created before use of it expects it to be there. -+#if !BUILDFLAG(IS_BSD) - CreateMTPDeviceAsyncDelegate( - device_location, read_only, - base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate, - base::Unretained(this), device_location, read_only)); -+#endif - mtp_device_usage_map_[key] = 0; - } - diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc index 7faca10b2e88..4c0e357faa87 100644 --- a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc +++ b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc @@ -1,16 +1,16 @@ ---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/media_galleries/media_file_system_registry.cc -@@ -582,7 +582,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI +@@ -572,7 +572,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI // Constructor in 'private' section because depends on private class definition. MediaFileSystemRegistry::MediaFileSystemRegistry() : file_system_context_(new MediaFileSystemContextImpl) { - StorageMonitor::GetInstance()->AddObserver(this); + /* + * This conditional is needed for shutdown. Destructors + * try to get the media file system registry. + */ + if (StorageMonitor::GetInstance()) + StorageMonitor::GetInstance()->AddObserver(this); } MediaFileSystemRegistry::~MediaFileSystemRegistry() { diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc index 2a8236f176de..c298a3d9075c 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc -@@ -99,7 +99,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur +@@ -100,7 +100,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur base::FeatureList::IsEnabled( media::kMacCatapLoopbackAudioForScreenShare)); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (request_source == Params::RequestSource::kCast) { return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); } else { diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc index 5989c7a67e2f..72a1bcd5870e 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.cc -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ #include "components/webrtc_logging/browser/text_log_list.h" #include "content/public/browser/render_process_host.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "content/public/browser/child_process_security_policy.h" #include "storage/browser/file_system/isolated_context.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || -@@ -310,7 +310,7 @@ WebRtcLoggingController::GetLogMessageCallback() { +@@ -311,7 +311,7 @@ WebRtcLoggingController::GetLogMessageCallback() { return text_log_handler_->GetLogMessageCallback(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void WebRtcLoggingController::GetLogsDirectory( LogsDirectoryCallback callback, LogsDirectoryErrorCallback error_callback) { diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h index 76520063e4ba..09fcfe5dd64c 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.h -@@ -136,7 +136,7 @@ class WebRtcLoggingController +@@ -135,7 +135,7 @@ class WebRtcLoggingController base::RepeatingCallback GetLogMessageCallback(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Ensures that the WebRTC Logs directory exists and then grants render // process access to the 'WebRTC Logs' directory, and invokes |callback| with // the ids necessary to create a DirectoryEntry object. -@@ -200,7 +200,7 @@ class WebRtcLoggingController +@@ -199,7 +199,7 @@ class WebRtcLoggingController content::BrowserContext* GetBrowserContext() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Grants the render process access to the 'WebRTC Logs' directory, and // invokes |callback| with the ids necessary to create a DirectoryEntry // object. If the |logs_path| couldn't be created or found, |error_callback| diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index f1c83260f4d3..5aa90a38acbf 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -1,52 +1,52 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -80,7 +80,7 @@ +@@ -81,7 +81,7 @@ #endif #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if defined(__GLIBC__) #include #endif // defined(__GLIBC__) -@@ -105,7 +105,7 @@ +@@ -106,7 +106,7 @@ #include "chrome/installer/util/taskbar_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/metrics/pressure/pressure_metrics_reporter.h" #endif // BUILDFLAG(IS_LINUX) -@@ -114,7 +114,7 @@ +@@ -115,7 +115,7 @@ #include "components/user_manager/user_manager.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/power_metrics/system_power_monitor.h" #endif -@@ -884,7 +884,7 @@ void RecordStartupMetrics() { +@@ -889,7 +889,7 @@ void RecordStartupMetrics() { // Record whether Chrome is the default browser or not. // Disabled on Linux due to hanging browser tests, see crbug.com/1216328. -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) shell_integration::DefaultWebClientState default_state = shell_integration::GetDefaultBrowser(); base::UmaHistogramEnumeration("DefaultBrowser.State", default_state, -@@ -1115,11 +1115,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt +@@ -1120,11 +1120,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt std::make_unique(); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) pressure_metrics_reporter_ = std::make_unique(); #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver( - power_metrics::SystemPowerMonitor::GetInstance()); + power_metrics::SystemPowerMonitor::Initialize(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index bc84372cc2d6..66722d4d4ee4 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,115 +1,115 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-01-21 09:57:21 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -207,11 +207,11 @@ +@@ -209,11 +209,11 @@ #include "chrome/browser/metrics/google_update_metrics_provider_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/metrics/motherboard_metrics_provider.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/metrics/chrome_metrics_service_crash_reporter.h" #endif -@@ -229,7 +229,7 @@ +@@ -231,7 +231,7 @@ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/tabs/tab_metrics_provider.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -249,7 +249,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000; +@@ -251,7 +251,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000; // Needs to be kept in sync with the writer in // third_party/crashpad/crashpad/handler/handler_main.cc. const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ChromeMetricsServiceCrashReporter& GetCrashReporter() { static base::NoDestructor crash_reporter; return *crash_reporter; -@@ -560,7 +560,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg +@@ -561,7 +561,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) metrics::structured::StructuredMetricsService::RegisterPrefs(registry); #if !BUILDFLAG(IS_CHROMEOS) -@@ -653,7 +653,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri +@@ -654,7 +654,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri void ChromeMetricsServiceClient::OnEnvironmentUpdate(std::string* environment) { // TODO(https://bugs.chromium.org/p/crashpad/issues/detail?id=135): call this // on Mac when the Crashpad API supports it. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Register the environment with the crash reporter. Note that there is a // window from startup to this point during which crash reports will not have // an environment set. -@@ -753,7 +753,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -754,7 +754,7 @@ void ChromeMetricsServiceClient::Initialize() { this, local_state); } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) metrics::structured::Recorder::GetInstance()->SetUiTaskRunner( base::SequencedTaskRunner::GetCurrentDefault()); #endif -@@ -813,7 +813,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -814,7 +814,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic metrics_service_->RegisterMetricsProvider( std::make_unique()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); #endif -@@ -903,7 +903,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -910,7 +910,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1002,7 +1002,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1009,7 +1009,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique( g_browser_process->profile_manager())); -@@ -1014,7 +1014,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1021,7 +1021,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( metrics::CreateDesktopSessionMetricsProvider()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) -@@ -1220,7 +1220,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1227,7 +1227,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( -@@ -1571,7 +1571,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1578,7 +1578,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = base::MakeRefCounted( cros_system_profile_provider_.get()); -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Make sure that Structured Metrics recording delegates have been created // before the service is created. This is handled in other places for ChromeOS diff --git a/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc index 4cac38be1df0..6652295ae6f5 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc @@ -1,11 +1,11 @@ ---- chrome/browser/metrics/perf/cpu_identity.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/metrics/perf/cpu_identity.cc -@@ -146,7 +146,7 @@ CPUIdentity GetCPUIdentity() { +@@ -155,7 +155,7 @@ CPUIdentity GetCPUIdentity() { result.release = #if BUILDFLAG(IS_CHROMEOS) base::SysInfo::KernelVersion(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::SysInfo::OperatingSystemVersion(); #else #error "Unsupported configuration" diff --git a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc index c6368b82608d..f4181979d473 100644 --- a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc +++ b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc @@ -1,29 +1,29 @@ ---- chrome/browser/net/profile_network_context_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/net/profile_network_context_service.cc @@ -144,7 +144,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" -@@ -293,7 +293,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet +@@ -301,7 +301,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::unique_ptr GetWrappedCertStore( Profile* profile, std::unique_ptr platform_store) { -@@ -1296,7 +1296,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1294,7 +1294,7 @@ ProfileNetworkContextService::CreateClientCertStore() std::make_unique( base::BindRepeating(&CreateCryptoModuleBlockingPasswordDelegate, kCryptoModulePasswordClientAuth)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetWrappedCertStore(profile_, std::move(store)); #else return store; diff --git a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc index 057963ee8e41..76ffad2f3f65 100644 --- a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/net/profile_network_context_service_factory.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/net/profile_network_context_service_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/net/profile_network_context_service_factory.cc @@ -31,7 +31,7 @@ #include "chrome/browser/net/server_certificate_database_service_factory.h" // nogncheck #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #endif -@@ -75,7 +75,7 @@ ProfileNetworkContextServiceFactory::ProfileNetworkCon +@@ -79,7 +79,7 @@ ProfileNetworkContextServiceFactory::ProfileNetworkCon #if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) DependsOn(net::ServerCertificateDatabaseServiceFactory::GetInstance()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DependsOn(client_certificates::CertificateProvisioningServiceFactory:: GetInstance()); #endif diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index db423aaebfd7..b4297ddab52f 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,138 +1,138 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -139,7 +139,7 @@ enum class NetworkSandboxState { +@@ -141,7 +141,7 @@ enum class NetworkSandboxState { // The global instance of the SystemNetworkContextManager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Whether kerberos library loading will work in the network service due to the // sandbox. bool g_network_service_will_allow_gssapi_library_load = false; -@@ -147,7 +147,7 @@ bool g_network_service_will_allow_gssapi_library_load +@@ -149,7 +149,7 @@ bool g_network_service_will_allow_gssapi_library_load const char* kGssapiDesiredPref = #if BUILDFLAG(IS_CHROMEOS) prefs::kKerberosEnabled; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) prefs::kReceivedHttpAuthNegotiateHeader; #endif #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -193,7 +193,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -195,7 +195,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut auth_dynamic_params->basic_over_http_enabled = local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) auth_dynamic_params->delegate_by_kdc_policy = local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -208,7 +208,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -210,7 +210,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut local_state->GetString(prefs::kAuthAndroidNegotiateAccountType); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auth_dynamic_params->allow_gssapi_library_load = local_state->GetBoolean(kGssapiDesiredPref); #endif // BUILDFLAG(IS_CHROMEOS) -@@ -218,7 +218,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -220,7 +220,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut void OnNewHttpAuthDynamicParams( network::mojom::HttpAuthDynamicParamsPtr& params) { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The kerberos library is incompatible with the network service sandbox, so // if library loading is now enabled, the network service needs to be // restarted. It will be restarted unsandboxed because is -@@ -266,11 +266,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -268,11 +268,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() // it is not always initialized. CHECK_IS_TEST(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* local_state = g_browser_process->local_state(); #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The network service sandbox and the kerberos library are incompatible. // If kerberos is enabled by policy, disable the network service sandbox. if (g_network_service_will_allow_gssapi_library_load || -@@ -286,7 +286,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -288,7 +288,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (local_state && local_state->HasPrefPath(prefs::kNetworkServiceSandboxEnabled)) { return local_state->GetBoolean(prefs::kNetworkServiceSandboxEnabled) -@@ -589,7 +589,7 @@ void SystemNetworkContextManager::DeleteInstance() { +@@ -591,7 +591,7 @@ void SystemNetworkContextManager::DeleteInstance() { g_system_network_context_manager = nullptr; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SystemNetworkContextManager::GssapiLibraryLoadObserver:: GssapiLibraryLoadObserver(SystemNetworkContextManager* owner) : owner_(owner) {} -@@ -647,7 +647,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -649,7 +649,7 @@ SystemNetworkContextManager::SystemNetworkContextManag pref_change_registrar_.Add(prefs::kAllHttpAuthSchemesAllowedForOrigins, auth_pref_callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, auth_pref_callback); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -661,7 +661,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -663,7 +663,7 @@ SystemNetworkContextManager::SystemNetworkContextManag auth_pref_callback); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) pref_change_registrar_.Add(kGssapiDesiredPref, auth_pref_callback); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -733,7 +733,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -735,7 +735,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist, std::string()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, false); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -758,11 +758,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -760,11 +760,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterListPref(prefs::kExplicitlyAllowedNetworkPorts); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kNetworkServiceSandboxEnabled, true); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kReceivedHttpAuthNegotiateHeader, false); #endif // BUILDFLAG(IS_LINUX) -@@ -816,7 +816,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -818,7 +818,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea OnNewHttpAuthDynamicParams(http_auth_dynamic_params); network_service->ConfigureHttpAuthPrefs(std::move(http_auth_dynamic_params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gssapi_library_loader_observer_.Install(network_service); #endif // BUILDFLAG(IS_LINUX) -@@ -1052,7 +1052,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1075,7 +1075,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab break; } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!enabled) { g_network_service_will_allow_gssapi_library_load = true; } diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h index bb78266ec3be..a9c51986f8cd 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h @@ -1,20 +1,20 @@ ---- chrome/browser/net/system_network_context_manager.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/net/system_network_context_manager.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/net/system_network_context_manager.h -@@ -215,7 +215,7 @@ class SystemNetworkContextManager { +@@ -222,7 +222,7 @@ class SystemNetworkContextManager { class URLLoaderFactoryForSystem; class NetworkProcessLaunchWatcher; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class GssapiLibraryLoadObserver : public network::mojom::GssapiLibraryLoadObserver { public: -@@ -298,7 +298,7 @@ class SystemNetworkContextManager { +@@ -305,7 +305,7 @@ class SystemNetworkContextManager { std::unique_ptr network_annotation_monitor_; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GssapiLibraryLoadObserver gssapi_library_loader_observer_{this}; #endif // BUILDFLAG(IS_LINUX) 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 a0b81d04db03..093ed7e22fe7 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-01-14 08:33:23 UTC +--- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -68,7 +68,7 @@ +@@ -67,7 +67,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) -@@ -342,7 +342,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU +@@ -338,7 +338,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_picture__in__picture_picture__in__picture__window__manager.cc b/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc index c059ffe2e2c2..a3d69bb84149 100644 --- a/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc +++ b/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc @@ -21,7 +21,7 @@ #include "ui/gfx/geometry/resize_utils.h" #include "ui/gfx/geometry/size.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) -@@ -581,7 +581,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na +@@ -586,7 +586,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na bool PictureInPictureWindowManager::IsSupportedForDocumentPictureInPicture( const GURL& url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only allow document PiP to be opened if the URL is of a type that we know // how to display in the title bar. Otherwise, the title bar might be // misleading in certain scenarios. See https://crbug.com/1460025 . diff --git a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc index 754e15464fb8..79a7277bf8ec 100644 --- a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc +++ b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc @@ -1,12 +1,12 @@ ---- chrome/browser/platform_util_linux.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/platform_util_linux.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/platform_util_linux.cc -@@ -297,7 +297,9 @@ void OnLaunchOptionsCreated(const std::string& command +@@ -296,7 +296,9 @@ void OnLaunchOptionsCreated(const std::string& command argv.push_back(command); argv.push_back(arg); options.current_directory = working_directory; +#if !BUILDFLAG(IS_BSD) options.allow_new_privs = true; +#endif // xdg-open can fall back on mailcap which eventually might plumb through // to a command that needs a terminal. Set the environment variable telling // it that we definitely don't have a terminal available and that it should diff --git a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc deleted file mode 100644 index c423fdd7f157..000000000000 --- a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2022-10-24 13:33:33 UTC -+++ chrome/browser/policy/browser_signin_policy_handler.cc -@@ -45,7 +45,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c - policies.GetValue(policy_name(), base::Value::Type::INTEGER); - switch (static_cast(value->GetInt())) { - case BrowserSigninMode::kForced: --#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) - prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); - #endif - [[fallthrough]]; diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index e48853cb1f9d..66f07c8a9ab1 100644 --- a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,215 +1,215 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc @@ -251,7 +251,7 @@ #include "components/spellcheck/browser/pref_names.h" #endif // BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #include "chrome/browser/enterprise/idle/action.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" -@@ -636,7 +636,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -630,7 +630,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kManagedDefaultSmartCardConnectSetting, base::Value::Type::INTEGER }, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDeletingUndecryptablePasswordsEnabled, password_manager::prefs::kDeletingUndecryptablePasswordsEnabled, base::Value::Type::BOOLEAN }, -@@ -991,7 +991,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -990,7 +990,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::LIST }, #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ - || BUILDFLAG(IS_MAC) + || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { key::kRequireOnlineRevocationChecksForLocalAnchors, prefs::kCertRevocationCheckingRequiredLocalAnchors, base::Value::Type::BOOLEAN }, -@@ -1003,7 +1003,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1002,7 +1002,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::LIST }, #endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) // || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kFullscreenAllowed, prefs::kFullscreenAllowed, base::Value::Type::BOOLEAN }, -@@ -1894,7 +1894,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1893,7 +1893,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::INTEGER}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kGSSAPILibraryName, prefs::kGSSAPILibraryName, base::Value::Type::STRING }, -@@ -1956,7 +1956,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1955,7 +1955,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kNetworkServiceSandboxEnabled, prefs::kNetworkServiceSandboxEnabled, base::Value::Type::BOOLEAN }, -@@ -1976,12 +1976,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1975,12 +1975,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kTotalMemoryLimitMb, base::Value::Type::INTEGER }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kBackgroundModeEnabled, prefs::kBackgroundModeEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, -@@ -1995,7 +1995,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1994,7 +1994,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kLiveTranslateEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDefaultBrowserSettingEnabled, prefs::kDefaultBrowserSettingEnabled, base::Value::Type::BOOLEAN }, -@@ -2007,7 +2007,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2006,7 +2006,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ - || BUILDFLAG(IS_CHROMEOS) + || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAutoplayAllowed, prefs::kAutoplayAllowed, base::Value::Type::BOOLEAN }, -@@ -2117,7 +2117,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2113,7 +2113,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { key::kAlternativeBrowserPath, browser_switcher::prefs::kAlternativeBrowserPath, base::Value::Type::STRING }, -@@ -2222,7 +2222,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2218,7 +2218,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAuthNegotiateDelegateByKdcPolicy, prefs::kAuthNegotiateDelegateByKdcPolicy, base::Value::Type::BOOLEAN }, -@@ -2301,7 +2301,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2289,7 +2289,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = ash::prefs::kUrlParameterToAutofillSAMLUsername, base::Value::Type::STRING }, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kNTPFooterExtensionAttributionEnabled, prefs::kNTPFooterExtensionAttributionEnabled, base::Value::Type::BOOLEAN }, -@@ -2336,7 +2336,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2324,7 +2324,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kRestrictCoreSharingOnRenderer, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kOutOfProcessSystemDnsResolutionEnabled, prefs::kOutOfProcessSystemDnsResolutionEnabled, base::Value::Type::BOOLEAN }, -@@ -2370,7 +2370,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2358,7 +2358,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::INTEGER }, #endif #if BUILDFLAG(ENABLE_EXTENSIONS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kExtensionInstallTypeBlocklist, extensions::pref_names::kExtensionInstallTypeBlocklist, base::Value::Type::LIST}, -@@ -2393,7 +2393,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2381,7 +2381,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { key::kTabCompareSettings, optimization_guide::prefs::kProductSpecificationsEnterprisePolicyAllowed, base::Value::Type::INTEGER}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) { key::kChromeForTestingAllowed, prefs::kChromeForTestingAllowed, base::Value::Type::BOOLEAN }, -@@ -2466,7 +2466,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2451,7 +2451,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = policy_prefs::kBuiltInAIAPIsEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kNTPFooterManagementNoticeEnabled, prefs::kNTPFooterManagementNoticeEnabled, base::Value::Type::BOOLEAN }, -@@ -2479,7 +2479,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2464,7 +2464,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = glic::prefs::kGlicActuationOnWeb, base::Value::Type::INTEGER }, - #endif // BUILDFLAG(ENABLE_GLIC) + #endif // BUILDFLAG(ENABLE_GLIC) || BUILDFLAG(ENABLE_GLIC_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kEnableProxyOverrideRulesForAllUsers, proxy_config::prefs::kEnableProxyOverrideRulesForAllUsers, base::Value::Type::INTEGER }, -@@ -2632,7 +2632,7 @@ std::unique_ptr BuildH +@@ -2617,7 +2617,7 @@ std::unique_ptr BuildH // Policies for all platforms - End #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( key::kMemorySaverModeSavings, performance_manager::user_tuning::prefs::kMemorySaverModeAggressiveness, -@@ -2905,7 +2905,7 @@ std::unique_ptr BuildH +@@ -2892,7 +2892,7 @@ std::unique_ptr BuildH key::kBrowsingDataLifetime, browsing_data::prefs::kBrowsingDataLifetime, chrome_schema)); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique()); handlers->AddHandler(std::make_unique()); handlers->AddHandler(std::make_unique()); -@@ -2999,7 +2999,7 @@ std::unique_ptr BuildH +@@ -2994,7 +2994,7 @@ std::unique_ptr BuildH std::vector> signin_legacy_policies; #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) signin_legacy_policies.push_back(std::make_unique( key::kForceBrowserSignin, prefs::kForceBrowserSignin, base::Value::Type::BOOLEAN)); -@@ -3382,7 +3382,7 @@ std::unique_ptr BuildH +@@ -3377,7 +3377,7 @@ std::unique_ptr BuildH #endif #if BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique()); handlers->AddHandler( std::make_unique( -@@ -3390,7 +3390,7 @@ std::unique_ptr BuildH +@@ -3385,7 +3385,7 @@ std::unique_ptr BuildH #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #endif // BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( key::kAllowSystemNotifications, prefs::kAllowSystemNotifications, base::Value::Type::BOOLEAN)); -@@ -3443,7 +3443,7 @@ std::unique_ptr BuildH +@@ -3438,7 +3438,7 @@ std::unique_ptr BuildH std::vector gen_ai_default_policies; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) gen_ai_default_policies.emplace_back( key::kAutofillPredictionSettings, optimization_guide::prefs:: diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index 49c32d966b04..12d375f16c44 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,68 +1,68 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -334,7 +334,7 @@ +@@ -313,7 +313,7 @@ #include "chrome/browser/devtools/devtools_window.h" #endif // BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #endif -@@ -502,11 +502,11 @@ +@@ -496,11 +496,11 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897 #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -534,7 +534,7 @@ +@@ -528,7 +528,7 @@ #include "chrome/browser/sessions/session_service_log.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/color/system_theme.h" #endif -@@ -1411,7 +1411,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1451,7 +1451,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) on_device_translation::RegisterLocalStatePrefs(registry); #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WhatsNewUI::RegisterLocalStatePrefs(registry); #endif -@@ -1563,7 +1563,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) - #endif // BUILDFLAG(ENABLE_PDF) +@@ -1607,7 +1607,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) + #endif // BUILDFLAG(ENABLE_PDF_SAVE_TO_DRIVE) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kChromeForTestingAllowed, true); #endif -@@ -1945,13 +1945,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -1989,13 +1989,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) device_signals::RegisterProfilePrefs(registry); ntp_tiles::EnterpriseShortcutsManagerImpl::RegisterProfilePrefs(registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); enterprise_signin::RegisterProfilePrefs(registry); #endif diff --git a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc index c24cc3860b9e..2eb8cab0ba8f 100644 --- a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc +++ b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -1,29 +1,29 @@ ---- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/printing/print_backend_service_manager.cc -@@ -36,7 +36,7 @@ +@@ -35,7 +35,7 @@ #include "printing/printing_context.h" #include "printing/printing_features.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "content/public/common/content_switches.h" #include "ui/linux/linux_ui.h" #endif -@@ -886,7 +886,7 @@ PrintBackendServiceManager::GetServiceFromBundle( +@@ -885,7 +885,7 @@ PrintBackendServiceManager::GetServiceFromBundle( << remote_id << "`"; std::vector extra_switches; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { extra_switches = linux_ui->GetCmdLineFlagsForCopy(); } -@@ -1072,7 +1072,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate +@@ -1071,7 +1071,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate return kNoClientsRegisteredResetOnIdleTimeout; case ClientType::kQueryWithUi: -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No need to update if there were other query with UI clients. if (HasQueryWithUiClientForRemoteId(remote_id)) { return std::nullopt; diff --git a/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc b/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc new file mode 100644 index 000000000000..f0af75f7d77e --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/printing/print_test_utils.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/printing/print_test_utils.cc +@@ -130,7 +130,7 @@ std::unique_ptr MakeUserModifiedPrintSe + data.Set(kMacSystemPrintDialogDataPrintSettings, + base::Value::BlobStorage({0xB2})); + +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + data.Set(kLinuxSystemPrintDialogDataPrinter, printer_name); + data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings"); + data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup"); diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 6b064042d9cd..553c788cff02 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,151 +1,160 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -385,7 +385,7 @@ +@@ -381,7 +381,7 @@ #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h" #include "chrome/browser/enterprise/idle/idle_service_factory.h" -@@ -430,7 +430,7 @@ +@@ -429,7 +429,7 @@ #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.h" #include "chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.h" #include "chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_observer_factory.h" -@@ -442,11 +442,11 @@ +@@ -441,11 +441,11 @@ #include "chrome/browser/webauthn/passkey_unlock_manager_factory.h" - #include "device/fido/features.h" + #include "device/fido/public/features.h" #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/messaging_layer/util/manual_test_heartbeat_event_factory.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/browser_switcher/browser_switcher_service_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_service_factory.h" #include "chrome/browser/enterprise/signin/oidc_authentication_signin_interceptor_factory.h" -@@ -672,7 +672,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -662,7 +662,7 @@ void ChromeBrowserMainExtraPartsProfiles:: AccountPasswordStoreFactory::GetInstance(); AccountReconcilorFactory::GetInstance(); autofill::AccountSettingServiceFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AccountsPolicyManagerFactory::GetInstance(); #endif #if !BUILDFLAG(IS_ANDROID) -@@ -771,7 +771,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -761,7 +761,7 @@ void ChromeBrowserMainExtraPartsProfiles:: DiceBoundSessionCookieServiceFactory::GetInstance(); #endif #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherServiceFactory::GetInstance(); #endif browser_sync::UserEventServiceFactory::GetInstance(); -@@ -835,7 +835,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -825,7 +825,7 @@ void ChromeBrowserMainExtraPartsProfiles:: collaboration::comments::CommentsServiceFactory::GetInstance(); collaboration::messaging::MessagingBackendServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::CollaborationMessagingObserverFactory::GetInstance(); #endif commerce::ShoppingServiceFactory::GetInstance(); -@@ -848,7 +848,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -838,7 +838,7 @@ void ChromeBrowserMainExtraPartsProfiles:: contextual_tasks::ContextualTasksUiServiceFactory::GetInstance(); #endif ContentIndexProviderFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) contextual_cueing::ContextualCueingServiceFactory::GetInstance(); #endif ContextualSearchServiceFactory::GetInstance(); -@@ -902,11 +902,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -891,11 +891,11 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_connectors::ConnectorsServiceFactory::GetInstance(); enterprise_connectors::ReportingEventRouterFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance(); enterprise_connectors::DeviceTrustServiceFactory::GetInstance(); #endif -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) enterprise_connectors::LocalBinaryUploadServiceFactory::GetInstance(); -@@ -916,7 +916,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -905,7 +905,7 @@ void ChromeBrowserMainExtraPartsProfiles:: GetInstance(); #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_idle::IdleServiceFactory::GetInstance(); enterprise_signals::SignalsAggregatorFactory::GetInstance(); #endif -@@ -925,10 +925,10 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -914,10 +914,10 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif enterprise_reporting::LegacyTechServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) enterprise_signals::UserPermissionServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_signin::EnterpriseSigninServiceFactory::GetInstance(); #endif #if BUILDFLAG(ENABLE_SESSION_SERVICE) -@@ -1063,7 +1063,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1052,7 +1052,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_ANDROID) MerchantViewerDataManagerFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif #if !BUILDFLAG(IS_ANDROID) -@@ -1155,7 +1155,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1144,7 +1144,7 @@ void ChromeBrowserMainExtraPartsProfiles:: PasswordCounterFactory::GetInstance(); #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PasswordManagerBlocklistPolicyFactory::GetInstance(); #endif PasswordManagerSettingsServiceFactory::GetInstance(); -@@ -1201,7 +1201,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1190,7 +1190,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_CHROMEOS) policy::PolicyCertServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) policy::ProfileTokenPolicyWebSigninServiceFactory::GetInstance(); + #endif + policy::UserCloudPolicyInvalidatorFactory::GetInstance(); +@@ -1200,7 +1200,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #else + policy::UserPolicySigninServiceFactory::GetInstance(); + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) policy::UserPolicyOidcSigninServiceFactory::GetInstance(); #endif -@@ -1236,7 +1236,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + PredictionModelHandlerProviderFactory::GetInstance(); +@@ -1227,7 +1227,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) ProfileStatisticsFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ProfileTokenWebSigninInterceptorFactory::GetInstance(); OidcAuthenticationSigninInterceptorFactory::GetInstance(); #endif -@@ -1256,7 +1256,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1244,7 +1244,7 @@ void ChromeBrowserMainExtraPartsProfiles:: ReduceAcceptLanguageFactory::GetInstance(); RendererUpdaterFactory::GetInstance(); regional_capabilities::RegionalCapabilitiesServiceFactory::GetInstance(); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) reporting::ManualTestHeartbeatEventFactory::GetInstance(); #endif RevokedPermissionsOSNotificationDisplayManagerFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc index bee51279f5c1..823230d61f95 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,40 +1,40 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -263,6 +263,10 @@ +@@ -262,6 +262,10 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #endif +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using bookmarks::BookmarkModel; using content::BrowserThread; using content::DownloadManagerDelegate; -@@ -598,7 +602,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -599,7 +603,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async policy_provider = GetUserCloudPolicyManagerAsh(); #else // !BUILDFLAG(IS_CHROMEOS) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileManager* profile_manager = g_browser_process->profile_manager(); ProfileAttributesEntry* entry = profile_manager->GetProfileAttributesStorage() -@@ -868,7 +872,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -869,7 +873,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } base::FilePath ProfileImpl::last_selected_directory() { +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (sandbox->unveil_initialized()) + return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); + else + return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#else return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#endif } void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { diff --git a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc index 63b13a2b8fe1..5999fed63a09 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc @@ -1,20 +1,20 @@ ---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -250,7 +250,7 @@ +@@ -249,7 +249,7 @@ #include "url/origin.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) -@@ -5054,7 +5054,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { +@@ -5117,7 +5117,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderViewContextMenu::IsLinkToIsolatedWebApp() const { // Using `unfiltered_link_url`, because `link_url` is being replaced with // about:blank#blocked if the source is a normal site. diff --git a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc index 431fa1426174..e802689057f7 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,44 +1,44 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/renderer_preferences_util.cc -@@ -36,12 +36,12 @@ +@@ -37,12 +37,12 @@ #include "ui/base/ui_base_features.h" #include "ui/native_theme/native_theme.h" -#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) +#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -110,7 +110,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -111,7 +111,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc Profile* profile) { const PrefService* pref_service = profile->GetPrefs(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif prefs->focus_ring_color = BUILDFLAG(IS_MAC) ? SkColorSetRGB(0x00, 0x5F, 0xCC) -@@ -124,7 +124,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -125,7 +125,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc prefs->inactive_selection_fg_color = SK_ColorBLACK; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile)) { if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { linux_ui_theme->GetFocusRingColor(&prefs->focus_ring_color); -@@ -141,7 +141,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -142,7 +142,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc #endif // BUILDFLAG(IS_LINUX) #endif // BUILDFLAG(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { prefs->middle_click_paste_allowed = linux_ui->PrimaryPasteEnabled(); } diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc index 91d6b8b8a846..eafa9b19c7ed 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1290,7 +1290,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1291,7 +1291,7 @@ std::string ChromePasswordProtectionService::GetOrgani ReusedPasswordAccountType password_type) const { if (base::FeatureList::IsEnabled( safe_browsing::kEnterprisePasswordReuseUiRefresh)) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetPrefs()->GetString(prefs::kEnterpriseCustomLabelForProfile); #else return std::string(); diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc deleted file mode 100644 index 534b45b3969a..000000000000 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-12-05 10:12:50 UTC -+++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc -@@ -21,7 +21,7 @@ - #include "components/safe_browsing/core/common/safebrowsing_switches.h" - #include "net/base/url_util.h" - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/browser/enterprise/connectors/analysis/local_binary_upload_service_factory.h" - #endif - diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc index f1867a408be7..4f8dd70dee6b 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc -@@ -14,7 +14,7 @@ +@@ -17,7 +17,7 @@ #include "content/public/browser/web_contents.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window/public/browser_window_features.h" #include "chrome/browser/ui/toasts/api/toast_id.h" -@@ -61,7 +61,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange +@@ -64,7 +64,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange void SafeBrowsingPrefChangeHandler:: MaybeShowEnhancedProtectionSettingChangeNotification() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!profile_ || !base::FeatureList::IsEnabled(safe_browsing::kEsbAsASyncedSetting)) { return; -@@ -216,7 +216,7 @@ void SafeBrowsingPrefChangeHandler:: +@@ -227,7 +227,7 @@ void SafeBrowsingPrefChangeHandler:: } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void SafeBrowsingPrefChangeHandler::SetToastControllerForTesting( ToastController* controller) { toast_controller_for_testing_ = controller; diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h index d918df810986..b388936e4b70 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h @@ -1,29 +1,29 @@ ---- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/toasts/toast_controller.h" #endif -@@ -63,7 +63,7 @@ class SafeBrowsingPrefChangeHandler { +@@ -64,7 +64,7 @@ class SafeBrowsingPrefChangeHandler { virtual void MaybeShowEnhancedProtectionSettingChangeNotification(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void SetToastControllerForTesting(ToastController* controller); #endif -@@ -72,7 +72,7 @@ class SafeBrowsingPrefChangeHandler { +@@ -73,7 +73,7 @@ class SafeBrowsingPrefChangeHandler { raw_ptr profile_; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) raw_ptr toast_controller_for_testing_ = nullptr; #endif diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc new file mode 100644 index 000000000000..94e11c201c51 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/safe_browsing/safe_browsing_service.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/safe_browsing/safe_browsing_service.cc +@@ -80,7 +80,7 @@ + #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h" + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/safe_browsing/security_settings_bundle_toast_helper.h" + #endif + +@@ -186,7 +186,7 @@ void TriggerSecuritySettingsBundleToastIfNeeded( + } + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (GetSecurityBundleSetting(*profile->GetPrefs()) == + SecuritySettingsBundleSetting::ENHANCED) { + SecuritySettingsBundleToastHelper::GetForProfile(profile.get()) diff --git a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc index 5fd16bb70ed1..58b05b016523 100644 --- a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc +++ b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__service__handler__base.cc @@ -1,20 +1,20 @@ ---- chrome/browser/screen_ai/screen_ai_service_handler_base.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/screen_ai/screen_ai_service_handler_base.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/screen_ai/screen_ai_service_handler_base.cc -@@ -253,7 +253,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning() +@@ -252,7 +252,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning() base::FilePath binary_path = state_instance->get_component_binary_path(); #if BUILDFLAG(IS_WIN) std::vector preload_libraries = {binary_path}; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector extra_switches = { base::StringPrintf("--%s=%s", screen_ai::GetBinaryPathSwitch(), binary_path.MaybeAsASCII().c_str())}; -@@ -268,7 +268,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning() +@@ -267,7 +267,7 @@ void ScreenAIServiceHandlerBase::LaunchIfNotRunning() .WithPreloadedLibraries( preload_libraries, content::ServiceProcessHostPreloadLibraries::GetPassKey()) -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) .WithExtraCommandLineSwitches(extra_switches) #endif // BUILDFLAG(IS_WIN) .WithProcessCallback( diff --git a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc index 8db343f7515e..ecb2421e3107 100644 --- a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc +++ b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sessions/session_restore.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/sessions/session_restore.cc -@@ -111,7 +111,7 @@ +@@ -115,7 +115,7 @@ #include "ui/wm/core/scoped_animation_disabler.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1204,7 +1204,7 @@ class SessionRestoreImpl : public BrowserListObserver +@@ -1212,7 +1212,7 @@ class SessionRestoreImpl : public BrowserListObserver bool is_first_tab = true; for (const auto& startup_tab : startup_tabs) { const GURL& url = startup_tab.url; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (url == whats_new::GetWebUIStartupURL()) { whats_new::StartWhatsNewFetch(browser); continue; diff --git a/www/chromium/files/patch-chrome_browser_shell__integration.h b/www/chromium/files/patch-chrome_browser_shell__integration.h index 8a045d6fc7b6..f04e602a8273 100644 --- a/www/chromium/files/patch-chrome_browser_shell__integration.h +++ b/www/chromium/files/patch-chrome_browser_shell__integration.h @@ -1,11 +1,11 @@ ---- chrome/browser/shell_integration.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/shell_integration.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/shell_integration.h -@@ -182,7 +182,7 @@ std::u16string GetAppShortcutsSubdirName(); +@@ -188,7 +188,7 @@ std::u16string GetAppShortcutsSubdirName(); #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Returns the URL scheme for google-chrome:// URLs. // This varies based on channel, branding, and platform to ensure that // different installations do not collide. For example: diff --git a/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc b/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc index 0d25cdec5842..1b34858ae3a9 100644 --- a/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc +++ b/www/chromium/files/patch-chrome_browser_shortcuts_icon__badging.cc @@ -1,11 +1,11 @@ ---- chrome/browser/shortcuts/icon_badging.cc.orig 2024-06-17 12:56:06 UTC +--- chrome/browser/shortcuts/icon_badging.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/shortcuts/icon_badging.cc -@@ -59,7 +59,7 @@ enum class BadgeSize { +@@ -58,7 +58,7 @@ enum class BadgeSize { constexpr ShortcutSize kSizesNeededForShortcutCreation[] = { ShortcutSize::k16, ShortcutSize::k32, ShortcutSize::k128, ShortcutSize::k256, ShortcutSize::k512}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr ShortcutSize kSizesNeededForShortcutCreation[] = {ShortcutSize::k32, ShortcutSize::k128}; #elif BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc b/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc index 10ed0de36051..89efdf302c70 100644 --- a/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc +++ b/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc @@ -1,11 +1,11 @@ ---- chrome/browser/signin/chrome_signin_client.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/signin/chrome_signin_client.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/signin/chrome_signin_client.cc -@@ -165,7 +165,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo +@@ -166,7 +166,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo std::string HatsSurveyTriggerForAccessPoint( signin_metrics::AccessPoint access_point) { switch (access_point) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case signin_metrics::AccessPoint::kAddressBubble: return kHatsSurveyTriggerIdentityAddressBubbleSignin; case signin_metrics::AccessPoint::kAvatarBubbleSignIn: diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc index 8db5777e2654..4d335eba2690 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/signin/signin_util.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/signin/signin_util.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/signin/signin_util.cc -@@ -50,7 +50,7 @@ +@@ -49,7 +49,7 @@ #include "services/network/public/mojom/cookie_manager.mojom.h" #include "ui/base/l10n/l10n_util.h" -#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/ui/browser_dialogs.h" #include "chrome/browser/ui/browser_finder.h" #include "components/strings/grit/components_strings.h" -@@ -101,7 +101,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour +@@ -100,7 +100,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour CookiesMover::~CookiesMover() = default; void CookiesMover::StartMovingCookies() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool allow_cookies_to_be_moved = base::FeatureList::IsEnabled( profile_management::features::kThirdPartyProfileManagement); #else -@@ -403,7 +403,7 @@ bool IsSyncingUserSelectableTypesAllowedByPolicy( +@@ -402,7 +402,7 @@ bool IsSyncingUserSelectableTypesAllowedByPolicy( return true; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool HasExplicitlyDisabledHistorySync( const syncer::SyncService* sync_service, const signin::IdentityManager* identity_manager) { diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc index 69951af0ba49..f893224c025b 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/supervised_user/classify_url_navigation_throttle.cc -@@ -41,7 +41,7 @@ namespace supervised_user { +@@ -42,7 +42,7 @@ namespace supervised_user { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool ShouldShowReAuthInterstitial( content::NavigationHandle& navigation_handle) { Profile* profile = Profile::FromBrowserContext( -@@ -208,7 +208,7 @@ void ClassifyUrlNavigationThrottle::OnInterstitialResu +@@ -209,7 +209,7 @@ void ClassifyUrlNavigationThrottle::OnInterstitialResu } case InterstitialResultCallbackActions::kCancelWithInterstitial: { CHECK(navigation_handle()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (ShouldShowReAuthInterstitial(*navigation_handle())) { // Show the re-authentication interstitial if the user signed out of // the content area, as parent's approval requires authentication. diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc index 18bc7c1e1c7e..f31b365043d0 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc -@@ -15,7 +15,7 @@ +@@ -19,7 +19,7 @@ + #include "components/supervised_user/core/browser/supervised_user_service.h" #include "content/public/browser/browser_context.h" - #include "chrome/browser/supervised_user/metrics_service_accessor_delegate.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h" #endif -@@ -63,7 +63,7 @@ SupervisedUserMetricsServiceFactory::BuildServiceInsta +@@ -73,7 +73,7 @@ SupervisedUserMetricsServiceFactory::BuildServiceInsta std::unique_ptr extensions_metrics_delegate = nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extensions_metrics_delegate = std::make_unique( extensions::ExtensionRegistry::Get(profile), profile); diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc index 3542cb43b38f..2077dfb0667e 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/supervised_user/supervised_user_navigation_observer.cc -@@ -49,7 +49,7 @@ - #include "chrome/browser/supervised_user/android/supervised_user_web_content_handler_impl.h" +@@ -53,7 +53,7 @@ + #include "components/supervised_user/core/browser/android/android_parental_controls.h" #elif BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/supervised_user/chromeos/supervised_user_web_content_handler_impl.h" -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.h" #endif -@@ -69,7 +69,7 @@ std::unique_ptr Cr +@@ -73,7 +73,7 @@ std::unique_ptr Cr #elif BUILDFLAG(IS_ANDROID) return std::make_unique( web_contents, frame_id, navigation_id); -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return std::make_unique( web_contents, frame_id, navigation_id); #endif diff --git a/www/chromium/files/patch-chrome_browser_support__tool_support__tool__util.cc b/www/chromium/files/patch-chrome_browser_support__tool_support__tool__util.cc new file mode 100644 index 000000000000..ac9c6bfa7948 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_support__tool_support__tool__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/support_tool/support_tool_util.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/support_tool/support_tool_util.cc +@@ -54,7 +54,7 @@ + #endif // BUILDFLAG(IS_CHROMEOS_WITH_HW_DETAILS) + #endif // 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) + #include "chrome/browser/support_tool/updater_data_collector.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + +@@ -300,7 +300,7 @@ std::unique_ptr GetSupportToolHand + #endif // BUILDFLAG(IS_CHROMEOS_WITH_HW_DETAILS) + break; + #endif // 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) + case support_tool::CHROME_UPDATER: + handler->AddDataCollector(std::make_unique()); + break; +@@ -345,7 +345,7 @@ GetAllAvailableDataCollectorsOnDevice() { + } + #endif // BUILDFLAG(IS_CHROMEOS_WITH_HW_DETAILS) + #endif // 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) + for (const auto& type : kDataCollectorsLinuxMacWin) { + data_collectors.push_back(type); + } diff --git a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc index 476946fae70d..07bf2819ae2a 100644 --- a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/sync/sync_service_factory.cc -@@ -134,7 +134,7 @@ namespace { +@@ -135,7 +135,7 @@ namespace { tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) { CHECK(profile); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::TabGroupSyncService* service = tab_groups::TabGroupSyncServiceFactory::GetForProfile(profile); CHECK(service); -@@ -401,7 +401,7 @@ std::unique_ptr BuildSyncService( +@@ -409,7 +409,7 @@ std::unique_ptr BuildSyncService( bool local_sync_backend_enabled = false; // Only check the local sync backend pref on the supported platforms of // Windows, Mac and Linux. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) syncer::SyncPrefs prefs(profile->GetPrefs()); local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); base::UmaHistogramBoolean("Sync.Local.Enabled2", local_sync_backend_enabled); diff --git a/www/chromium/files/patch-chrome_browser_sync_test_integration_sync__service__impl__harness.cc b/www/chromium/files/patch-chrome_browser_sync_test_integration_sync__service__impl__harness.cc index 4ea812355235..09ec2bef1efa 100644 --- a/www/chromium/files/patch-chrome_browser_sync_test_integration_sync__service__impl__harness.cc +++ b/www/chromium/files/patch-chrome_browser_sync_test_integration_sync__service__impl__harness.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/test/integration/sync_service_impl_harness.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/sync/test/integration/sync_service_impl_harness.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/sync/test/integration/sync_service_impl_harness.cc -@@ -486,7 +486,7 @@ bool SyncServiceImplHarness::EnableHistorySyncNoWaitFo +@@ -491,7 +491,7 @@ bool SyncServiceImplHarness::EnableHistorySyncNoWaitFo // Tabs and history are bundled together in the same toggle. service()->GetUserSettings()->SetSelectedType( syncer::UserSelectableType::kTabs, true); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop platforms, kSavedTabGroups are not merged to kTabs yet, but // they're enabled together. service()->GetUserSettings()->SetSelectedType( diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc index 17b5396e498d..d9b742f41906 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -1,29 +1,29 @@ ---- chrome/browser/task_manager/sampling/task_group.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/task_manager/sampling/task_group.cc -@@ -33,7 +33,7 @@ const int kBackgroundRefreshTypesMask = +@@ -34,7 +34,7 @@ const int kBackgroundRefreshTypesMask = #if BUILDFLAG(IS_WIN) REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) REFRESH_TYPE_FD_COUNT | #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) REFRESH_TYPE_PRIORITY; -@@ -93,7 +93,7 @@ TaskGroup::TaskGroup( +@@ -94,7 +94,7 @@ TaskGroup::TaskGroup( weak_ptr_factory_.GetWeakPtr()), base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone, weak_ptr_factory_.GetWeakPtr()), -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone, weak_ptr_factory_.GetWeakPtr()), #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -236,7 +236,7 @@ void TaskGroup::RefreshWindowsHandles() { +@@ -237,7 +237,7 @@ void TaskGroup::RefreshWindowsHandles() { #endif // BUILDFLAG(IS_WIN) } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h index 148a87b615f5..3d8e22f3eae0 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/task_manager/sampling/task_group.h -@@ -41,7 +41,7 @@ inline constexpr int kUnsupportedVMRefreshFlags = +@@ -40,7 +40,7 @@ inline constexpr int kUnsupportedVMRefreshFlags = REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES | REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY | -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) REFRESH_TYPE_FD_COUNT | #endif REFRESH_TYPE_HARD_FAULTS; -@@ -141,7 +141,7 @@ class TaskGroup { +@@ -139,7 +139,7 @@ class TaskGroup { int64_t hard_faults_per_second() const { return hard_faults_per_second_; } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) int open_fd_count() const { return open_fd_count_; } void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -156,7 +156,7 @@ class TaskGroup { +@@ -154,7 +154,7 @@ class TaskGroup { void RefreshWindowsHandles(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void OnOpenFdCountRefreshDone(int open_fd_count); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -226,7 +226,7 @@ class TaskGroup { +@@ -220,7 +220,7 @@ class TaskGroup { int64_t user_peak_handles_ = -1; int64_t hard_faults_per_second_ = -1; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The number of file descriptors currently open by the process. int open_fd_count_ = -1; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h index d933bb6df0ae..60cba21f5d09 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.h @@ -33,7 +33,7 @@ class TaskGroupSampler : public base::RefCountedThread using OnSwappedMemRefreshCallback = - base::RepeatingCallback; + base::RepeatingCallback; using OnIdleWakeupsCallback = base::RepeatingCallback; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) using OnOpenFdCountCallback = base::RepeatingCallback; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) using OnProcessPriorityCallback = @@ -45,7 +45,7 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback& on_cpu_refresh, const OnSwappedMemRefreshCallback& on_memory_refresh, const OnIdleWakeupsCallback& on_idle_wakeups, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const OnOpenFdCountCallback& on_open_fd_count, #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) const OnProcessPriorityCallback& on_process_priority); @@ -65,7 +65,7 @@ class TaskGroupSampler : public base::RefCountedThread double RefreshCpuUsage(); - base::ByteCount RefreshSwappedMem(); + base::ByteSize RefreshSwappedMem(); int RefreshIdleWakeupsPerSecond(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) int RefreshOpenFdCount(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) base::Process::Priority RefreshProcessPriority(); @@ -89,7 +89,7 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback on_cpu_refresh_callback_; const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_; const OnIdleWakeupsCallback on_idle_wakeups_callback_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const OnOpenFdCountCallback on_open_fd_count_callback_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) const OnProcessPriorityCallback on_process_priority_callback_; diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc index 76169eb52100..9668afa9f895 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/task_manager/sampling/task_manager_impl.cc -@@ -227,7 +227,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, +@@ -232,7 +232,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, } int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return GetTaskGroupByTaskId(task_id)->open_fd_count(); #else return -1; diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc index 763c14906c32..2f1dd4b315c1 100644 --- a/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_themes_theme__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/themes/theme_service_factory.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/themes/theme_service_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/themes/theme_service_factory.cc @@ -27,7 +27,7 @@ #include "chrome/browser/themes/theme_helper_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/themes/theme_service_aura_linux.h" #include "ui/linux/linux_ui_factory.h" #endif -@@ -106,7 +106,7 @@ ThemeServiceFactory::~ThemeServiceFactory() = default; +@@ -97,7 +97,7 @@ ThemeServiceFactory::~ThemeServiceFactory() = default; std::unique_ptr ThemeServiceFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* profile) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) using ThemeService = ThemeServiceAuraLinux; #endif -@@ -118,7 +118,7 @@ ThemeServiceFactory::BuildServiceInstanceForBrowserCon +@@ -109,7 +109,7 @@ ThemeServiceFactory::BuildServiceInstanceForBrowserCon void ThemeServiceFactory::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSystemTheme, static_cast(ui::GetDefaultSystemTheme())); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc index 9184a2bbc43f..faae8a67a3c1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc +++ b/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc @@ -1,43 +1,43 @@ ---- chrome/browser/ui/accelerator_table.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/accelerator_table.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/accelerator_table.cc @@ -73,11 +73,11 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_PREVIOUS}, @@ -105,7 +105,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, @@ -157,7 +157,7 @@ const AcceleratorMapping kAcceleratorMap[] = { IDC_SHOW_AVATAR_MENU}, // Platform-specific key maps. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, -@@ -311,7 +311,7 @@ std::vector GetAcceleratorList() { +@@ -310,7 +310,7 @@ std::vector GetAcceleratorList() { + std::begin(kDevToolsAcceleratorMap), std::end(kDevToolsAcceleratorMap)); - if (features::IsSideBySideKeyboardShortcutEnabled()) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - accelerators->emplace_back( - AcceleratorMapping({ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, - IDC_NEW_SPLIT_TAB})); + accelerators->emplace_back(AcceleratorMapping( + {ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_NEW_SPLIT_TAB})); + #elif BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 5bbe073d13ef..31e2bcc9e69f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h +++ b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -523,7 +523,7 @@ +@@ -525,7 +525,7 @@ #if BUILDFLAG(IS_CHROMEOS) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kToggleMultitaskMenu, IDC_TOGGLE_MULTITASK_MENU) -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kUseSystemTitleBar, IDC_USE_SYSTEM_TITLE_BAR) \ E(kRestoreWindow, IDC_RESTORE_WINDOW) diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc index ef5099e85f03..90d2c13d2f40 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc @@ -1,20 +1,29 @@ ---- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc -@@ -58,7 +58,7 @@ gfx::Rect GetPopupSizeForBnpl() { +@@ -31,7 +31,7 @@ + #include "ui/gfx/geometry/rect.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck + #endif // BUILDFLAG(IS_LINUX) + +@@ -62,7 +62,7 @@ gfx::Rect GetPopupSizeForBnpl() { DesktopPaymentsWindowManager::DesktopPaymentsWindowManager( ContentAutofillClient* client) : client_(CHECK_DEREF(client)) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - scoped_observation_.Observe(BrowserList::GetInstance()); - #endif // BUILDFLAG(IS_LINUX) - } -@@ -151,7 +151,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye + scoped_observation_.Observe( + ProfileBrowserCollection::GetForProfile(Profile::FromBrowserContext( + client_->GetWebContents().GetBrowserContext()))); +@@ -157,7 +157,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - void DesktopPaymentsWindowManager::OnBrowserSetLastActive(Browser* browser) { + void DesktopPaymentsWindowManager::OnBrowserActivated( + BrowserWindowInterface* browser) { // If there is an ongoing payments window manager pop-up flow, and the - // original tab's WebContents become active, activate the pop-up's diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h index 7338116c07ea..55a85c69257a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h @@ -1,38 +1,38 @@ ---- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h @@ -14,7 +14,7 @@ #include "components/autofill/core/browser/payments/payments_window_manager.h" #include "content/public/browser/web_contents_observer.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/scoped_observation.h" - #include "chrome/browser/ui/browser_list.h" - #include "chrome/browser/ui/browser_list_observer.h" -@@ -39,7 +39,7 @@ class PaymentsWindowUserConsentDialogControllerImpl; + #include "chrome/browser/ui/browser_window/public/browser_collection_observer.h" // nogncheck + #include "chrome/browser/ui/browser_window/public/profile_browser_collection.h" // nogncheck +@@ -41,7 +41,7 @@ class PaymentsWindowUserConsentDialogControllerImpl; // WebContents of the original tab that the pop-up is created in. If there is a // pop-up currently present, `this` will observe the WebContents of that pop-up. class DesktopPaymentsWindowManager : public PaymentsWindowManager, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - public BrowserListObserver, + public BrowserCollectionObserver, #endif // BUILDFLAG(IS_LINUX) public content::WebContentsObserver { -@@ -59,7 +59,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi +@@ -61,7 +61,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi content::NavigationHandle* navigation_handle) override; void WebContentsDestroyed() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // BrowserListObserver: - void OnBrowserSetLastActive(Browser* browser) override; + // BrowserCollectionObserver: + void OnBrowserActivated(BrowserWindowInterface* browser) override; #endif // BUILDFLAG(IS_LINUX) -@@ -130,7 +130,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi +@@ -132,7 +132,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi // Used in tests to notify the test infrastructure that the pop-up has closed. base::RepeatingClosure popup_closed_closure_for_testing_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::ScopedObservation scoped_observation_{ - this}; + base::ScopedObservation + scoped_observation_{this}; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index ea56f215b452..9791acfe2977 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,74 +1,74 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -134,7 +134,7 @@ +@@ -136,7 +136,7 @@ #include "components/user_manager/user_manager.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/text_edit_commands.h" #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" -@@ -144,7 +144,7 @@ +@@ -146,7 +146,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/shortcuts/desktop_shortcuts_utils.h" #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -@@ -391,7 +391,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -393,7 +393,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( #endif } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this key was registered by the user as a content editing hotkey, then // it is not reserved. auto* linux_ui = ui::LinuxUi::instance(); -@@ -694,7 +694,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -696,7 +696,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo break; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case IDC_MINIMIZE_WINDOW: browser_->window()->Minimize(); break; -@@ -933,7 +933,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -935,7 +935,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo break; case IDC_CREATE_SHORTCUT: base::RecordAction(base::UserMetricsAction("CreateShortcut")); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) chrome::CreateDesktopShortcutForActiveWebContents(browser_); #else web_app::CreateWebAppFromCurrentWebContents( -@@ -1113,7 +1113,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1115,7 +1115,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) case IDC_CHROME_WHATS_NEW: #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) + (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) ShowChromeWhatsNew(browser_); break; #else -@@ -1502,7 +1502,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1503,7 +1503,7 @@ void BrowserCommandController::InitCommandState() { command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true); command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); -@@ -1889,7 +1889,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -1893,7 +1893,7 @@ void BrowserCommandController::UpdateCommandsForTabSta bool can_create_web_app = web_app::CanCreateWebApp(browser_); command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled( IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(current_web_contents)); diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc index a2ab717aeb6b..7b5430a220a3 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser_commands.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -2380,7 +2380,7 @@ void OpenUpdateChromeDialog(Browser* browser) { +@@ -2391,7 +2391,7 @@ void OpenUpdateChromeDialog(Browser* browser) { } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) { UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate(); } else { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) { chrome::AttemptRelaunch(); return; diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc index 6acc4c3df563..403e3be325fa 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/browser_ui_prefs.cc @@ -85,7 +85,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry registry->RegisterTimePref(prefs::kPinInfoBarLastShown, base::Time()); registry->RegisterIntegerPref(prefs::kPinInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForBrowser, std::string()); registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForBrowser, @@ -106,7 +106,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry user_prefs::PrefRegistrySyncable::SYNCABLE_PREF; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSessionRestoreInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -223,7 +223,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -221,7 +221,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry registry->RegisterDictionaryPref(prefs::kHttpsUpgradeFallbacks); registry->RegisterDictionaryPref(prefs::kHttpsUpgradeNavigations); registry->RegisterBooleanPref(prefs::kHttpsOnlyModeAutoEnabled, false); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForProfile, std::string()); registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForProfile, diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc b/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc index 84136ca54ae8..558844332476 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-01-21 09:57:21 UTC +--- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/browser_window/internal/browser_window_features.cc -@@ -153,7 +153,7 @@ +@@ -156,7 +156,7 @@ #include "chrome/browser/ui/startup/default_browser_prompt/pin_infobar/pin_infobar_controller.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_controller.h" #endif -@@ -406,7 +406,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac +@@ -435,7 +435,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac browser_select_file_dialog_controller_ = std::make_unique(profile); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_customization_bubble_sync_controller_ = std::make_unique(browser, profile); diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h b/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h index 7aa4eabc3f02..8539cf148476 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/browser_window/public/browser_window_features.h -@@ -105,7 +105,7 @@ class PinInfoBarController; +@@ -107,7 +107,7 @@ class PinInfoBarController; } // namespace default_browser #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ProfileCustomizationBubbleSyncController; namespace session_restore_infobar { class SessionRestoreInfobarController; -@@ -452,7 +452,7 @@ class BrowserWindowFeatures { +@@ -450,7 +450,7 @@ class BrowserWindowFeatures { return browser_select_file_dialog_controller_.get(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileCustomizationBubbleSyncController* profile_customization_bubble_sync_controller() { return profile_customization_bubble_sync_controller_.get(); -@@ -637,7 +637,7 @@ class BrowserWindowFeatures { +@@ -643,7 +643,7 @@ class BrowserWindowFeatures { std::unique_ptr browser_select_file_dialog_controller_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr profile_customization_bubble_sync_controller_; diff --git a/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc index da3f28da9f63..851b51fa6ab7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc +++ b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/hats/survey_config.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/hats/survey_config.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/hats/survey_config.cc -@@ -513,7 +513,7 @@ std::vector GetAllSurveyConfigs() +@@ -546,7 +546,7 @@ std::vector GetAllSurveyConfigs() &features::kHappinessTrackingSurveysForWallpaperSearch, kHatsSurveyTriggerWallpaperSearch); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::vector identity_string_psd_fields{ "Channel", "Chrome Version", "Number of Chrome Profiles", "Number of Google Accounts", "Sign-in Status"}; diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc index 81da59ed7a51..8a027b8489ae 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -500,7 +500,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -522,7 +522,7 @@ void SigninViewController::ShowModalSyncConfirmationDi GetOnModalDialogClosedCallback()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SigninViewController::ShowModalHistorySyncOptInDialog( bool should_close_modal_dialog, HistorySyncOptinHelper::FlowCompletedCallback callback) { -@@ -518,7 +518,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -540,7 +540,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi void SigninViewController::ShowModalManagedUserNoticeDialog( std::unique_ptr create_param) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CloseModalSignin(); dialog_ = std::make_unique( SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc b/www/chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc index 907364c63f62..b290b83a9ca1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/infobar_utils.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/startup/infobar_utils.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/startup/infobar_utils.cc -@@ -44,7 +44,7 @@ +@@ -45,7 +45,7 @@ #include "chrome/browser/ui/startup/default_browser_prompt/pin_infobar/pin_infobar_controller.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_controller.h" #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_model.h" #endif -@@ -219,7 +219,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br +@@ -223,7 +223,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kSessionRestoreInfobar)) { auto* session_restore_infobar_controller = session_restore_infobar::SessionRestoreInfobarController::From(browser); diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc index 3048663f381a..cc6be6ac5ee1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc -@@ -134,7 +134,7 @@ +@@ -133,7 +133,7 @@ #include "chrome/credential_provider/common/gcp_strings.h" #endif // BUILDFLAG(IS_WIN) -#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/headless/headless_mode_util.h" #include "chrome/browser/ui/startup/web_app_info_recorder_utils.h" #include "components/headless/policy/headless_mode_policy.h" -@@ -1103,7 +1103,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1102,7 +1102,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( TRACE_EVENT0("startup", "StartupBrowserCreator::ProcessCmdLineImpl"); ComputeAndRecordLaunchMode(command_line); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode() && headless::HeadlessModePolicy::IsHeadlessModeDisabled( g_browser_process->local_state())) { -@@ -1186,7 +1186,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1185,7 +1185,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( silent_launch = true; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Writes open and installed web apps to the specified file without // launching a new browser window or tab. if (base::FeatureList::IsEnabled(features::kListWebAppsSwitch) && -@@ -1403,7 +1403,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1402,7 +1402,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( CHECK_EQ(profile_info.mode, StartupProfileMode::kBrowserWindow) << "Failed launch with app: couldn't pick a profile"; std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If Chrome Apps are deprecated and |app_id| is a Chrome App, display the // deprecation UI instead of launching the app. if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index 0a51e09ba71c..8e0cd6ab6c2f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -1,29 +1,38 @@ ---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc @@ -81,7 +81,7 @@ #include "components/app_restore/full_restore_utils.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) @@ -221,7 +221,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( // at the state of the MessageLoop. Browser::CreateParams params = Browser::CreateParams(profile_, false); params.creation_source = Browser::CreationSource::kStartupCreator; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.startup_id = command_line_->GetSwitchValueASCII("desktop-startup-id"); #endif @@ -251,7 +251,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( continue; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Start the What's New fetch but don't add the tab at this point. The tab // will open as the foreground tab only if the remote content can be // retrieved successfully. This prevents needing to automatically close the +@@ -458,7 +458,7 @@ void StartupBrowserCreatorImpl::DetermineURLsAndLaunch + : CHROME_VERSION_STRING; + MaybeShowNonMilestoneUpdateToast(browser, current_version_string); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Check for DSE integrity if flag is enabled. + if (base::FeatureList::IsEnabled(features::kDseIntegrity)) { + // TODO(466065123): The controller will instantiate the model, check the diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc index fb7544490c42..ce2a8a65be1d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/startup/startup_tab_provider.cc -@@ -68,7 +68,7 @@ +@@ -67,7 +67,7 @@ #include "extensions/common/manifest_handlers/chrome_url_overrides_handler.h" #endif // !BUILDFLAG(IS_ANDROID) -#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/headless/headless_mode_util.h" #endif -@@ -137,7 +137,7 @@ bool ValidateUrl(const GURL& url) { +@@ -135,7 +135,7 @@ bool ValidateUrl(const GURL& url) { #endif // BUILDFLAG(IS_CHROMEOS) bool url_scheme_is_chrome = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // In Headless mode, allow any URL pattern that matches chrome:// scheme if // the user explicitly allowed it. if (headless::IsHeadlessMode() && url.SchemeIs(content::kChromeUIScheme)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc index 2a82f5c3091a..c0cd962e2680 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,26 +1,26 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -216,7 +216,7 @@ +@@ -213,7 +213,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" #include "chrome/browser/ui/hats/hats_helper.h" #include "chrome/browser/ui/performance_controls/performance_controls_hats_service_factory.h" -@@ -723,12 +723,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -710,12 +710,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con webapps::PreRedirectionURLObserver::CreateForWebContents(web_contents); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled( features::kHappinessTrackingSurveysForDesktopDemo) || base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc deleted file mode 100644 index b07745dcaeb1..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/tabs/features.cc.orig 2026-01-14 08:33:23 UTC -+++ chrome/browser/ui/tabs/features.cc -@@ -28,7 +28,7 @@ bool CanShowTabSearchPositionSetting() { - } - // Mac and other platforms will always have the tab search position in the - // correct location, cros/linux/win git the user the option to change. --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - return base::FeatureList::IsEnabled(kTabSearchPositionSetting); - #else - return false; diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h b/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h index 7c815be6147b..d08ef2b77814 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/tabs/public/tab_features.h -@@ -125,7 +125,7 @@ class TabContextualizationController; +@@ -129,7 +129,7 @@ class TabContextualizationController; } // namespace lens #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace wallet { class ChromeWalletablePassClient; } // namespace wallet -@@ -502,7 +502,7 @@ class TabFeatures { +@@ -506,7 +506,7 @@ class TabFeatures { new_tab_page_preload_pipeline_manager_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr walletable_pass_client_; #endif - // Must be the last member. + diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc index b04a2589de91..79d9d1307ef7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/tabs/tab_features.cc @@ -88,7 +88,7 @@ #include "chrome/browser/ui/webui/webui_embedding_context.h" #include "components/contextual_tasks/public/features.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/contextual_tasks/contextual_tasks_tab_visit_tracker.h" #include "chrome/browser/wallet/chrome_walletable_pass_client.h" #endif - #include "chrome/browser/ui/contextual_search/tab_contextualization_controller.h" @@ -442,7 +442,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro task_manager::WebContentsTags::CreateForTabContents(tab.GetContents()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) inactive_window_mouse_event_controller_ = std::make_unique(); diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc index 7bde5f263aac..2143aee12eda 100644 --- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc +++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -374,7 +374,7 @@ TaskManagerTableModel::~TaskManagerTableModel() { +@@ -375,7 +375,7 @@ TaskManagerTableModel::~TaskManagerTableModel() { // Note: system_total_time_ is used for both since there is no functional // difference between browser & system (they are essentially the same tab). // Instead, the data is routed to the platform appropriate bucket. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) task_manager::RecordTabSwitchEvent(CategoryRecord::kBrowser, system_total_time_); #elif BUILDFLAG(IS_CHROMEOS) -@@ -507,7 +507,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r +@@ -508,7 +508,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r ? stringifier_->backgrounded_string() : stringifier_->foregrounded_string(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); return fd_count >= 0 ? base::FormatNumber(fd_count) -@@ -665,7 +665,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, +@@ -666,7 +666,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, return BooleanCompare(is_proc1_bg, is_proc2_bg); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { const int proc1_fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row1]); -@@ -977,7 +977,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -985,7 +985,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col type = REFRESH_TYPE_KEEPALIVE_COUNT; break; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: type = REFRESH_TYPE_FD_COUNT; break; diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc index b763f0f17ea2..cf21cbbc5bf3 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,92 +1,38 @@ ---- chrome/browser/ui/ui_features.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/ui_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/ui_features.cc -@@ -29,7 +29,7 @@ BASE_FEATURE(kAllowEyeDropperWGCScreenCapture, +@@ -30,7 +30,7 @@ BASE_FEATURE(kAllowEyeDropperWGCScreenCapture, BASE_FEATURE(kCreateNewTabGroupAppMenuTopLevel, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kDseIntegrity, base::FEATURE_ENABLED_BY_DEFAULT); // Enables the feature to remove the last confirmation dialog when relaunching // to update Chrome. - BASE_FEATURE(kFewerUpdateConfirmations, base::FEATURE_ENABLED_BY_DEFAULT); -@@ -89,7 +89,7 @@ BASE_FEATURE(kPressAndHoldEscToExitBrowserFullscreen, - // context menu will only reload the active tab. The tab context menu will still - // use the selection model to reload. - BASE_FEATURE(kReloadSelectionModel, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -99,7 +99,7 @@ BASE_FEATURE(kReloadSelectionModel, - // Enforces close tab hotkey to only close the active view of a split tab, - // when it is the only tab in selection model. - BASE_FEATURE(kCloseActiveTabInSplitViewViaHotkey, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -112,7 +112,7 @@ BASE_FEATURE(kShowTabGroupsMacSystemMenu, base::FEATUR - #endif // BUILDFLAG(IS_MAC) - - BASE_FEATURE(kSideBySide, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -177,7 +177,7 @@ BASE_FEATURE_PARAM(int, - "drop_target_hide_for_os_width", - #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) - 32 --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - 50 - #else - 0 -@@ -196,7 +196,7 @@ BASE_FEATURE_PARAM(double, - ); - - BASE_FEATURE(kSideBySideDropTargetNudge, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -278,7 +278,7 @@ BASE_FEATURE_PARAM(int, - // When enabled along with SideBySide flag, split tabs will be restored on - // startup. - BASE_FEATURE(kSideBySideSessionRestore, --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -292,7 +292,7 @@ bool IsRestoringSplitViewEnabled() { - - BASE_FEATURE(kSideBySideLinkMenuNewBadge, - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -513,7 +513,7 @@ BASE_FEATURE(kViewsFirstRunDialog, base::FEATURE_ENABL +@@ -299,7 +299,7 @@ BASE_FEATURE(kViewsFirstRunDialog, base::FEATURE_ENABL BASE_FEATURE(kViewsJSAppModalDialog, base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kUsePortalAccentColor, base::FEATURE_ENABLED_BY_DEFAULT); #endif -@@ -751,7 +751,7 @@ bool IsBookmarkTabGroupConversionEnabled() { +@@ -537,7 +537,7 @@ bool IsBookmarkTabGroupConversionEnabled() { return base::FeatureList::IsEnabled(kBookmarkTabGroupConversion); } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kSessionRestoreInfobar, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE_PARAM(bool, +@@ -574,7 +574,7 @@ BASE_FEATURE(kWhatsNewDesktopRefresh, base::FEATURE_DI + + BASE_FEATURE(kTabGroupsFocusing, base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kUpdaterUI, base::FEATURE_DISABLED_BY_DEFAULT); + #endif + diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.h b/www/chromium/files/patch-chrome_browser_ui_ui__features.h index bdf9647d39cd..a5aaaab6073e 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.h @@ -1,29 +1,38 @@ ---- chrome/browser/ui/ui_features.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/ui_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/ui_features.h @@ -24,7 +24,7 @@ BASE_DECLARE_FEATURE(kAllowEyeDropperWGCScreenCapture) BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kDseIntegrity); BASE_DECLARE_FEATURE(kFewerUpdateConfirmations); #endif - -@@ -55,7 +55,7 @@ enum class PdfInfoBarTrigger { kPdfLoad = 0, kStartup +@@ -56,7 +56,7 @@ enum class PdfInfoBarTrigger { kPdfLoad = 0, kStartup BASE_DECLARE_FEATURE_PARAM(PdfInfoBarTrigger, kPdfInfoBarTrigger); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When enabled, user may see the session restore UI flow. BASE_DECLARE_FEATURE(kSessionRestoreInfobar); -@@ -368,7 +368,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); +@@ -290,7 +290,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); BASE_DECLARE_FEATURE(kViewsJSAppModalDialog); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kUsePortalAccentColor); #endif +@@ -400,7 +400,7 @@ BASE_DECLARE_FEATURE(kWhatsNewDesktopRefresh); + + BASE_DECLARE_FEATURE(kTabGroupsFocusing); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kUpdaterUI); + #endif + diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index c7758e95fb5b..142223ba19db 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2346,7 +2346,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2359,7 +2359,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::vector contents_web_views = GetAllVisibleContentsWebViews(); -@@ -6061,7 +6061,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -6014,7 +6014,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { } void BrowserView::MaybeShowSupervisedUserProfileSignInIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } -@@ -6071,7 +6071,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -6024,7 +6024,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn } void BrowserView::MaybeShowSignInBenefitsIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc index 3321a689e138..13ccd2965a2b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/browser_widget.cc @@ -52,7 +52,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #include "ui/linux/linux_ui.h" #endif @@ -87,7 +87,7 @@ class ThemeChangedObserver : public views::WidgetObser }; bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; @@ -203,7 +203,7 @@ void BrowserWidget::InitBrowserWidget() { Init(std::move(params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SelectNativeTheme(); #else SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi()); @@ -342,7 +342,7 @@ void BrowserWidget::OnNativeWidgetWorkspaceChanged() { chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), IsVisibleOnAllWorkspaces()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If the window was sent to a different workspace, prioritize it if // it was sent to the current workspace and deprioritize it // otherwise. This is done by MoveBrowsersInWorkspaceToFront() -@@ -535,7 +535,7 @@ void BrowserWidget::OnMenuClosed() { +@@ -541,7 +541,7 @@ void BrowserWidget::OnMenuClosed() { } void BrowserWidget::SelectNativeTheme() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the regular NativeTheme instance if running incognito mode, regardless // of system theme (gtk, qt etc). ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); -@@ -576,7 +576,7 @@ void BrowserWidget::OnTouchUiChanged() { +@@ -582,7 +582,7 @@ void BrowserWidget::OnTouchUiChanged() { bool BrowserWidget::RegenerateFrameOnThemeChange( BrowserThemeChangeType theme_change_type) { bool need_regenerate = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // System and user theme changes can both change frame buttons, so the frame // always needs to be regenerated on Linux. need_regenerate = true; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__app__layout__impl.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__app__layout__impl.cc index 93f4583e71af..e9704b850ea6 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__app__layout__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__app__layout__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/layout/browser_view_app_layout_impl.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/frame/layout/browser_view_app_layout_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/layout/browser_view_app_layout_impl.cc -@@ -332,7 +332,7 @@ void BrowserViewAppLayoutImpl::DoPostLayoutVisualAdjus +@@ -371,7 +371,7 @@ void BrowserViewAppLayoutImpl::DoPostLayoutVisualAdjus label.SetSubpixelRenderingEnabled(false); label.SetHorizontalAlignment(gfx::ALIGN_LEFT); label.SetAutoColorReadabilityEnabled(false); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) label.SetSubpixelRenderingEnabled(false); label.SetHorizontalAlignment(gfx::ALIGN_LEFT); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc new file mode 100644 index 000000000000..a8f4b31d1dca --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc.orig 2026-02-11 09:05:39 UTC ++++ chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc +@@ -35,7 +35,7 @@ static constexpr base::TimeDelta kShowNudgeDelay = bas + static constexpr int kDropTargetHideForOSWidth = + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) + 32; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + 50; + #else + 0; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index 0797f6c70b87..a0142f73b32d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ #include "ui/views/window/vector_icons/vector_icons.h" #include "ui/views/window/window_shape.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/views/controls/menu/menu_runner.h" #endif -@@ -610,7 +610,7 @@ bool OpaqueBrowserFrameView::IsFrameCondensed() const +@@ -618,7 +618,7 @@ bool OpaqueBrowserFrameView::IsFrameCondensed() const OpaqueBrowserFrameView::FrameButtonStyle OpaqueBrowserFrameView::GetFrameButtonStyle() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return FrameButtonStyle::kMdButton; #else return FrameButtonStyle::kImageButton; -@@ -629,7 +629,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh +@@ -637,7 +637,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OpaqueBrowserFrameView::IsTiled() const { return browser_widget()->tiled(); } -@@ -861,7 +861,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -869,7 +869,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons } void OpaqueBrowserFrameView::WindowIconPressed() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Chrome OS doesn't show the window icon, and Windows handles this on its own // due to the hit test being HTSYSMENU. menu_runner_ = std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc index 0f4ecff17123..73ad7f2118a4 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc @@ -81,7 +81,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM void SystemMenuModelBuilder::BuildSystemMenuForBrowserWindow( ui::SimpleMenuModel* model) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU); model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU); model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU); -@@ -130,7 +130,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -128,7 +128,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER_CONTEXT_MENU, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); bool supports_server_side_decorations = true; #if BUILDFLAG(IS_OZONE) && !BUILDFLAG(IS_CHROMEOS) -@@ -204,7 +204,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -202,7 +202,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc index a17c0c83f29d..2ceb74777da5 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc @@ -24,7 +24,7 @@ #include "chromeos/ui/frame/desks/move_to_desks_menu_model.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/common/pref_names.h" #endif @@ -41,7 +41,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( SystemMenuModelDelegate::~SystemMenuModelDelegate() = default; bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { PrefService* prefs = browser_->profile()->GetPrefs(); return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); -@@ -67,7 +67,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -66,7 +66,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c } bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_maximized = browser_->window()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: 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 83b6b31e60f3..a3693e6b58c3 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-01-28 08:17:57 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -1777,7 +1777,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup - weak_factory_.GetWeakPtr()), - base::Milliseconds(100)); +@@ -1805,7 +1805,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_tabs_dragging_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index 568b7aa51216..a53164cd2e6a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -176,7 +176,7 @@ void OffsetX(int x_offset, std::vector* rec +@@ -191,7 +191,7 @@ BrowserView* GetBrowserViewForContext(const TabDragCon void UpdateSystemDnDDragImage(TabDragContext* attached_context, const gfx::ImageSkia& image) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VLOG(1) << __func__ << " image size=" << image.size().ToString(); aura::Window* root_window = attached_context->GetWidget()->GetNativeWindow()->GetRootWindow(); -@@ -388,7 +388,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -403,7 +403,7 @@ TabDragController::Liveness TabDragController::Init( // synchronous on desktop Linux, so use that. // - ChromeOS Ash // Releasing capture on Ash cancels gestures so avoid it. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ref->can_release_capture_ = false; #endif - ref->start_point_in_screen_ = -@@ -981,7 +981,7 @@ TabDragController::Liveness TabDragController::DragBro + ref->start_point_in_screen_ = gfx::Point(offset_from_source_view.x(), +@@ -1006,7 +1006,7 @@ TabDragController::Liveness TabDragController::DragBro CHECK_EQ(SetCapture(target_context), Liveness::kAlive); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // EndMoveLoop is going to snap the window back to its original location. // Hide it so users don't see this. Hiding a window in Linux aura causes // it to lose capture so skip it. -@@ -2120,7 +2120,7 @@ void TabDragController::CompleteDrag() { +@@ -2159,7 +2159,7 @@ void TabDragController::CompleteDrag() { } // If source window was maximized - maximize the new window as well. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Keeping maximized state breaks snap to Grid on Windows when dragging // tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in -@@ -2536,7 +2536,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2593,7 +2593,7 @@ TabDragController::Liveness TabDragController::GetLoca } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Exclude windows which are pending deletion via Browser::TabStripEmpty(). // These windows can be returned in the Linux Aura port because the browser // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index b76c3fa68217..8eee8946ca7c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -683,7 +683,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -684,7 +684,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Move the hit test area for hovering up so that it is not overlapped by tab // hover cards when they are shown. // TODO(crbug.com/41467565): Once Linux/CrOS widget transparency is solved, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc index edf7ddc028b9..74c123bef08f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc -@@ -381,7 +381,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta +@@ -383,7 +383,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta // not become active. Setting this to false creates the need to explicitly // hide the hovercard on press, touch, and keyboard events. SetCanActivate(false); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) set_accept_events(false); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc index 82ce9822210b..037ff9d3ff1b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -567,7 +567,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -557,7 +557,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con if (!IsHoverAnimationActive()) { return base_opacity; } - return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue()); + return std::lerp(base_opacity, GetHoverOpacity(), static_cast(GetHoverAnimationValue())); } - TabActive TabStyleViewsImpl::GetApparentActiveState() const { + bool TabStyleViewsImpl::IsApparentlyActive() const { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc index bba7397a8736..a02063d172c1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/task_manager_search_bar_view.cc -@@ -28,7 +28,7 @@ TaskManagerSearchBarView::TaskManagerSearchBarView( +@@ -29,7 +29,7 @@ TaskManagerSearchBarView::TaskManagerSearchBarView( const gfx::Insets& margins, Delegate& delegate) : delegate_(delegate) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) , textfield_placeholder_color_id_(kColorTaskManagerSearchBarPlaceholderText) #endif 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 0d1227942cab..6f370a66f5b3 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-01-21 09:57:21 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1236,7 +1236,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1255,7 +1255,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( -@@ -1503,7 +1503,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1522,7 +1522,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_views_web__apps_web__app__integration__test__driver.cc b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc index 7582de1f2dee..8bdeae94f798 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc @@ -1,83 +1,83 @@ ---- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc -@@ -522,7 +522,7 @@ std::string GetFileExtension(FileExtension file_extens +@@ -525,7 +525,7 @@ std::string GetFileExtension(FileExtension file_extens } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SiteConfig GetSiteConfigurationFromAppName(const std::string& app_name) { SiteConfig config; bool is_app_found = false; -@@ -2101,7 +2101,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2146,7 +2146,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc if (app_name.empty()) { app_name = GetSiteConfiguration(site).app_name; } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_TRUE(override_registration_->test_override().IsShortcutCreated( profile(), app_id, app_name)); ASSERT_TRUE( -@@ -3458,7 +3458,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3522,7 +3522,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna app_state->id, app_state->name); ASSERT_TRUE(icon_color.has_value()); ASSERT_THAT(site_config.icon_color, testing::Eq(icon_color.value())); -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_TRUE(override_registration_->test_override().IsRunOnOsLoginEnabled( profile(), app_state->id, app_state->name)); #endif -@@ -3473,7 +3473,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3537,7 +3537,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis GetAppBySiteMode(after_state_change_action_state_.get(), profile(), site); ASSERT_TRUE(app_state); base::ScopedAllowBlockingForTesting allow_blocking; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_FALSE(override_registration_->test_override().IsRunOnOsLoginEnabled( profile(), app_state->id, app_state->name)); #endif -@@ -3483,7 +3483,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3547,7 +3547,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis void WebAppIntegrationTestDriver::CheckSiteHandlesFile( Site site, FileExtension file_extension) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!BeforeStateCheckAction(__FUNCTION__)) { return; } -@@ -3499,7 +3499,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3563,7 +3563,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile void WebAppIntegrationTestDriver::CheckSiteNotHandlesFile( Site site, FileExtension file_extension) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!BeforeStateCheckAction(__FUNCTION__)) { return; } -@@ -4309,7 +4309,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4378,7 +4378,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu base::FilePath shortcut_dir, const std::string& app_name, const webapps::AppId& app_id) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return override_registration_->test_override().GetShortcutPath( profile(), shortcut_dir, app_id, app_name); #else -@@ -4506,7 +4506,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4585,7 +4585,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre const webapps::AppId& id) { base::ScopedAllowBlockingForTesting allow_blocking; bool is_shortcut_and_icon_correct = false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_shortcut_correct = override_registration_->test_override().IsShortcutCreated(profile, id, name); -@@ -4550,7 +4550,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4629,7 +4629,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr do_icon_colors_match = (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SkColor expected_icon_pixel_color = GetSiteConfigurationFromAppName(name).icon_color; std::optional actual_color_install_icon_size = diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc index 6592f755b6b7..51e941dbea9b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -587,7 +587,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun +@@ -597,7 +597,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun Browser* browser, Profile* profile, const std::string& app_id) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WebAppProvider* provider = WebAppProvider::GetForWebApps(profile); CHECK(provider); -@@ -808,7 +808,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( +@@ -818,7 +818,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::Feature& GetPromoFeatureEngagementFromBrowser( const BrowserWindowInterface* browser) { diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc index ce7039cb9103..636e84f8e9e9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc @@ -1,74 +1,74 @@ ---- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc -@@ -56,7 +56,7 @@ +@@ -55,7 +55,7 @@ #include "net/ssl/client_cert_store_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" -@@ -131,7 +131,7 @@ class ClientCertStoreLoader { +@@ -130,7 +130,7 @@ class ClientCertStoreLoader { active_requests_; }; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ClientCertStoreFactoryNSS : public ClientCertStoreFactory { public: std::unique_ptr CreateClientCertStore() override { -@@ -156,7 +156,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto +@@ -155,7 +155,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto }; #endif -#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::unique_ptr CreatePlatformClientCertLoader( Profile* profile) { #if BUILDFLAG(IS_WIN) -@@ -171,7 +171,7 @@ std::unique_ptr CreatePlatformC +@@ -170,7 +170,7 @@ std::unique_ptr CreatePlatformC } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ClientCertStoreFactoryProvisioned : public ClientCertStoreFactory { public: explicit ClientCertStoreFactoryProvisioned( -@@ -331,7 +331,7 @@ class ClientCertSource : public CertificateManagerPage +@@ -330,7 +330,7 @@ class ClientCertSource : public CertificateManagerPage std::optional certs_; }; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // ChromeOS currently can use either Kcer or NSS for listing client certs, and // Linux uses NSS only. This interface provides an abstraction to hide that // from WritableClientCertSource. Currently this class only handles reading -@@ -1054,7 +1054,7 @@ CreatePlatformClientCertSource( +@@ -1052,7 +1052,7 @@ CreatePlatformClientCertSource( mojo::Remote* remote_client, Profile* profile) { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(remote_client, profile); #else return std::make_unique( -@@ -1062,7 +1062,7 @@ CreatePlatformClientCertSource( +@@ -1060,7 +1060,7 @@ CreatePlatformClientCertSource( #endif } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr CreateProvisionedClientCertSource(Profile* profile) { return std::make_unique( -@@ -1112,7 +1112,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow +@@ -1110,7 +1110,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow return client_cert_policy_ == ClientCertificateManagementPermission::kAll; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ClientCertManagementAccessControls::ClientCertManagementAccessControls( Profile* profile) {} diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc index fe60f06ded48..7036199e61dd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc @@ -1,70 +1,76 @@ ---- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc @@ -156,7 +156,7 @@ #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" #include "chrome/browser/ui/webui/browser_switch/browser_switch_ui.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" -@@ -164,13 +164,13 @@ +@@ -165,13 +165,13 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) -@@ -202,7 +202,7 @@ +@@ -199,7 +199,7 @@ #include "chrome/browser/ui/webui/signin/signin_error_ui.h" #endif // !BUILDFLAG(IS_CHROMEOS) && !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) #include "chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -359,7 +359,7 @@ void RegisterChromeWebUIConfigs() { - map.AddWebUIConfig(std::make_unique()); +@@ -360,7 +360,7 @@ void RegisterChromeWebUIConfigs() { + map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_OPENBSD) -@@ -389,7 +389,7 @@ void RegisterChromeWebUIConfigs() { +@@ -390,7 +390,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); -@@ -398,13 +398,13 @@ void RegisterChromeWebUIConfigs() { +@@ -399,18 +399,18 @@ void RegisterChromeWebUIConfigs() { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + map.AddWebUIConfig(std::make_unique()); + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index 07b9df089076..5be2c9b03b47 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,51 +1,51 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -115,18 +115,18 @@ +@@ -116,18 +116,18 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/commerce/product_specifications_ui.h" #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #endif -@@ -275,7 +275,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( +@@ -276,7 +276,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( const std::vector& desired_sizes_in_pixel, favicon_base::FaviconResultsCallback callback) const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (page_url.SchemeIs(webapps::kIsolatedAppScheme)) { ReadIsolatedWebAppFaviconsFromDisk(profile, page_url, std::move(callback)); return; -@@ -410,7 +410,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -416,7 +416,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: return NewTabPageUI::GetFaviconResourceBytes(scale_factor); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (page_url.host() == chrome::kChromeUIWhatsNewHost) { return WhatsNewUI::GetFaviconResourceBytes(scale_factor); } -@@ -449,7 +449,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -455,7 +455,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (page_url.host() == commerce::kChromeUICompareHost) { return commerce::ProductSpecificationsUI::GetFaviconResourceBytes( scale_factor); 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 c37a32091968..2e3e458688d0 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-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -161,7 +161,7 @@ const char* kMacShareIconResourceName = +@@ -160,7 +160,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 -@@ -221,7 +221,7 @@ static void DefineChromeRefreshRealboxIcons() { +@@ -220,7 +220,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 -@@ -547,7 +547,7 @@ std::string SearchboxHandler::AutocompleteIconToResour +@@ -555,7 +555,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-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc index 438c2f007319..53008285ab10 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.cc -@@ -70,7 +70,7 @@ +@@ -69,7 +69,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/web_ui_util.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signals/user_permission_service_factory.h" #include "components/device_signals/core/browser/user_permission_service.h" // nogncheck #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -383,7 +383,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -382,7 +382,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value report_sources->Append(std::move(data)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto device_signal_data = GetDeviceSignalGrantedMessage(); if (!device_signal_data.empty()) { report_sources->Append(std::move(device_signal_data)); -@@ -405,7 +405,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -404,7 +404,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value report_sources->Append(std::move(data)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto device_signal_data = GetDeviceSignalGrantedMessage(); if (!device_signal_data.empty()) { report_sources->Append(std::move(device_signal_data)); -@@ -595,7 +595,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS +@@ -594,7 +594,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS ->policy_service(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) device_signals::UserPermissionService* ManagementUIHandler::GetUserPermissionService() { return enterprise_signals::UserPermissionServiceFactory::GetForProfile( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h index 54f4919fdb14..4b2ae21308ea 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h +++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.h -@@ -34,7 +34,7 @@ namespace enterprise_management { +@@ -33,7 +33,7 @@ namespace enterprise_management { class GetUserEligiblePromotionsResponse; } // namespace enterprise_management -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace device_signals { class UserPermissionService; } // namespace device_signals -@@ -91,7 +91,7 @@ class ManagementUIHandler : public content::WebUIMessa +@@ -90,7 +90,7 @@ class ManagementUIHandler : public content::WebUIMessa base::Value::List GetManagedWebsitesInfo(Profile* profile) const; base::Value::List GetApplicationsInfo(Profile* profile) const; virtual policy::PolicyService* GetPolicyService(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual device_signals::UserPermissionService* GetUserPermissionService(); base::Value::Dict GetDeviceSignalGrantedMessage(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index 7586f50bf3ab..cba6d4e1b41a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -1,70 +1,70 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-02-09 07:09:32 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -135,7 +135,7 @@ +@@ -137,7 +137,7 @@ #include "chrome/browser/ui/webui/settings/system_handler.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif -@@ -144,7 +144,7 @@ +@@ -146,7 +146,7 @@ #include "device/fido/win/webauthn_api.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui_factory.h" #include "ui/ozone/public/ozone_platform.h" #endif -@@ -277,7 +277,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -280,7 +280,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou {"toastAlertLevelDescription", IDS_SETTINGS_ACCESSIBILITY_TOAST_FREQUENCY_DESCRIPTION}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) {"overscrollHistoryNavigationTitle", IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_TITLE}, {"overscrollHistoryNavigationSubtitle", -@@ -552,7 +552,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -555,7 +555,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"uiFeatureAlignSide", IDS_SETTINGS_UI_FEATURE_ALIGN_SIDE}, {"uiFeatureAlignTop", IDS_SETTINGS_UI_FEATURE_ALIGN_TOP}, {"resetToDefault", IDS_SETTINGS_RESET_TO_DEFAULT}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"gtkTheme", IDS_SETTINGS_GTK_THEME}, {"useGtkTheme", IDS_SETTINGS_USE_GTK_THEME}, {"qtTheme", IDS_SETTINGS_QT_THEME}, -@@ -560,11 +560,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -563,11 +563,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, {"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME}, #endif -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME}, #endif {"resetToolbarToDefault", IDS_SETTINGS_RESET_TOOLBAR_TO_DEFAULT}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if BUILDFLAG(IS_MAC) -@@ -590,7 +590,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht - html_source->AddBoolean("tabSearchIsRightAlignedAtStartup", - tabs::GetTabSearchTrailingTabstrip(profile)); +@@ -592,7 +592,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + tabs::GetTabSearchPosition(profile) == + tabs::TabSearchPosition::kTrailingHorizontalTabstrip); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations; -@@ -1768,7 +1768,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1816,7 +1816,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* g_browser_process->GetApplicationLocale()) .spec(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) html_source->AddString( "syncDisconnectManagedProfileExplanation", l10n_util::GetStringFUTF8( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc index 0fa2afb58e63..357eb44ee360 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/settings/site_settings_handler.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/settings/site_settings_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/settings/site_settings_handler.cc -@@ -124,7 +124,7 @@ +@@ -125,7 +125,7 @@ #include "url/url_constants.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) -@@ -2087,7 +2087,7 @@ void SiteSettingsHandler::SendZoomLevels() { +@@ -2090,7 +2090,7 @@ void SiteSettingsHandler::SendZoomLevels() { base::Value::List zoom_levels_exceptions; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Show any non-default Isolated Web App zoom levels at the top of the page. auto* web_app_provider = web_app::WebAppProvider::GetForWebApps(profile_); if (web_app_provider) { -@@ -2189,7 +2189,7 @@ void SiteSettingsHandler::HandleRemoveZoomLevel(const +@@ -2192,7 +2192,7 @@ void SiteSettingsHandler::HandleRemoveZoomLevel(const GURL url(host_or_spec); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (url.is_valid() && url.GetScheme() == webapps::kIsolatedAppScheme) { base::expected iwa_url_info = web_app::IsolatedWebAppUrlInfo::Create(url); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc index e517f958e217..231a86257b71 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc -@@ -575,7 +575,7 @@ void CustomizeChromePageHandler::UpdateFooterSettings( +@@ -573,7 +573,7 @@ void CustomizeChromePageHandler::UpdateFooterSettings( side_panel::mojom::ManagementNoticeState::New(); management_notice_state->can_be_shown = false; management_notice_state->enabled_by_policy = false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) enterprise_util::BrowserManagementNoticeState state = enterprise_util::GetManagementNoticeStateForNTPFooter(profile_); switch (state) { diff --git a/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc b/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc index 34a86c58746a..92f9cdc82e13 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/commands/launch_web_app_command.cc -@@ -101,7 +101,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt +@@ -113,7 +113,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt // OsIntegrationTestOverride can use the xdg install command to detect // install. SynchronizeOsOptions options; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) options.add_shortcut_to_desktop = true; #endif lock_->os_integration_manager().Synchronize( diff --git a/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc b/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc index 80efce56a6b2..591551c762ea 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/commands/set_user_display_mode_command.cc -@@ -56,7 +56,7 @@ void SetUserDisplayModeCommand::StartWithLock( +@@ -65,7 +65,7 @@ void SetUserDisplayModeCommand::StartWithLock( // OsIntegrationTestOverride can use the xdg install command to detect // install. SynchronizeOsOptions options; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) options.add_shortcut_to_desktop = true; #endif app_lock_->os_integration_manager().Synchronize( diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc index 750403e6180e..086393761bf0 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/os_integration/os_integration_manager.cc -@@ -669,7 +669,7 @@ std::unique_ptr OsIntegrationManager::Bu +@@ -676,7 +676,7 @@ std::unique_ptr OsIntegrationManager::Bu } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::vector& shortcuts_menu_item_infos = app->shortcuts_menu_item_infos(); DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc index ba5bac1bb94b..69c597159cc5 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/policy/web_app_policy_manager.cc -@@ -136,7 +136,7 @@ GetPreinstalledWebAppsMappingForTesting() { +@@ -123,7 +123,7 @@ GetPreinstalledWebAppsMappingForTesting() { namespace web_app { BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc index a0751b164f8f..8a7e37695c1d 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc @@ -1,119 +1,119 @@ ---- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc @@ -45,7 +45,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif @@ -132,7 +132,7 @@ std::vector GetFileExtensionsForProgId( } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Performs a blocking read of app icons from the disk. std::optional IconManagerReadIconForSize( WebAppIconManager& icon_manager, @@ -317,7 +317,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); CHECK(base::PathExists(app_folder_shortcut_path)); return base::DeletePathRecursively(app_folder_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); LOG(INFO) << desktop_shortcut_path; @@ -364,7 +364,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() { if (desktop_.IsValid()) { return desktop_.Delete(); @@ -378,7 +378,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab Profile* profile, const webapps::AppId& app_id, const std::string& app_name) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; return base::PathExists(startup().Append(shortcut_filename)); @@ -433,7 +433,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan is_file_handled = shell_integration::CanApplicationHandleURL(app_path, test_file_url); base::DeleteFile(test_file_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath user_applications_dir = applications(); bool database_update_called = false; for (const LinuxFileRegistration& command : linux_file_registration_) { -@@ -483,7 +483,7 @@ std::optional OsIntegrationTestOverrideImpl: +@@ -482,7 +482,7 @@ std::optional OsIntegrationTestOverrideImpl: return std::nullopt; } return GetIconFromShortcutFile(shortcut_path); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) WebAppProvider* provider = WebAppProvider::GetForLocalAppsUnchecked(profile); if (!provider) { return std::nullopt; -@@ -550,7 +550,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort +@@ -549,7 +549,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort return bundle.bundle_path(); } } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename); -@@ -575,7 +575,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( +@@ -574,7 +574,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( base::FilePath app_shortcut_path = GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); return base::PathExists(app_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); return base::PathExists(desktop_shortcut_path); -@@ -767,7 +767,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat +@@ -766,7 +766,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath OsIntegrationTestOverrideImpl::desktop() { return desktop_.GetPath(); } -@@ -818,7 +818,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -817,7 +817,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri success = chrome_apps_folder_.CreateUniqueTempDirUnderPath( outer_temp_dir_.GetPath()); CHECK(success); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) success = desktop_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); CHECK(success); success = startup_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); -@@ -831,7 +831,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -830,7 +830,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri CHECK(success); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto callback = base::BindRepeating([](base::FilePath filename_in, std::string xdg_command, std::string file_contents) { -@@ -903,7 +903,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr +@@ -902,7 +902,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); #elif BUILDFLAG(IS_MAC) EXPECT_TRUE(!chrome_apps_folder_.IsValid() || DeleteChromeAppsDir()); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_TRUE(!desktop_.IsValid() || desktop_.Delete()); EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); EXPECT_TRUE(!xdg_data_home_dir_.IsValid() || xdg_data_home_dir_.Delete()); diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc index 9c2b1626c461..af507d56ddd4 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/web_app.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/web_applications/web_app.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/web_app.cc -@@ -76,7 +76,7 @@ +@@ -77,7 +77,7 @@ #include "url/origin.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) -@@ -754,7 +754,7 @@ void WebApp::SetCurrentOsIntegrationStates( +@@ -755,7 +755,7 @@ void WebApp::SetCurrentOsIntegrationStates( void WebApp::SetIsolationData(IsolationData isolation_data) { CHECK(manifest_id_.is_valid() #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) && manifest_id_.SchemeIs(webapps::kIsolatedAppScheme)) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h index d4be99353145..1f1b902f2af3 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__info.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_install_info.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/web_applications/web_app_install_info.h.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/web_applications/web_app_install_info.h -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ #include "url/gurl.h" static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS)); + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)); namespace web_app { diff --git a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc index 3cdcc883a4d4..634954452afd 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -548,7 +548,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc +@@ -555,7 +555,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc g_observer->ConfiguringCable(request_type); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No caBLEv1 on Linux. It tends to crash bluez. if (base::Contains(pairings_from_extension, device::CableDiscoveryData::Version::V1, diff --git a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc index a41985b4f192..320695967e97 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/enclave_manager.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -795,7 +795,7 @@ base::flat_set GetGaiaIDs( +@@ -746,7 +746,7 @@ base::flat_set GetGaiaIDs( std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return label; #else return std::string("placeholder"); -@@ -805,7 +805,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -756,7 +756,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer std::optional UserVerifyingKeyLabelFromString( std::string saved_label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return saved_label; #else return std::nullopt; diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc index 796109da4615..d3acac75375a 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,56 +1,56 @@ ---- chrome/common/chrome_features.cc.orig 2026-01-28 08:17:57 UTC +--- chrome/common/chrome_features.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/common/chrome_features.cc -@@ -90,7 +90,7 @@ BASE_FEATURE(kUseKeychainKeyProvider, base::FEATURE_EN +@@ -77,7 +77,7 @@ BASE_FEATURE(kUseKeychainKeyProvider, base::FEATURE_EN #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Enables or disables the Autofill survey triggered by opening a prompt to // save address info. BASE_FEATURE(kAutofillAddressSurvey, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -211,7 +211,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, +@@ -198,7 +198,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, // Enables or disables Desktop PWAs to be auto-started on OS login. BASE_FEATURE(kDesktopPWAsRunOnOsLogin, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -248,7 +248,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, +@@ -235,7 +235,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, // Enables the new reset banner on the settings page. BASE_FEATURE(kShowResetProfileBannerV2, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls whether Chrome Apps are supported. See https://crbug.com/1221251. // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome // Apps will not launch and will be marked in the UI as deprecated. -@@ -777,7 +777,7 @@ BASE_FEATURE(kGlicWarming, base::FEATURE_DISABLED_BY_D +@@ -779,7 +779,7 @@ BASE_FEATURE(kGlicWarming, base::FEATURE_DISABLED_BY_D // Killswitch that controls whether the guest WebContents visibility state is // set to hidden when the Glic panel is warming. BASE_FEATURE(kGlicGuestContentsVisibilityState, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1321,7 +1321,7 @@ BASE_FEATURE(kKAnonymityServiceOHTTPRequests, base::FE +@@ -1343,7 +1343,7 @@ BASE_FEATURE(kKAnonymityServiceOHTTPRequests, base::FE // public keys. BASE_FEATURE(kKAnonymityServiceStorage, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS) BASE_FEATURE(kLinuxLowMemoryMonitor, base::FEATURE_DISABLED_BY_DEFAULT); // Values taken from the low-memory-monitor documentation and also apply to the // portal API: -@@ -1332,7 +1332,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1354,7 +1354,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit &kLinuxLowMemoryMonitor, "critical_level", 255}; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kListWebAppsSwitch, base::FEATURE_DISABLED_BY_DEFAULT); #endif diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h index fd103e59d046..ab672d13a4f9 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.h +++ b/www/chromium/files/patch-chrome_common_chrome__features.h @@ -1,38 +1,38 @@ ---- chrome/common/chrome_features.h.orig 2026-01-28 08:17:57 UTC +--- chrome/common/chrome_features.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/chrome_features.h -@@ -85,7 +85,7 @@ BASE_DECLARE_FEATURE(kUseKeychainKeyProvider); +@@ -74,7 +74,7 @@ BASE_DECLARE_FEATURE(kUseKeychainKeyProvider); #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillAddressSurvey); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillCardSurvey); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillPasswordSurvey); -@@ -173,7 +173,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); +@@ -162,7 +162,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kShowResetProfileBannerV2); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kShortcutsNotApps); -@@ -970,7 +970,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); +@@ -992,7 +992,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor); COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorModerateLevel; -@@ -978,7 +978,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -1000,7 +1000,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorCriticalLevel; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch); #endif diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc index eebeb97818bf..13567b4d7e40 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/common/chrome_switches.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/common/chrome_switches.cc @@ -952,7 +952,7 @@ const char kDebugPrint[] = "debug-print"; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; // Causes the browser to launch directly in guest mode. -@@ -991,7 +991,7 @@ const char kGlicAlwaysShowWebActuationToggle[] = - const char kGlicAdminRedirectPatterns[] = "glic-admin-redirect-patterns"; +@@ -1000,7 +1000,7 @@ const char kGlicResetMultiInstanceEnabledByTier[] = + const char kGlicForceG1StatusForMultiInstance[] = "glic-force-g1-for-mi"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Writes open and installed web apps for each profile to the specified file // without launching a new browser window or tab. Pass a absolute file path // to specify where to output the information. Can be used together with diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h index a05e3d07031e..a3a9526afc1d 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.h +++ b/www/chromium/files/patch-chrome_common_chrome__switches.h @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.h.orig 2026-01-14 08:33:23 UTC +--- chrome/common/chrome_switches.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/chrome_switches.h @@ -291,7 +291,7 @@ extern const char kDebugPrint[]; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kEnableNewAppMenuIcon[]; extern const char kGuest[]; extern const char kForceNtpMobilePromo[]; -@@ -312,7 +312,7 @@ extern const char kGlicAdminRedirectPatterns[]; - extern const char kGlicAlwaysShowWebActuationToggle[]; +@@ -314,7 +314,7 @@ extern const char kGlicResetMultiInstanceEnabledByTier + extern const char kGlicForceG1StatusForMultiInstance[]; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kListApps[]; extern const char kProfileBaseName[]; extern const char kProfileManagementAttributes[]; diff --git a/www/chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc b/www/chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc index 3e8e408cf988..1e0050fc7c2f 100644 --- a/www/chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc +++ b/www/chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc @@ -1,20 +1,20 @@ ---- chrome/common/controlled_frame/controlled_frame.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/common/controlled_frame/controlled_frame.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/common/controlled_frame/controlled_frame.cc -@@ -18,7 +18,7 @@ +@@ -20,7 +20,7 @@ #include "third_party/blink/public/common/features.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) -@@ -89,7 +89,7 @@ bool AvailabilityCheck(const std::string& api_full_nam +@@ -91,7 +91,7 @@ bool AvailabilityCheck(const std::string& api_full_nam } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Verify that the current context is an Isolated Web App and the API name is // in our expected list. return (extension == nullptr) && url.SchemeIs(webapps::kIsolatedAppScheme) && diff --git a/www/chromium/files/patch-chrome_common_extensions_extension__constants.h b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h index 27d4547063ae..11cca51e0848 100644 --- a/www/chromium/files/patch-chrome_common_extensions_extension__constants.h +++ b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/extensions/extension_constants.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/extensions/extension_constants.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/extensions/extension_constants.h -@@ -313,7 +313,7 @@ inline constexpr char kReadingModeGDocsHelperExtension +@@ -307,7 +307,7 @@ inline constexpr char kReadingModeGDocsHelperExtension inline constexpr base::FilePath::CharType kReadingModeGDocsHelperManifestFilename[] = FILE_PATH_LITERAL("reading_mode_gdocs_helper_manifest.json"); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The extension id of the google tts engine extension to use on-device natural // Google voices. inline constexpr char kTTSEngineExtensionId[] = diff --git a/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc index e16c9458ccdf..d465604b788d 100644 --- a/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc +++ b/www/chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc @@ -1,11 +1,11 @@ ---- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/common/extensions/permissions/chrome_permission_message_rules.cc -@@ -280,7 +280,7 @@ class USBDevicesFormatter : public ChromePermissionMes +@@ -281,7 +281,7 @@ class USBDevicesFormatter : public ChromePermissionMes int GetEnterpriseReportingPrivatePermissionMessageId() { #if BUILDFLAG(IS_WIN) return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_WIN; -#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) or BUILDFLAG(IS_BSD) return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS; #else return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE; diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index 346dddd6d3b8..fb4741b0a428 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.h +++ b/www/chromium/files/patch-chrome_common_pref__names.h @@ -1,101 +1,101 @@ ---- chrome/common/pref_names.h.orig 2026-01-14 08:33:23 UTC +--- chrome/common/pref_names.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/pref_names.h -@@ -1353,7 +1353,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem +@@ -1350,7 +1350,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem inline constexpr char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux specific preference on whether we should match the system theme. inline constexpr char kSystemTheme[] = "extensions.theme.system_theme"; #endif -@@ -1512,7 +1512,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = +@@ -1509,7 +1509,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = "browser.show_update_promotion_info_bar"; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Boolean that is false if we should show window manager decorations. If // true, we draw a custom chrome frame (thicker title bar and blue border). inline constexpr char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; -@@ -2134,7 +2134,7 @@ inline constexpr char kPinInfoBarTimesShown[] = +@@ -2131,7 +2131,7 @@ inline constexpr char kPinInfoBarTimesShown[] = "browser.pin_infobar_times_shown"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // How many times the session restore infobar has been shown. inline constexpr char kSessionRestoreInfoBarTimesShown[] = -@@ -2181,7 +2181,7 @@ inline constexpr char kDownloadDefaultDirectory[] = +@@ -2178,7 +2178,7 @@ inline constexpr char kDownloadDefaultDirectory[] = inline constexpr char kDownloadDirUpgraded[] = "download.directory_upgrade"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) inline constexpr char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; #endif -@@ -2717,7 +2717,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -2720,7 +2720,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s inline constexpr char kMediaCdmOriginData[] = "media.cdm.origin_data"; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // A boolean pref to determine whether or not the network service is running // sandboxed. inline constexpr char kNetworkServiceSandboxEnabled[] = -@@ -2731,7 +2731,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] +@@ -2734,7 +2734,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] inline constexpr char kNetworkServiceFailedLaunchMajorVersion[] = "net.network_service_failed_launch_major_version"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Records whether the user has seen an HTTP auth "negotiate" header. inline constexpr char kReceivedHttpAuthNegotiateHeader[] = "net.received_http_auth_negotiate_headers"; -@@ -2823,7 +2823,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ +@@ -2826,7 +2826,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ inline constexpr char kIsolatedWebAppPendingInitializationCount[] = "profile.isolated_web_app.install.pending_initialization_count"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected // along with kAuthNegotiateDelegateAllowlist. inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] = -@@ -3335,7 +3335,7 @@ inline constexpr char kKioskApplicationLogCollectionEn +@@ -3338,7 +3338,7 @@ inline constexpr char kKioskApplicationLogCollectionEn #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Defines administrator-set availability of Chrome for Testing. inline constexpr char kChromeForTestingAllowed[] = "chrome_for_testing.allowed"; #endif -@@ -3849,7 +3849,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -3814,7 +3814,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo inline constexpr char kSandboxExternalProtocolBlocked[] = "profile.sandbox_external_protocol_blocked"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Boolean that indicates if system notifications are allowed to be used in // place of Chrome notifications. inline constexpr char kAllowSystemNotifications[] = -@@ -4042,7 +4042,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -4007,7 +4007,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = "policy.lens_desktop_ntp_search_enabled"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A dict mapping the edition name with the major version it was shown. inline constexpr char kWhatsNewEditionUsed[] = "browser.whats_new.edition_used"; // A list containing the features of each module in order of when they -@@ -4139,7 +4139,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -4104,7 +4104,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ "printing.oauth2_authorization_servers"; #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this exists and is true, Chrome may run system DNS resolution out of the // network process. If false, Chrome will run system DNS resolution in the // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h index 9f2196878839..0b1cfcc4ec3e 100644 --- a/www/chromium/files/patch-chrome_common_url__constants.h +++ b/www/chromium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2026-01-14 08:33:23 UTC +--- chrome/common/url_constants.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/url_constants.h -@@ -1015,7 +1015,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -1007,7 +1007,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = inline constexpr char kPhoneHubPermissionLearnMoreURL[] = "https://support.google.com/chromebook?p=multidevice"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // "Learn more" URL for the chrome apps deprecation dialog. inline constexpr char kChromeAppsDeprecationLearnMoreURL[] = "https://support.google.com/chrome?p=chrome_app_deprecation"; diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.cc b/www/chromium/files/patch-chrome_common_webui__url__constants.cc index c61980ea9995..dd0598c83677 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,23 +1,32 @@ ---- chrome/common/webui_url_constants.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/common/webui_url_constants.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/common/webui_url_constants.cc +@@ -137,7 +137,7 @@ base::span ChromeURLHosts() + kChromeUITermsHost, + #endif + kChromeUITranslateInternalsHost, +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + kChromeUIUpdaterHost, + #endif + kChromeUIUsbInternalsHost, @@ -205,17 +205,17 @@ base::span ChromeURLHosts() kChromeUIInternetDetailDialogHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) kChromeUIDiscardsHost, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kChromeUIWebAppSettingsHost, #endif #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) kChromeUILinuxProxyConfigHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) kChromeUISandboxHost, #endif #if BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.h b/www/chromium/files/patch-chrome_common_webui__url__constants.h index a206e94e30d6..f47a2ccb8ec4 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,40 +1,40 @@ ---- chrome/common/webui_url_constants.h.orig 2026-01-14 08:33:23 UTC +--- chrome/common/webui_url_constants.h.orig 2026-02-11 09:05:39 UTC +++ chrome/common/webui_url_constants.h -@@ -564,12 +564,12 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome +@@ -560,12 +560,12 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIDiscardsHost[] = "discards"; inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIWebAppSettingsHost[] = "app-settings"; inline constexpr char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/"; inline constexpr char kChromeUIWhatsNewHost[] = "whats-new"; -@@ -581,11 +581,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -577,11 +577,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUISandboxHost[] = "sandbox"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIBrowserSwitchHost[] = "browser-switch"; inline constexpr char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; inline constexpr char kChromeUIIntroDefaultBrowserSubPage[] = "default-browser"; -@@ -615,7 +615,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update +@@ -608,7 +608,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update inline constexpr char kChromeUIUpdaterURL[] = "chrome://updater/"; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc b/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc index a49b1fb748f8..380aeb7eaced 100644 --- a/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc +++ b/www/chromium/files/patch-chrome_enterprise__companion_event__logger.cc @@ -1,11 +1,11 @@ ---- chrome/enterprise_companion/event_logger.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/enterprise_companion/event_logger.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/enterprise_companion/event_logger.cc -@@ -125,7 +125,7 @@ proto::EnterpriseCompanionMetadata GetMetadata() { +@@ -126,7 +126,7 @@ proto::EnterpriseCompanionMetadata GetMetadata() { metadata.set_application_arch(proto::ARM64); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metadata.set_os_platform(proto::LINUX); #elif BUILDFLAG(IS_MAC) metadata.set_os_platform(proto::MAC); diff --git a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc index 5202eb67163a..b49d77a97ce7 100644 --- a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc +++ b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -1,47 +1,47 @@ ---- chrome/services/printing/print_backend_service_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/services/printing/print_backend_service_impl.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/services/printing/print_backend_service_impl.cc -@@ -48,7 +48,7 @@ +@@ -49,7 +49,7 @@ #include "printing/backend/cups_connection_pool.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/command_line.h" #include "base/no_destructor.h" - #include "ui/linux/linux_ui.h" - #include "ui/linux/linux_ui_delegate_stub.h" -@@ -75,7 +75,7 @@ namespace printing { + #include "components/printing/common/print_dialog_linux_factory.h" +@@ -79,7 +79,7 @@ namespace printing { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void InstantiateLinuxUiDelegate() { // TODO(crbug.com/40561724) Until a real UI can be used in a utility process, // need to use the stub version. -@@ -84,7 +84,7 @@ void InstantiateLinuxUiDelegate() { +@@ -88,7 +88,7 @@ void InstantiateLinuxUiDelegate() { #endif scoped_refptr GetPrintingTaskRunner() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use task runner associated with equivalent of UI thread. Needed for calls // made through `PrintDialogLinuxInterface` to properly execute. CHECK(base::SequencedTaskRunner::HasCurrentDefault()); -@@ -467,7 +467,7 @@ void PrintBackendServiceImpl::Init( +@@ -471,7 +471,7 @@ void PrintBackendServiceImpl::Init( // `InitCommon()`. InitializeProcessForPrinting(); print_backend_ = PrintBackend::CreateInstance(locale); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Test framework already initializes the UI, so this should not go in // `InitCommon()`. Additionally, low-level Linux UI is not needed when tests // are using `TestPrintingContext`. -@@ -676,7 +676,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( +@@ -684,7 +684,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( crash_keys_ = std::make_unique( *printer_name, print_backend_->GetPrinterDriverInfo(*printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS) // Try to fill in advanced settings based upon basic info options. PrinterBasicInfo basic_info; if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) == diff --git a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.h b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.h new file mode 100644 index 000000000000..d49a8de575de --- /dev/null +++ b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.h @@ -0,0 +1,20 @@ +--- chrome/services/printing/print_backend_service_impl.h.orig 2026-02-11 09:05:39 UTC ++++ chrome/services/printing/print_backend_service_impl.h +@@ -35,7 +35,7 @@ + #include "mojo/public/cpp/bindings/remote.h" + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "printing/printing_context_linux.h" + #endif + +@@ -270,7 +270,7 @@ class PrintBackendServiceImpl : public mojom::PrintBac + + scoped_refptr print_backend_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr + print_dialog_factory_; + #endif diff --git a/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc deleted file mode 100644 index 3bdc3ec8a246..000000000000 --- a/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/updater/app/app_uninstall.cc.orig 2026-01-14 08:33:23 UTC -+++ chrome/updater/app/app_uninstall.cc -@@ -182,7 +182,7 @@ void UninstallInThreadPool(UpdaterScope scope, - } - if (int result = UninstallOtherVersions(scope); - result != kErrorOk) { --#if !BUILDFLAG(IS_LINUX) -+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - // TODO(crbug.com/366249606): Ignores the errors when uninstalls - // the other versions, because currently older Linux updater on - // CIPD exits with error `kErrorFailedToDeleteFolder`. diff --git a/www/chromium/files/patch-chrome_updater_configurator.cc b/www/chromium/files/patch-chrome_updater_configurator.cc index cf38eb088ba8..6a07138b9961 100644 --- a/www/chromium/files/patch-chrome_updater_configurator.cc +++ b/www/chromium/files/patch-chrome_updater_configurator.cc @@ -1,11 +1,11 @@ ---- chrome/updater/configurator.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/updater/configurator.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/updater/configurator.cc -@@ -90,7 +90,7 @@ Configurator::Configurator(scoped_refptr +@@ -91,7 +91,7 @@ Configurator::Configurator(scoped_refptr return std::nullopt; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) }()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux creating the NetworkFetcherFactory requires performing blocking IO // to load an external library. This should be done when the configurator is // created. diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc index 555e536c55db..3aad9793f572 100644 --- a/www/chromium/files/patch-chrome_utility_services.cc +++ b/www/chromium/files/patch-chrome_utility_services.cc @@ -1,29 +1,29 @@ ---- chrome/utility/services.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/utility/services.cc.orig 2026-02-11 09:05:39 UTC +++ chrome/utility/services.cc -@@ -51,7 +51,7 @@ +@@ -49,7 +49,7 @@ #include "chrome/services/system_signals/mac/mac_system_signals_service.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/services/system_signals/linux/linux_system_signals_service.h" #endif // BUILDFLAG(IS_LINUX) -@@ -207,7 +207,7 @@ auto RunMacNotificationService( +@@ -199,7 +199,7 @@ auto RunMacNotificationService( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto RunSystemSignalsService( mojo::PendingReceiver receiver) { -@@ -459,7 +459,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -456,7 +456,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services.Add(RunWindowsIconReader); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) services.Add(RunSystemSignalsService); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn index f12059880060..13228efd822b 100644 --- a/www/chromium/files/patch-components_BUILD.gn +++ b/www/chromium/files/patch-components_BUILD.gn @@ -1,28 +1,28 @@ ---- components/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- components/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ components/BUILD.gn @@ -221,7 +221,6 @@ test("components_unittests") { "//components/contextual_search/internal:unit_tests", "//components/contextual_tasks:unit_tests", "//components/country_codes:unit_tests", - "//components/crash/core/common:unit_tests", "//components/cross_device/logging:unit_tests", "//components/crx_file:unit_tests", "//components/data_sharing:unit_tests", -@@ -641,7 +640,7 @@ test("components_unittests") { +@@ -642,7 +641,7 @@ test("components_unittests") { "//components/user_data_importer/content:unit_tests", ] - if (!is_fuchsia) { #!iOS and!Fuchsia + if (!is_fuchsia && !is_bsd) { #!iOS and!Fuchsia deps += [ "//components/crash/content/browser:unit_tests", "//components/crash/core/app:unit_tests", -@@ -808,7 +807,7 @@ test("components_unittests") { +@@ -812,7 +811,7 @@ test("components_unittests") { deps += [ "//components/constrained_window:unit_tests" ] } - if (is_win || is_linux || is_chromeos || is_mac) { + if (is_win || (is_linux && !is_bsd) || is_chromeos || is_mac) { deps += [ "//components/stability_report:unit_tests", "//components/webapps/isolated_web_apps:unit_tests", diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc index 93f7c1c08432..9cc4c15edf13 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc @@ -1,47 +1,47 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.cc @@ -480,7 +480,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone( bool PaymentsDataManager::ShouldShowBnplSettings() const { #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) // Check `kAutofillEnableBuyNowPayLater` only if the user has seen a BNPL // suggestion before, or there are already linked issuers present, to avoid // unnecessary feature flag checks. The linked issuer check is due to the fact @@ -1015,7 +1015,7 @@ void PaymentsDataManager::SetPrefService(PrefService* &PaymentsDataManager::OnAutofillPaymentsCardBenefitsPrefChange, base::Unretained(this))); #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) pref_registrar_.Add( prefs::kAutofillBnplEnabled, base::BindRepeating(&PaymentsDataManager::OnBnplEnabledPrefChange, @@ -1089,7 +1089,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { } #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) bool PaymentsDataManager::IsAutofillHasSeenBnplPrefEnabled() const { return prefs::HasSeenBnpl(pref_service_); } -@@ -2139,7 +2139,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( +@@ -2153,7 +2153,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( bool PaymentsDataManager::AreBnplIssuersSupported() const { #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) return app_locale_ == "en-US" && (GetCountryCodeForExperimentGroup() == "US" || base::FeatureList::IsEnabled( -@@ -2175,7 +2175,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() +@@ -2189,7 +2189,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() } #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) void PaymentsDataManager::OnBnplEnabledPrefChange() { // On pref change to `false`, clearing BNPL issuers is implicitly handled by // `GetBnplIssuers()`, since it returns an empty vector when diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h index 2c34eab98bcd..c056cd75638f 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h +++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h @@ -1,20 +1,20 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.h -@@ -379,7 +379,7 @@ class PaymentsDataManager : public AutofillWebDataServ +@@ -381,7 +381,7 @@ class PaymentsDataManager : public AutofillWebDataServ // TODO(crbug.com/430575808): Remove build flags. #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) // Returns the value of the kAutofillHasSeenBnpl pref. virtual bool IsAutofillHasSeenBnplPrefEnabled() const; -@@ -727,7 +727,7 @@ class PaymentsDataManager : public AutofillWebDataServ +@@ -729,7 +729,7 @@ class PaymentsDataManager : public AutofillWebDataServ void ClearAllCreditCardBenefits(); #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) // Monitors the `kAutofillBnplEnabled` preference for changes and controls the // clearing/loading of payment instruments accordingly. Will also log the // `Autofill.SettingsPage.BnplToggled` metric. diff --git a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc index c0a521ab170a..22b67790552a 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -837,7 +837,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { +@@ -929,7 +929,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { payments::BnplManager* BrowserAutofillManager::GetPaymentsBnplManager() { #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) if (!bnpl_manager_) { bnpl_manager_ = std::make_unique(this); } diff --git a/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc index 36a92d34da27..f14fab06c693 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2025-10-30 15:44:36 UTC +--- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc -@@ -203,7 +203,7 @@ void AddOptimizationTypesForBnplIssuers( +@@ -210,7 +210,7 @@ void AddOptimizationTypesForBnplIssuers( base::flat_set& optimization_types) { #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) auto bnpl_issuer_allowlist_can_be_loaded = [&bnpl_issuers](BnplIssuer::IssuerId issuer_id) { return base::Contains(bnpl_issuers, issuer_id, &BnplIssuer::issuer_id); diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc index 22fb836f6394..5d06e73f868f 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc @@ -1,29 +1,29 @@ ---- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/payments/amount_extraction_manager.cc -@@ -263,7 +263,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived +@@ -270,7 +270,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived /*timeout_reached=*/false); } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( ::autofill::features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The result of amount extraction on domain " -@@ -329,7 +329,7 @@ void AmountExtractionManager::OnTimeoutReached() { - /*timeout_reached=*/true); +@@ -358,7 +358,7 @@ void AmountExtractionManager::OnTimeoutReached() { } + if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( ::autofill::features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The amount extraction on domain " -@@ -347,7 +347,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe +@@ -378,7 +378,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe // Check eligibility of BNPL feature. if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (IsEligibleForBnpl(autofill_manager_->client())) { eligible_features.insert(EligibleFeature::kBnpl); } diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc index 4c22ab0d6528..2221fc7bfa78 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc @@ -1,11 +1,20 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -790,7 +790,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp +@@ -197,7 +197,7 @@ void BnplManager::OnSuggestionsShown( + base::span suggestions, + UpdateSuggestionsCallback update_suggestions_callback) { + #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) + if (base::Contains(suggestions, SuggestionType::kBnplEntry, + &Suggestion::type) && + base::FeatureList::IsEnabled( +@@ -816,7 +816,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp .OnBnplSuggestionShown(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) payments_autofill_client().GetPaymentsDataManager().SetAutofillHasSeenBnpl(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator.cc b/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator__util.cc similarity index 77% rename from www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator.cc rename to www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator__util.cc index af3a7529f59a..b21c87530230 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator__util.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/suggestions/payments/payments_suggestion_generator.cc.orig 2026-01-14 08:33:23 UTC -+++ components/autofill/core/browser/suggestions/payments/payments_suggestion_generator.cc -@@ -1436,7 +1436,7 @@ std::vector GetCreditCardSuggestionsForTou +--- components/autofill/core/browser/suggestions/payments/payments_suggestion_generator_util.cc.orig 2026-02-11 09:05:39 UTC ++++ components/autofill/core/browser/suggestions/payments/payments_suggestion_generator_util.cc +@@ -959,7 +959,7 @@ std::vector GetCreditCardSuggestionsForTou /*extracted_amount_in_micros=*/std::nullopt)); manager.GetCreditCardFormEventLogger().OnBnplSuggestionShown(); #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) manager.client() .GetPersonalDataManager() .payments_data_manager() diff --git a/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc index 5788ba59e076..484350c42eed 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc -@@ -1261,7 +1261,7 @@ bool AreMaskedBankAccountSupported() { +@@ -1255,7 +1255,7 @@ bool AreMaskedBankAccountSupported() { bool IsBnplIssuerSupported() { #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) return base::FeatureList::IsEnabled( features::kAutofillEnableBuyNowPayLaterSyncing); #else diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__features.cc index 033114cf9bd6..fc43d7566946 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__features.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_features.cc.orig 2025-12-05 10:12:50 UTC +--- components/autofill/core/common/autofill_features.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/common/autofill_features.cc @@ -10,7 +10,7 @@ namespace autofill::features { namespace { constexpr bool IS_AUTOFILL_AI_PLATFORM = BUILDFLAG(IS_CHROMEOS) || - BUILDFLAG(IS_LINUX) || + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN); constexpr bool IS_WALLET_PASSES_SUPPORTED_PLATFORM = !BUILDFLAG(IS_IOS); - } + } // namespace diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc index 858505c9600e..64f8c15fe8ec 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,65 +1,74 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -31,7 +31,7 @@ BASE_FEATURE(kAutofillEnableAllowlistForBmoCardCategor +@@ -32,7 +32,7 @@ BASE_FEATURE(kAutofillEnableAiBasedAmountExtraction, // of the allowlisted merchant websites. BASE_FEATURE(kAutofillEnableAmountExtraction, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -47,7 +47,7 @@ BASE_FEATURE(kAutofillEnableAmountExtractionTesting, +@@ -48,7 +48,7 @@ BASE_FEATURE(kAutofillEnableAmountExtractionTesting, // When enabled, buy now pay later (BNPL) in Autofill will be offered. BASE_FEATURE(kAutofillEnableBuyNowPayLater, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -63,7 +63,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternall +@@ -59,7 +59,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLater, + // (BNPL) issuers that are externally linked. + BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternallyLinked, + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT); + #else + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -69,7 +69,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternall // offered. BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -72,7 +72,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, +@@ -78,7 +78,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, // When enabled, buy now pay later (BNPL) data will be synced to Chrome clients. BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, #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) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -96,7 +96,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp +@@ -102,7 +102,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp // UI. BASE_FEATURE(kAutofillEnableCardBenefitsForBmo, #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) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -161,7 +161,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl +@@ -160,7 +160,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl // Payments Autofill UI. BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsFromCurinos, #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) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -323,7 +323,7 @@ const base::FeatureParam kAutofillVcnEnrollStrike +@@ -317,7 +317,7 @@ const base::FeatureParam kAutofillVcnEnrollStrike /*default_value=*/180}; bool ShouldShowImprovedUserConsentForCreditCardSave() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The new user consent UI is fully launched on MacOS, Windows and Linux. return true; #else diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc index 2bf4c284822b..7b4ecddee735 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc @@ -1,38 +1,38 @@ ---- components/autofill/core/common/autofill_prefs.cc.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/common/autofill_prefs.cc.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/common/autofill_prefs.cc -@@ -140,7 +140,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -147,7 +147,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync #endif #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) registry->RegisterBooleanPref( kAutofillBnplEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); -@@ -436,7 +436,7 @@ void SetFacilitatedPaymentsA2ATriggeredOnce(PrefServic +@@ -459,7 +459,7 @@ void SetFacilitatedPaymentsA2ATriggeredOnce(PrefServic } #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) void SetAutofillBnplEnabled(PrefService* prefs, bool value) { prefs->SetBoolean(kAutofillBnplEnabled, value); } -@@ -445,7 +445,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -468,7 +468,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v bool IsAutofillBnplEnabled(const PrefService* prefs) { #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) return prefs->GetBoolean(kAutofillBnplEnabled); #else return false; -@@ -454,7 +454,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { +@@ -477,7 +477,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { } #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) // If called, always sets the pref to true, and once true, it will follow the // user around forever. void SetAutofillHasSeenBnpl(PrefService* prefs) { diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h index e51bbf86597b..ba0433586763 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h @@ -1,29 +1,29 @@ ---- components/autofill/core/common/autofill_prefs.h.orig 2026-01-14 08:33:23 UTC +--- components/autofill/core/common/autofill_prefs.h.orig 2026-02-11 09:05:39 UTC +++ components/autofill/core/common/autofill_prefs.h -@@ -55,7 +55,7 @@ inline constexpr char kAutofillAiLastVersionDeduped[] +@@ -66,7 +66,7 @@ inline constexpr char kAutofillAiLastVersionDeduped[] inline constexpr char kAutofillAiTravelEntitiesEnabled[] = "autofill.autofill_ai.travel_entities_enabled"; #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) // Boolean that is true if BNPL on Autofill is enabled. inline constexpr char kAutofillBnplEnabled[] = "autofill.bnpl_enabled"; // Boolean that is true if the user has ever seen a BNPL suggestion. -@@ -294,7 +294,7 @@ bool IsFacilitatedPaymentsA2AEnabled(const PrefService +@@ -309,7 +309,7 @@ bool IsFacilitatedPaymentsA2AEnabled(const PrefService void SetFacilitatedPaymentsA2ATriggeredOnce(PrefService* prefs, bool value); #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) void SetAutofillBnplEnabled(PrefService* prefs, bool value); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -@@ -302,7 +302,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -317,7 +317,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v bool IsAutofillBnplEnabled(const PrefService* prefs); #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) void SetAutofillHasSeenBnpl(PrefService* prefs); bool HasSeenBnpl(const PrefService* prefs); diff --git a/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc index 46e2636e4632..48f7e7f3f19a 100644 --- a/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc +++ b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc @@ -1,20 +1,20 @@ ---- components/commerce/core/commerce_feature_list.cc.orig 2025-12-05 10:12:50 UTC +--- components/commerce/core/commerce_feature_list.cc.orig 2026-02-11 09:05:39 UTC +++ components/commerce/core/commerce_feature_list.cc -@@ -175,7 +175,7 @@ BASE_FEATURE(kShoppingAlternateServer, base::FEATURE_D +@@ -177,7 +177,7 @@ BASE_FEATURE(kShoppingAlternateServer, base::FEATURE_D const char kDiscountOnShoppyPageParam[] = "discount-on-shoppy-page"; #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) const base::FeatureParam kDiscountOnShoppyPage{ &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, true}; #else -@@ -188,7 +188,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi +@@ -190,7 +190,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi const char kNonMerchantWideBehaviorParam[] = "non-merchant-wide-behavior"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDiscountDialogAutoPopupBehaviorSetting, base::FEATURE_ENABLED_BY_DEFAULT); const base::FeatureParam kHistoryClustersBehavior{ diff --git a/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc b/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc index 527aa2860dfc..15cca2eebe3a 100644 --- a/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc +++ b/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/desktop/desktop_os_signals_collector.cc.orig 2025-09-06 10:01:20 UTC +--- components/device_signals/core/browser/desktop/desktop_os_signals_collector.cc.orig 2026-02-11 09:05:39 UTC +++ components/device_signals/core/browser/desktop/desktop_os_signals_collector.cc -@@ -43,7 +43,7 @@ std::unique_ptr AddAsyncOsSignals( +@@ -44,7 +44,7 @@ std::unique_ptr AddAsyncOsSignals( os_signals_response->disk_encryption = device_signals::GetDiskEncrypted(); os_signals_response->os_firewall = device_signals::GetOSFirewall(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) os_signals_response->distribution_version = device_signals::GetDistributionVersion(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc index c9f3fa3b3281..ffa51ffcfd9c 100644 --- a/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc +++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc @@ -1,65 +1,65 @@ ---- components/embedder_support/user_agent_utils.cc.orig 2026-01-14 08:33:23 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2026-02-11 09:05:39 UTC +++ components/embedder_support/user_agent_utils.cc -@@ -317,7 +317,7 @@ std::string GetUserAgentPlatform() { +@@ -300,7 +300,7 @@ std::string GetUserAgentPlatform() { return ""; #elif BUILDFLAG(IS_MAC) return "Macintosh; "; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return "X11; "; // strange, but that's what Firefox uses #elif BUILDFLAG(IS_ANDROID) return "Linux; "; -@@ -333,7 +333,7 @@ std::string GetUserAgentPlatform() { +@@ -316,7 +316,7 @@ std::string GetUserAgentPlatform() { } std::string GetUnifiedPlatform() { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This constant is only used on Android (desktop) and Linux. constexpr char kUnifiedPlatformLinuxX64[] = "X11; Linux x86_64"; #endif -@@ -353,7 +353,7 @@ std::string GetUnifiedPlatform() { +@@ -336,7 +336,7 @@ std::string GetUnifiedPlatform() { return "Windows NT 10.0; Win64; x64"; #elif BUILDFLAG(IS_FUCHSIA) return "Fuchsia"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kUnifiedPlatformLinuxX64; #elif BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { -@@ -615,7 +615,7 @@ bool GetMobileBitForUAMetadata() { +@@ -596,7 +596,7 @@ bool GetMobileBitForUAMetadata() { } std::string GetPlatformVersion() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40245146): Remove this Blink feature if (base::FeatureList::IsEnabled( blink::features::kReduceUserAgentDataLinuxPlatformVersion)) { -@@ -663,6 +663,9 @@ std::string GetPlatformForUAMetadata() { +@@ -644,6 +644,9 @@ std::string GetPlatformForUAMetadata() { #else return "Chromium OS"; #endif +#elif BUILDFLAG(IS_BSD) + // The internet is weird... + return "Linux"; #else return std::string(version_info::GetOSType()); #endif -@@ -870,6 +873,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -826,6 +829,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons "Android %s", os_version.c_str() #elif BUILDFLAG(IS_FUCHSIA) "Fuchsia" +#elif BUILDFLAG(IS_BSD) +#if defined(__x86_64__) + "Linux x86_64; %s %s", +#elif defined(__aarch64__) + "Linux aarch64; %s %s", +#else + "Linux i686; %s %s", +#endif + unixinfo.sysname, // e.g. Linux + cpu_type.c_str() // e.g. i686 #elif BUILDFLAG(IS_IOS) "CPU %s OS %s like Mac OS X", cpu_type.c_str(), os_version.c_str() diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc index d31c032ecefe..209953da443c 100644 --- a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc +++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -1,29 +1,29 @@ ---- components/embedder_support/user_agent_utils_unittest.cc.orig 2026-01-14 08:33:23 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ components/embedder_support/user_agent_utils_unittest.cc @@ -152,7 +152,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) ASSERT_EQ("CrOS", pieces[0]); ASSERT_EQ("x86_64", pieces[1]); ASSERT_EQ("14541.0.0", pieces[2]); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Post-UA Reduction there is a single value for Linux: // X11; Linux x86_64 ASSERT_EQ(2u, pieces.size()); -@@ -340,7 +340,7 @@ class UserAgentUtilsTest : public testing::Test, +@@ -334,7 +334,7 @@ class UserAgentUtilsTest : public testing::Test, "X11; CrOS x86_64 14541.0.0"; #elif BUILDFLAG(IS_FUCHSIA) "Fuchsia"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "X11; Linux x86_64"; #elif BUILDFLAG(IS_MAC) "Macintosh; Intel Mac OS X 10_15_7"; -@@ -722,7 +722,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { +@@ -693,7 +693,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { #endif #elif BUILDFLAG(IS_ANDROID) EXPECT_EQ(metadata.platform, "Android"); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_EQ(metadata.platform, "Linux"); #elif BUILDFLAG(IS_FREEBSD) EXPECT_EQ(metadata.platform, "FreeBSD"); diff --git a/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc b/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc index b999e4bf36a6..59b5f50cc4e2 100644 --- a/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc +++ b/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc @@ -1,11 +1,11 @@ ---- components/enterprise/browser/reporting/report_util.cc.orig 2025-12-05 10:12:50 UTC +--- components/enterprise/browser/reporting/report_util.cc.orig 2026-02-11 09:05:39 UTC +++ components/enterprise/browser/reporting/report_util.cc -@@ -198,7 +198,7 @@ std::string GetSecuritySignalsInReport( +@@ -199,7 +199,7 @@ std::string GetSecuritySignalsInReport( signals_dict.Set("antivirus_info", std::move(anti_virus_list)); signals_dict.Set("hotfixes", RepeatedFieldptrToList(os_report.hotfixes())); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (os_report.has_distribution_version()) { signals_dict.Set("distribution_version", os_report.distribution_version()); diff --git a/www/chromium/files/patch-components_error__page_common_localized__error.cc b/www/chromium/files/patch-components_error__page_common_localized__error.cc index 7c69d21e9c41..b78b02317ae6 100644 --- a/www/chromium/files/patch-components_error__page_common_localized__error.cc +++ b/www/chromium/files/patch-components_error__page_common_localized__error.cc @@ -1,11 +1,11 @@ ---- components/error_page/common/localized_error.cc.orig 2026-01-14 08:33:23 UTC +--- components/error_page/common/localized_error.cc.orig 2026-02-11 09:05:39 UTC +++ components/error_page/common/localized_error.cc -@@ -889,7 +889,7 @@ void AddSuggestionsDetails(int error_code, +@@ -898,7 +898,7 @@ void AddSuggestionsDetails(int error_code, if (suggestions & SUGGEST_PROXY_CONFIG) { // Custom body string. std::u16string inner = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) l10n_util::GetStringFUTF16( IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM, l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE), diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc index 65511b3b1d2a..72148f86b38a 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,30 +1,30 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2026-01-14 08:33:23 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2026-02-11 09:05:39 UTC +++ components/feature_engagement/public/feature_configurations.cc -@@ -103,7 +103,7 @@ std::optional CreateNewUserGestureInPro +@@ -100,7 +100,7 @@ std::optional CreateNewUserGestureInPro std::optional GetClientSideFeatureConfig( const base::Feature* feature) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // The IPH bubble for link capturing has a trigger set to ANY so that it // always shows up. The per app specific guardrails are independently stored -@@ -122,7 +122,7 @@ std::optional GetClientSideFeatureConfi +@@ -119,7 +119,7 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { FeatureConfig config; config.valid = true; -@@ -2028,7 +2028,8 @@ std::optional GetClientSideFeatureConfi +@@ -2047,7 +2047,8 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { // The credit card benefit IPH appears up to three times over 10 years and diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc index ff9130d20cbf..483f72d91278 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,47 +1,29 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2026-01-14 08:33:23 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2026-02-11 09:05:39 UTC +++ components/feature_engagement/public/feature_constants.cc @@ -32,7 +32,7 @@ bool IsOnDeviceStorageEnabled() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) BASE_FEATURE(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo", -@@ -226,7 +226,7 @@ BASE_FEATURE(kIPHShoppingCollectionFeature, - BASE_FEATURE(kIPHSideBySidePinnableFeature, - "IPH_SideBySidePinnableFeature", - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -234,7 +234,7 @@ BASE_FEATURE(kIPHSideBySidePinnableFeature, - ); - BASE_FEATURE(kIPHSideBySideTabSwitchFeature, - "IPH_SideBySideTabSwitchFeature", --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -872,7 +872,7 @@ BASE_FEATURE(kIPHiOSGeminiContextualCueChip, - +@@ -878,7 +878,7 @@ BASE_FEATURE(kIPHiOSGeminiImageRemixFeature, #endif // BUILDFLAG(IS_IOS) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature, "IPH_AutofillBnplAffirmOrZipSuggestion", -@@ -1031,7 +1031,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); +@@ -940,7 +940,7 @@ BASE_FEATURE(kIPHLauncherSearchHelpUiFeature, + base::FEATURE_ENABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This can be enabled by default, as the DesktopPWAsLinkCapturing // flag is needed for the IPH linked to this feature to work, and // use-cases to show the IPH are guarded by that flag. diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h index d0d977ec7fbe..2ce2c1b61a76 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2026-01-14 08:33:23 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2026-02-11 09:05:39 UTC +++ components/feature_engagement/public/feature_constants.h @@ -31,7 +31,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDemoMode); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDummyFeature); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) FEATURE_CONSTANTS_DECLARE_FEATURE(kEsbDownloadRowPromoFeature); #endif -@@ -391,7 +391,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSGeminiContext +@@ -397,7 +397,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSGeminiContext #endif // BUILDFLAG(IS_IOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature); FEATURE_CONSTANTS_DECLARE_FEATURE( -@@ -456,7 +456,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA - FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphGamingFeature); +@@ -430,7 +430,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHGoogleOneOfferNo + FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHLauncherSearchHelpUiFeature); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsFeature); diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc index 89fe8116076d..2e1c7e3c733a 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2026-01-14 08:33:23 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2026-02-11 09:05:39 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -204,7 +204,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHiOSReaderModeOptionsFeature, +@@ -208,7 +208,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSGeminiImageRemixFeature, #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) &kEsbDownloadRowPromoFeature, #endif -@@ -282,7 +282,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -287,7 +287,7 @@ const base::Feature* const kAllFeatures[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) &kIPHAutofillAiOptInFeature, &kIPHAutofillAiValuablesFeature, -@@ -341,7 +341,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHScalableIphGamingFeature, +@@ -314,7 +314,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHLauncherSearchHelpUiFeature, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) &kIPHDesktopPWAsLinkCapturingLaunch, &kIPHDesktopPWAsLinkCapturingLaunchAppInTab, &kIPHSignInBenefitsFeature, diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h index 8a5ee2750af6..7584c097da12 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,58 +1,58 @@ ---- components/feature_engagement/public/feature_list.h.orig 2026-01-14 08:33:23 UTC +--- components/feature_engagement/public/feature_list.h.orig 2026-02-11 09:05:39 UTC +++ components/feature_engagement/public/feature_list.h -@@ -359,7 +359,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSGeminiFullscreenPromoFea +@@ -367,7 +367,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSGeminiImageRemixFeature, #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) DEFINE_VARIATION_PARAM(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo"); #endif -@@ -485,7 +485,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -495,7 +495,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn"); DEFINE_VARIATION_PARAM(kIPHAutofillAiValuablesFeature, "IPH_AutofillAiValuables"); -@@ -589,7 +590,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphHelpAppBasedTenF - DEFINE_VARIATION_PARAM(kIPHScalableIphGamingFeature, "IPH_ScalableIphGaming"); +@@ -536,7 +537,7 @@ DEFINE_VARIATION_PARAM(kIPHLauncherSearchHelpUiFeature + "IPH_LauncherSearchHelpUi"); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch, "IPH_DesktopPWAsLinkCapturingLaunch"); DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunchAppInTab, -@@ -792,7 +793,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat - VARIATION_ENTRY(kIPHiOSGeminiContextualCueChip), +@@ -742,7 +743,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHiOSGeminiFullscreenPromoFeature), + VARIATION_ENTRY(kIPHiOSGeminiImageRemixFeature), #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHBatterySaverModeFeature), VARIATION_ENTRY(kIPHCompanionSidePanelFeature), VARIATION_ENTRY(kIPHCompanionSidePanelRegionSearchFeature), -@@ -857,7 +858,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -808,7 +809,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHAutofillAiOptInFeature), VARIATION_ENTRY(kIPHAutofillAiValuablesFeature), VARIATION_ENTRY(kIPHAutofillCreditCardBenefitFeature), -@@ -913,7 +915,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat - VARIATION_ENTRY(kIPHScalableIphGamingFeature), +@@ -832,7 +834,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat + VARIATION_ENTRY(kIPHLauncherSearchHelpUiFeature), #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch), VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunchAppInTab), VARIATION_ENTRY(kIPHSignInBenefitsFeature), diff --git a/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h index 8bd9513ed9a1..9df590433340 100644 --- a/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h +++ b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h @@ -1,15 +1,15 @@ ---- components/media_router/common/providers/cast/channel/enum_table.h.orig 2025-02-19 07:43:18 UTC +--- components/media_router/common/providers/cast/channel/enum_table.h.orig 2026-02-11 09:05:39 UTC +++ components/media_router/common/providers/cast/channel/enum_table.h -@@ -368,7 +368,12 @@ class EnumTable { +@@ -364,7 +364,12 @@ class EnumTable { private: #ifdef ARCH_CPU_64_BITS +#ifdef __cpp_lib_hardware_interference_size alignas(std::hardware_destructive_interference_size) +#else + static constexpr std::size_t hardware_destructive_interference_size = 64; + alignas(hardware_destructive_interference_size) +#endif #endif std::initializer_list data_; bool is_sorted_; diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h b/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h index adb4fd894427..5592f7077d57 100644 --- a/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h +++ b/www/chromium/files/patch-components_named__mojo__ipc__server_connection__info.h @@ -1,23 +1,24 @@ ---- components/named_mojo_ipc_server/connection_info.h.orig 2025-04-04 08:52:13 UTC +--- components/named_mojo_ipc_server/connection_info.h.orig 2026-02-12 08:43:57 UTC +++ components/named_mojo_ipc_server/connection_info.h -@@ -12,7 +12,10 @@ +@@ -12,7 +12,8 @@ #include "base/win/scoped_handle.h" #elif BUILDFLAG(IS_MAC) #include -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) -+#if BUILDFLAG(IS_OPENBSD) +#include -+#endif #include #endif -@@ -29,7 +32,7 @@ struct ConnectionInfo { +@@ -29,8 +30,10 @@ struct ConnectionInfo { base::ProcessId pid{}; #if BUILDFLAG(IS_MAC) audit_token_t audit_token{}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) ucred credentials{}; ++#elif BUILDFLAG(IS_FREEBSD) ++ xucred credentials{}; #endif }; + diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc index 278a5aed19e7..e97bfa51e744 100644 --- a/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc +++ b/www/chromium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc @@ -1,12 +1,34 @@ ---- components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.orig 2025-04-04 08:52:13 UTC +--- components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.orig 2026-02-12 08:43:57 UTC +++ components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc -@@ -89,7 +89,9 @@ void NamedMojoServerEndpointConnectorLinux::OnSocketRe +@@ -7,6 +7,10 @@ + #include + #include + ++#if BUILDFLAG(IS_FREEBSD) ++#include ++#endif ++ + #include + #include + +@@ -84,12 +88,20 @@ void NamedMojoServerEndpointConnectorLinux::OnSocketRe + + auto info = std::make_unique(); + socklen_t len = sizeof(info->credentials); ++#if BUILDFLAG(IS_FREEBSD) ++ if (getsockopt(connection_fd.get(), SOL_SOCKET, LOCAL_PEERCRED, ++#else + if (getsockopt(connection_fd.get(), SOL_SOCKET, SO_PEERCRED, ++#endif + &info->credentials, &len) != 0) { PLOG(ERROR) << "getsockopt failed."; return; } -+#if !BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_FREEBSD) ++ info->pid = info->credentials.cr_pid; ++#elif !BUILDFLAG(IS_OPENBSD) info->pid = info->credentials.pid; +#endif mojo::PlatformChannelEndpoint endpoint( mojo::PlatformHandle(std::move(connection_fd))); diff --git a/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc b/www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.cc similarity index 80% rename from www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc rename to www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.cc index 3abf4d20fa2a..0531a42883fb 100644 --- a/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.cc +++ b/www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.cc @@ -1,43 +1,42 @@ ---- components/services/on_device_translation/sandbox_hook.cc.orig 2024-11-14 07:57:23 UTC -+++ components/services/on_device_translation/sandbox_hook.cc +--- components/on_device_translation/service/sandbox_hook.cc.orig 2026-02-11 09:05:39 UTC ++++ components/on_device_translation/service/sandbox_hook.cc @@ -7,12 +7,15 @@ - #include "components/services/on_device_translation/translate_kit_client.h" + #include "components/on_device_translation/service/translate_kit_client.h" #include "sandbox/linux/syscall_broker/broker_command.h" +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; using sandbox::syscall_broker::MakeBrokerCommandSet; +#endif namespace on_device_translation { namespace { +#if !BUILDFLAG(IS_BSD) // Gets the file permissions required by the TranslateKit std::vector GetOnDeviceTranslationFilePermissions() { std::vector permissions{ @@ -21,6 +24,7 @@ std::vector GetOnDeviceTranslati }; return permissions; } +#endif } // namespace @@ -29,6 +33,7 @@ bool OnDeviceTranslationSandboxHook( // Call `TranslateKitClient::Get()` to load libtranslatekit.so TranslateKitClient::Get(); +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); instance->StartBrokerProcess(MakeBrokerCommandSet({ sandbox::syscall_broker::COMMAND_OPEN, -@@ -36,7 +41,7 @@ bool OnDeviceTranslationSandboxHook( +@@ -36,6 +41,7 @@ bool OnDeviceTranslationSandboxHook( GetOnDeviceTranslationFilePermissions(), options); instance->EngageNamespaceSandboxIfPossible(); -- +#endif + return true; } - diff --git a/www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.h b/www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.h new file mode 100644 index 000000000000..81aa5e860345 --- /dev/null +++ b/www/chromium/files/patch-components_on__device__translation_service_sandbox__hook.h @@ -0,0 +1,16 @@ +--- components/on_device_translation/service/sandbox_hook.h.orig 2026-02-11 09:05:39 UTC ++++ components/on_device_translation/service/sandbox_hook.h +@@ -5,7 +5,13 @@ + #ifndef COMPONENTS_ON_DEVICE_TRANSLATION_SERVICE_SANDBOX_HOOK_H_ + #define COMPONENTS_ON_DEVICE_TRANSLATION_SERVICE_SANDBOX_HOOK_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace on_device_translation { + diff --git a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc index 9da26133fa82..290dfe0cebbe 100644 --- a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc +++ b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-01-14 08:33:23 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-02-11 09:05:39 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -95,7 +95,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, +@@ -94,7 +94,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, // Whether to use the on device model service in optimization guide. BASE_FEATURE(kOptimizationGuideOnDeviceModel, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc index 78ade9348ca0..98de550e9656 100644 --- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc +++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client.cc.orig 2025-10-30 15:44:36 UTC +--- components/paint_preview/browser/paint_preview_client.cc.orig 2026-02-11 09:05:39 UTC +++ components/paint_preview/browser/paint_preview_client.cc -@@ -464,8 +464,8 @@ void PaintPreviewClient::CapturePaintPreview( +@@ -463,8 +463,8 @@ void PaintPreviewClient::CapturePaintPreview( metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); - chromeVersion->set_major(current_chrome_version.components()[0]); - chromeVersion->set_minor(current_chrome_version.components()[1]); + chromeVersion->set_gmajor(current_chrome_version.components()[0]); + chromeVersion->set_gminor(current_chrome_version.components()[1]); chromeVersion->set_build(current_chrome_version.components()[2]); chromeVersion->set_patch(current_chrome_version.components()[3]); document_data.callback = base::BindOnce( diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc index c8704c1d0d92..12e56b0b341a 100644 --- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc +++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2025-10-02 04:28:32 UTC +--- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ components/paint_preview/browser/paint_preview_client_unittest.cc -@@ -228,8 +228,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa +@@ -226,8 +226,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); - chromeVersion->set_major(current_chrome_version.components()[0]); - chromeVersion->set_minor(current_chrome_version.components()[1]); + chromeVersion->set_gmajor(current_chrome_version.components()[0]); + chromeVersion->set_gminor(current_chrome_version.components()[1]); chromeVersion->set_build(current_chrome_version.components()[2]); chromeVersion->set_patch(current_chrome_version.components()[3]); PaintPreviewFrameProto* main_frame = expected_proto.mutable_root_frame(); diff --git a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc index fb843e96d9f6..e944d2d6a73e 100644 --- a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc +++ b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ components/paint_preview/player/player_compositor_delegate.cc -@@ -437,8 +437,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT +@@ -394,8 +394,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT auto chrome_version = capture_result_->proto.metadata().chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); if (capture_result_->proto.metadata().has_chrome_version() && - chrome_version.major() == current_chrome_version.components()[0] && - chrome_version.minor() == current_chrome_version.components()[1] && + chrome_version.gmajor() == current_chrome_version.components()[0] && + chrome_version.gminor() == current_chrome_version.components()[1] && chrome_version.build() == current_chrome_version.components()[2] && chrome_version.patch() == current_chrome_version.components()[3]) { paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc index 684dd1bf8a9b..22e62b9e5375 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2026-01-14 08:33:23 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2026-02-11 09:05:39 UTC +++ components/password_manager/core/browser/features/password_features.cc @@ -67,7 +67,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, BASE_FEATURE(kClearUndecryptablePasswordsOnSync, "ClearUndecryptablePasswordsInSync", #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -138,7 +138,7 @@ BASE_FEATURE(kPasswordManualFallbackAvailable, - - BASE_FEATURE(kPasswordManagerLogToTerminal, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -138,7 +138,7 @@ BASE_FEATURE(kPasswordManagerLogToTerminal, base::FEAT + BASE_FEATURE(kProactivelyDownloadModelForPasswordChange, + base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kRestartToGainAccessToKeychain, #if BUILDFLAG(IS_MAC) base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h index 2a1bd449df59..b741cecc47a5 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/features/password_features.h.orig 2026-01-14 08:33:23 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2026-02-11 09:05:39 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -171,7 +171,7 @@ BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable) - // terminal. - BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); +@@ -171,7 +171,7 @@ BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); + // classifications. + BASE_DECLARE_FEATURE(kProactivelyDownloadModelForPasswordChange); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables "Needs access to keychain, restart chrome" bubble and banner. BASE_DECLARE_FEATURE(kRestartToGainAccessToKeychain); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_performance__manager_resource__attribution_memory__measurement__delegate.cc b/www/chromium/files/patch-components_performance__manager_resource__attribution_memory__measurement__delegate.cc index fb8baf66cc48..77bf61aa2acf 100644 --- a/www/chromium/files/patch-components_performance__manager_resource__attribution_memory__measurement__delegate.cc +++ b/www/chromium/files/patch-components_performance__manager_resource__attribution_memory__measurement__delegate.cc @@ -1,11 +1,11 @@ ---- components/performance_manager/resource_attribution/memory_measurement_delegate.cc.orig 2025-10-30 15:44:36 UTC +--- components/performance_manager/resource_attribution/memory_measurement_delegate.cc.orig 2026-02-11 09:05:39 UTC +++ components/performance_manager/resource_attribution/memory_measurement_delegate.cc @@ -100,7 +100,7 @@ void MemoryMeasurementDelegateImpl::OnMemorySummary( - base::KiB(process_dump.os_dump().resident_set_kb), + base::KiBU(process_dump.os_dump().resident_set_kb), .private_footprint = - base::KiB(process_dump.os_dump().private_footprint_kb), + base::KiBU(process_dump.os_dump().private_footprint_kb), -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // `private_footprint_swap_kb` is only defined on these platforms .private_swap = - base::KiB(process_dump.os_dump().private_footprint_swap_kb), + base::KiBU(process_dump.os_dump().private_footprint_swap_kb), diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index 9be549c0cb3d..a5a27e3743b9 100644 --- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -1,11 +1,16 @@ ---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2026-01-14 08:33:23 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2026-02-11 09:05:39 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -779,7 +779,7 @@ void CloudPolicyClient::FetchPolicy(PolicyFetchReason - fetch_request->set_invalidation_payload(invalidation_payload_); - } - } +@@ -791,11 +791,11 @@ void CloudPolicyClient::FetchPolicyInternal( + + // Build policy fetch requests. + em::DevicePolicyRequest* policy_request = request->mutable_policy_request(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + em::PolicyFetchRequest* fetch_request = nullptr; + #endif + for (const auto& type_to_fetch : types_to_fetch) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + fetch_request = AddPolicyFetchRequest(policy_request, type_to_fetch); // Only set browser device identifier for CBCM Chrome cloud policy on // desktop. - if (type_to_fetch.policy_type() == diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc index 9a6914c32190..9d1fd2be6f8d 100644 --- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc +++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc @@ -1,55 +1,55 @@ ---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2025-05-05 10:57:53 UTC +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2026-02-11 09:05:39 UTC +++ components/policy/core/common/cloud/cloud_policy_util.cc -@@ -21,7 +21,7 @@ +@@ -23,7 +23,7 @@ #include "base/win/wincred_shim.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include #include #include -@@ -36,10 +36,15 @@ +@@ -38,10 +38,15 @@ #import #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include // For HOST_NAME_MAX #endif +#if BUILDFLAG(IS_FREEBSD) +#include +#define HOST_NAME_MAX MAXHOSTNAMELEN +#endif + #include #include -@@ -84,7 +89,7 @@ namespace policy { - namespace em = enterprise_management; +@@ -92,7 +97,7 @@ const int kMinimumVersionForExtensionInstallPolicy = 1 + } // namespace std::string GetMachineName() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) char hostname[HOST_NAME_MAX]; if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. return hostname; -@@ -140,7 +145,7 @@ std::string GetMachineName() { +@@ -148,7 +153,7 @@ std::string GetMachineName() { std::string GetOSVersion() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return base::SysInfo::OperatingSystemVersion(); #elif BUILDFLAG(IS_WIN) base::win::OSInfo::VersionNumber version_number = -@@ -162,7 +167,7 @@ std::string GetOSArchitecture() { +@@ -170,7 +175,7 @@ std::string GetOSArchitecture() { } std::string GetOSUsername() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) struct passwd* creds = getpwuid(getuid()); if (!creds || !creds->pw_name) return std::string(); diff --git a/www/chromium/files/patch-components_proxy__config_pref__proxy__config__tracker__impl.cc b/www/chromium/files/patch-components_proxy__config_pref__proxy__config__tracker__impl.cc index c2b19861fb90..e7d375fdafec 100644 --- a/www/chromium/files/patch-components_proxy__config_pref__proxy__config__tracker__impl.cc +++ b/www/chromium/files/patch-components_proxy__config_pref__proxy__config__tracker__impl.cc @@ -1,11 +1,20 @@ ---- components/proxy_config/pref_proxy_config_tracker_impl.cc.orig 2026-01-14 08:33:23 UTC +--- components/proxy_config/pref_proxy_config_tracker_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/proxy_config/pref_proxy_config_tracker_impl.cc -@@ -552,7 +552,7 @@ void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefReg +@@ -527,7 +527,7 @@ void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefReg registry->RegisterDictionaryPref(proxy_config::prefs::kProxy, ProxyConfigDictionary::CreateSystem()); registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref( proxy_config::prefs::kEnableProxyOverrideRulesForAllUsers, 0); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + registry->RegisterIntegerPref(proxy_config::prefs::kProxyOverrideRulesScope, +@@ -544,7 +544,7 @@ void PrefProxyConfigTrackerImpl::RegisterProfilePrefs( + ProxyConfigDictionary::CreateSystem()); + registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false); + registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + registry->RegisterIntegerPref( + proxy_config::prefs::kEnableProxyOverrideRulesForAllUsers, 0); + registry->RegisterIntegerPref(proxy_config::prefs::kProxyOverrideRulesScope, diff --git a/www/chromium/files/patch-components_proxy__config_proxy__config__pref__names.h b/www/chromium/files/patch-components_proxy__config_proxy__config__pref__names.h index 40a8410fd11f..1cb7038b6af3 100644 --- a/www/chromium/files/patch-components_proxy__config_proxy__config__pref__names.h +++ b/www/chromium/files/patch-components_proxy__config_proxy__config__pref__names.h @@ -1,11 +1,11 @@ ---- components/proxy_config/proxy_config_pref_names.h.orig 2026-01-14 08:33:23 UTC +--- components/proxy_config/proxy_config_pref_names.h.orig 2026-02-11 09:05:39 UTC +++ components/proxy_config/proxy_config_pref_names.h -@@ -28,7 +28,7 @@ inline constexpr char kProxyOverrideRules[] = "proxy_o - inline constexpr char kProxyOverrideRulesScope[] = "proxy_override_rules_scope"; - #endif // !BUILDFLAG(IS_CHROMEOS) +@@ -19,7 +19,7 @@ inline constexpr char kUseSharedProxies[] = "settings. + // Preference to store the value of the "ProxyOverrideRules" policy. + inline constexpr char kProxyOverrideRules[] = "proxy_override_rules"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - // Preference to store the value of the "EnableProxyOverrideRulesForAllUsers" - // policy. - inline constexpr char kEnableProxyOverrideRulesForAllUsers[] = + // Preferences to store the scope (user vs machine) and the affiliation status + // corresponding to the value set in `kProxyOverrideRules`. They are used to + // handle the policy differently when its source is a cloud user depending on diff --git a/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.cc b/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.cc new file mode 100644 index 000000000000..fa4d522a0719 --- /dev/null +++ b/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.cc @@ -0,0 +1,47 @@ +--- components/proxy_config/proxy_override_rules_policy_handler.cc.orig 2026-02-11 09:05:39 UTC ++++ components/proxy_config/proxy_override_rules_policy_handler.cc +@@ -28,7 +28,7 @@ policy::PolicyErrorPath CreateNewPath( + return path; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + bool UnaffiliatedPolicyAllowed(const policy::PolicyMap& policies) { + const base::Value* enable_for_all_users_value = + policies.GetValue(policy::key::kEnableProxyOverrideRulesForAllUsers, +@@ -49,7 +49,7 @@ ProxyOverrideRulesPolicyHandler::ProxyOverrideRulesPol + policy::key::kProxyOverrideRules, + schema.GetKnownProperty(policy::key::kProxyOverrideRules), + policy::SchemaOnErrorStrategy::SCHEMA_ALLOW_UNKNOWN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + , + enabled_for_all_users_handler_( + policy::key::kEnableProxyOverrideRulesForAllUsers, +@@ -66,7 +66,7 @@ ProxyOverrideRulesPolicyHandler::~ProxyOverrideRulesPo + bool ProxyOverrideRulesPolicyHandler::CheckPolicySettings( + const policy::PolicyMap& policies, + policy::PolicyErrorMap* errors) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // This code should run to set errors for + // `kEnableProxyOverrideRulesForAllUsers`, but the regular proxy override + // rules policy might still be valid so we ignore the returned boolean. +@@ -78,7 +78,7 @@ bool ProxyOverrideRulesPolicyHandler::CheckPolicySetti + return false; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const policy::PolicyMap::Entry* proxy_override_rules_policy = + policies.Get(policy_name()); + if (proxy_override_rules_policy && +@@ -126,7 +126,7 @@ void ProxyOverrideRulesPolicyHandler::ApplyPolicySetti + + prefs->SetValue(proxy_config::prefs::kProxyOverrideRules, + policy_value->Clone()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + prefs->SetInteger(proxy_config::prefs::kProxyOverrideRulesScope, + policy->scope); + prefs->SetBoolean(proxy_config::prefs::kProxyOverrideRulesAffiliation, diff --git a/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.h b/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.h new file mode 100644 index 000000000000..8b13a337b754 --- /dev/null +++ b/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.h @@ -0,0 +1,11 @@ +--- components/proxy_config/proxy_override_rules_policy_handler.h.orig 2026-02-11 09:05:39 UTC ++++ components/proxy_config/proxy_override_rules_policy_handler.h +@@ -53,7 +53,7 @@ class PROXY_CONFIG_EXPORT ProxyOverrideRulesPolicyHand + policy::PolicyErrorPath error_path, + policy::PolicyErrorMap* errors); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + policy::IntRangePolicyHandler enabled_for_all_users_handler_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + }; diff --git a/www/chromium/files/patch-components_proxy__config_proxy__prefs__utils.cc b/www/chromium/files/patch-components_proxy__config_proxy__prefs__utils.cc new file mode 100644 index 000000000000..ec732a9751c1 --- /dev/null +++ b/www/chromium/files/patch-components_proxy__config_proxy__prefs__utils.cc @@ -0,0 +1,11 @@ +--- components/proxy_config/proxy_prefs_utils.cc.orig 2026-02-11 09:05:39 UTC ++++ components/proxy_config/proxy_prefs_utils.cc +@@ -60,7 +60,7 @@ net::ProxyChain ProxyOverrideRuleProxyFromString(std:: + + bool ProxyOverrideRulesAllowed(const PrefService* pref_service) { + CHECK(pref_service); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (pref_service->GetInteger(prefs::kProxyOverrideRulesScope) == + policy::POLICY_SCOPE_USER && + !pref_service->GetBoolean(prefs::kProxyOverrideRulesAffiliation)) { diff --git a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc index 4541396b712d..f195191eb31e 100644 --- a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc +++ b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-01-14 08:33:23 UTC +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-02-11 09:05:39 UTC +++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc -@@ -115,7 +115,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { +@@ -116,7 +116,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { return RTLookupRequest::OS_TYPE_CHROME_OS; #elif BUILDFLAG(IS_IOS) return RTLookupRequest::OS_TYPE_IOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return RTLookupRequest::OS_TYPE_LINUX; #elif BUILDFLAG(IS_MAC) return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/chromium/files/patch-components_search__engines_template__url__service.cc b/www/chromium/files/patch-components_search__engines_template__url__service.cc index 35579a8476f6..a3c549c1c4fe 100644 --- a/www/chromium/files/patch-components_search__engines_template__url__service.cc +++ b/www/chromium/files/patch-components_search__engines_template__url__service.cc @@ -1,11 +1,11 @@ ---- components/search_engines/template_url_service.cc.orig 2025-12-05 10:12:50 UTC +--- components/search_engines/template_url_service.cc.orig 2026-02-11 09:05:39 UTC +++ components/search_engines/template_url_service.cc -@@ -3590,7 +3590,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3588,7 +3588,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( std::unique_ptr TemplateURLService::GetEnterpriseSearchManager(PrefService* prefs) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return std::make_unique( prefs, base::BindRepeating(&TemplateURLService::EnterpriseSearchChanged, base::Unretained(this))); diff --git a/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h b/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h deleted file mode 100644 index d27468a99063..000000000000 --- a/www/chromium/files/patch-components_services_on__device__translation_sandbox__hook.h +++ /dev/null @@ -1,16 +0,0 @@ ---- components/services/on_device_translation/sandbox_hook.h.orig 2024-11-14 07:57:23 UTC -+++ components/services/on_device_translation/sandbox_hook.h -@@ -5,7 +5,13 @@ - #ifndef COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_ - #define COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_ - -+#include "build/build_config.h" -+ -+#if BUILDFLAG(IS_BSD) -+#include "sandbox/policy/sandbox.h" -+#else - #include "sandbox/policy/linux/sandbox_linux.h" -+#endif - - namespace on_device_translation { - diff --git a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc index 27690c83e3cf..1563e22857fc 100644 --- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc +++ b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc @@ -1,29 +1,29 @@ ---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2024-01-30 07:53:34 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc @@ -22,7 +22,7 @@ #if BUILDFLAG(IS_WIN) - #include "content/public/child/dwrite_font_proxy_init_win.h" + #include "content/public/child/font_integration_init.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font/public/cpp/font_loader.h" #endif @@ -79,7 +79,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp // Initialize font access for Skia. #if BUILDFLAG(IS_WIN) - content::InitializeDWriteFontProxy(); + content::InitializeFontIntegration(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::PendingRemote font_service; content::UtilityThread::Get()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); @@ -102,7 +102,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp base::BindOnce([] { skia::DefaultFontMgr(); })); // Sanity check that fonts are working. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // No WebSandbox is provided on Linux so the local fonts aren't accessible. // This is fine since since the subsetted fonts are provided in the SkPicture. // However, we still need to check that the SkFontMgr starts as it is used by diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc index 840c4545e6c8..0b7518ae9776 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc @@ -1,56 +1,56 @@ ---- components/signin/public/base/signin_switches.cc.orig 2026-01-14 08:33:23 UTC +--- components/signin/public/base/signin_switches.cc.orig 2026-02-11 09:05:39 UTC +++ components/signin/public/base/signin_switches.cc -@@ -108,7 +108,7 @@ BASE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo +@@ -107,7 +107,7 @@ BASE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo base::FEATURE_DISABLED_BY_DEFAULT); #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) BASE_FEATURE(kChromeIdentitySurveyAddressBubbleSignin, - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kChromeIdentitySurveyDiceWebSigninAccepted, -@@ -135,7 +135,7 @@ BASE_FEATURE(kChromeIdentitySurveySwitchProfileFromPro - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -134,7 +134,7 @@ BASE_FEATURE(kChromeIdentitySurveySwitchProfileFromPro + base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kChromeIdentitySurveyLaunchWithDelay, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE_PARAM(base::TimeDelta, -@@ -356,7 +356,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, +@@ -343,7 +343,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, base::Days(7)); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kOpenAllProfilesFromProfilePickerExperiment, base::FEATURE_DISABLED_BY_DEFAULT); const base::FeatureParam -@@ -365,7 +365,7 @@ const base::FeatureParam +@@ -352,7 +352,7 @@ const base::FeatureParam "max_profiles_count_to_show_open_all_button_in_profile_picker", 5}; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kProfileCreationDeclineSigninCTAExperiment, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -403,7 +403,7 @@ BASE_FEATURE(kProfilesReordering, base::FEATURE_DISABL +@@ -395,7 +395,7 @@ BASE_FEATURE(kRestrictDeviceManagementServiceOAuthScop BASE_FEATURE(kRollbackDiceMigration, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kShowProfilePickerToAllUsersExperiment, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -418,7 +418,7 @@ const base::FeatureParam kContextualSigninPromoDi +@@ -410,7 +410,7 @@ const base::FeatureParam kContextualSigninPromoDi "contextual_signin_promo_dismissed_threshold", 2); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kSignInPromoMaterialNextUI, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.h b/www/chromium/files/patch-components_signin_public_base_signin__switches.h index 5dbbdde50d29..a29f15b7582b 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.h +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.h @@ -1,47 +1,47 @@ ---- components/signin/public/base/signin_switches.h.orig 2026-01-14 08:33:23 UTC +--- components/signin/public/base/signin_switches.h.orig 2026-02-11 09:05:39 UTC +++ components/signin/public/base/signin_switches.h -@@ -98,7 +98,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -94,7 +94,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo); #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) // Enables surveys to measure the effectiveness of the identity model. // These surveys would be displayed after interactions such as signin, profile // switching, etc. Please keep sorted alphabetically. -@@ -130,7 +130,7 @@ BASE_DECLARE_FEATURE(kChromeIdentitySurveySwitchProfil +@@ -126,7 +126,7 @@ BASE_DECLARE_FEATURE(kChromeIdentitySurveySwitchProfil // LINT.ThenChange(//chrome/browser/signin/signin_hats_util.cc) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls the duration for which the launch of an identity survey is delayed. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kChromeIdentitySurveyLaunchWithDelay); -@@ -297,7 +297,7 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, +@@ -290,7 +290,7 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, kOfferMigrationToDiceUsersMinTimeBetweenDialogs); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Experimenting with a button to all profiles from the profile picker. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kOpenAllProfilesFromProfilePickerExperiment); -@@ -306,7 +306,7 @@ extern const base::FeatureParam +@@ -299,7 +299,7 @@ extern const base::FeatureParam kMaxProfilesCountToShowOpenAllButtonInProfilePicker; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Experimenting with changing the secondary CTA for FRE and new profile // creation. COMPONENT_EXPORT(SIGNIN_SWITCHES) -@@ -371,7 +371,7 @@ extern const base::FeatureParam kContextualSignin +@@ -370,7 +370,7 @@ extern const base::FeatureParam kContextualSignin COMPONENT_EXPORT(SIGNIN_SWITCHES) extern const base::FeatureParam kContextualSigninPromoDismissedThreshold; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Uses the Material Next theme for the signin promo. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSignInPromoMaterialNextUI); diff --git a/www/chromium/files/patch-components_storage__monitor_BUILD.gn b/www/chromium/files/patch-components_storage__monitor_BUILD.gn index e4aacc3f46c0..c81b558858c2 100644 --- a/www/chromium/files/patch-components_storage__monitor_BUILD.gn +++ b/www/chromium/files/patch-components_storage__monitor_BUILD.gn @@ -1,20 +1,20 @@ ---- components/storage_monitor/BUILD.gn.orig 2025-05-05 10:57:53 UTC +--- components/storage_monitor/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ components/storage_monitor/BUILD.gn -@@ -73,7 +73,7 @@ component("storage_monitor") { +@@ -66,7 +66,7 @@ component("storage_monitor") { deps += [ "//services/device/public/mojom" ] } } else if (is_linux) { - if (use_udev) { + if (use_udev && !is_bsd) { sources += [ "mtab_watcher_linux.cc", "mtab_watcher_linux.h", -@@ -182,7 +182,7 @@ source_set("unit_tests") { +@@ -167,7 +167,7 @@ source_set("unit_tests") { "storage_monitor_chromeos_unittest.cc", ] } - } else if (is_linux) { + } else if (is_linux && !is_bsd) { if (use_udev) { sources += [ "storage_monitor_linux_unittest.cc" ] } diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc index 4e392946cb29..90f6a169b45d 100644 --- a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc +++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2026-01-14 08:33:23 UTC +--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2026-02-11 09:05:39 UTC +++ components/supervised_user/core/browser/supervised_user_metrics_service.cc -@@ -105,7 +105,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer - std::move(metrics_service_accessor_delegate)) { +@@ -106,7 +106,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer + std::move(synthetic_field_trial_delegate)) { DCHECK(pref_service_); supervised_user_service_observation_.Observe(&supervised_user_service); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CHECK(extensions_metrics_delegate_) << "Extensions metrics delegate must exist on Win/Linux/Mac"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc index 2d929239c9a9..46561308d3b7 100644 --- a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc +++ b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc @@ -1,11 +1,11 @@ ---- components/sync_preferences/common_syncable_prefs_database.cc.orig 2026-01-14 08:33:23 UTC +--- components/sync_preferences/common_syncable_prefs_database.cc.orig 2026-02-11 09:05:39 UTC +++ components/sync_preferences/common_syncable_prefs_database.cc -@@ -416,7 +416,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = +@@ -422,7 +422,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, #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::prefs::kAutofillBnplEnabled, {syncable_prefs_ids::kAutofillBnplEnabled, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, diff --git a/www/chromium/files/patch-components_sync_service_sync__prefs.cc b/www/chromium/files/patch-components_sync_service_sync__prefs.cc index 76980380d1f1..be867b60557a 100644 --- a/www/chromium/files/patch-components_sync_service_sync__prefs.cc +++ b/www/chromium/files/patch-components_sync_service_sync__prefs.cc @@ -1,11 +1,11 @@ ---- components/sync/service/sync_prefs.cc.orig 2025-10-02 04:28:32 UTC +--- components/sync/service/sync_prefs.cc.orig 2026-02-11 09:05:39 UTC +++ components/sync/service/sync_prefs.cc -@@ -840,7 +840,7 @@ bool SyncPrefs::MaybeMigratePrefsForSyncToSigninPart1( +@@ -839,7 +839,7 @@ bool SyncPrefs::MaybeMigratePrefsForSyncToSigninPart1( update_selected_types_dict->EnsureDict( signin::GaiaIdHash::FromGaiaId(gaia_id).ToBase64()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Preserve the user's existing enabled state for Bookmarks, Reading List, // and Preferences. Otherwise, use the default value, which will be true // after `kReplaceSyncPromosWithSignInPromos`. diff --git a/www/chromium/files/patch-components_sync_service_sync__service__impl.cc b/www/chromium/files/patch-components_sync_service_sync__service__impl.cc index 7eb5acf1a2ec..0db214cd83ad 100644 --- a/www/chromium/files/patch-components_sync_service_sync__service__impl.cc +++ b/www/chromium/files/patch-components_sync_service_sync__service__impl.cc @@ -1,11 +1,11 @@ ---- components/sync/service/sync_service_impl.cc.orig 2026-01-14 08:33:23 UTC +--- components/sync/service/sync_service_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/sync/service/sync_service_impl.cc -@@ -1404,7 +1404,7 @@ void SyncServiceImpl::ReconfigureDataTypesDueToCrypto( +@@ -1433,7 +1433,7 @@ void SyncServiceImpl::ReconfigureDataTypesDueToCrypto( void SyncServiceImpl::PassphraseTypeChanged(PassphraseType passphrase_type) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -#if !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) +#if !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) // If kReplaceSyncPromosWithSignInPromos is enabled, new users with custom // passphrase should have kAutofill disabled upon the initial sign-in. This is // done to prevent confusion, as addresses are NOT encrypted by the custom diff --git a/www/chromium/files/patch-components_translate_core_common_translate__util.cc b/www/chromium/files/patch-components_translate_core_common_translate__util.cc index e16ee41cfcab..7f1e3e6919c4 100644 --- a/www/chromium/files/patch-components_translate_core_common_translate__util.cc +++ b/www/chromium/files/patch-components_translate_core_common_translate__util.cc @@ -1,11 +1,11 @@ ---- components/translate/core/common/translate_util.cc.orig 2025-10-30 15:44:36 UTC +--- components/translate/core/common/translate_util.cc.orig 2026-02-11 09:05:39 UTC +++ components/translate/core/common/translate_util.cc -@@ -19,7 +19,7 @@ const char kSecurityOrigin[] = "https://translate.goog +@@ -29,7 +29,7 @@ bool IsTFLiteLanguageDetectionEnabled() { + // The feature is explicitly disabled on WebView. // TODO(crbug.com/40819484): Enable the feature on WebView. - BASE_FEATURE(kTFLiteLanguageDetectionEnabled, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT + return true; #else - base::FEATURE_DISABLED_BY_DEFAULT + return false; diff --git a/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc index 14a1b7458b4c..2e7bb3b6ea04 100644 --- a/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc +++ b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/host/gpu_host_impl.cc.orig 2026-01-14 08:33:23 UTC +--- components/viz/host/gpu_host_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/viz/host/gpu_host_impl.cc -@@ -158,7 +158,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, +@@ -159,7 +159,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, mojom::GpuServiceCreationParams::New(); #if BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has an issue when running in single-process mode wherein // GetPlatformRuntimeProperties() browser-side calls can have a data race with // in-process GPU service initialization. The call to diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index e6f8d6eb9acd..ff7648d62395 100644 --- a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-01-14 08:33:23 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1562,7 +1562,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1533,7 +1533,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor VK_IMAGE_TILING_OPTIMAL, vk_format, si_format, image_context->color_space(), image_context->ycbcr_info()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Textures that were allocated _on linux_ with ycbcr info came from // VaapiVideoDecoder, which exports using DRM format modifiers. return GrBackendFormats::MakeVk(gr_ycbcr_info, diff --git a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc index 630a12d31063..bc016c7d0fbf 100644 --- a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc +++ b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display/skia_renderer.cc.orig 2025-12-05 10:12:50 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2026-02-11 09:05:39 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1299,7 +1299,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1289,7 +1289,7 @@ void SkiaRenderer::ClearFramebuffer() { if (current_frame()->current_render_pass->has_transparent_background) { ClearCanvas(SkColors::kTransparent); } else { -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On DEBUG builds, opaque render passes are cleared to blue // to easily see regions that were not drawn on the screen. // ClearCavas() call causes slight pixel difference, so linux-ref and diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index 0dfed3ea6f56..def57db89450 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-12-05 10:12:50 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc @@ -142,7 +142,7 @@ RootCompositorFrameSinkImpl::Create( output_surface->SetNeedsSwapSizeNotifications( params->send_swap_size_notifications); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) // For X11, we need notify client about swap completion after resizing, so the // client can use it for synchronize with X11 WM. output_surface->SetNeedsSwapSizeNotifications(true); -@@ -904,7 +904,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -908,7 +908,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw if (display_client_ && enable_swap_completion_callback_) { display_client_->DidCompleteSwapWithSize(pixel_size); } -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) if (display_client_ && pixel_size != last_swap_pixel_size_) { last_swap_pixel_size_ = pixel_size; display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc index ab55d6f57c50..a01db7c6ce92 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/gl/gpu_service_impl.cc.orig 2026-01-14 08:33:23 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2026-02-11 09:05:39 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -464,7 +464,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -472,7 +472,7 @@ void GpuServiceImpl::InitializeWithHostInternal( mojo::Remote gpu_host(std::move(pending_gpu_host)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gpu_extra_info_.is_gmb_nv12_supported = IsGMBNV12Supported(); #endif -@@ -1228,7 +1228,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1230,7 +1230,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg return true; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuServiceImpl::IsGMBNV12Supported() { CHECK(main_runner_->BelongsToCurrentThread()); diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h index d30af466368c..5e5fdfd38d1b 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/gl/gpu_service_impl.h.orig 2026-01-14 08:33:23 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2026-02-11 09:05:39 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -440,7 +440,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -438,7 +438,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl void OnBeginFrameOnIO(const BeginFrameArgs& args); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGMBNV12Supported(); #endif diff --git a/www/chromium/files/patch-components_webui_flags_flags__state.cc b/www/chromium/files/patch-components_webui_flags_flags__state.cc index 1f8911453d52..0add6059182b 100644 --- a/www/chromium/files/patch-components_webui_flags_flags__state.cc +++ b/www/chromium/files/patch-components_webui_flags_flags__state.cc @@ -1,11 +1,11 @@ ---- components/webui/flags/flags_state.cc.orig 2025-08-07 06:57:29 UTC +--- components/webui/flags/flags_state.cc.orig 2026-02-11 09:05:39 UTC +++ components/webui/flags/flags_state.cc -@@ -782,7 +782,7 @@ unsigned short FlagsState::GetCurrentPlatform() { +@@ -778,7 +778,7 @@ unsigned short FlagsState::GetCurrentPlatform() { return kOsWin; #elif BUILDFLAG(IS_CHROMEOS) return kOsCrOS; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_ANDROID) return kOsAndroid; diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc index 51a270985cd3..10ccd87f8d8e 100644 --- a/www/chromium/files/patch-content_app_content__main.cc +++ b/www/chromium/files/patch-content_app_content__main.cc @@ -1,20 +1,20 @@ ---- content/app/content_main.cc.orig 2025-10-02 04:28:32 UTC +--- content/app/content_main.cc.orig 2026-02-11 09:05:39 UTC +++ content/app/content_main.cc -@@ -217,7 +217,7 @@ NO_STACK_PROTECTOR int RunContentProcess( +@@ -230,7 +230,7 @@ NO_STACK_PROTECTOR int RunContentProcess( base::EnableTerminationOnOutOfMemory(); logging::RegisterAbslAbortHook(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The various desktop environments set this environment variable that // allows the dbus client library to connect directly to the bus. When this // variable is not set (test environments like xvfb-run), the dbus client -@@ -311,7 +311,7 @@ NO_STACK_PROTECTOR int RunContentProcess( +@@ -324,7 +324,7 @@ NO_STACK_PROTECTOR int RunContentProcess( #endif #endif -#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) +#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) && defined(notyet) base::subtle::EnableFDOwnershipEnforcement(true); #endif 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 2bbefde71701..ce41b62c62c0 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,150 +1,150 @@ ---- content/app/content_main_runner_impl.cc.orig 2026-01-14 08:33:23 UTC +--- content/app/content_main_runner_impl.cc.orig 2026-02-11 09:05:39 UTC +++ content/app/content_main_runner_impl.cc @@ -151,18 +151,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 @@ -186,6 +189,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" -@@ -383,7 +390,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -385,7 +392,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 -@@ -402,7 +409,10 @@ void PreloadLibraryCdms() { +@@ -404,7 +411,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. -@@ -414,9 +424,16 @@ void PreSandboxInit() { +@@ -416,9 +426,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. -@@ -636,7 +653,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* +@@ -638,7 +655,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* // Once Zygote forks and feature list initializes we can start a thread to // begin tracing immediately. -#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); -@@ -735,7 +752,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( +@@ -741,7 +758,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. -@@ -853,11 +870,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -859,11 +876,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam 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) -@@ -1009,7 +1025,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1015,7 +1031,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 -@@ -1019,10 +1035,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1025,10 +1041,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam process_type == switches::kZygoteProcess) { PreSandboxInit(); } +#elif BUILDFLAG(IS_BSD) + PreSandboxInit(); #elif BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_IOS_TVOS) 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) -@@ -1124,6 +1152,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1130,6 +1158,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); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index c93410d8d564..3a5b465a963d 100644 --- a/www/chromium/files/patch-content_browser_BUILD.gn +++ b/www/chromium/files/patch-content_browser_BUILD.gn @@ -1,33 +1,33 @@ ---- content/browser/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- content/browser/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ content/browser/BUILD.gn -@@ -2607,6 +2607,14 @@ source_set("browser") { +@@ -2601,6 +2601,14 @@ source_set("browser") { ] } + if (is_bsd) { + sources += [ + "file_system_access/file_path_watcher/file_path_watcher_bsd.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.h", + ] + } + if (is_linux || is_chromeos) { sources -= [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ] -@@ -2656,6 +2664,15 @@ source_set("browser") { +@@ -2650,6 +2658,15 @@ source_set("browser") { if (allow_oop_video_decoder) { sources += [ "media/oop_video_decoder_factory.cc" ] deps += [ "//media/mojo/mojom" ] + } + + if (is_bsd) { + sources -= [ + "file_system_access/file_path_watcher/file_path_watcher_inotify.cc", + "file_system_access/file_path_watcher/file_path_watcher_inotify.h", + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] } if (is_chromeos) { diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc index 4bbb6b1729c5..f62b46ee01ca 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -1,19 +1,19 @@ ---- content/browser/browser_child_process_host_impl.cc.orig 2025-12-05 10:12:50 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/browser_child_process_host_impl.cc -@@ -291,6 +291,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo +@@ -292,6 +292,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kIPCConnectionTimeout, switches::kLogBestEffortTasks, switches::kPerfettoDisableInterning, + switches::kDisableUnveil, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); -@@ -648,7 +649,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() +@@ -649,7 +650,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() ->child_process()); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(process.Pid()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h index 31bca2f1dfe7..5eb1dc813e20 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h @@ -1,20 +1,20 @@ ---- content/browser/browser_child_process_host_impl.h.orig 2025-12-05 10:12:50 UTC +--- content/browser/browser_child_process_host_impl.h.orig 2026-02-11 09:05:39 UTC +++ content/browser/browser_child_process_host_impl.h -@@ -36,7 +36,7 @@ +@@ -38,7 +38,7 @@ #include "base/win/object_watcher.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/child_thread_type_switcher_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -273,7 +273,7 @@ class BrowserChildProcessHostImpl +@@ -279,7 +279,7 @@ class BrowserChildProcessHostImpl std::unique_ptr system_tracing_service_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChildThreadTypeSwitcher child_thread_type_switcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc index a76c3ff20809..4a88c757a249 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc @@ -1,11 +1,29 @@ ---- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2025-03-05 08:14:56 UTC +--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/browser_child_process_host_impl_receiver_bindings.cc -@@ -64,7 +64,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( +@@ -38,7 +38,7 @@ + #include "content/public/common/font_cache_win.mojom.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/services/font_data/font_data_service_impl.h" + #endif + +@@ -69,7 +69,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; +@@ -111,7 +111,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( + } + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (features::IsFontDataServiceEnabled()) { + if (auto font_data_receiver = + receiver.As()) { diff --git a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc index 3820b5b6d11d..33dc7d44e66e 100644 --- a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc +++ b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-10-30 15:44:36 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -98,7 +98,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -101,7 +101,7 @@ class HostDisplayClient : public viz::HostDisplayClien HostDisplayClient& operator=(const HostDisplayClient&) = delete; // viz::HostDisplayClient: -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override { compositor_->OnCompleteSwapWithNewSize(size); } diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index 3e959980aaf8..31ae4f7bd865 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2025-10-30 15:44:36 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1703,7 +1703,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1715,7 +1715,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { return gpu_extra_info_.is_gmb_nv12_supported; } diff --git a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc index b25381940082..4a3119fcb518 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/delegated_frame_host.cc.orig 2025-12-05 10:12:50 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -338,7 +338,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -341,7 +341,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Windows and Linux, we would like to produce new content as soon as // possible or the OS will create an additional black gutter. Until we can // block resize on surface synchronization on these platforms, we will not diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index 0ca494c6f8d9..3b0ff31b2d56 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -1,55 +1,55 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-01-21 09:57:21 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/renderer_host/render_process_host_impl.cc @@ -227,7 +227,7 @@ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck -@@ -1150,7 +1150,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1138,7 +1138,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = // to indicate failure and std::numeric_limits::max() to indicate // unlimited. size_t GetPlatformProcessLimit() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct rlimit limit; if (getrlimit(RLIMIT_NPROC, &limit) != 0) return kUnknownPlatformProcessLimit; -@@ -1393,7 +1393,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1381,7 +1381,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost void RenderProcessHostImpl::IOThreadHostImpl::SetPid( base::ProcessId child_pid) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(child_pid); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } -@@ -3638,7 +3638,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3648,7 +3648,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( base::TimeTicks::UnixEpoch().since_origin().InMicroseconds())); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Append `kDisableVideoCaptureUseGpuMemoryBuffer` flag if there is no support // for NV12 GPU memory buffer. if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled() && -@@ -3694,6 +3694,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3704,6 +3704,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, -@@ -5570,7 +5571,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5580,7 +5581,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr // - Win: https://crbug.com/707022 . uint64_t total_size = 0; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) total_size = dump->platform_private_footprint->rss_anon_bytes + dump->platform_private_footprint->vm_swap_bytes; #elif BUILDFLAG(IS_APPLE) diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h index 7c5e36e9066e..3cc522e16f4c 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -1,29 +1,29 @@ ---- content/browser/renderer_host/render_process_host_impl.h.orig 2026-01-14 08:33:23 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2026-02-11 09:05:39 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -104,7 +104,7 @@ #include "media/fuchsia_media_codec_provider_impl.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/child_thread_type_switcher_linux.h" #include "media/mojo/mojom/video_encode_accelerator.mojom.h" #endif -@@ -1032,7 +1032,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1029,7 +1029,7 @@ class CONTENT_EXPORT RenderProcessHostImpl mojo::Remote video_encode_accelerator_factory_remote_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChildThreadTypeSwitcher child_thread_type_switcher_; #endif }; -@@ -1286,7 +1286,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1291,7 +1291,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // if the request isn't handled on the IO thread. void OnBindHostReceiver(mojo::GenericPendingReceiver receiver); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Provides /proc/{renderer pid}/status and statm files for the renderer, // because the files are required to calculate the renderer's private // footprint on Chromium Linux. Regarding MacOS X and Windows, we have diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 67a09ea06ca7..61c80502e200 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-01-14 08:33:23 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -128,7 +128,7 @@ +@@ -129,7 +129,7 @@ #include "ui/gfx/win/gdi_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/accessibility/platform/browser_accessibility_auralinux.h" #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/text_input_flags.h" -@@ -532,7 +532,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -545,7 +545,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot()) ->GetCOM(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetBrowserAccessibilityRoot()) -@@ -1977,7 +1977,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -1978,7 +1978,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { return host() && host()->delegate() && host()->delegate()->ShouldDoLearning(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderWidgetHostViewAura::SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) { -@@ -2977,7 +2977,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2992,7 +2992,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3163,7 +3163,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3178,7 +3178,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* linux_ui = ui::LinuxUi::instance(); if (!event.skip_if_unhandled && linux_ui && event.os_event) { const auto command = linux_ui->GetTextEditCommandForEvent( diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h index f7d5b44f3972..291752e3fc0b 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-01-14 08:33:23 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-02-11 09:05:39 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h -@@ -290,7 +290,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -287,7 +287,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc index 07a8c97d46c8..9f8a14c54332 100644 --- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc +++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -1,20 +1,20 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-02-28 16:54:41 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/scheduler/responsiveness/native_event_observer.cc @@ -15,7 +15,7 @@ #include "ui/events/platform/platform_event_source.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "ui/aura/env.h" - #include "ui/events/event.h" + #include "ui/events/platform/platform_event_source.h" #endif -@@ -39,7 +39,7 @@ NativeEventObserver::~NativeEventObserver() { + +@@ -38,7 +38,7 @@ NativeEventObserver::~NativeEventObserver() { DeregisterObserver(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void NativeEventObserver::RegisterObserver() { - aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this); - } + CHECK(ui::PlatformEventSource::GetInstance()); + ui::PlatformEventSource::GetInstance()->AddPlatformEventObserver(this); diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h index 8f8878201b5b..b54deee02cfd 100644 --- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h +++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -1,47 +1,47 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2023-02-08 09:03:45 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2026-02-11 09:05:39 UTC +++ content/browser/scheduler/responsiveness/native_event_observer.h @@ -16,7 +16,7 @@ #include "content/public/browser/native_event_processor_observer_mac.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "ui/aura/window_event_dispatcher_observer.h" + #include "ui/events/platform/platform_event_observer.h" #endif @@ -41,7 +41,7 @@ namespace responsiveness { class CONTENT_EXPORT NativeEventObserver #if BUILDFLAG(IS_MAC) : public NativeEventProcessorObserver -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - : public aura::WindowEventDispatcherObserver + : public ui::PlatformEventObserver #elif BUILDFLAG(IS_WIN) : public base::MessagePumpForUI::Observer @@ -58,7 +58,7 @@ class CONTENT_EXPORT NativeEventObserver NativeEventObserver(WillRunEventCallback will_run_event_callback, DidRunEventCallback did_run_event_callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) NativeEventObserver(const NativeEventObserver&) = delete; NativeEventObserver& operator=(const NativeEventObserver&) = delete; @@ -74,7 +74,7 @@ class CONTENT_EXPORT NativeEventObserver // Exposed for tests. void WillRunNativeEvent(const void* opaque_identifier) override; void DidRunNativeEvent(const void* opaque_identifier) override; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // aura::WindowEventDispatcherObserver overrides: - void OnWindowEventDispatcherStartedProcessing( - aura::WindowEventDispatcher* dispatcher, -@@ -91,7 +91,7 @@ class CONTENT_EXPORT NativeEventObserver + // ui::PlatformEventObserver overrides: + void WillProcessEvent(const ui::PlatformEvent& event) override; + void DidProcessEvent(const ui::PlatformEvent& event) override; +@@ -89,7 +89,7 @@ class CONTENT_EXPORT NativeEventObserver void RegisterObserver(); void DeregisterObserver(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct EventInfo { raw_ptr unique_id; }; diff --git a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc index 956576ab3f32..e9201a1b4275 100644 --- a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc +++ b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc @@ -1,38 +1,38 @@ ---- content/browser/service_host/utility_process_host.cc.orig 2026-01-14 08:33:23 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/service_host/utility_process_host.cc -@@ -64,7 +64,7 @@ +@@ -63,7 +63,7 @@ #include "content/browser/v8_snapshot_files.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/pickle.h" -@@ -93,7 +93,7 @@ namespace content { +@@ -92,7 +92,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::ScopedFD PassNetworkContextParentDirs( std::vector network_context_parent_dirs) { base::Pickle pickle; -@@ -490,7 +490,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -489,7 +489,7 @@ bool UtilityProcessHost::StartProcess() { GetV8SnapshotFilesToPreload(*cmd_line)); #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The network service should have access to the parent directories // necessary for its usage. if (options_.sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) { -@@ -508,7 +508,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -507,7 +507,7 @@ bool UtilityProcessHost::StartProcess() { video_capture::mojom::VideoCaptureService::Name_) { bool pass_gpu_buffer_flag = switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Check if NV12 GPU memory buffer supported at the same time. pass_gpu_buffer_flag = pass_gpu_buffer_flag && diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index e583b2606ca5..6a6dbaa74e79 100644 --- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc @@ -1,29 +1,29 @@ ---- content/browser/web_contents/web_contents_view_aura.cc.orig 2026-01-14 08:33:23 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2026-02-11 09:05:39 UTC +++ content/browser/web_contents/web_contents_view_aura.cc -@@ -176,7 +176,7 @@ class WebDragSourceAura : public content::WebContentsO +@@ -188,7 +188,7 @@ class WebDragSourceAura : public content::WebContentsO raw_ptr window_; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Fill out the OSExchangeData with a file contents, synthesizing a name if // necessary. void PrepareDragForFileContents(const DropData& drop_data, -@@ -261,7 +261,7 @@ void PrepareDragData(const DropData& drop_data, +@@ -273,7 +273,7 @@ void PrepareDragData(const DropData& drop_data, if (!drop_data.download_metadata.empty()) PrepareDragForDownload(drop_data, provider, web_contents); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // We set the file contents before the URL because the URL also sets file // contents (to a .URL shortcut). We want to prefer file content data over // a shortcut so we add it first. -@@ -1350,7 +1350,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1370,7 +1370,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* // Linux window managers like to handle raise-on-click themselves. If we // raise-on-click manually, this may override user settings that prevent // focus-stealing. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // It is possible for the web-contents to be destroyed while it is being // activated. Use a weak-ptr to track whether that happened or not. // More in https://crbug.com/1040725 diff --git a/www/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn index bf445c06f7b2..9b43a22b6b9a 100644 --- a/www/chromium/files/patch-content_common_BUILD.gn +++ b/www/chromium/files/patch-content_common_BUILD.gn @@ -1,36 +1,36 @@ ---- content/common/BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- content/common/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ content/common/BUILD.gn -@@ -365,19 +365,28 @@ source_set("common") { +@@ -360,19 +360,28 @@ source_set("common") { } if (is_linux || is_chromeos) { - sources += [ - "gpu_pre_sandbox_hook_linux.cc", - "gpu_pre_sandbox_hook_linux.h", - ] + if (is_bsd) { + sources += [ + "gpu_pre_sandbox_hook_bsd.cc", + "gpu_pre_sandbox_hook_bsd.h", + ] + } else { + sources += [ + "gpu_pre_sandbox_hook_linux.cc", + "gpu_pre_sandbox_hook_linux.h", + ] + } public_deps += [ "//sandbox/policy" ] deps += [ ":sandbox_support_linux", "//media/gpu:buildflags", "//sandbox/linux:sandbox_services", - "//sandbox/linux:seccomp_bpf", "//sandbox/policy:chromecast_sandbox_allowlist_buildflags", "//third_party/fontconfig", ] + if (use_seccomp_bpf) { + deps += [ "//sandbox/linux:seccomp_bpf" ] + } if (use_v4l2_codec) { deps += [ "//media/gpu/v4l2" ] } diff --git a/www/chromium/files/patch-content_common_features.cc b/www/chromium/files/patch-content_common_features.cc index 82a49024677d..48235babfa77 100644 --- a/www/chromium/files/patch-content_common_features.cc +++ b/www/chromium/files/patch-content_common_features.cc @@ -1,34 +1,34 @@ ---- content/common/features.cc.orig 2026-01-14 08:33:23 UTC +--- content/common/features.cc.orig 2026-02-11 09:05:39 UTC +++ content/common/features.cc -@@ -171,7 +171,7 @@ BASE_FEATURE(kDocumentPolicyNegotiation, base::FEATURE +@@ -172,7 +172,7 @@ BASE_FEATURE(kDocumentPolicyNegotiation, base::FEATURE BASE_FEATURE(kEmbeddingRequiresOptIn, base::FEATURE_DISABLED_BY_DEFAULT); // Enables error reporting for JS errors inside DevTools frontend host -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableDevToolsJsErrorReporting, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -280,7 +280,7 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -276,7 +276,7 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, FontDataServiceTypefaceType::kDwrite, &font_data_service_typeface); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kFontDataServiceLinux, base::FEATURE_DISABLED_BY_DEFAULT); const base::FeatureParam::Option font_data_service_typeface[] = { -@@ -294,11 +294,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -290,11 +290,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, &font_data_service_typeface); #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsFontDataServiceEnabled() { #if BUILDFLAG(IS_WIN) return base::FeatureList::IsEnabled(features::kFontDataServiceAllWebContents); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kFontDataServiceLinux); #else return false; diff --git a/www/chromium/files/patch-content_common_features.h b/www/chromium/files/patch-content_common_features.h index 114147972091..50ecbcc7fe7e 100644 --- a/www/chromium/files/patch-content_common_features.h +++ b/www/chromium/files/patch-content_common_features.h @@ -1,29 +1,29 @@ ---- content/common/features.h.orig 2026-01-14 08:33:23 UTC +--- content/common/features.h.orig 2026-02-11 09:05:39 UTC +++ content/common/features.h -@@ -67,7 +67,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginTr - CONTENT_EXPORT BASE_DECLARE_FEATURE(kCopyFromSurfaceAlwaysCallCallback); +@@ -67,7 +67,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCopyFromSurfaceAl CONTENT_EXPORT BASE_DECLARE_FEATURE(kCriticalClientHint); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceBoundSessionsDevTools); CONTENT_EXPORT BASE_DECLARE_FEATURE(kDocumentPolicyNegotiation); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableDevToolsJsErrorReporting); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnforceSameDocumentOriginInvariants); -@@ -106,7 +106,7 @@ enum class FontDataServiceTypefaceType { +@@ -105,7 +105,7 @@ enum class FontDataServiceTypefaceType { CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServiceTypefaceType, kFontDataServiceTypefaceType); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceLinux); enum class FontDataServiceTypefaceType { kFreetype, -@@ -116,7 +116,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ +@@ -115,7 +115,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ kFontDataServiceTypefaceType); #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsFontDataServiceEnabled(); #endif diff --git a/www/chromium/files/patch-content_public_browser_content__browser__client.cc b/www/chromium/files/patch-content_public_browser_content__browser__client.cc index bdcd4f2dd512..ed4c542ba986 100644 --- a/www/chromium/files/patch-content_public_browser_content__browser__client.cc +++ b/www/chromium/files/patch-content_public_browser_content__browser__client.cc @@ -1,11 +1,11 @@ ---- content/public/browser/content_browser_client.cc.orig 2026-01-14 08:33:23 UTC +--- content/public/browser/content_browser_client.cc.orig 2026-02-11 09:05:39 UTC +++ content/public/browser/content_browser_client.cc -@@ -1436,7 +1436,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1423,7 +1423,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem // that can be adequately sandboxed. // Currently Android's network service will not run out of process or sandboxed, // so OutOfProcessSystemDnsResolution is not currently enabled on Android. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/chromium/files/patch-content_public_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc index 547896de6e8d..f041bfbb136d 100644 --- a/www/chromium/files/patch-content_public_common_content__features.cc +++ b/www/chromium/files/patch-content_public_common_content__features.cc @@ -1,36 +1,36 @@ ---- content/public/common/content_features.cc.orig 2026-01-14 08:33:23 UTC +--- content/public/common/content_features.cc.orig 2026-02-11 09:05:39 UTC +++ content/public/common/content_features.cc -@@ -117,7 +117,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU +@@ -119,7 +119,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU // Runs the audio service in a separate process. BASE_FEATURE(kAudioServiceOutOfProcess, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1146,10 +1146,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE +@@ -1139,10 +1139,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE // Enable WebAssembly trap handler. BASE_FEATURE(kWebAssemblyTrapHandler, -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_X86_64)) || \ - ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1206,7 +1206,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, +@@ -1199,7 +1199,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, // Controls whether the WebUSB API is enabled: // https://wicg.github.io/webusb +#if BUILDFLAG(IS_BSD) +BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT); +#else BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT); +#endif // Apply `PrefetchPriority::kHighest` for Webview Prefetch API. BASE_FEATURE(kWebViewPrefetchHighestPrefetchPriority, diff --git a/www/chromium/files/patch-content_public_common_content__switches.cc b/www/chromium/files/patch-content_public_common_content__switches.cc index 233aae1f3d76..8bec0cd8410d 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.cc +++ b/www/chromium/files/patch-content_public_common_content__switches.cc @@ -1,20 +1,20 @@ ---- content/public/common/content_switches.cc.orig 2026-01-21 09:57:21 UTC +--- content/public/common/content_switches.cc.orig 2026-02-11 09:05:39 UTC +++ content/public/common/content_switches.cc -@@ -347,6 +347,8 @@ const char kEnableIsolatedWebAppsInRenderer[] = +@@ -355,6 +355,8 @@ const char kEnableIsolatedWebAppsInRenderer[] = // builds. const char kEnableLogging[] = "enable-logging"; +const char kDisableUnveil[] = "disable-unveil"; + // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables // triggering of change attribute of the NetInfo API when there is a change in // the connection type. -@@ -940,7 +942,7 @@ const char kPreventResizingContentsForTesting[] = +@@ -943,7 +945,7 @@ const char kPreventResizingContentsForTesting[] = "prevent-resizing-contents-for-testing"; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Allows sending text-to-speech requests to speech-dispatcher, a common // Linux speech service. Because it's buggy, the user must explicitly // enable it so that visiting a random webpage can't cause instability. diff --git a/www/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h index 3633dbce84c0..37a52372015c 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.h +++ b/www/chromium/files/patch-content_public_common_content__switches.h @@ -1,19 +1,19 @@ ---- content/public/common/content_switches.h.orig 2026-01-21 09:57:21 UTC +--- content/public/common/content_switches.h.orig 2026-02-11 09:05:39 UTC +++ content/public/common/content_switches.h -@@ -108,6 +108,7 @@ CONTENT_EXPORT extern const char kEnableGpuMemoryBuffe +@@ -109,6 +109,7 @@ CONTENT_EXPORT extern const char kEnableGpuMemoryBuffe CONTENT_EXPORT extern const char kEnableIsolatedWebAppsInRenderer[]; CONTENT_EXPORT extern const char kEnableLCDText[]; CONTENT_EXPORT extern const char kEnableLogging[]; +CONTENT_EXPORT extern const char kDisableUnveil[]; CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[]; @@ -256,7 +257,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[]; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/chromium/files/patch-content_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc index 7114c574cc67..21b2ea9b2655 100644 --- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2026-01-14 08:33:23 UTC +--- content/renderer/render_thread_impl.cc.orig 2026-02-11 09:05:39 UTC +++ content/renderer/render_thread_impl.cc -@@ -202,6 +202,8 @@ +@@ -201,6 +201,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -980,7 +982,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -925,7 +927,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: /*lose_context_when_out_of_memory=*/true); const bool enable_video_decode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) && #endif // BUILDFLAG(IS_LINUX) !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && -@@ -989,7 +991,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -934,7 +936,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: gpu::kGpuFeatureStatusEnabled); const bool enable_video_encode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) && -@@ -1708,7 +1710,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1655,7 +1657,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( bool enable_video_encode_accelerator) { mojo::PendingRemote vea_provider; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) { BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver()); } else { diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h index 59179a233c29..d40d790f6e9e 100644 --- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,11 +1,11 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2025-12-05 10:12:50 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2026-02-11 09:05:39 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -280,7 +280,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -282,7 +282,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi const gpu::GPUInfo& gpu_info) const; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index 3bd2ddfd1970..71a377d301a3 100644 --- a/www/chromium/files/patch-content_shell_BUILD.gn +++ b/www/chromium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- content/shell/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ content/shell/BUILD.gn -@@ -1103,7 +1103,7 @@ group("content_shell_crash_test") { +@@ -1104,7 +1104,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index c04652227675..95bf5672f6e2 100644 --- a/www/chromium/files/patch-content_utility_utility__main.cc +++ b/www/chromium/files/patch-content_utility_utility__main.cc @@ -1,111 +1,111 @@ ---- content/utility/utility_main.cc.orig 2026-01-14 08:33:23 UTC +--- content/utility/utility_main.cc.orig 2026-02-11 09:05:39 UTC +++ content/utility/utility_main.cc @@ -38,22 +38,31 @@ #include "services/on_device_model/public/mojom/on_device_model_service.mojom.h" #include "services/tracing/public/cpp/trace_startup.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/file_descriptor_store.h" #include "base/files/file_util.h" #include "base/pickle.h" #include "content/child/sandboxed_process_thread_type_handler.h" +#if !BUILDFLAG(IS_BSD) #include "content/common/gpu_pre_sandbox_hook_linux.h" +#endif #include "content/public/common/content_descriptor_keys.h" #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" #include "media/gpu/buildflags.h" #include "media/media_buildflags.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "services/audio/audio_sandbox_hook_linux.h" #include "services/network/network_sandbox_hook_linux.h" #include "services/screen_ai/buildflags/buildflags.h" #include "services/shape_detection/shape_detection_sandbox_hook.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#include "content/common/gpu_pre_sandbox_hook_bsd.h" +#endif + #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) #include "gpu/config/gpu_info_collector.h" #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h" @@ -112,7 +121,7 @@ sandbox::TargetServices* g_utility_target_services = n #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) - #include "components/services/on_device_translation/sandbox_hook.h" + #include "components/on_device_translation/service/sandbox_hook.h" #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS)) @@ -121,7 +130,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector GetNetworkContextsParentDirectories() { base::MemoryMappedFile::Region region; base::ScopedFD read_pipe_fd = base::FileDescriptorStore::GetInstance().TakeFD( @@ -277,7 +286,7 @@ int UtilityMain(MainFunctionParams parameters) { CHECK(on_device_model::PreSandboxInit()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) && BUILDFLAG(USE_VAAPI) // Regardless of the sandbox status, the VaapiWrapper needs to be initialized @@ -292,7 +301,10 @@ int UtilityMain(MainFunctionParams parameters) { // thread type change in ChildProcess constructor. It also needs to be // registered before the process has multiple threads, which may race with // application of the sandbox. +// XXX BSD +#if !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::Create(); +#endif // Initializes the sandbox before any threads are created. // TODO(jorgelo): move this after GTK initialization when we enable a strict @@ -325,7 +337,7 @@ int UtilityMain(MainFunctionParams parameters) { base::BindOnce(&speech::SpeechRecognitionPreSandboxHook); break; #if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) case sandbox::mojom::Sandbox::kOnDeviceTranslation: pre_sandbox_hook = base::BindOnce( &on_device_translation::OnDeviceTranslationSandboxHook); @@ -342,7 +354,7 @@ int UtilityMain(MainFunctionParams parameters) { #else NOTREACHED(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case sandbox::mojom::Sandbox::kShapeDetection: pre_sandbox_hook = base::BindOnce(&shape_detection::ShapeDetectionPreSandboxHook); @@ -371,6 +383,7 @@ int UtilityMain(MainFunctionParams parameters) { default: break; } +#if !BUILDFLAG(IS_BSD) if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) && (parameters.zygote_child || !pre_sandbox_hook.is_null())) { sandbox_options.use_amd_specific_policies = @@ -378,6 +391,11 @@ int UtilityMain(MainFunctionParams parameters) { sandbox::policy::Sandbox::Initialize( sandbox_type, std::move(pre_sandbox_hook), sandbox_options); } +#else + sandbox::policy::Sandbox::Initialize( + sandbox_type, std::move(pre_sandbox_hook), + sandbox::policy::SandboxLinux::Options()); +#endif // Startup tracing creates a tracing thread, which is incompatible on // platforms that require single-threaded sandbox initialization. In these diff --git a/www/chromium/files/patch-content_zygote_zygote__linux.cc b/www/chromium/files/patch-content_zygote_zygote__linux.cc index db936cc53b66..bd0799f34220 100644 --- a/www/chromium/files/patch-content_zygote_zygote__linux.cc +++ b/www/chromium/files/patch-content_zygote_zygote__linux.cc @@ -1,15 +1,15 @@ ---- content/zygote/zygote_linux.cc.orig 2026-01-14 08:33:23 UTC +--- content/zygote/zygote_linux.cc.orig 2026-02-11 09:05:39 UTC +++ content/zygote/zygote_linux.cc @@ -1,6 +1,7 @@ // Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#if 0 #include "content/zygote/zygote_linux.h" -@@ -718,3 +719,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi +@@ -717,3 +718,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi } } // namespace content +#endif diff --git a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc index 5c2cb072dc3f..b5ff97aed830 100644 --- a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc +++ b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc @@ -1,58 +1,58 @@ ---- content/zygote/zygote_main_linux.cc.orig 2023-09-13 12:11:42 UTC +--- content/zygote/zygote_main_linux.cc.orig 2026-02-11 09:05:39 UTC +++ content/zygote/zygote_main_linux.cc @@ -11,7 +11,9 @@ #include #include #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include #include -@@ -41,7 +43,9 @@ +@@ -42,7 +44,9 @@ #include "sandbox/linux/services/thread_helpers.h" #include "sandbox/linux/suid/client/setuid_sandbox_client.h" #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox.h" #include "sandbox/policy/switches.h" #include "third_party/icu/source/i18n/unicode/timezone.h" -@@ -50,11 +54,13 @@ namespace content { +@@ -51,11 +55,13 @@ namespace content { namespace { +#if !BUILDFLAG(IS_BSD) void CloseFds(const std::vector& fds) { for (const auto& it : fds) { PCHECK(0 == IGNORE_EINTR(close(it))); } } +#endif base::OnceClosure ClosureFromTwoClosures(base::OnceClosure one, base::OnceClosure two) { -@@ -157,9 +163,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand +@@ -158,9 +164,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand CHECK(!using_layer1_sandbox); } } +#endif bool ZygoteMain( std::vector> fork_delegates) { +#if !BUILDFLAG(IS_BSD) sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); -@@ -224,6 +232,9 @@ bool ZygoteMain( +@@ -225,6 +233,9 @@ bool ZygoteMain( // This function call can return multiple times, once per fork(). return zygote.ProcessRequests(); +#else + return false; +#endif } } // namespace content diff --git a/www/chromium/files/patch-device_fido_features.cc b/www/chromium/files/patch-device_fido_public_features.cc similarity index 66% rename from www/chromium/files/patch-device_fido_features.cc rename to www/chromium/files/patch-device_fido_public_features.cc index 1b3f7996345f..50ddca26407f 100644 --- a/www/chromium/files/patch-device_fido_features.cc +++ b/www/chromium/files/patch-device_fido_public_features.cc @@ -1,11 +1,11 @@ ---- device/fido/features.cc.orig 2026-01-14 08:33:23 UTC -+++ device/fido/features.cc -@@ -37,7 +37,7 @@ namespace device { +--- device/fido/public/features.cc.orig 2026-02-11 09:05:39 UTC ++++ device/fido/public/features.cc +@@ -40,7 +40,7 @@ namespace device { // comment. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Not yet enabled by default. BASE_FEATURE(kPasskeyUnlockManager, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-device_fido_features.h b/www/chromium/files/patch-device_fido_public_features.h similarity index 68% rename from www/chromium/files/patch-device_fido_features.h rename to www/chromium/files/patch-device_fido_public_features.h index d9cded07ad68..6332dd29db34 100644 --- a/www/chromium/files/patch-device_fido_features.h +++ b/www/chromium/files/patch-device_fido_public_features.h @@ -1,11 +1,11 @@ ---- device/fido/features.h.orig 2026-01-14 08:33:23 UTC -+++ device/fido/features.h +--- device/fido/public/features.h.orig 2026-02-11 09:05:39 UTC ++++ device/fido/public/features.h @@ -13,7 +13,7 @@ namespace device { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Enables the Passkey Unlock Manager. - COMPONENT_EXPORT(DEVICE_FIDO) + COMPONENT_EXPORT(FIDO_PUBLIC) BASE_DECLARE_FEATURE(kPasskeyUnlockManager); diff --git a/www/chromium/files/patch-extensions_common_command.cc b/www/chromium/files/patch-extensions_common_command.cc index 2b331f2edbbd..518096180908 100644 --- a/www/chromium/files/patch-extensions_common_command.cc +++ b/www/chromium/files/patch-extensions_common_command.cc @@ -1,11 +1,11 @@ ---- extensions/common/command.cc.orig 2026-01-14 08:33:23 UTC +--- extensions/common/command.cc.orig 2026-02-11 09:05:39 UTC +++ extensions/common/command.cc -@@ -116,7 +116,7 @@ std::string Command::CommandPlatform() { +@@ -117,7 +117,7 @@ std::string Command::CommandPlatform() { return ui::kKeybindingPlatformMac; #elif BUILDFLAG(IS_CHROMEOS) return ui::kKeybindingPlatformChromeOs; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ui::kKeybindingPlatformLinux; #elif BUILDFLAG(IS_DESKTOP_ANDROID) // For now, we use linux keybindings on desktop android. diff --git a/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc index 52be4bdd8d10..93314e1469d7 100644 --- a/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc +++ b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -1,11 +1,11 @@ ---- extensions/renderer/bindings/api_binding_util.cc.orig 2025-10-30 15:44:36 UTC +--- extensions/renderer/bindings/api_binding_util.cc.orig 2026-02-11 09:05:39 UTC +++ extensions/renderer/bindings/api_binding_util.cc -@@ -128,7 +128,7 @@ void InvalidateContext(v8::Local context) +@@ -142,7 +142,7 @@ void InvalidateContext(v8::Local context) std::string GetPlatformString() { #if BUILDFLAG(IS_CHROMEOS) return "chromeos"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "linux"; #elif BUILDFLAG(IS_MAC) return "mac"; diff --git a/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc b/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc index 802328ad3a91..5542fe11bb2b 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/dawn_context_provider.cc.orig 2025-10-02 04:28:32 UTC +--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/dawn_context_provider.cc -@@ -407,7 +407,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke +@@ -411,7 +411,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke return base::FeatureList::IsEnabled(features::kSkiaGraphiteDawnUseD3D12) ? wgpu::BackendType::D3D12 : wgpu::BackendType::D3D11; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) return wgpu::BackendType::Vulkan; #elif BUILDFLAG(IS_APPLE) return wgpu::BackendType::Metal; diff --git a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index 03e97dbbc49f..02f53dfce661 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -2846,7 +2846,7 @@ std::unique_ptr GLES2Decoder::Create( +@@ -2845,7 +2845,7 @@ std::unique_ptr GLES2Decoder::Create( } // Allow linux to run fuzzers. -#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(client, command_buffer_service, outputter, group); #else diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc index 29fffdde1698..19041f59884e 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc @@ -1,29 +1,29 @@ ---- gpu/command_buffer/service/shared_context_state.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/command_buffer/service/shared_context_state.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/shared_context_state.cc @@ -61,7 +61,7 @@ #include "gpu/vulkan/vulkan_implementation.h" #include "gpu/vulkan/vulkan_util.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/external_semaphore_pool.h" #endif @@ -304,7 +304,7 @@ SharedContextState::SharedContextState( ) { if (vk_context_provider_) { #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) external_semaphore_pool_ = std::make_unique(this); #endif } -@@ -344,7 +344,7 @@ SharedContextState::~SharedContextState() { +@@ -345,7 +345,7 @@ SharedContextState::~SharedContextState() { } #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) external_semaphore_pool_.reset(); #endif diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h index 6283ea563517..4279833882cb 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_context_state.h.orig 2025-12-05 10:12:50 UTC +--- gpu/command_buffer/service/shared_context_state.h.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/shared_context_state.h -@@ -235,7 +235,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -237,7 +237,7 @@ class GPU_GLES2_EXPORT SharedContextState return &memory_type_tracker_; } #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) ExternalSemaphorePool* external_semaphore_pool() { return external_semaphore_pool_.get(); } -@@ -400,7 +400,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -404,7 +404,7 @@ class GPU_GLES2_EXPORT SharedContextState bool disable_check_reset_status_throttling_for_test_ = false; #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) std::unique_ptr external_semaphore_pool_; #endif diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index ecf95a0f7d3a..8e5d7c116d8f 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -1,38 +1,38 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc -@@ -52,7 +52,7 @@ +@@ -51,7 +51,7 @@ #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h" #include "gpu/vulkan/vulkan_device_queue.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" #endif -@@ -109,7 +109,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -113,7 +113,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t case gfx::IO_SURFACE_BUFFER: return "platform"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case gfx::NATIVE_PIXMAP: return "platform"; #endif -@@ -130,7 +130,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -134,7 +134,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { return gfx::GpuMemoryBufferType::IO_SURFACE_BUFFER; #elif BUILDFLAG(IS_ANDROID) return gfx::GpuMemoryBufferType::ANDROID_HARDWARE_BUFFER; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return gfx::GpuMemoryBufferType::NATIVE_PIXMAP; #elif BUILDFLAG(IS_WIN) return gfx::GpuMemoryBufferType::DXGI_SHARED_HANDLE; -@@ -305,7 +305,7 @@ SharedImageFactory::SharedImageFactory( +@@ -309,7 +309,7 @@ SharedImageFactory::SharedImageFactory( factories_.push_back(std::move(ozone_factory)); } -#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) +#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) if (gr_context_type_ == GrContextType::kVulkan #if BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP) /* We support GL context for WebGPU gl-vulkan interop (on linux).*/ diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc index e51c918cc5e0..73f7982a0d26 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-12-05 10:12:50 UTC +--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/shared_image/shared_image_manager.cc -@@ -769,7 +769,7 @@ bool SharedImageManager::SupportsScanoutImages() { +@@ -624,7 +624,7 @@ bool SharedImageManager::SupportsScanoutImages() { return true; #elif BUILDFLAG(IS_ANDROID) return true; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return supports_overlays_on_ozone_; #elif BUILDFLAG(IS_WIN) return gl::DirectCompositionTextureSupported(); diff --git a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index 0a8eacf42daa..4d4269e96f3d 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1759,7 +1759,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1764,7 +1764,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte backend_types = {wgpu::BackendType::D3D12}; #elif BUILDFLAG(IS_APPLE) backend_types = {wgpu::BackendType::Metal}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (shared_context_state_->GrContextIsVulkan() || webgpu_on_vk_gl_interop_ || shared_context_state_->IsGraphiteDawnVulkan()) { -@@ -2006,7 +2006,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -2082,7 +2082,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( } #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ - !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) if (usage & wgpu::TextureUsage::StorageBinding) { LOG(ERROR) << "AssociateMailbox: wgpu::TextureUsage::StorageBinding is NOT " "supported yet on this platform."; diff --git a/www/chromium/files/patch-gpu_config_gpu__control__list.cc b/www/chromium/files/patch-gpu_config_gpu__control__list.cc index 5d871f35f00f..19676b0fbcd9 100644 --- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc +++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_control_list.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/config/gpu_control_list.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/config/gpu_control_list.cc -@@ -855,7 +855,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { +@@ -854,7 +854,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { return kOsAndroid; #elif BUILDFLAG(IS_FUCHSIA) return kOsFuchsia; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_MAC) return kOsMacosx; diff --git a/www/chromium/files/patch-gpu_config_gpu__finch__features.cc b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc index 9f3295b92d90..f8355d8a8434 100644 --- a/www/chromium/files/patch-gpu_config_gpu__finch__features.cc +++ b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc @@ -1,12 +1,12 @@ ---- gpu/config/gpu_finch_features.cc.orig 2025-10-30 15:44:36 UTC +--- gpu/config/gpu_finch_features.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/config/gpu_finch_features.cc -@@ -122,7 +122,8 @@ BASE_FEATURE(kAllowHardwareBufferUsageFlagsFromVulkanF +@@ -116,7 +116,8 @@ BASE_FEATURE(kRemoveGPULegacyIPC, base::FEATURE_DISABL // Android and Linux. BASE_FEATURE(kDefaultEnableGpuRasterization, #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ + BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc index e77ff2555ed0..e8cfa2ab56d1 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2026-02-11 09:05:39 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -158,7 +158,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -159,7 +159,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CASTOS) bool CanAccessDeviceFile(const GPUInfo& gpu_info) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (gpu_info.gpu.vendor_id != 0x10de || // NVIDIA gpu_info.gpu.driver_vendor != "NVIDIA") return true; -@@ -420,7 +420,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -421,7 +421,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL enable_watchdog = false; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early; #else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) // For some reasons MacOSX's VideoToolbox might crash when called after -@@ -458,7 +458,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -459,7 +459,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } bool attempted_startsandbox = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Chrome OS ARM Mali, GPU driver userspace creates threads when // initializing a GL context, so start the sandbox early. // TODO(zmo): Need to collect OS version before this. -@@ -555,7 +555,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -554,7 +554,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL gpu_preferences_.gr_context_type = GrContextType::kGL; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The ContentSandboxHelper is currently the only one implementation of // GpuSandboxHelper and it has no dependency. Except on Linux where // VaapiWrapper checks the GL implementation to determine which display -@@ -613,7 +613,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -612,7 +612,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL command_line, gpu_feature_info_, gpu_preferences_.disable_software_rasterizer, false); if (gl_use_swiftshader_) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " << "on Linux"; return false; -@@ -799,7 +799,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -803,7 +803,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL ->GetSupportedFormatsForGLNativePixmapImport(); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. -@@ -851,7 +851,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -855,7 +855,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } } -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that -@@ -1053,7 +1053,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1057,7 +1057,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled; -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that -@@ -1109,7 +1109,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1113,7 +1113,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc index 64f42ccf0c4a..e40a34b5fdca 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_content_browser_client.cc.orig 2025-12-05 10:12:50 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2026-02-11 09:05:39 UTC +++ headless/lib/browser/headless_content_browser_client.cc @@ -61,7 +61,7 @@ #include "content/public/common/content_descriptors.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) #include "components/os_crypt/sync/os_crypt.h" // nogncheck #include "content/public/browser/network_service_util.h" #endif -@@ -569,7 +569,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll +@@ -557,7 +557,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll void HeadlessContentBrowserClient::SetEncryptionKey( ::network::mojom::NetworkService* network_service) { -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) // The OSCrypt keys are process bound, so if network service is out of // process, send it the required key if it is available. if (content::IsOutOfProcessNetworkService() diff --git a/www/chromium/files/patch-ipc_ipc__channel.h b/www/chromium/files/patch-ipc_ipc__channel.h index 25cdde39d6b4..4d2d13eda82b 100644 --- a/www/chromium/files/patch-ipc_ipc__channel.h +++ b/www/chromium/files/patch-ipc_ipc__channel.h @@ -1,11 +1,11 @@ ---- ipc/ipc_channel.h.orig 2026-01-14 08:33:23 UTC +--- ipc/ipc_channel.h.orig 2026-02-11 09:05:39 UTC +++ ipc/ipc_channel.h -@@ -169,7 +169,7 @@ class COMPONENT_EXPORT(IPC) Channel final +@@ -168,7 +168,7 @@ class COMPONENT_EXPORT(IPC) Channel final // Generates a channel ID that's non-predictable and unique. static std::string GenerateUniqueRandomChannelID(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Sandboxed processes live in a PID namespace, so when sending the IPC hello // message from client to server we need to send the PID from the global // PID namespace. diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index 7b145248c6bf..2e71f9cdd620 100644 --- a/www/chromium/files/patch-media_base_media__switches.cc +++ b/www/chromium/files/patch-media_base_media__switches.cc @@ -1,111 +1,111 @@ ---- media/base/media_switches.cc.orig 2026-01-14 08:33:23 UTC +--- media/base/media_switches.cc.orig 2026-02-11 09:05:39 UTC +++ media/base/media_switches.cc @@ -20,7 +20,7 @@ #include "ui/gl/gl_features.h" #include "ui/gl/gl_utils.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/cpu.h" #endif -@@ -399,13 +399,35 @@ BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare, +@@ -411,13 +411,35 @@ BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare, BASE_FEATURE(kUseSCContentSharingPicker, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables system audio mirroring using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForCast, base::FEATURE_DISABLED_BY_DEFAULT); // Enables system audio sharing using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForScreenShare, base::FEATURE_DISABLED_BY_DEFAULT); + +BASE_FEATURE(kAudioBackend, + "AudioBackend", + base::FEATURE_ENABLED_BY_DEFAULT); + +constexpr base::FeatureParam::Option + kAudioBackendOptions[] = { + {AudioBackend::kAuto, + "auto"}, + {AudioBackend::kPulseAudio, "pulseaudio"}, + {AudioBackend::kSndio, "sndio"}, + {AudioBackend::kAlsa, "alsa"}}; + +const base::FeatureParam + kAudioBackendParam{ + &kAudioBackend, "audio-backend", +#if BUILDFLAG(IS_OPENBSD) + AudioBackend::kSndio, +#elif BUILDFLAG(IS_FREEBSD) + AudioBackend::kAuto, +#endif + &kAudioBackendOptions}; #endif // BUILDFLAG(IS_LINUX) // When enabled, MediaCapabilities will check with GPU Video Accelerator -@@ -644,7 +666,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, +@@ -656,7 +678,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, // Show toolbar button that opens dialog for controlling media sessions. BASE_FEATURE(kGlobalMediaControls, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -662,7 +684,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, base::FEAT +@@ -674,7 +696,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, base::FEAT #if !BUILDFLAG(IS_ANDROID) // If enabled, users can request Media Remoting without fullscreen-in-tab. BASE_FEATURE(kMediaRemotingWithoutFullscreen, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -685,7 +707,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU +@@ -700,7 +722,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU // autoplay policy. BASE_FEATURE(kUnifiedAutoplay, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enable vaapi/v4l2 video decoding on linux. This is already enabled by default // on chromeos, but needs an experiment on linux. BASE_FEATURE(kAcceleratedVideoDecodeLinux, -@@ -741,7 +763,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E +@@ -756,7 +778,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E // Enables VSync aligned MJPEG decoding. BASE_FEATURE(kVSyncMjpegDecoding, base::FEATURE_DISABLED_BY_DEFAULT); #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enable H264 temporal layer encoding with V4L2 HW encoder on ChromeOS. BASE_FEATURE(kV4L2H264TemporalLayerHWEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1243,7 +1265,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, - BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -1272,7 +1294,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, + BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawn utility processes to perform hardware encode acceleration instead of // using the GPU process. BASE_FEATURE(kUseOutOfProcessVideoEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1305,7 +1327,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU +@@ -1334,7 +1356,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU // Enables Media Engagement Index recording for Web Audio playbacks. BASE_FEATURE(kRecordWebAudioEngagement, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Reduces the number of buffers needed in the output video frame pool to // populate the Renderer pipeline for hardware accelerated VideoDecoder in // non-low latency scenarios. -@@ -1581,7 +1603,7 @@ bool IsSystemLoopbackCaptureSupported() { +@@ -1610,7 +1632,7 @@ bool IsSystemLoopbackCaptureSupported() { #elif BUILDFLAG(IS_MAC) return (IsMacSckSystemLoopbackCaptureSupported() || IsMacCatapSystemLoopbackCaptureSupported()); -#elif BUILDFLAG(IS_LINUX) && defined(USE_PULSEAUDIO) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_PULSEAUDIO) return true; #else return false; diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h index d0995b237b8e..424d2e10da4c 100644 --- a/www/chromium/files/patch-media_base_media__switches.h +++ b/www/chromium/files/patch-media_base_media__switches.h @@ -1,57 +1,57 @@ ---- media/base/media_switches.h.orig 2026-01-14 08:33:23 UTC +--- media/base/media_switches.h.orig 2026-02-11 09:05:39 UTC +++ media/base/media_switches.h -@@ -288,13 +288,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -293,13 +293,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlaybackSpeedButton); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMediaEngagementData); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSuspend); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForCast); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForScreenShare); + +enum class AudioBackend { + kAuto, + kPulseAudio, + kSndio, + kAlsa +}; + +MEDIA_EXPORT BASE_DECLARE_FEATURE(kAudioBackend); +MEDIA_EXPORT extern const base::FeatureParam< + AudioBackend> + kAudioBackendParam; #endif // BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordMediaEngagementScores); MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordWebAudioEngagement); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kReduceHardwareVideoDecoderBuffers); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kResumeBackgroundVideo); -@@ -312,7 +324,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -318,7 +330,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaStreamAccurateDroppedFrameCount); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinux); MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinuxGL); MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoEncodeLinux); -@@ -328,7 +340,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -334,7 +346,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9SModeHWEncoding); MEDIA_EXPORT BASE_DECLARE_FEATURE(kVSyncMjpegDecoding); #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2H264TemporalLayerHWEncoding); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy); @@ -432,7 +444,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseSharedImageInOOPVDProcess); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc index 5c6d3ea43dfc..d006d80149e9 100644 --- a/www/chromium/files/patch-media_base_video__frame.cc +++ b/www/chromium/files/patch-media_base_video__frame.cc @@ -1,47 +1,38 @@ ---- media/base/video_frame.cc.orig 2025-12-05 10:12:50 UTC +--- media/base/video_frame.cc.orig 2026-02-11 09:05:39 UTC +++ media/base/video_frame.cc -@@ -85,7 +85,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -84,7 +84,7 @@ std::string VideoFrame::StorageTypeToString( return "OWNED_MEMORY"; case VideoFrame::STORAGE_SHMEM: return "SHMEM"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case VideoFrame::STORAGE_DMABUFS: return "DMABUFS"; #endif -@@ -99,7 +99,7 @@ std::string VideoFrame::StorageTypeToString( - // static - bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { - return --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // This is not strictly needed but makes explicit that, at VideoFrame - // level, DmaBufs are not mappable from userspace. - storage_type != VideoFrame::STORAGE_DMABUFS && -@@ -503,7 +503,7 @@ scoped_refptr VideoFrame::WrapMappableShar +@@ -422,7 +422,7 @@ scoped_refptr VideoFrame::WrapMappableShar plane_size.width() * VideoFrame::BytesPerElement(*format, plane); } uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool is_native_buffer = !shared_image->IsSharedMemoryForVideoFrame(); if (is_native_buffer) { const auto gmb_handle = shared_image->CloneGpuMemoryBufferHandle(); -@@ -800,7 +800,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -696,7 +696,7 @@ scoped_refptr VideoFrame::WrapExternalYuva + return frame; } - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static scoped_refptr VideoFrame::WrapExternalDmabufs( const VideoFrameLayout& layout, -@@ -1492,7 +1492,7 @@ scoped_refptr VideoFrame::shar +@@ -1341,7 +1341,7 @@ scoped_refptr VideoFrame::shar return wrapped_frame_ ? wrapped_frame_->shared_image() : shared_image_; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) size_t VideoFrame::NumDmabufFds() const { if (wrapped_frame_) { return wrapped_frame_->NumDmabufFds(); diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h index 5f7b03f94656..3d08563cd128 100644 --- a/www/chromium/files/patch-media_base_video__frame.h +++ b/www/chromium/files/patch-media_base_video__frame.h @@ -1,47 +1,47 @@ ---- media/base/video_frame.h.orig 2025-12-05 10:12:50 UTC +--- media/base/video_frame.h.orig 2026-02-11 09:05:39 UTC +++ media/base/video_frame.h -@@ -41,7 +41,7 @@ +@@ -40,7 +40,7 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/hdr_metadata.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/scoped_file.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -95,7 +95,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -89,7 +89,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers. STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer. STORAGE_SHMEM = 4, // Backed by read-only shared memory. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) STORAGE_DMABUFS = 5, // Each plane is stored into a DmaBuf. #endif - STORAGE_GPU_MEMORY_BUFFER = 6, -@@ -348,7 +348,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + STORAGE_MAPPABLE_SHARED_IMAGE = 6, +@@ -309,7 +309,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + base::span uv_data, base::TimeDelta timestamp); - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Wraps provided dmabufs // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will -@@ -693,7 +693,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -616,7 +616,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // wait for the included sync point. scoped_refptr shared_image() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The number of DmaBufs will be equal or less than the number of planes of // the frame. If there are less, this means that the last FD contains the // remaining planes. Should be > 0 for STORAGE_DMABUFS. -@@ -909,7 +909,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte - // GpuMemoryBuffers. Clients will set this flag while creating a VideoFrame. - bool is_mappable_si_enabled_ = false; +@@ -806,7 +806,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + base::ReadOnlySharedMemoryRegion owned_shm_region_; + base::ReadOnlySharedMemoryMapping owned_shm_mapping_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either // equal or less than the number of planes of the frame. If it is less, then // the memory area represented by the last FD contains the remaining planes. diff --git a/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc b/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc index e9f2cde8adb2..1eaf3ad7555a 100644 --- a/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc +++ b/www/chromium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc @@ -1,20 +1,20 @@ ---- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2025-04-04 08:52:13 UTC +--- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2026-02-11 09:05:39 UTC +++ media/capture/video/video_capture_buffer_tracker_factory_impl.cc -@@ -13,7 +13,7 @@ +@@ -14,7 +14,7 @@ #include "media/capture/video/chromeos/gpu_memory_buffer_tracker_cros.h" #elif BUILDFLAG(IS_APPLE) #include "media/capture/video/apple/gpu_memory_buffer_tracker_apple.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "media/capture/video/linux/v4l2_gpu_memory_buffer_tracker.h" #elif BUILDFLAG(IS_WIN) #include "media/capture/video/win/gpu_memory_buffer_tracker_win.h" -@@ -41,7 +41,7 @@ VideoCaptureBufferTrackerFactoryImpl::CreateTracker( +@@ -42,7 +42,7 @@ VideoCaptureBufferTrackerFactoryImpl::CreateTracker( return std::make_unique(); #elif BUILDFLAG(IS_APPLE) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(); #elif BUILDFLAG(IS_WIN) if (!dxgi_device_manager_) { diff --git a/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc index 6f8770574f86..09b3eb38d61b 100644 --- a/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc +++ b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc @@ -1,11 +1,11 @@ ---- media/capture/video/video_capture_device_client.cc.orig 2025-12-05 10:12:50 UTC +--- media/capture/video/video_capture_device_client.cc.orig 2026-02-11 09:05:39 UTC +++ media/capture/video/video_capture_device_client.cc -@@ -168,7 +168,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( +@@ -167,7 +167,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( CHECK(!is_width_odd && !is_height_odd); return {libyuv::FOURCC_UYVY}; case media::PIXEL_FORMAT_RGB24: - if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) { + if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) { // Linux RGB24 defines red at lowest byte address, // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. return {libyuv::FOURCC_RAW}; diff --git a/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py index 663f2ac6ed62..ba1774bfc559 100644 --- a/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py +++ b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py @@ -1,56 +1,56 @@ ---- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-09-06 10:01:20 UTC +--- media/ffmpeg/scripts/robo_lib/config.py.orig 2026-02-11 09:05:39 UTC +++ media/ffmpeg/scripts/robo_lib/config.py -@@ -56,19 +56,13 @@ class RoboConfiguration: +@@ -75,19 +75,13 @@ class RoboConfiguration: self._llvm_path = os.path.join(self.chrome_src(), "third_party", "llvm-build", "Release+Asserts", "bin") - self.EnsurePathContainsLLVM() - self.EnsureNoMakeInfo() self.EnsureFFmpegHome() self.EnsureGNConfig() - self.ComputeBranchName() if not quiet: shell.log(f"Using chrome src: {self.chrome_src()}") shell.log(f"Using script dir: {self._script_directory}") shell.log(f"Using ffmpeg home: {self.ffmpeg_home()}") - shell.log(f"On branch: {self.branch_name()}") - if self.sushi_branch_name(): - shell.log(f"On sushi branch: {self.sushi_branch_name()}") # Filename that we'll ask generate_gn.py to write git commands to. - # TODO: Should this use script_directory, or stay with ffmpeg? As long -@@ -187,9 +181,9 @@ class RoboConfiguration: + # TODO(crbug.com/450394703): Should this use script_directory, or stay +@@ -204,9 +198,9 @@ class RoboConfiguration: if re.match(r"i.86", platform.machine()): self._host_architecture = "ia32" - elif platform.machine() == "x86_64" or platform.machine() == "AMD64": + elif platform.machine() == "x86_64" or platform.machine() == "AMD64" or platform.machine() == "amd64": self._host_architecture = "x64" - elif platform.machine() == "aarch64": + elif platform.machine() == "aarch64" or platform.machine() == "arm64": self._host_architecture = "arm64" elif platform.machine() == "mips32": self._host_architecture = "mipsel" -@@ -230,6 +224,10 @@ class RoboConfiguration: +@@ -229,6 +223,10 @@ class RoboConfiguration: elif platform.system() == "Windows" or "CYGWIN_NT" in platform.system( ): self._host_operating_system = "win" + elif platform.system() == "OpenBSD": + self._host_operating_system = "openbsd" + elif platform.system() == "FreeBSD": + self._host_operating_system = "freebsd" else: raise ValueError(f"Unsupported platform: {platform.system()}") -@@ -238,8 +236,8 @@ class RoboConfiguration: +@@ -237,8 +235,8 @@ class RoboConfiguration: wd = os.getcwd() # Walk up the tree until we find src/AUTHORS while wd != "/": - if os.path.isfile(os.path.join(wd, "src", "AUTHORS")): - self._chrome_src = os.path.join(wd, "src") + if os.path.isfile(os.path.join(wd, "third_party", "DEPS")): + self._chrome_src = wd return wd = os.path.dirname(wd) raise Exception("could not find src/AUTHORS in any parent of the wd") diff --git a/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc b/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc index 798caf94eb76..5e0acd0dc33c 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc @@ -1,29 +1,29 @@ ---- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2024-11-14 07:57:23 UTC +--- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2026-02-11 09:05:39 UTC +++ media/gpu/chromeos/libyuv_image_processor_backend.cc -@@ -53,7 +53,7 @@ static constexpr struct { +@@ -52,7 +52,7 @@ static constexpr struct { #define CONV(in, out, trans, result) \ {Fourcc::in, Fourcc::out, Transform::trans, SupportResult::result} // Conversion. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONV(NV12, AR24, kConversion, Supported), #endif CONV(NV12, NV12, kConversion, Supported), -@@ -412,7 +412,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr +@@ -411,7 +411,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr fr->GetWritableVisibleData(VideoFrame::Plane::kUV)), \ fr->stride(VideoFrame::Plane::kUV) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define ARGB_DATA(fr) \ fr->GetWritableVisibleData(VideoFrame::Plane::kARGB), \ fr->stride(VideoFrame::Plane::kARGB) -@@ -574,7 +574,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr +@@ -573,7 +573,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (output->format() == PIXEL_FORMAT_ARGB) { if (input_config_.fourcc == Fourcc(Fourcc::NV12)) { return LIBYUV_FUNC(NV12ToARGB, Y_UV_DATA(input), diff --git a/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc index 4c4205efd8bc..25fefe626ca0 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc @@ -1,11 +1,11 @@ ---- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2025-10-30 15:44:36 UTC +--- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2026-02-11 09:05:39 UTC +++ media/gpu/chromeos/mailbox_video_frame_converter.cc -@@ -226,7 +226,7 @@ MailboxVideoFrameConverter::GenerateSharedImage( +@@ -224,7 +224,7 @@ MailboxVideoFrameConverter::GenerateSharedImage( VideoPixelFormatToString(origin_frame->format())); return nullptr; } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If format is true multiplanar format, we prefer external sampler on // ChromeOS and Linux. if (si_format->is_multi_plane()) { diff --git a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc index d5c46b3bd04e..c44d76aa1761 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,29 +1,29 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-12-05 10:12:50 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-02-11 09:05:39 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1132,7 +1132,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1133,7 +1133,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( } #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_VAAPI) // Linux should always use a custom allocator (to allocate buffers using // libva) and a PlatformVideoFramePool. CHECK(allocator.has_value()); -@@ -1141,7 +1141,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1142,7 +1142,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( *allocator, VideoFrame::STORAGE_DMABUFS); -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) // Linux w/ V4L2 should not use a custom allocator // Only tested with video_decode_accelerator_tests // TODO(wenst@) Test with full Chromium Browser -@@ -1315,7 +1315,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1316,7 +1316,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( << " VideoFrames"; auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The custom allocator creates frames backed by NativePixmap, which uses a // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. auxiliary_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( diff --git a/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc index e75e50a0bff1..ff6a0485ff0c 100644 --- a/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc +++ b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc @@ -1,20 +1,11 @@ ---- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-10-30 15:44:36 UTC +--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2026-02-11 09:05:39 UTC +++ media/gpu/gpu_video_encode_accelerator_factory.cc -@@ -160,7 +160,7 @@ std::vector GetVEAFactoryFunctions - } - - #if BUILDFLAG(USE_VAAPI) --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { - vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); - } -@@ -168,7 +168,7 @@ std::vector GetVEAFactoryFunctions - vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); - #endif - #elif BUILDFLAG(USE_V4L2_CODEC) +@@ -67,7 +67,7 @@ std::unique_ptr CreateV4L2VEA( + } + #elif BUILDFLAG(USE_VAAPI) + std::unique_ptr CreateVaapiVEA() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { - vea_factory_functions->push_back(base::BindRepeating(&CreateV4L2VEA)); + if (!base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { + return nullptr; } diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc index bb1d6bde7ebb..0059ecc19de6 100644 --- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-12-05 10:12:50 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2026-02-11 09:05:39 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -786,7 +786,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -785,7 +785,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree const gfx::Size decoder_natural_size = aspect_ratio_.GetNaturalSize(decoder_visible_rect); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::optional allocator = base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); std::vector candidates = { diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni index c5ac175dbd70..af51d45e49e2 100644 --- a/www/chromium/files/patch-media_media__options.gni +++ b/www/chromium/files/patch-media_media__options.gni @@ -1,19 +1,19 @@ ---- media/media_options.gni.orig 2025-09-06 10:01:20 UTC +--- media/media_options.gni.orig 2026-02-11 09:05:39 UTC +++ media/media_options.gni -@@ -206,12 +206,15 @@ declare_args() { +@@ -207,12 +207,15 @@ declare_args() { # Enables runtime selection of ALSA library for audio. use_alsa = false + # Enable runtime selection of sndio(7) + use_sndio = false + # Alsa should be used on all non-Android, non-Mac POSIX systems - with the # exception of CastOS desktop builds. # # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting # desktop Chromecast builds. - if (is_posix && !is_android && !is_apple && + if (is_posix && !is_android && !is_apple && !is_bsd && (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || is_cast_audio_only)) { use_alsa = true diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc index 0bebb9e15030..cab74523ef6d 100644 --- a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc +++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,38 +1,38 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-12-05 10:12:50 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-02-11 09:05:39 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc @@ -22,7 +22,7 @@ #include "ui/gfx/mojom/color_space_mojom_traits.h" #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/posix/eintr_wrapper.h" #include "media/gpu/buffer_validation.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -183,7 +183,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -156,7 +156,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( media::mojom::OpaqueVideoFrameData::New()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) { // Duplicates the DMA buffer FDs to a new vector since this cannot take // ownership of the FDs in |input| due to constness. -@@ -214,7 +214,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -187,7 +187,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( } // namespace -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static bool StructTraits< media::mojom::ColorPlaneLayoutDataView, -@@ -446,7 +446,7 @@ bool StructTraits struct StructTraits { diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc index 02d6a940cd9d..44fdac736168 100644 --- a/www/chromium/files/patch-mojo_core_channel.cc +++ b/www/chromium/files/patch-mojo_core_channel.cc @@ -1,32 +1,32 @@ ---- mojo/core/channel.cc.orig 2026-01-14 08:33:23 UTC +--- mojo/core/channel.cc.orig 2026-02-11 09:05:39 UTC +++ mojo/core/channel.cc -@@ -81,7 +81,11 @@ const size_t kMaxAttachedHandles = 64; +@@ -76,7 +76,11 @@ const size_t kMaxAttachedHandles = 64; const size_t kMaxAttachedHandles = 253; #endif // BUILDFLAG(IS_FUCHSIA) +#if defined(__i386__) && defined(OS_FREEBSD) +const size_t kChannelMessageAlignment = 4; +#else static_assert(alignof(std::max_align_t) >= kChannelMessageAlignment, ""); +#endif Channel::AlignedBuffer MakeAlignedBuffer(size_t size) { // Generic allocators (such as malloc) return a pointer that is suitably // aligned for storing any type of object with a fundamental alignment -@@ -274,7 +278,7 @@ bool ShouldRecordSubsampledHistograms() { +@@ -269,7 +273,7 @@ bool ShouldRecordSubsampledHistograms() { } // namespace #if BUILDFLAG(IS_ANDROID) || \ - (BUILDFLAG(IS_LINUX) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) namespace { -@@ -1309,7 +1313,7 @@ bool Channel::OnControlMessage(Message::MessageType me +@@ -1318,7 +1322,7 @@ bool Channel::OnControlMessage(Message::MessageType me } // Currently only CrOs, Linux, and Android support upgrades. -#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) +#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) // static MOJO_SYSTEM_IMPL_EXPORT bool Channel::SupportsChannelUpgrade() { return false; diff --git a/www/chromium/files/patch-mojo_core_channel__posix.cc b/www/chromium/files/patch-mojo_core_channel__posix.cc index af6d2cdce632..ca59f5d39493 100644 --- a/www/chromium/files/patch-mojo_core_channel__posix.cc +++ b/www/chromium/files/patch-mojo_core_channel__posix.cc @@ -1,16 +1,16 @@ ---- mojo/core/channel_posix.cc.orig 2025-12-05 10:12:50 UTC +--- mojo/core/channel_posix.cc.orig 2026-02-11 09:05:39 UTC +++ mojo/core/channel_posix.cc -@@ -594,6 +594,13 @@ void Channel::OfferChannelUpgrade() { +@@ -610,6 +610,13 @@ void Channel::OfferChannelUpgrade() { } static_cast(this)->OfferSharedMemUpgrade(); } +#elif BUILDFLAG(IS_BSD) +// static +bool Channel::SupportsChannelUpgrade() { + return false; +} +void Channel::OfferChannelUpgrade() { +} #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn index ed7cc6453586..b62c08682069 100644 --- a/www/chromium/files/patch-net_BUILD.gn +++ b/www/chromium/files/patch-net_BUILD.gn @@ -1,95 +1,95 @@ ---- net/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- net/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ net/BUILD.gn @@ -126,7 +126,7 @@ net_configs = [ "//build/config/compiler:wexit_time_destructors", ] -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { net_configs += [ "//build/config/linux:libresolv" ] } -@@ -1384,6 +1384,19 @@ component("net") { +@@ -1405,6 +1405,19 @@ component("net") { ] } + if (is_bsd) { + sources -= [ + "base/address_map_cache_linux.cc", + "base/address_map_cache_linux.h", + "base/address_map_linux.cc", + "base/address_map_linux.h", + "base/address_tracker_linux.cc", + "base/address_tracker_linux.h", + "base/network_change_notifier_linux.cc", + "base/network_interfaces_linux.cc", + ] + } + if (is_mac) { sources += [ "base/network_notification_thread_mac.cc", -@@ -1549,7 +1562,7 @@ component("net") { +@@ -1571,7 +1584,7 @@ component("net") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if ((is_posix && !is_linux && !is_chromeos) || is_bsd) { sources += [ "base/network_interfaces_getifaddrs.cc", "base/network_interfaces_getifaddrs.h", -@@ -2296,7 +2309,7 @@ static_library("test_support") { +@@ -2318,7 +2331,7 @@ static_library("test_support") { ] } - if (is_linux || is_chromeos || is_android) { + if (!is_bsd && (is_linux || is_chromeos || is_android)) { sources += [ "base/address_tracker_linux_test_util.cc", "base/address_tracker_linux_test_util.h", -@@ -3099,14 +3112,14 @@ target(_test_target_type, "net_unittests") { +@@ -3126,14 +3139,14 @@ target(_test_target_type, "net_unittests") { ] } - if (is_linux) { + if (is_linux && !is_bsd) { sources += [ "base/network_change_notifier_linux_unittest.cc", "proxy_resolution/proxy_config_service_linux_unittest.cc", ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "base/address_tracker_linux_unittest.cc", "base/network_interfaces_linux_unittest.cc", -@@ -3216,6 +3229,10 @@ target(_test_target_type, "net_unittests") { +@@ -3243,6 +3256,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3272,7 +3289,7 @@ target(_test_target_type, "net_unittests") { +@@ -3299,7 +3316,7 @@ target(_test_target_type, "net_unittests") { ] data_deps = [ "//testing/buildbot/filters:net_unittests_filters" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "tools/quic/quic_simple_server_test.cc" ] } -@@ -3402,7 +3419,7 @@ target(_test_target_type, "net_unittests") { +@@ -3429,7 +3446,7 @@ target(_test_target_type, "net_unittests") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if (is_posix && !is_linux && !is_chromeos && !is_bsd) { sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_base_features.cc b/www/chromium/files/patch-net_base_features.cc index 410e47148d1c..9ab1790cb08a 100644 --- a/www/chromium/files/patch-net_base_features.cc +++ b/www/chromium/files/patch-net_base_features.cc @@ -1,38 +1,38 @@ ---- net/base/features.cc.orig 2026-01-14 08:33:23 UTC +--- net/base/features.cc.orig 2026-02-11 09:05:39 UTC +++ net/base/features.cc @@ -29,7 +29,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, BASE_FEATURE(kAsyncDns, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -451,7 +451,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV +@@ -301,7 +301,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV BASE_FEATURE(kMigrateSessionsOnNetworkChangeV2, kMigrateSessionsOnNetworkChangeV2Default); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAddressTrackerLinuxIsProxied, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_LINUX) -@@ -554,7 +554,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues +@@ -415,7 +415,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kSimdutfBase64Support, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -644,7 +644,7 @@ BASE_FEATURE(kHttpCacheMappedFileFlushWin, base::FEATU +@@ -508,7 +508,7 @@ BASE_FEATURE(kHttpCacheMappedFileFlushWin, base::FEATU BASE_FEATURE(kHttpCacheNoVarySearch, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-net_http_http__network__session.cc b/www/chromium/files/patch-net_http_http__network__session.cc index 375b498b33eb..cf6d6efe6c7a 100644 --- a/www/chromium/files/patch-net_http_http__network__session.cc +++ b/www/chromium/files/patch-net_http_http__network__session.cc @@ -1,12 +1,12 @@ ---- net/http/http_network_session.cc.orig 2025-07-02 06:08:04 UTC +--- net/http/http_network_session.cc.orig 2026-02-11 09:05:39 UTC +++ net/http/http_network_session.cc -@@ -21,7 +21,9 @@ +@@ -20,7 +20,9 @@ #include "build/build_config.h" #include "net/base/features.h" #include "net/dns/host_resolver.h" +#if defined(USE_KERBEROS) #include "net/http/http_auth_handler_factory.h" +#endif #include "net/http/http_response_body_drainer.h" #include "net/http/http_stream_factory.h" #include "net/http/http_stream_pool.h" diff --git a/www/chromium/files/patch-net_url__request_url__request__context.h b/www/chromium/files/patch-net_url__request_url__request__context.h index 7faea8764b75..dceef3d0cda2 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context.h +++ b/www/chromium/files/patch-net_url__request_url__request__context.h @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context.h.orig 2026-01-14 08:33:23 UTC +--- net/url_request/url_request_context.h.orig 2026-02-11 09:05:39 UTC +++ net/url_request/url_request_context.h -@@ -89,7 +89,7 @@ class NET_EXPORT URLRequestContext final { +@@ -90,7 +90,7 @@ class NET_EXPORT URLRequestContext final { // session. const HttpNetworkSessionContext* GetNetworkSessionContext() const; -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // This function should not be used in Chromium, please use the version with // NetworkTrafficAnnotationTag in the future. // diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc index 2a5ec6da18b3..6faf7b382003 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2025-09-06 10:01:20 UTC +--- net/url_request/url_request_context_builder.cc.orig 2026-02-11 09:05:39 UTC +++ net/url_request/url_request_context_builder.cc -@@ -446,7 +446,7 @@ std::unique_ptr URLRequestContextBu +@@ -451,7 +451,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) // TODO(willchan): Switch to using this code when // ProxyConfigService::CreateSystemProxyConfigService()'s // signature doesn't suck. diff --git a/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc index ac5ed32e3c95..3784e8c2529a 100644 --- a/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc +++ b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc @@ -1,15 +1,15 @@ ---- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2025-10-02 04:28:32 UTC +--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2026-02-11 09:05:39 UTC +++ net/websockets/websocket_basic_stream_adapters_test.cc -@@ -1097,10 +1097,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, +@@ -1103,10 +1103,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, OnCloseOkShouldBeTranslatedToConnectionClose) { spdy::SpdySerializedFrame response_headers( spdy_util_.ConstructSpdyResponseHeaders(1, ResponseHeaders(), false)); - spdy::SpdySerializedFrame close( + spdy::SpdySerializedFrame test_close( spdy_util_.ConstructSpdyRstStream(1, spdy::ERROR_CODE_NO_ERROR)); MockRead reads[] = {CreateMockRead(response_headers, 1), - CreateMockRead(close, 2), MockRead(ASYNC, 0, 3)}; + CreateMockRead(test_close, 2), MockRead(ASYNC, 0, 3)}; spdy::SpdySerializedFrame request_headers(spdy_util_.ConstructSpdyHeaders( 1, RequestHeaders(), DEFAULT_PRIORITY, false)); MockWrite writes[] = {CreateMockWrite(request_headers, 0)}; diff --git a/www/chromium/files/patch-pdf_pdf__features.cc b/www/chromium/files/patch-pdf_pdf__features.cc index d3f6999b6dd7..8cc3316fc893 100644 --- a/www/chromium/files/patch-pdf_pdf__features.cc +++ b/www/chromium/files/patch-pdf_pdf__features.cc @@ -1,11 +1,11 @@ ---- pdf/pdf_features.cc.orig 2026-01-14 08:33:23 UTC +--- pdf/pdf_features.cc.orig 2026-02-11 09:05:39 UTC +++ pdf/pdf_features.cc -@@ -47,7 +47,7 @@ BASE_FEATURE(kPdfUseSkiaRenderer, base::FEATURE_DISABL +@@ -54,7 +54,7 @@ const base::FeatureParam kPdfUseSkiaPremultiplie // Feature has no effect if Chrome is built with no XFA support. BASE_FEATURE(kPdfXfaSupport, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Enables PDFium's version 2 font mapping interface, which uses per-request // font matching instead of enumerating all fonts upfront. This eliminates the // need for the ListFamilies() IPC call and improves PDF load performance on diff --git a/www/chromium/files/patch-pdf_pdf__features.h b/www/chromium/files/patch-pdf_pdf__features.h index 7cb7d009649a..92e573c1180c 100644 --- a/www/chromium/files/patch-pdf_pdf__features.h +++ b/www/chromium/files/patch-pdf_pdf__features.h @@ -1,11 +1,11 @@ ---- pdf/pdf_features.h.orig 2026-01-14 08:33:23 UTC +--- pdf/pdf_features.h.orig 2026-02-11 09:05:39 UTC +++ pdf/pdf_features.h -@@ -31,7 +31,7 @@ BASE_DECLARE_FEATURE(kPdfUseShowSaveFilePicker); - BASE_DECLARE_FEATURE(kPdfUseSkiaRenderer); +@@ -32,7 +32,7 @@ BASE_DECLARE_FEATURE(kPdfUseSkiaRenderer); + extern const base::FeatureParam kPdfUseSkiaPremultiplied; BASE_DECLARE_FEATURE(kPdfXfaSupport); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kPdfiumPerRequestFontMatching); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 5c0f45b1de7e..2abf7e44082e 100644 --- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2026-01-14 08:33:23 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2026-02-11 09:05:39 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -118,7 +118,7 @@ +@@ -119,7 +119,7 @@ #include "ui/accessibility/ax_features.mojom-features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "pdf/pdfium/pdfium_font_linux.h" #endif -@@ -580,7 +580,7 @@ void InitializeSDK(bool enable_v8, +@@ -636,7 +636,7 @@ void InitializeSDK(bool enable_v8, FPDF_InitLibraryWithConfig(&config); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) g_font_mapping_mode = font_mapping_mode; InitializeLinuxFontMapper(); #endif diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc index 5bdeb7a46fd0..24673eb9abe6 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -1,29 +1,29 @@ ---- printing/mojom/printing_context_mojom_traits.cc.orig 2025-09-06 10:01:20 UTC +--- printing/mojom/printing_context_mojom_traits.cc.orig 2026-02-11 09:05:39 UTC +++ printing/mojom/printing_context_mojom_traits.cc @@ -19,7 +19,7 @@ #include "base/numerics/safe_conversions.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "mojo/public/mojom/base/values.mojom.h" #endif @@ -217,7 +217,7 @@ bool StructTraits< } out->set_pages_per_sheet(data.pages_per_sheet()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DCHECK(out->advanced_settings().empty()); if (!data.ReadAdvancedSettings(&out->advanced_settings())) return false; @@ -294,7 +294,7 @@ bool StructTraits< if (system_print_dialog_data.size() != dictionary_entries) { return false; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // The dictionary must contain three strings. - const base::Value* value = system_print_dialog_data.Find( - printing::kLinuxSystemPrintDialogDataPrinter); + // The dictionary should either contain the GTK print dialog data or the + // portal print dialog data, but not a mix of both. + if (system_print_dialog_data.size() == 3) { diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc index 1220712b000a..c6a716248add 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc @@ -1,65 +1,74 @@ ---- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2025-09-06 10:01:20 UTC +--- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2026-02-11 09:05:39 UTC +++ printing/mojom/printing_context_mojom_traits_unittest.cc -@@ -80,7 +80,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( - data.Set(kMacSystemPrintDialogDataDestinationLocation, "/foo/bar.pdf"); +@@ -81,7 +81,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( + "file:///foo/bar.pdf"); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) data.Set(kLinuxSystemPrintDialogDataPrinter, "printer-name"); data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings-foo"); data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup-bar"); -@@ -117,7 +117,7 @@ const PageMargins kPrintSettingsCustomMarginsInMicrons +@@ -93,7 +93,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( + return data; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::Value::Dict GenerateSampleSystemPrintDialogDataPortal() { + base::Value::Dict data; + data.Set(kLinuxSystemPrintDialogDataPrintSettingsBin, +@@ -132,7 +132,7 @@ const PageMargins kPrintSettingsCustomMarginsInMicrons /*top=*/10583, /*bottom=*/12347); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PrintSettings::AdvancedSettings GenerateSampleAdvancedSettings() { PrintSettings::AdvancedSettings advanced_settings; advanced_settings.emplace("advanced-setting-A", base::Value("setting-A")); -@@ -210,7 +210,7 @@ PrintSettings GenerateSamplePrintSettingsCommon() { +@@ -225,7 +225,7 @@ PrintSettings GenerateSamplePrintSettingsCommon() { settings.set_device_name(kPrintSettingsDeviceName); settings.set_requested_media(kPrintSettingsRequestedMedia); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PrintSettings::AdvancedSettings& advanced_settings = settings.advanced_settings(); for (const auto& item : kPrintSettingsAdvancedSettings) -@@ -548,7 +548,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -563,7 +563,7 @@ TEST(PrintingContextMojomTraitsTest, EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet1); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings); #endif -@@ -601,7 +601,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -616,7 +616,7 @@ TEST(PrintingContextMojomTraitsTest, kPrintSettingsCustomMarginsInMicrons)); EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet2); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings); #endif -@@ -674,7 +674,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -689,7 +689,7 @@ TEST(PrintingContextMojomTraitsTest, EXPECT_EQ(output.page_setup_device_units(), kInput.page_setup_device_units()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) TEST(PrintingContextMojomTraitsTest, TestSerializeAndDeserializePrintSettingsEmptyAdvancedSettings) { PrintSettings input = GenerateSamplePrintSettingsDefaultMargins(); -@@ -872,7 +872,7 @@ TEST( +@@ -887,7 +887,7 @@ TEST( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - TEST( - PrintingContextMojomTraitsTest, - TestSerializeAndDeserializePrintSettingsSystemPrintDialogPrinterInvalidDataType) { + TEST(PrintingContextMojomTraitsTest, + TestSerializeAndDeserializePrintSettingsSystemPrintDialogDataPortal) { + PrintSettings input = GenerateSamplePrintSettingsDefaultMargins(); diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h index 510b5a40d686..b4b267ffe08c 100644 --- a/www/chromium/files/patch-printing_print__settings.h +++ b/www/chromium/files/patch-printing_print__settings.h @@ -1,47 +1,47 @@ ---- printing/print_settings.h.orig 2025-09-06 10:01:20 UTC +--- printing/print_settings.h.orig 2026-02-11 09:05:39 UTC +++ printing/print_settings.h @@ -25,7 +25,7 @@ #include "base/values.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/values.h" @@ -52,7 +52,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe "print_settings"; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Used by PrintDialogGtk inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name"; inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] = - "print_settings"; -@@ -102,7 +102,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -112,7 +112,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting std::string vendor_id; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) using AdvancedSettings = std::map; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -290,7 +290,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -300,7 +300,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting pages_per_sheet_ = pages_per_sheet; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) AdvancedSettings& advanced_settings() { return advanced_settings_; } const AdvancedSettings& advanced_settings() const { return advanced_settings_; -@@ -451,7 +451,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -461,7 +461,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting // Number of pages per sheet. int pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc index 92e3cdb9976c..2bcf347241a7 100644 --- a/www/chromium/files/patch-printing_print__settings__conversion.cc +++ b/www/chromium/files/patch-printing_print__settings__conversion.cc @@ -1,11 +1,11 @@ ---- printing/print_settings_conversion.cc.orig 2025-05-28 14:55:43 UTC +--- printing/print_settings_conversion.cc.orig 2026-02-11 09:05:39 UTC +++ printing/print_settings_conversion.cc -@@ -291,7 +291,7 @@ std::unique_ptr PrintSettingsFromJobSet +@@ -290,7 +290,7 @@ std::unique_ptr PrintSettingsFromJobSet settings->set_is_modifiable(is_modifiable.value()); } -#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)) +#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)) const base::Value::Dict* advanced_settings = job_settings.FindDict(kSettingAdvancedSettings); if (advanced_settings) { diff --git a/www/chromium/files/patch-printing_printing__context__linux.cc b/www/chromium/files/patch-printing_printing__context__linux.cc deleted file mode 100644 index f63693ae805e..000000000000 --- a/www/chromium/files/patch-printing_printing__context__linux.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- printing/printing_context_linux.cc.orig 2025-12-05 10:12:50 UTC -+++ printing/printing_context_linux.cc -@@ -22,7 +22,7 @@ - #endif - - // Avoid using LinuxUi on Fuchsia. --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "ui/linux/linux_ui.h" - #endif - -@@ -68,7 +68,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett - - ResetSettings(); - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (!ui::LinuxUi::instance()) - return mojom::ResultCode::kSuccess; - -@@ -84,7 +84,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett - } - - gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (ui::LinuxUi::instance()) - return ui::LinuxUi::instance()->GetPdfPaperSize(this); - #endif -@@ -97,7 +97,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS - DCHECK(!printer_settings.show_system_dialog); - DCHECK(!in_print_job_); - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (!ui::LinuxUi::instance()) - return mojom::ResultCode::kSuccess; - diff --git a/www/chromium/files/patch-printing_printing__features.cc b/www/chromium/files/patch-printing_printing__features.cc index 42a0c064080b..ec41693f1a96 100644 --- a/www/chromium/files/patch-printing_printing__features.cc +++ b/www/chromium/files/patch-printing_printing__features.cc @@ -1,20 +1,20 @@ ---- printing/printing_features.cc.orig 2026-01-14 08:33:23 UTC +--- printing/printing_features.cc.orig 2026-02-11 09:05:39 UTC +++ printing/printing_features.cc -@@ -26,7 +26,7 @@ BASE_FEATURE(kApiPrintingMarginsAndScale, base::FEATUR +@@ -23,7 +23,7 @@ BASE_FEATURE(kApiPrintingMarginsAndScale, base::FEATUR BASE_FEATURE(kAlignPdfDefaultPrintSettingsWithHTML, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the CUPS IPP printing backend instead of the original CUPS backend that // calls the deprecated PPD API. BASE_FEATURE(kCupsIppPrintingBackend, base::FEATURE_DISABLED_BY_DEFAULT); @@ -58,7 +58,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf, base::FEATURE_ // Enables printing interactions with the operating system to be performed // out-of-process. BASE_FEATURE(kEnableOopPrintDrivers, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-printing_printing__features.h b/www/chromium/files/patch-printing_printing__features.h index 09ac17d45a47..198704013a09 100644 --- a/www/chromium/files/patch-printing_printing__features.h +++ b/www/chromium/files/patch-printing_printing__features.h @@ -1,11 +1,11 @@ ---- printing/printing_features.h.orig 2026-01-14 08:33:23 UTC +--- printing/printing_features.h.orig 2026-02-11 09:05:39 UTC +++ printing/printing_features.h -@@ -27,7 +27,7 @@ BASE_DECLARE_FEATURE(kApiPrintingMarginsAndScale); +@@ -24,7 +24,7 @@ BASE_DECLARE_FEATURE(kApiPrintingMarginsAndScale); COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kAlignPdfDefaultPrintSettingsWithHTML); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kCupsIppPrintingBackend); + COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kLinuxXdgPrintPortal); #endif // BUILDFLAG(IS_LINUX) - diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.cc b/www/chromium/files/patch-remoting_host_chromoting__host.cc index c25608fb6117..8ddeef464928 100644 --- a/www/chromium/files/patch-remoting_host_chromoting__host.cc +++ b/www/chromium/files/patch-remoting_host_chromoting__host.cc @@ -1,11 +1,11 @@ ---- remoting/host/chromoting_host.cc.orig 2025-07-02 06:08:04 UTC +--- remoting/host/chromoting_host.cc.orig 2026-02-11 09:05:39 UTC +++ remoting/host/chromoting_host.cc -@@ -138,7 +138,7 @@ void ChromotingHost::Start(const std::string& host_own - &ChromotingHost::OnIncomingSession, base::Unretained(this))); +@@ -144,7 +144,7 @@ void ChromotingHost::Start(const std::string& host_own + } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromotingHost::StartChromotingHostServices() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(!ipc_server_); diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.h b/www/chromium/files/patch-remoting_host_chromoting__host.h index 0384066d46a6..88097ef3f264 100644 --- a/www/chromium/files/patch-remoting_host_chromoting__host.h +++ b/www/chromium/files/patch-remoting_host_chromoting__host.h @@ -1,29 +1,29 @@ ---- remoting/host/chromoting_host.h.orig 2025-05-05 10:57:53 UTC +--- remoting/host/chromoting_host.h.orig 2026-02-11 09:05:39 UTC +++ remoting/host/chromoting_host.h @@ -36,7 +36,7 @@ #include "remoting/protocol/session_manager.h" #include "remoting/protocol/transport_context.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/chromoting_host_services_server.h" #endif -@@ -112,7 +112,7 @@ class ChromotingHost : public ClientSession::EventHand +@@ -113,7 +113,7 @@ class ChromotingHost : public ClientSession::EventHand // This method can only be called once during the lifetime of this object. void Start(const std::string& host_owner); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Starts running the ChromotingHostServices server and listening for incoming // IPC binding requests. // Currently only Linux runs the ChromotingHostServices server on the host -@@ -222,7 +222,7 @@ class ChromotingHost : public ClientSession::EventHand +@@ -224,7 +224,7 @@ class ChromotingHost : public ClientSession::EventHand // List of host extensions. std::vector> extensions_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // IPC server that runs the CRD host service API. Non-null if the server name // is set and the host is started. // Currently only Linux runs the ChromotingHostServices server on the host diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc new file mode 100644 index 000000000000..838e2c36a4ce --- /dev/null +++ b/www/chromium/files/patch-remoting_host_it2me_it2me__host.cc @@ -0,0 +1,20 @@ +--- remoting/host/it2me/it2me_host.cc.orig 2026-02-11 09:05:39 UTC ++++ remoting/host/it2me/it2me_host.cc +@@ -73,7 +73,7 @@ + #include "remoting/host/chromeos/features.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/gnome_remote_desktop_session.h" + #include "remoting/host/linux/portal_remote_desktop_session.h" + #endif +@@ -285,7 +285,7 @@ void It2MeHost::ConnectOnNetworkThread( + + SetState(It2MeHostState::kStarting, ErrorCode::OK); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!GnomeRemoteDesktopSession::IsRunningUnderGnome()) { + PortalRemoteDesktopSession::GetInstance()->SetCreateVirtualMonitor(false); + } diff --git a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc index 5b868c6d5ba0..5986cfe62d1c 100644 --- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,155 +1,164 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2026-01-14 08:33:23 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2026-02-11 09:05:39 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -140,7 +140,7 @@ +@@ -143,7 +143,7 @@ #include "remoting/host/mac/permission_utils.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) #include -@@ -152,7 +152,7 @@ +@@ -155,7 +155,7 @@ #endif // defined(REMOTING_USE_X11) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/linux_util.h" #include "remoting/host/linux/audio_capturer_linux.h" #include "remoting/host/linux/certificate_watcher.h" -@@ -167,7 +167,7 @@ +@@ -170,7 +170,7 @@ #include "remoting/host/pairing_registry_delegate_win.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/host/host_wtmpdb_logger.h" #endif // BUILDFLAG(IS_LINUX) -@@ -201,7 +201,7 @@ const char kApplicationName[] = "chromoting"; +@@ -204,7 +204,7 @@ const char kApplicationName[] = "chromoting"; const char kStdinConfigPath[] = "-"; #endif // !defined(REMOTING_MULTI_PROCESS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The command line switch used to pass name of the pipe to capture audio on // linux. const char kAudioPipeSwitchName[] = "audio-pipe-name"; -@@ -449,7 +449,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -452,7 +452,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr agent_process_broker_client_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Watch for certificate changes and kill the host when changes occur std::unique_ptr cert_watcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -511,7 +511,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -518,7 +518,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr ftl_echo_message_listener_; std::unique_ptr host_event_logger_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr host_wtmpdb_logger_; #endif std::unique_ptr power_save_blocker_; -@@ -838,7 +838,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -845,7 +845,7 @@ void HostProcess::StartOnNetworkThread() { void HostProcess::ShutdownOnNetworkThread() { DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); config_watcher_.reset(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) cert_watcher_.reset(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } -@@ -915,7 +915,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -929,7 +929,7 @@ void HostProcess::CreateAuthenticatorFactory() { context_->create_client_cert_store_callback(), service_account_email_, oauth_refresh_token_)); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!cert_watcher_) { cert_watcher_ = std::make_unique( base::BindRepeating(&HostProcess::ShutdownHost, -@@ -1053,7 +1053,7 @@ void HostProcess::StartOnUiThread() { +@@ -1067,7 +1067,7 @@ void HostProcess::StartOnUiThread() { base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If an audio pipe is specific on the command-line then initialize // AudioCapturerLinux to capture from it. base::FilePath audio_pipe_name = -@@ -1132,7 +1132,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1146,7 +1146,7 @@ void HostProcess::ShutdownOnUiThread() { // It is now safe for the HostProcess to be deleted. self_ = nullptr; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Cause the global AudioPipeReader to be freed, otherwise the audio // thread will remain in-use and prevent the process from exiting. // TODO(wez): DesktopEnvironmentFactory should own the pipe reader. -@@ -1140,7 +1140,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1154,7 +1154,7 @@ void HostProcess::ShutdownOnUiThread() { AudioCapturerLinux::InitializePipeReader(nullptr, base::FilePath()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) context_->input_task_runner()->PostTask( FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); -@@ -1830,7 +1830,7 @@ void HostProcess::StartHost() { +@@ -1778,7 +1778,7 @@ void HostProcess::InitializeSignaling() { + zombie_host_detector_ = std::make_unique(base::BindOnce( + &HostProcess::OnZombieStateDetected, base::Unretained(this))); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO: joedow - Remove Linux scope after this codepath has been stabilized. + const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); + if (cmd_line->HasSwitch(kEnableCorpMessaging)) { +@@ -1874,7 +1874,7 @@ void HostProcess::StartHost() { SetState(HOST_STARTED); -#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) if (webrtc::DesktopCapturer::IsRunningUnderWayland()) { if (GnomeRemoteDesktopSession::IsRunningUnderGnome()) { GnomeRemoteDesktopSession::GetInstance()->Init( -@@ -1935,7 +1935,7 @@ void HostProcess::StartHost() { +@@ -1988,7 +1988,7 @@ void HostProcess::StartHost() { host_->AddExtension(std::make_unique()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); if (cmd_line->HasSwitch(kEnableWtmpdb)) { host_wtmpdb_logger_ = -@@ -1970,7 +1970,7 @@ void HostProcess::StartHost() { +@@ -2023,7 +2023,7 @@ void HostProcess::StartHost() { // addresses. host_->Start(*host_owner_emails_.begin()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For Windows and Mac, ChromotingHostServices connections are handled by // another process, then the message pipe is forwarded to the network process. host_->StartChromotingHostServices(); -@@ -2115,7 +2115,7 @@ int HostProcessMain() { +@@ -2170,7 +2170,7 @@ int HostProcessMain() { HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) -@@ -2160,7 +2160,7 @@ int HostProcessMain() { +@@ -2215,7 +2215,7 @@ int HostProcessMain() { return kInitializationFailed; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Log and cleanup the crash database. We do this after a short delay so that // the crash database has a chance to be updated properly if we just got // relaunched after a crash. -@@ -2180,7 +2180,7 @@ int HostProcessMain() { +@@ -2235,7 +2235,7 @@ int HostProcessMain() { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = diff --git a/www/chromium/files/patch-rollup_rust_bindings__napi_Cargo.toml b/www/chromium/files/patch-rollup_rust_bindings__napi_Cargo.toml new file mode 100644 index 000000000000..0c0afecb39fe --- /dev/null +++ b/www/chromium/files/patch-rollup_rust_bindings__napi_Cargo.toml @@ -0,0 +1,15 @@ +--- rollup/rust/bindings_napi/Cargo.toml.orig 2026-02-11 09:05:39 UTC ++++ rollup/rust/bindings_napi/Cargo.toml +@@ -15,10 +15,10 @@ napi-derive = "2.16.12" + parse_ast = { path = "../parse_ast" } + xxhash = { path = "../xxhash" } + +-[target.'cfg(not(target_os = "linux"))'.dependencies] ++[target.'cfg(not(any(target_os = "linux", target_os = "freebsd", target_os = "openbsd")))'.dependencies] + mimalloc-rust = { version = "0.2.1" } + +-[target.'cfg(all(target_os = "linux", not(all(target_env = "musl", target_arch = "aarch64"))))'.dependencies] ++[target.'cfg(any(all(target_os = "linux", not(all(target_env = "musl", target_arch = "aarch64"))), all(target_os = "freebsd", not(target_arch = "aarch64")), all(target_os = "openbsd", not(target_arch = "aarch64"))))'.dependencies] + mimalloc-rust = { version = "0.2.1", features = ["local-dynamic-tls"] } + + [build-dependencies] diff --git a/www/chromium/files/patch-rollup_rust_bindings__napi_src_lib.rs b/www/chromium/files/patch-rollup_rust_bindings__napi_src_lib.rs new file mode 100644 index 000000000000..d08b1de21353 --- /dev/null +++ b/www/chromium/files/patch-rollup_rust_bindings__napi_src_lib.rs @@ -0,0 +1,11 @@ +--- rollup/rust/bindings_napi/src/lib.rs.orig 2026-02-11 09:05:39 UTC ++++ rollup/rust/bindings_napi/src/lib.rs +@@ -4,6 +4,8 @@ use parse_ast::parse_ast; + + #[cfg(all( + not(all(target_os = "linux", target_env = "musl", target_arch = "aarch64")), ++ not(all(target_os = "freebsd", target_arch = "aarch64")), ++ not(all(target_os = "openbsd", target_arch = "aarch64")), + not(debug_assertions) + ))] + #[global_allocator] diff --git a/www/chromium/files/patch-sandbox_policy_features.cc b/www/chromium/files/patch-sandbox_policy_features.cc index dbcbae3f8870..7d057c88f4ff 100644 --- a/www/chromium/files/patch-sandbox_policy_features.cc +++ b/www/chromium/files/patch-sandbox_policy_features.cc @@ -1,11 +1,11 @@ ---- sandbox/policy/features.cc.orig 2026-01-14 08:33:23 UTC +--- sandbox/policy/features.cc.orig 2026-02-11 09:05:39 UTC +++ sandbox/policy/features.cc -@@ -154,7 +154,7 @@ bool IsNetworkSandboxSupported() { - #endif // BUILDFLAG(IS_WIN) +@@ -99,7 +99,7 @@ BASE_FEATURE(kWinSboxStrictHandleChecks, base::FEATURE + BASE_FEATURE(kSpectreVariant2Mitigation, base::FEATURE_ENABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) - bool IsNetworkSandboxEnabled() { --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - return true; - #else - #if BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Increase the renderer sandbox memory limit. As of 2023, there are no limits + // on macOS, and a 1TiB limit on Windows. There are reports of users bumping + // into the limit. This increases the limit by 2x compared to the default diff --git a/www/chromium/files/patch-sandbox_policy_features.h b/www/chromium/files/patch-sandbox_policy_features.h new file mode 100644 index 000000000000..8b198cd2cb15 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_features.h @@ -0,0 +1,11 @@ +--- sandbox/policy/features.h.orig 2026-02-11 09:05:39 UTC ++++ sandbox/policy/features.h +@@ -42,7 +42,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kWinSboxStr + SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kSpectreVariant2Mitigation); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kHigherRendererMemoryLimit); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index c8e5dfb92ba9..71bce70e8b41 100644 --- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,399 +1,448 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-10-30 15:44:36 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-02-11 09:05:39 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc -@@ -0,0 +1,396 @@ +@@ -0,0 +1,445 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "sandbox/policy/openbsd/sandbox_openbsd.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "base/command_line.h" +#include "base/debug/stack_trace.h" +#include "base/feature_list.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/scoped_file.h" +#include "base/logging.h" +#include "base/memory/singleton.h" +#include "base/path_service.h" +#include "base/posix/eintr_wrapper.h" +#include "base/strings/string_number_conversions.h" +#include "base/system/sys_info.h" +#include "base/threading/thread.h" +#include "base/time/time.h" +#include "build/build_config.h" +#include "crypto/crypto_buildflags.h" +#include "sandbox/constants.h" +#include "sandbox/linux/services/credentials.h" +#include "sandbox/linux/services/namespace_sandbox.h" +#include "sandbox/linux/services/proc_util.h" +#include "sandbox/linux/services/resource_limits.h" +#include "sandbox/linux/services/thread_helpers.h" +#include "sandbox/linux/syscall_broker/broker_command.h" +#include "sandbox/linux/syscall_broker/broker_process.h" ++#include "sandbox/policy/features.h" +#include "sandbox/policy/sandbox.h" +#include "sandbox/policy/sandbox_type.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" +#include "sandbox/policy/switches.h" +#include "sandbox/sandbox_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +#if BUILDFLAG(USE_NSS_CERTS) +#include "crypto/nss_util.h" +#endif + +#include "third_party/boringssl/src/include/openssl/crypto.h" +#include "third_party/skia/rust/png/FFI.rs.h" + +#include +#include "ui/gfx/linux/fontconfig_util.h" + +#define MAXTOKENS 3 + +#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; +#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; +#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; ++#define _UNVEIL_CDM "/etc/chromium/unveil.cdm"; + +namespace sandbox { +namespace policy { + +SandboxLinux::SandboxLinux() + : unveil_initialized_(false), + sandbox_status_flags_(kInvalid), + pre_initialized_(false), + initialize_sandbox_ran_(false), + broker_process_(nullptr) { +} + +SandboxLinux::~SandboxLinux() { + if (pre_initialized_) { + CHECK(initialize_sandbox_ran_); + } +} + +SandboxLinux* SandboxLinux::GetInstance() { + SandboxLinux* instance = base::Singleton::get(); + CHECK(instance); + return instance; +} + +void SandboxLinux::StopThread(base::Thread* thread) { + DCHECK(thread); + thread->Stop(); +} + +void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { + CHECK(!pre_initialized_); +#if BUILDFLAG(USING_SANITIZER) + // Sanitizers need to open some resources before the sandbox is enabled. + // This should not fork, not launch threads, not open a directory. + __sanitizer_sandbox_on_notify(sanitizer_args()); + sanitizer_args_.reset(); +#endif + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + base::SysInfo::AmountOfPhysicalMemory(); + base::SysInfo::NumberOfProcessors(); + base::SysInfo::CPUModelName(); + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + { +#if BUILDFLAG(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + crypto::EnsureNSSInit(); +#endif + CRYPTO_pre_sandbox_init(); + + rust_png::initialize_cpudetect(); + + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + { + FcConfig* config = gfx::GetGlobalFontConfig(); + DCHECK(config); + break; + } + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { + FILE *fp; + char *s = NULL; + size_t len = 0; + ssize_t read; + + if (pstring != NULL) { + if (pledge(pstring, NULL) == -1) + goto err; + VLOG(5) << "pledge " << pstring; + } else if (ppath != NULL) { + fp = fopen(ppath, "r"); + if (fp != NULL) { + while ((read = getline(&s, &len, fp)) != -1 ) { + if (s[strlen(s)-1] == '\n') + s[strlen(s)-1] = '\0'; + if (pledge(s, NULL) == -1) + goto err; + VLOG(5) << "pledge " << s; + } + fclose(fp); + } else { + LOG(ERROR) << "fopen(" << ppath << ") failed, errno: " << errno; + return false; + } + } + return true; +err: + LOG(ERROR) << "pledge() failed, errno: " << errno; + return false; +} + +bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { + FILE *fp; + char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; + char *xdg_var = NULL; + char path[PATH_MAX]; + const char *ufile; + size_t len = 0, lineno = 0; + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + ufile = _UNVEIL_MAIN; + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + ufile = _UNVEIL_GPU; + break; + case sandbox::mojom::Sandbox::kNetwork: + ufile = _UNVEIL_UTILITY_NETWORK; + break; + case sandbox::mojom::Sandbox::kAudio: + ufile = _UNVEIL_UTILITY_AUDIO; + break; + case sandbox::mojom::Sandbox::kVideoCapture: + ufile = _UNVEIL_UTILITY_VIDEO; + break; ++ case sandbox::mojom::Sandbox::kCdm: ++ ufile = _UNVEIL_CDM; ++ break; + default: + unveil("/dev/null", "r"); + goto done; + } + + fp = fopen(ufile, "r"); + if (fp != NULL) { + while (!feof(fp)) { + if ((s = fparseln(fp, &len, &lineno, NULL, + FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { + if (ferror(fp)) { + LOG(ERROR) << "ferror(), errno: " << errno; + _exit(1); + } else { + continue; + } + } + cp = s; + cp += strspn(cp, " \t\n"); /* eat whitespace */ + if (cp[0] == '\0') + continue; + + for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && + (*ap = strsep(&cp, " \t")) != NULL;) { + if (**ap != '\0') + ap++; + } + *ap = NULL; + + if (tokens[1] == NULL) { + LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; + _exit(1); + } + + if (tokens[0][0] == '~') { + if ((home = getenv("HOME")) == NULL || *home == '\0') { + LOG(ERROR) << "failed to get home"; + _exit(1); + } + memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); + strncpy(path, home, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); + } else if (strncmp(tokens[0], "XDG_", 4) == 0) { + if ((xdg_var = getenv(tokens[0])) == NULL || *xdg_var == '\0') { + LOG(ERROR) << "failed to get " << tokens[0]; + continue; + } + strncpy(path, xdg_var, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } else { + strncpy(path, tokens[0], sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } + + if (unveil(path, tokens[1]) == -1) { + LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; + _exit(1); + } else { + VLOG(5) << "unveiling " << path << " with permissions " << tokens[1]; + } + } + fclose(fp); + } else { + LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; + _exit(1); + } + +done: + unveil_initialized_ = true; + + return true; +} + +bool SandboxLinux::unveil_initialized() const { + return unveil_initialized_; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << sandbox_type; + + // Only one thread is running, pre-initialize if not already done. + if (!pre_initialized_) + PreinitializeSandbox(sandbox_type); + + // Attempt to limit the future size of the address space of the process. + int error = 0; + const bool limited_as = LimitAddressSpace(&error); + if (error) { + // Restore errno. Internally to |LimitAddressSpace|, the errno due to + // setrlimit may be lost. + errno = error; + PCHECK(limited_as); + } + + if (hook) + CHECK(std::move(hook).Run(options)); + + if (!command_line->HasSwitch(switches::kDisableUnveil)) + SetUnveil(process_type, sandbox_type); + + switch(sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + SetPledge(NULL, "/etc/chromium/pledge.main"); + break; + case sandbox::mojom::Sandbox::kRenderer: + // prot_exec needed by v8 + // flock needed by sqlite3 locking + SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd tmppath unix", NULL); + break; + case sandbox::mojom::Sandbox::kAudio: + SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: + SetPledge(NULL, "/etc/chromium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: + SetPledge(NULL, "/etc/chromium/pledge.utility_video"); + break; ++ case sandbox::mojom::Sandbox::kCdm: ++ SetPledge("stdio rpath flock recvfd sendfd", NULL); ++ break; + case sandbox::mojom::Sandbox::kUtility: + case sandbox::mojom::Sandbox::kService: + SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); + break; + default: + LOG(ERROR) << "non-pledge()'d process: " << sandbox_type; + break; + } + + return true; +} + ++rlim_t GetProcessDataSizeLimit(sandbox::mojom::Sandbox sandbox_type) { ++#if defined(ARCH_CPU_64_BITS) ++ if (sandbox_type == sandbox::mojom::Sandbox::kGpu || ++ sandbox_type == sandbox::mojom::Sandbox::kOnDeviceModelExecution || ++ sandbox_type == sandbox::mojom::Sandbox::kRenderer) { ++ // Allow the GPU/ODML/RENDERER process's sandbox to access more physical ++ // memory if it's available on the system. ++ // ++ // Renderer processes are allowed to access 32 GB; the GPU/ODML processes, ++ // up to 64 GB. ++ constexpr rlim_t GB = 1024 * 1024 * 1024; ++ const rlim_t physical_memory = ++ base::SysInfo::AmountOfPhysicalMemory().InBytes(); ++ rlim_t limit; ++ if ((sandbox_type == sandbox::mojom::Sandbox::kGpu || ++ sandbox_type == sandbox::mojom::Sandbox::kOnDeviceModelExecution) && ++ physical_memory > 64 * GB) { ++ limit = 64 * GB; ++ } else if (physical_memory > 32 * GB) { ++ limit = 32 * GB; ++ } else if (physical_memory > 16 * GB) { ++ limit = 16 * GB; ++ } else { ++ limit = 8 * GB; ++ } ++ ++ if (sandbox_type == sandbox::mojom::Sandbox::kRenderer && ++ base::FeatureList::IsEnabled( ++ sandbox::policy::features::kHigherRendererMemoryLimit)) { ++ limit *= 2; ++ } ++ ++ return limit; ++ } ++#endif ++ ++ return static_cast(kDataSizeLimit); ++} ++ +bool SandboxLinux::LimitAddressSpace(int* error) { +#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ + !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); -+ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { ++ sandbox::mojom::Sandbox sandbox_type = ++ SandboxTypeFromCommandLine(*command_line); ++ if (sandbox_type == sandbox::mojom::Sandbox::kNoSandbox) { + return false; + } + + // Unfortunately, it does not appear possible to set RLIMIT_AS such that it + // will both (a) be high enough to support V8's and WebAssembly's address + // space requirements while also (b) being low enough to mitigate exploits + // using integer overflows that require large allocations, heap spray, or + // other memory-hungry attack modes. + -+ *error = sandbox::ResourceLimits::Lower( -+ RLIMIT_DATA, static_cast(sandbox::kDataSizeLimit)); ++ rlim_t process_data_size_limit = GetProcessDataSizeLimit(sandbox_type); ++ *error = ResourceLimits::Lower(RLIMIT_DATA, process_data_size_limit); + + // Cache the resource limit before turning on the sandbox. + base::SysInfo::AmountOfVirtualMemory(); + base::SysInfo::MaxSharedMemorySize(); + + return *error == 0; +#else + base::SysInfo::AmountOfVirtualMemory(); + return false; +#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && + // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) +} + +} // namespace policy +} // namespace sandbox diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc index c6fb901063bc..61198046a6d7 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2025-09-06 10:01:20 UTC +--- sandbox/policy/sandbox.cc.orig 2026-02-11 09:05:39 UTC +++ sandbox/policy/sandbox.cc -@@ -18,6 +18,10 @@ +@@ -20,6 +20,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif // BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) #include "sandbox/mac/seatbelt.h" #endif // BUILDFLAG(IS_MAC) -@@ -34,7 +38,7 @@ +@@ -36,7 +40,7 @@ namespace sandbox { namespace policy { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options) { diff --git a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc index 2f1cc9af408e..2200a0ba097c 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -1,167 +1,167 @@ ---- sandbox/policy/sandbox_type.cc.orig 2026-01-14 08:33:23 UTC +--- sandbox/policy/sandbox_type.cc.orig 2026-02-11 09:05:39 UTC +++ sandbox/policy/sandbox_type.cc @@ -12,7 +12,7 @@ #include "sandbox/policy/mojom/sandbox.mojom.h" #include "sandbox/policy/switches.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "media/gpu/buildflags.h" // nogncheck #include "media/media_buildflags.h" // nogncheck #endif @@ -34,7 +34,7 @@ constexpr char kServiceSandboxWithJit[] = "service_wit constexpr char kSpeechRecognitionSandbox[] = "speech_recognition"; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) constexpr char kPrintBackendSandbox[] = "print_backend"; constexpr char kScreenAISandbox[] = "screen_ai"; #endif -@@ -52,11 +52,11 @@ constexpr char kProxyResolverSandbox[] = "proxy_resolv - constexpr char kMirroringSandbox[] = "mirroring"; - #endif // BUILDFLAG(IS_MAC) +@@ -55,11 +55,11 @@ constexpr char kMirroringSandbox[] = "mirroring"; + constexpr char kProxyResolverSandbox[] = "proxy_resolver"; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr char kVideoCaptureSandbox[] = "video_capture"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) constexpr char kShapeDetectionSandbox[] = "shape_detection"; // USE_LINUX_VIDEO_ACCELERATION implies IS_LINUX || IS_CHROMEOS, so this double // #if is redundant, however, we cannot include "media/gpu/buildflags.h" on all -@@ -74,7 +74,7 @@ constexpr char kTtsSandbox[] = "tts"; +@@ -77,7 +77,7 @@ constexpr char kTtsSandbox[] = "tts"; constexpr char kNearbySandbox[] = "nearby"; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) constexpr char kOnDeviceTranslationSandbox[] = "on_device_translation"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -124,7 +124,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kCdm: case Sandbox::kPrintCompositor: case Sandbox::kAudio: -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: #endif #if BUILDFLAG(IS_WIN) -@@ -135,7 +135,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -137,7 +137,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + case Sandbox::kIconReader: case Sandbox::kMediaFoundationCdm: - case Sandbox::kProxyResolver: #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kShapeDetection: #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) case Sandbox::kHardwareVideoDecoding: -@@ -151,12 +151,12 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi - case Sandbox::kMirroring: - #endif // BUILDFLAG(IS_MAC) +@@ -156,12 +156,12 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + case Sandbox::kProxyResolver: + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case Sandbox::kPrintBackend: case Sandbox::kScreenAI: #endif case Sandbox::kSpeechRecognition: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kOnDeviceTranslation: #endif DCHECK(command_line->GetSwitchValueASCII(switches::kProcessType) == -@@ -166,7 +166,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -171,7 +171,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi switches::kServiceSandboxType, StringFromUtilitySandboxType(sandbox_type)); return; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: return; #endif -@@ -197,7 +197,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( +@@ -202,7 +202,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( return Sandbox::kGpu; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Intermediate process gains a sandbox later. if (process_type == switches::kZygoteProcessType) return Sandbox::kZygoteIntermediateSandbox; -@@ -235,7 +235,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -240,7 +240,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb return kUtilitySandbox; case Sandbox::kAudio: return kAudioSandbox; -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: return kVideoCaptureSandbox; #endif -@@ -246,13 +246,13 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -251,13 +251,13 @@ std::string StringFromUtilitySandboxType(Sandbox sandb case Sandbox::kSpeechRecognition: return kSpeechRecognitionSandbox; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case Sandbox::kPrintBackend: return kPrintBackendSandbox; case Sandbox::kScreenAI: return kScreenAISandbox; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kOnDeviceTranslation: return kOnDeviceTranslationSandbox; #endif -@@ -272,7 +272,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb - case Sandbox::kMirroring: - return kMirroringSandbox; - #endif +@@ -279,7 +279,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + case Sandbox::kProxyResolver: + return kProxyResolverSandbox; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kShapeDetection: return kShapeDetectionSandbox; #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -@@ -295,7 +295,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -302,7 +302,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb // The following are not utility processes so should not occur. case Sandbox::kRenderer: case Sandbox::kGpu: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: #endif NOTREACHED(); -@@ -369,7 +369,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -378,7 +378,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( return Sandbox::kSpeechRecognition; } #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (sandbox_string == kPrintBackendSandbox) { return Sandbox::kPrintBackend; } -@@ -377,17 +377,17 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -386,17 +386,17 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( return Sandbox::kScreenAI; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (sandbox_string == kOnDeviceTranslationSandbox) { return Sandbox::kOnDeviceTranslation; } #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (sandbox_string == kVideoCaptureSandbox) { return Sandbox::kVideoCapture; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (sandbox_string == kShapeDetectionSandbox) { return Sandbox::kShapeDetection; } diff --git a/www/chromium/files/patch-services_device_hid_hid__service.cc b/www/chromium/files/patch-services_device_hid_hid__service.cc index 0830326cab3c..523a93a99e57 100644 --- a/www/chromium/files/patch-services_device_hid_hid__service.cc +++ b/www/chromium/files/patch-services_device_hid_hid__service.cc @@ -1,24 +1,24 @@ ---- services/device/hid/hid_service.cc.orig 2022-11-30 08:12:58 UTC +--- services/device/hid/hid_service.cc.orig 2026-02-11 09:05:39 UTC +++ services/device/hid/hid_service.cc -@@ -20,6 +20,10 @@ +@@ -19,6 +19,10 @@ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) #include "services/device/hid/hid_service_linux.h" +#elif BUILDFLAG(IS_OPENBSD) +#include "services/device/hid/hid_service_fido.h" +#elif BUILDFLAG(IS_FREEBSD) +#include "services/device/hid/hid_service_freebsd.h" #elif BUILDFLAG(IS_MAC) #include "services/device/hid/hid_service_mac.h" #elif BUILDFLAG(IS_WIN) -@@ -68,6 +72,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr +@@ -67,6 +71,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr std::unique_ptr HidService::Create() { #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) return std::make_unique(); +#elif BUILDFLAG(IS_OPENBSD) + return std::make_unique(); +#elif BUILDFLAG(IS_FREEBSD) + return std::make_unique(); #elif BUILDFLAG(IS_MAC) return std::make_unique(); #elif BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-services_device_public_cpp_device__features.h b/www/chromium/files/patch-services_device_public_cpp_device__features.h index 905e38fe5337..b96c38c6a2bd 100644 --- a/www/chromium/files/patch-services_device_public_cpp_device__features.h +++ b/www/chromium/files/patch-services_device_public_cpp_device__features.h @@ -1,11 +1,11 @@ ---- services/device/public/cpp/device_features.h.orig 2025-04-04 08:52:13 UTC +--- services/device/public/cpp/device_features.h.orig 2026-02-11 09:05:39 UTC +++ services/device/public/cpp/device_features.h -@@ -53,7 +53,7 @@ extern const DEVICE_FEATURES_EXPORT +@@ -54,7 +54,7 @@ extern const DEVICE_FEATURES_EXPORT DEVICE_FEATURES_EXPORT bool IsOsLevelGeolocationPermissionSupportEnabled(); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kAutomaticUsbDetach); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc index 6f385c077740..00d9dd0c424f 100644 --- a/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc +++ b/www/chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc @@ -1,47 +1,47 @@ ---- services/device/usb/usb_device_handle_usbfs.cc.orig 2025-10-02 04:28:32 UTC +--- services/device/usb/usb_device_handle_usbfs.cc.orig 2026-02-11 09:05:39 UTC +++ services/device/usb/usb_device_handle_usbfs.cc -@@ -34,7 +34,7 @@ +@@ -33,7 +33,7 @@ #include "chromeos/dbus/permission_broker/permission_broker_client.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/metrics/histogram_macros.h" #include "services/device/public/cpp/device_features.h" #include "services/device/usb/usb_interface_detach_allowlist.h" -@@ -51,7 +51,7 @@ using mojom::UsbTransferType; +@@ -50,7 +50,7 @@ using mojom::UsbTransferType; namespace { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Outcome of detaching a kernel driver before ClaimInterface(). // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. -@@ -293,7 +293,7 @@ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::R +@@ -292,7 +292,7 @@ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::R return true; } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::DetachInterface( int interface_number, const CombinedInterfaceInfo& interface_info) { -@@ -630,7 +630,7 @@ void UsbDeviceHandleUsbfs::ClaimInterface(int interfac +@@ -629,7 +629,7 @@ void UsbDeviceHandleUsbfs::ClaimInterface(int interfac return; } #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { const mojom::UsbConfigurationInfo* config = device_->GetActiveConfiguration(); -@@ -976,7 +976,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in +@@ -975,7 +975,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in return; } #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { helper_.AsyncCall(&BlockingTaskRunnerHelper::ReattachInterface) .WithArgs(interface_number) diff --git a/www/chromium/files/patch-services_device_usb_usb__service.cc b/www/chromium/files/patch-services_device_usb_usb__service.cc index 3bfbcb92200a..e57f68260972 100644 --- a/www/chromium/files/patch-services_device_usb_usb__service.cc +++ b/www/chromium/files/patch-services_device_usb_usb__service.cc @@ -1,35 +1,35 @@ ---- services/device/usb/usb_service.cc.orig 2025-07-02 06:08:04 UTC +--- services/device/usb/usb_service.cc.orig 2026-02-11 09:05:39 UTC +++ services/device/usb/usb_service.cc -@@ -20,12 +20,16 @@ +@@ -19,12 +19,16 @@ #if BUILDFLAG(IS_ANDROID) #include "services/device/usb/usb_service_android.h" -#elif defined(USE_UDEV) +#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) #include "services/device/usb/usb_service_linux.h" #elif BUILDFLAG(IS_MAC) #include "services/device/usb/usb_service_impl.h" #elif BUILDFLAG(IS_WIN) #include "services/device/usb/usb_service_win.h" +#elif BUILDFLAG(IS_OPENBSD) +#include "services/device/usb/usb_service_impl.h" +#elif BUILDFLAG(IS_FREEBSD) +#include "services/device/usb/usb_service_fake.h" #endif namespace device { -@@ -48,11 +52,13 @@ constexpr base::TaskTraits UsbService::kBlockingTaskTr +@@ -47,11 +51,13 @@ constexpr base::TaskTraits UsbService::kBlockingTaskTr std::unique_ptr UsbService::Create() { #if BUILDFLAG(IS_ANDROID) return base::WrapUnique(new UsbServiceAndroid()); -#elif defined(USE_UDEV) +#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) return base::WrapUnique(new UsbServiceLinux()); #elif BUILDFLAG(IS_WIN) return base::WrapUnique(new UsbServiceWin()); #elif BUILDFLAG(IS_MAC) + return base::WrapUnique(new UsbServiceImpl()); +#elif BUILDFLAG(IS_BSD) return base::WrapUnique(new UsbServiceImpl()); #else return nullptr; diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn index aee09723e568..50237af93444 100644 --- a/www/chromium/files/patch-services_network_BUILD.gn +++ b/www/chromium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- services/network/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ services/network/BUILD.gn -@@ -425,7 +425,6 @@ if (is_linux || is_chromeos) { +@@ -434,7 +434,6 @@ if (is_linux || is_chromeos) { ] deps = [ "//base", - "//sandbox/linux:sandbox_services", "//sandbox/policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc index 404600797340..3ef9eb0c94b7 100644 --- a/www/chromium/files/patch-services_network_network__context.cc +++ b/www/chromium/files/patch-services_network_network__context.cc @@ -1,20 +1,20 @@ ---- services/network/network_context.cc.orig 2026-01-14 08:33:23 UTC +--- services/network/network_context.cc.orig 2026-02-11 09:05:39 UTC +++ services/network/network_context.cc @@ -633,7 +633,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: NetworkContext::NetworkContextHttpAuthPreferences:: ~NetworkContextHttpAuthPreferences() = default; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool NetworkContext::NetworkContextHttpAuthPreferences::AllowGssapiLibraryLoad() const { if (network_service_) { -@@ -2625,7 +2625,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2603,7 +2603,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( http_auth_dynamic_network_service_params->android_negotiate_account_type); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) http_auth_merged_preferences_.set_allow_gssapi_library_load( http_auth_dynamic_network_service_params->allow_gssapi_library_load); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_network__context.h b/www/chromium/files/patch-services_network_network__context.h index fa36b486471f..c7f2e366247b 100644 --- a/www/chromium/files/patch-services_network_network__context.h +++ b/www/chromium/files/patch-services_network_network__context.h @@ -1,11 +1,11 @@ ---- services/network/network_context.h.orig 2026-01-14 08:33:23 UTC +--- services/network/network_context.h.orig 2026-02-11 09:05:39 UTC +++ services/network/network_context.h -@@ -747,7 +747,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -732,7 +732,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext public: explicit NetworkContextHttpAuthPreferences(NetworkService* network_service); ~NetworkContextHttpAuthPreferences() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool AllowGssapiLibraryLoad() const override; #endif // BUILDFLAG(IS_LINUX) private: diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc index ecf7b4c0ea99..14378eb7ff8d 100644 --- a/www/chromium/files/patch-services_network_network__service.cc +++ b/www/chromium/files/patch-services_network_network__service.cc @@ -1,34 +1,34 @@ ---- services/network/network_service.cc.orig 2026-01-14 08:33:23 UTC +--- services/network/network_service.cc.orig 2026-02-11 09:05:39 UTC +++ services/network/network_service.cc -@@ -103,11 +103,11 @@ +@@ -104,11 +104,11 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS) #include "components/os_crypt/sync/key_storage_config_linux.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "services/network/network_change_notifier_passive_factory.h" #endif -@@ -1011,7 +1011,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1007,7 +1007,7 @@ void NetworkService::SetExplicitlyAllowedPorts( net::SetExplicitlyAllowedPorts(ports); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) { -@@ -1150,7 +1150,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1147,7 +1147,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo ); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::OnBeforeGssapiLibraryLoad() { if (gssapi_library_load_observer_.is_bound()) { gssapi_library_load_observer_->OnBeforeGssapiLibraryLoad(); diff --git a/www/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h index 558cb884a74a..321352b650bc 100644 --- a/www/chromium/files/patch-services_network_network__service.h +++ b/www/chromium/files/patch-services_network_network__service.h @@ -1,29 +1,29 @@ ---- services/network/network_service.h.orig 2026-01-14 08:33:23 UTC +--- services/network/network_service.h.orig 2026-02-11 09:05:39 UTC +++ services/network/network_service.h -@@ -232,7 +232,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -233,7 +233,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService const std::vector& settings) override; void SetExplicitlyAllowedPorts(const std::vector& ports) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) override; -@@ -281,7 +281,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -289,7 +289,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService std::unique_ptr CreateHttpAuthHandlerFactory( NetworkContext* network_context); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This is called just before a GSSAPI library may be loaded. void OnBeforeGssapiLibraryLoad(); #endif // BUILDFLAG(IS_LINUX) -@@ -514,7 +514,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -530,7 +530,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService // leaking stale listeners between tests. std::unique_ptr mock_network_change_notifier_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) mojo::Remote gssapi_library_load_observer_; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_public_cpp_features.cc b/www/chromium/files/patch-services_network_public_cpp_features.cc index b45393b23543..169f4a33c533 100644 --- a/www/chromium/files/patch-services_network_public_cpp_features.cc +++ b/www/chromium/files/patch-services_network_public_cpp_features.cc @@ -1,20 +1,20 @@ ---- services/network/public/cpp/features.cc.orig 2025-12-05 10:12:50 UTC +--- services/network/public/cpp/features.cc.orig 2026-02-11 09:05:39 UTC +++ services/network/public/cpp/features.cc @@ -93,7 +93,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIsolationKey, // Enable usage of hardcoded DoH upgrade mapping for use in automatic mode. BASE_FEATURE(kDnsOverHttpsUpgrade, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -361,7 +361,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, base::FEATUR +@@ -366,7 +366,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, base::FEATUR // https://github.com/WICG/document-isolation-policy BASE_FEATURE(kDocumentIsolationPolicy, #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn index fbd8ebf34f04..39cc8f739e22 100644 --- a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn @@ -1,34 +1,34 @@ ---- services/network/public/mojom/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- services/network/public/mojom/BUILD.gn.orig 2026-02-11 09:05:39 UTC +++ services/network/public/mojom/BUILD.gn @@ -720,11 +720,11 @@ mojom("url_loader_base") { ] enabled_features = [] - if (is_android || is_chromeos || is_linux) { + if (!is_bsd && (is_android || is_chromeos || is_linux)) { enabled_features += [ "network_change_notifier_in_browser" ] } - if (is_linux) { + if (is_linux && !is_bsd) { # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does # not include lacros. enabled_features += [ "use_network_interface_change_listener" ] -@@ -1049,7 +1049,7 @@ mojom("url_loader_base") { +@@ -1101,7 +1101,7 @@ mojom("url_loader_base") { }, ] - if (is_linux) { + if (is_linux && !is_bsd) { cpp_typemaps += [ { types = [ -@@ -1837,7 +1837,7 @@ mojom("mojom") { +@@ -1889,7 +1889,7 @@ mojom("mojom") { } } - if (is_linux) { + if (is_linux && !is_bsd) { # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does # not include lacros. enabled_features += [ "use_network_interface_change_listener" ] diff --git a/www/chromium/files/patch-services_on__device__model_ml_BUILD.gn b/www/chromium/files/patch-services_on__device__model_ml_BUILD.gn deleted file mode 100644 index 5de1244c288b..000000000000 --- a/www/chromium/files/patch-services_on__device__model_ml_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- services/on_device_model/ml/BUILD.gn.orig 2026-01-14 08:33:23 UTC -+++ services/on_device_model/ml/BUILD.gn -@@ -86,7 +86,7 @@ if (use_blink || (is_ios && build_with_internal_optimi - if (!is_fuchsia && build_with_tflite_lib) { - deps += [ "//services/on_device_model/safety:bert_safety_model" ] - } -- if (is_win || is_mac || is_linux) { -+ if ((is_win || is_mac || is_linux) && !is_bsd) { - deps += [ "//third_party/xnnpack" ] - } - public_deps = [ diff --git a/www/chromium/files/patch-services_on__device__model_ml_on__device__model__executor.cc b/www/chromium/files/patch-services_on__device__model_ml_on__device__model__executor.cc deleted file mode 100644 index 6213cc11772c..000000000000 --- a/www/chromium/files/patch-services_on__device__model_ml_on__device__model__executor.cc +++ /dev/null @@ -1,10 +0,0 @@ ---- services/on_device_model/ml/on_device_model_executor.cc.orig 2026-01-14 08:33:23 UTC -+++ services/on_device_model/ml/on_device_model_executor.cc -@@ -35,6 +35,7 @@ - #include "services/on_device_model/public/mojom/on_device_model.mojom.h" - #include "services/on_device_model/public/mojom/on_device_model_service.mojom.h" - -+// XXX PORT - #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) - #include "third_party/xnnpack/src/include/xnnpack.h" // nogncheck - #endif diff --git a/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc b/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc index 1522c753e19e..361514343ec6 100644 --- a/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc +++ b/www/chromium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc @@ -1,13 +1,13 @@ ---- services/tracing/public/cpp/system_metrics_sampler.cc.orig 2025-05-28 14:55:43 UTC +--- services/tracing/public/cpp/system_metrics_sampler.cc.orig 2026-02-11 09:05:39 UTC +++ services/tracing/public/cpp/system_metrics_sampler.cc -@@ -166,8 +166,8 @@ void SystemMetricsSampler::ProcessSampler::SampleProce +@@ -176,8 +176,8 @@ void SystemMetricsSampler::ProcessSampler::SampleProce TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "PhysicalMemoryFootprint", memory_info->physical_footprint_bytes); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)) && defined(notyet) TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "VmSwapMemory", memory_info->vm_swap_bytes); TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "RssAnonMemory", diff --git a/www/chromium/files/patch-services_webnn_features.gni b/www/chromium/files/patch-services_webnn_features.gni new file mode 100644 index 000000000000..62841434a894 --- /dev/null +++ b/www/chromium/files/patch-services_webnn_features.gni @@ -0,0 +1,11 @@ +--- services/webnn/features.gni.orig 2026-02-11 09:05:39 UTC ++++ services/webnn/features.gni +@@ -9,7 +9,7 @@ assert(use_blink) + + declare_args() { + # TFLite is used as a fallback option on Apple and Windows. +- webnn_use_tflite = is_android || is_chromeos || is_linux || is_apple || is_win ++ webnn_use_tflite = !is_bsd && (is_android || is_chromeos || is_linux || is_apple || is_win) + + # Enable the GPU delegate provided by the Optimization Guide library. + webnn_use_chrome_ml_api = enable_ml_internal diff --git a/www/chromium/files/patch-skia_ext_font__utils.cc b/www/chromium/files/patch-skia_ext_font__utils.cc index ac7836a4c5db..ad2930eba36d 100644 --- a/www/chromium/files/patch-skia_ext_font__utils.cc +++ b/www/chromium/files/patch-skia_ext_font__utils.cc @@ -1,20 +1,20 @@ ---- skia/ext/font_utils.cc.orig 2026-01-14 08:33:23 UTC +--- skia/ext/font_utils.cc.orig 2026-02-11 09:05:39 UTC +++ skia/ext/font_utils.cc -@@ -24,7 +24,7 @@ +@@ -25,7 +25,7 @@ #include "third_party/skia/include/ports/SkFontMgr_mac_ct.h" #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "third_party/skia/include/ports/SkFontConfigInterface.h" #include "third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h" #include "third_party/skia/include/ports/SkFontScanner_Fontations.h" -@@ -82,7 +82,7 @@ static sk_sp fontmgr_factory() { +@@ -83,7 +83,7 @@ static sk_sp fontmgr_factory() { return SkFontMgr_New_Android(nullptr, SkFontScanner_Make_Fontations()); #elif BUILDFLAG(IS_APPLE) return SkFontMgr_New_CoreText(nullptr); -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) sk_sp fci(SkFontConfigInterface::RefGlobal()); return fci ? SkFontMgr_New_FCI(std::move(fci), SkFontScanner_Make_Fontations()) diff --git a/www/chromium/files/patch-sql_database.cc b/www/chromium/files/patch-sql_database.cc index 64fc600fcc3c..cbed1a760deb 100644 --- a/www/chromium/files/patch-sql_database.cc +++ b/www/chromium/files/patch-sql_database.cc @@ -1,11 +1,11 @@ ---- sql/database.cc.orig 2026-01-14 08:33:23 UTC +--- sql/database.cc.orig 2026-02-11 09:05:39 UTC +++ sql/database.cc -@@ -110,7 +110,7 @@ bool FilePathIsFixedSSD(const base::FilePath& path) { +@@ -112,7 +112,7 @@ bool FilePathIsFixedSSD(const base::FilePath& path) { return !drive_info->has_seek_penalty.value_or(false) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) && !drive_info->is_removable.value_or(false) #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp index 847b0d538010..03f912ec1a27 100644 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp +++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp @@ -1,90 +1,90 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2022-02-23 19:25:59 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2026-02-11 09:05:39 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp -@@ -12,6 +12,11 @@ - #include +@@ -13,6 +13,11 @@ #include + #include +#if defined(__FreeBSD__) +#include +#include +#endif + #include "common/angleutils.h" #include "common/debug.h" -@@ -85,6 +90,75 @@ struct LibPCI : private angle::NonCopyable +@@ -106,6 +111,75 @@ struct LibPCI : private angle::NonCopyable }; } // anonymous namespace + +#if defined(__FreeBSD__) +// Adds an entry per PCI GPU found and fills the device and vendor ID. +bool GetPCIDevicesFreeBSD(std::vector *devices) +{ + int fd; + struct pci_conf_io conf; + struct pci_conf *matches; + uint32_t offset = 0; + + fd = open("/dev/pci", O_RDONLY); + if (fd < 0) + return false; + + matches = new struct pci_conf[32]; + conf.generation = 0; + do { + conf.pat_buf_len = 0; + conf.num_patterns = 0; + conf.patterns = NULL; + conf.match_buf_len = 32 * sizeof(struct pci_conf); + conf.num_matches = 32; + conf.matches = matches; + conf.offset = offset; + conf.status = PCI_GETCONF_ERROR; + if (ioctl(fd, PCIOCGETCONF, &conf) < 0) { + if (errno == ENODEV) + break; + } + /* PCI_GETCONF_LIST_CHANGED would require us to start over. */ + if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) { + break; + } + + for (unsigned int i = 0; i < conf.num_matches; i++) { + uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass; + + // Skip non-GPU devices + switch (device_class) + { + case PCI_CLASS_DISPLAY_VGA: + case PCI_CLASS_DISPLAY_XGA: + case PCI_CLASS_DISPLAY_3D: + break; + default: + continue; + } + + // Skip unknown devices + if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) { + continue; + } + + GPUDeviceInfo info; + info.vendorId = matches[i].pc_vendor; + info.deviceId = matches[i].pc_device; + + devices->push_back(info); + } + offset += conf.num_matches; + } while (conf.status == PCI_GETCONF_MORE_DEVS); + + delete[] matches; + + close(fd); + + return true; +} +#endif // Adds an entry per PCI GPU found and fills the device and vendor ID. bool GetPCIDevicesWithLibPCI(std::vector *devices) diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp index ef2231b48c21..6c8980ef6b01 100644 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp +++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp @@ -1,35 +1,35 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2022-02-23 19:25:59 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2026-02-11 09:05:39 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp @@ -71,6 +71,24 @@ bool GetPCIDevicesWithLibPCI(std::vectorgpus))) + { +#if defined(__FreeBSD__) + if (!GetPCIDevicesFreeBSD(&(info->gpus))) + { +#endif +#if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) + // Try vulkan backend to get GPU info + return GetSystemInfoVulkan(info); +#else + return false; +#endif +#if defined(__FreeBSD__) + } +#endif + } +#else - if (!GetPCIDevicesWithLibPCI(&(info->gpus))) + if (!GetPCIDevicesWithLibPCI(&(info->gpus)) || info->gpus.size() == 0) { #if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) -@@ -85,6 +103,7 @@ bool GetSystemInfo(SystemInfo *info) - { +@@ -80,6 +98,7 @@ bool GetSystemInfo(SystemInfo *info) return false; + #endif // defined(ANGLE_HAS_VULKAN_SYSTEM_INFO) } +#endif GetDualGPUInfo(info); diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp index c835f405327f..225cb01d50ba 100644 --- a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -1,56 +1,56 @@ ---- third_party/angle/src/libANGLE/Display.cpp.orig 2026-01-14 08:33:23 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2026-02-11 09:05:39 UTC +++ third_party/angle/src/libANGLE/Display.cpp @@ -64,7 +64,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_X11) # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" @@ -427,7 +427,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = new rx::DisplayCGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { @@ -478,7 +478,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di #if defined(ANGLE_ENABLE_OPENGL) # if defined(ANGLE_PLATFORM_WINDOWS) impl = new rx::DisplayWGL(state); -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { @@ -534,7 +534,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) { -@@ -2183,7 +2183,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2185,7 +2185,7 @@ static ClientExtensions GenerateClientExtensions() extensions.platformWaylandEXT = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) +#if (defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) extensions.platformSurfacelessMESA = true; #endif -@@ -2230,7 +2230,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2232,7 +2232,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/chromium/files/patch-third__party_blink_common_features.cc b/www/chromium/files/patch-third__party_blink_common_features.cc index 5d21d821ad69..37b8fba8c46b 100644 --- a/www/chromium/files/patch-third__party_blink_common_features.cc +++ b/www/chromium/files/patch-third__party_blink_common_features.cc @@ -1,20 +1,20 @@ ---- third_party/blink/common/features.cc.orig 2026-01-28 08:17:57 UTC +--- third_party/blink/common/features.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/common/features.cc -@@ -595,7 +595,7 @@ BASE_FEATURE(kDevToolsImprovedNetworkError, base::FEAT +@@ -596,7 +596,7 @@ BASE_FEATURE(kDevToolsImprovedNetworkError, base::FEAT BASE_FEATURE(kDirectCompositorThreadIpc, #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1907,7 +1907,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, +@@ -1904,7 +1904,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, // currently out of scope. BASE_FEATURE(kPreloadingEagerHoverHeuristics, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index d4bbb7ffe6b0..2b10525d7b56 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -1,35 +1,35 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2025-12-05 10:12:50 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -83,12 +83,12 @@ - #include "third_party/blink/renderer/controller/private_memory_footprint_provider.h" +@@ -84,12 +84,12 @@ + #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" - #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" #endif + @@ -261,7 +261,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread_task_runner); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) binders.Add( ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), -@@ -310,7 +310,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform +@@ -309,7 +309,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform MemorySaverController::Initialize(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Start reporting the highest private memory footprint after the first // navigation. HighestPmfReporter::Initialize(main_thread_task_runner); diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc b/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc index e6ae2d0a3b84..88dcafd357d8 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/core/execution_context/navigator_base.cc -@@ -32,7 +32,7 @@ String GetReducedNavigatorPlatform() { +@@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() { return "Win32"; #elif BUILDFLAG(IS_FUCHSIA) return ""; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return "Linux x86_64"; #elif BUILDFLAG(IS_IOS) return "iPhone"; diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index 1e94db9904ec..3237d6fc5f20 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc @@ -1,29 +1,29 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -422,7 +422,7 @@ void RecordPrerenderActivationSignalDelay(const String +@@ -423,7 +423,7 @@ void RecordPrerenderActivationSignalDelay(const String #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) SkFontHinting RendererPreferencesToSkiaHinting( const blink::RendererPreferences& prefs) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!prefs.should_antialias_text) { // When anti-aliasing is off, GTK maps all non-zero hinting settings to // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight' -@@ -3472,7 +3472,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3619,7 +3619,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); WebFontRenderStyle::SetSubpixelPositioning( renderer_preferences_.use_subpixel_positioning); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8( renderer_preferences_.system_font_family_name)); -@@ -3610,7 +3610,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3757,7 +3757,7 @@ void WebViewImpl::UpdateRendererPreferences( renderer_preferences_.selection_clipboard_buffer_available); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GetSettings()->SetMiddleClickPasteAllowed( renderer_preferences_.middle_click_paste_allowed); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc index 57d6cdb9e007..17b517aa8406 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/core/layout/layout_view.cc @@ -75,7 +75,7 @@ #include "ui/display/screen_info.h" #include "ui/gfx/geometry/quad_f.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -801,7 +801,7 @@ void LayoutView::LayoutRoot() { +@@ -833,7 +833,7 @@ void LayoutView::LayoutRoot() { intrinsic_logical_widths_ = LogicalWidth(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The font code in FontPlatformData does not have a direct connection to the // document, the frame or anything from which we could retrieve the device // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc b/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc index 0e8efbe72bbb..3f8da13a0bdf 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc @@ -1,20 +1,11 @@ ---- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-12-05 10:12:50 UTC +--- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/core/origin_trials/origin_trial_context.cc -@@ -559,7 +559,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const - } - - if (trial_name == "TranslationAPI") { --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return base::FeatureList::IsEnabled(features::kTranslationAPI); - #else - return false; -@@ -572,7 +572,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const +@@ -563,7 +563,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const if (trial_name == "WebAppInstallation") { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(blink::features::kWebAppInstallation); #else return false; diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h index a9e7713ce9bc..b69e0fc56150 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h +++ b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h @@ -1,14 +1,14 @@ ---- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/core/xml/xslt_processor.h -@@ -89,7 +89,11 @@ class XSLTProcessor final : public ScriptWrappable { +@@ -93,7 +93,11 @@ class XSLTProcessor final : public ScriptWrappable { void reset(); +#if (LIBXML_VERSION >= 21200) static void ParseErrorFunc(void* user_data, const xmlError*); +#else + static void ParseErrorFunc(void* user_data, xmlError*); +#endif static void GenericErrorFunc(void* user_data, const char* msg, ...); // Only for libXSLT callbacks diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 7db30a20ef63..8ec01df449f9 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2026-02-11 09:05:39 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6407,7 +6407,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6406,7 +6406,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid // unmultiply has been requested or we need to never premultiply for Image // creation from a VideoFrame. -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/1175907): Only TexImage2D seems to work with the GPU path on // Android M -- appears to work fine on R, but to avoid regressions in