diff --git a/www/chromium/Makefile b/www/chromium/Makefile index f4ecbdee274e..c22da2c7383b 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,428 +1,429 @@ PORTNAME= chromium -PORTVERSION= 145.0.7632.159 +PORTVERSION= 146.0.7680.164 +PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= ${DISTNAME}-lite${EXTRACT_SUFX} \ ${DISTNAME}-profdata${EXTRACT_SUFX}:external \ pulseaudio-${PULSEV}.tar.gz:pulseaudio USE_GITHUB= nodefault GH_TUPLE= rollup:rollup:v4.22.4:rollup/rollup \ evanw:esbuild:v${_ESBUILD_VERSION:sh}:esbuild/esbuild MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit WWW= https://www.chromium.org/Home LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ esbuild:devel/esbuild \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ rustc:lang/rust \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ ${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \ ${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libdav1d.so:multimedia/dav1d \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison cargo compiler:c++17-lang cpe desktop-file-utils gl gmake \ gnome iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \ python:build qt:5 shebangfix tar:xz xorg WITHOUT_FBSD10_FIX= Yes CARGO_CARGOTOML= ${WRKSRC}/rollup/rust/Cargo.toml CARGO_CARGOLOCK= ${WRKSRC}/rollup/rust/Cargo.lock CARGO_TARGET_DIR= ${WRKSRC}/rollup/rust/target CARGO_INSTALL= No CARGO_BUILD= No CARGO_TEST= No _ESBUILD_VERSION= ${MAKE} -C ${PORTSDIR}/devel/esbuild -V DISTVERSION CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf glib20 gtk30 libxml2 libxslt USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst USE_QT= buildtools:build SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper #buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python3=${PYTHON_CMD} # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= clang_use_chrome_plugins=false \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_remoting=false \ enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="60 GB" \ WANTMEM="32 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="35 GB" \ WANTMEM="8 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif LLVM_DEFAULT= 21 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ dav1d flac fontconfig harfbuzz-ng libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} @cd ${WRKSRC}/chrome/build/pgo_profiles && _p=$$(echo *.profdata) && \ ${LOCALBASE}/bin/llvm-profdata${LLVM_DEFAULT} merge $${_p}.txt --output=$${_p} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni pre-build: @${CARGO_CARGO_RUN} build \ --manifest-path ${CARGO_CARGOTOML} \ --verbose \ --verbose \ ${CARGO_BUILD_ARGS} (cd ${WRKSRC}/third_party/devtools-frontend/src/node_modules/@rollup && \ mkdir -p rollup-freebsd && \ cp ${CARGO_TARGET_DIR}/release/libbindings_napi.so \ rollup-freebsd/rollup.freebsd.node && \ echo '{ "main": "./rollup.freebsd.node" }' \ > rollup-freebsd/package.json) do-configure: (cd ${WRKSRC}/esbuild && \ ${LOCALBASE}/bin/node scripts/esbuild.js \ /usr/local/bin/esbuild --neutral && \ rm -rf ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild && \ ln -sf ${WRKSRC}/esbuild/npm/esbuild \ ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild \ ) # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup esbuild dependency ${LN} -sf ${LOCALBASE}/bin/esbuild ${WRKSRC}/third_party/devtools-frontend/src/third_party/esbuild/esbuild # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ ${STAGEDIR}${PREFIX}/share/man/man1/chrome.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/chrome.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ ${STAGEDIR}${PREFIX}/bin/chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index 86010504fb1a..36893370f501 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,345 +1,345 @@ -TIMESTAMP = 1772628532 -SHA256 (chromium-145.0.7632.159-lite.tar.xz) = 12e53b149f7621ee0741d25005a8d7e79cf95ce13efc4063fda04b4db6c882f1 -SIZE (chromium-145.0.7632.159-lite.tar.xz) = 1416409132 -SHA256 (chromium-145.0.7632.159-profdata.tar.xz) = 330d956e1a5c60eb71ed1201c29d877a1fdc5b6ba2c00160b8213333c538ab5b -SIZE (chromium-145.0.7632.159-profdata.tar.xz) = 15038520 +TIMESTAMP = 1774337730 +SHA256 (chromium-146.0.7680.164-lite.tar.xz) = 2d4163d39cc85c58d0bad83ccb5f200174cc99e3627fc56b095025f1ae7038c8 +SIZE (chromium-146.0.7680.164-lite.tar.xz) = 1476795816 +SHA256 (chromium-146.0.7680.164-profdata.tar.xz) = b8b8577f201521af73dffc34abbcecf5556972d06da29e6ae3862a83c31e174d +SIZE (chromium-146.0.7680.164-profdata.tar.xz) = 15190948 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-145.0.7632.159-testdata.tar.xz) = 3346aeba36b4ce8f9a3d5daa9e9867e636fa1d47fa5a61ecc165d8e6a8dde2d7 -SIZE (chromium-145.0.7632.159-testdata.tar.xz) = 1318405272 +SHA256 (chromium-146.0.7680.164-testdata.tar.xz) = 571c53a793975a2e8e75ff0b79e0be61d88187dd8846f88cadf706545e5e01c6 +SIZE (chromium-146.0.7680.164-testdata.tar.xz) = 1319956124 SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3 SIZE (rust/crates/Inflector-0.11.4.crate) = 17438 SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011 SIZE (rust/crates/ahash-0.8.11.crate) = 43607 SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 SHA256 (rust/crates/allocator-api2-0.2.18.crate) = 5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f SIZE (rust/crates/allocator-api2-0.2.18.crate) = 62504 SHA256 (rust/crates/anyhow-1.0.89.crate) = 86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6 SIZE (rust/crates/anyhow-1.0.89.crate) = 47078 SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50 SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237 SHA256 (rust/crates/ast_node-0.10.0.crate) = 9f8486443b68ecc17b8b45c6161b0194142f74622ed8dade227480a20291fc91 SIZE (rust/crates/ast_node-0.10.0.crate) = 8073 SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 SHA256 (rust/crates/base-encode-0.3.1.crate) = a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c SIZE (rust/crates/base-encode-0.3.1.crate) = 3630 SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 SIZE (rust/crates/base64-0.21.7.crate) = 82576 SHA256 (rust/crates/base64-simd-0.7.0.crate) = 781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5 SIZE (rust/crates/base64-simd-0.7.0.crate) = 9966 SHA256 (rust/crates/better_scoped_tls-0.1.1.crate) = 794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de SIZE (rust/crates/better_scoped_tls-0.1.1.crate) = 1874 SHA256 (rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de SIZE (rust/crates/bitflags-2.6.0.crate) = 45357 SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c SIZE (rust/crates/bitvec-1.0.1.crate) = 224375 SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677 SHA256 (rust/crates/cc-1.1.21.crate) = 07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0 SIZE (rust/crates/cc-1.1.21.crate) = 83463 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca SIZE (rust/crates/convert_case-0.6.0.crate) = 18675 SHA256 (rust/crates/ctor-0.2.8.crate) = edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f SIZE (rust/crates/ctor-0.2.8.crate) = 11053 SHA256 (rust/crates/cty-0.2.2.crate) = b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35 SIZE (rust/crates/cty-0.2.2.crate) = 7230 SHA256 (rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856 SIZE (rust/crates/dashmap-5.5.3.crate) = 24061 SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769 SHA256 (rust/crates/debugid-0.8.0.crate) = bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d SIZE (rust/crates/debugid-0.8.0.crate) = 12757 SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0 SIZE (rust/crates/either-1.13.0.crate) = 19169 SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80 SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954 SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 SHA256 (rust/crates/from_variant-0.1.9.crate) = 32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4 SIZE (rust/crates/from_variant-0.1.9.crate) = 1617 SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c SIZE (rust/crates/funty-2.0.0.crate) = 13160 SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 SIZE (rust/crates/getrandom-0.2.15.crate) = 37163 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165 SHA256 (rust/crates/hstr-0.2.12.crate) = dae404c0c5d4e95d4858876ab02eecd6a196bb8caa42050dfa809938833fc412 SIZE (rust/crates/hstr-0.2.12.crate) = 22307 SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 SIZE (rust/crates/idna-0.5.0.crate) = 271940 SHA256 (rust/crates/if_chain-1.0.2.crate) = cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed SIZE (rust/crates/if_chain-1.0.2.crate) = 8062 SHA256 (rust/crates/indexmap-2.5.0.crate) = 68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5 SIZE (rust/crates/indexmap-2.5.0.crate) = 85919 SHA256 (rust/crates/is-macro-0.3.6.crate) = 2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1 SIZE (rust/crates/is-macro-0.3.6.crate) = 9068 SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b SIZE (rust/crates/itoa-1.0.11.crate) = 10563 SHA256 (rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a SIZE (rust/crates/js-sys-0.3.70.crate) = 53863 SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439 SIZE (rust/crates/libc-0.2.158.crate) = 751340 SHA256 (rust/crates/libloading-0.8.5.crate) = 4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4 SIZE (rust/crates/libloading-0.8.5.crate) = 28902 SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 SIZE (rust/crates/lock_api-0.4.12.crate) = 27591 SHA256 (rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24 SIZE (rust/crates/log-0.4.22.crate) = 44027 SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 SIZE (rust/crates/memchr-2.7.4.crate) = 96670 SHA256 (rust/crates/mimalloc-rust-0.2.1.crate) = 5eb726c8298efb4010b2c46d8050e4be36cf807b9d9e98cb112f830914fc9bbe SIZE (rust/crates/mimalloc-rust-0.2.1.crate) = 5327 SHA256 (rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 6413e13241a9809f291568133eca6694572cf528c1a6175502d090adce5dd5db SIZE (rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 134952 SHA256 (rust/crates/napi-2.16.11.crate) = 53575dfa17f208dd1ce3a2da2da4659aae393b256a472f2738a8586a6c4107fd SIZE (rust/crates/napi-2.16.11.crate) = 85909 SHA256 (rust/crates/napi-build-2.1.3.crate) = e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a SIZE (rust/crates/napi-build-2.1.3.crate) = 2096 SHA256 (rust/crates/napi-derive-2.16.12.crate) = 17435f7a00bfdab20b0c27d9c56f58f6499e418252253081bfff448099da31d1 SIZE (rust/crates/napi-derive-2.16.12.crate) = 17184 SHA256 (rust/crates/napi-derive-backend-1.0.74.crate) = 967c485e00f0bf3b1bdbe510a38a4606919cf1d34d9a37ad41f25a81aa077abe SIZE (rust/crates/napi-derive-backend-1.0.74.crate) = 21755 SHA256 (rust/crates/napi-sys-2.4.0.crate) = 427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3 SIZE (rust/crates/napi-sys-2.4.0.crate) = 6582 SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086 SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582 SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801 SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 SHA256 (rust/crates/outref-0.1.0.crate) = 7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4 SIZE (rust/crates/outref-0.1.0.crate) = 3067 SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406 SHA256 (rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd SIZE (rust/crates/pathdiff-0.2.1.crate) = 7142 SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 SHA256 (rust/crates/petgraph-0.6.5.crate) = b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db SIZE (rust/crates/petgraph-0.6.5.crate) = 710970 SHA256 (rust/crates/phf-0.11.2.crate) = ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc SIZE (rust/crates/phf-0.11.2.crate) = 21569 SHA256 (rust/crates/phf_generator-0.11.2.crate) = 48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0 SIZE (rust/crates/phf_generator-0.11.2.crate) = 14190 SHA256 (rust/crates/phf_macros-0.11.2.crate) = 3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b SIZE (rust/crates/phf_macros-0.11.2.crate) = 4748 SHA256 (rust/crates/phf_shared-0.11.2.crate) = 90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b SIZE (rust/crates/phf_shared-0.11.2.crate) = 14284 SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 SHA256 (rust/crates/psm-0.1.23.crate) = aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205 SIZE (rust/crates/psm-0.1.23.crate) = 23318 SHA256 (rust/crates/ptr_meta-0.1.4.crate) = 0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1 SIZE (rust/crates/ptr_meta-0.1.4.crate) = 5754 SHA256 (rust/crates/ptr_meta_derive-0.1.4.crate) = 16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac SIZE (rust/crates/ptr_meta_derive-0.1.4.crate) = 2302 SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af SIZE (rust/crates/quote-1.0.37.crate) = 28558 SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 SIZE (rust/crates/radium-0.7.0.crate) = 10906 SHA256 (rust/crates/radix_fmt-1.0.0.crate) = ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426 SIZE (rust/crates/radix_fmt-1.0.0.crate) = 8743 SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 SIZE (rust/crates/rand-0.8.5.crate) = 87113 SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 SHA256 (rust/crates/redox_syscall-0.5.4.crate) = 0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853 SIZE (rust/crates/redox_syscall-0.5.4.crate) = 25977 SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619 SIZE (rust/crates/regex-1.10.6.crate) = 253894 SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210 SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f SIZE (rust/crates/ryu-1.0.18.crate) = 47713 SHA256 (rust/crates/ryu-js-1.0.1.crate) = ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5 SIZE (rust/crates/ryu-js-1.0.1.crate) = 74220 SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403 SIZE (rust/crates/semver-0.9.0.crate) = 17344 SHA256 (rust/crates/semver-1.0.23.crate) = 61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b SIZE (rust/crates/semver-1.0.23.crate) = 30622 SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3 SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268 SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a SIZE (rust/crates/serde-1.0.210.crate) = 78338 SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020 SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8 SIZE (rust/crates/serde_json-1.0.128.crate) = 149520 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (rust/crates/simd-abstraction-0.7.1.crate) = 9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987 SIZE (rust/crates/simd-abstraction-0.7.1.crate) = 9170 SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d SIZE (rust/crates/siphasher-0.3.11.crate) = 10442 SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 SHA256 (rust/crates/smartstring-1.0.1.crate) = 3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29 SIZE (rust/crates/smartstring-1.0.1.crate) = 29555 SHA256 (rust/crates/sourcemap-9.0.0.crate) = dab08a862c70980b8e23698b507e272317ae52a608a164a844111f5372374f1f SIZE (rust/crates/sourcemap-9.0.0.crate) = 43857 SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054 SHA256 (rust/crates/stacker-0.1.17.crate) = 799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b SIZE (rust/crates/stacker-0.1.17.crate) = 14699 SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (rust/crates/string_enum-0.4.4.crate) = 05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90 SIZE (rust/crates/string_enum-0.4.4.crate) = 3861 SHA256 (rust/crates/swc_allocator-0.1.8.crate) = adc8bd3075d1c6964010333fae9ddcd91ad422a4f8eb8b3206a9b2b6afb4209e SIZE (rust/crates/swc_allocator-0.1.8.crate) = 12576 SHA256 (rust/crates/swc_atoms-0.7.0.crate) = 8ff4ad2795eabc349fb7ac1bdccb2625858a8be5545703ef31d5b5dc7a9f37f4 SIZE (rust/crates/swc_atoms-0.7.0.crate) = 3503 SHA256 (rust/crates/swc_cached-0.3.20.crate) = 83406221c501860fce9c27444f44125eafe9e598b8b81be7563d7036784cd05c SIZE (rust/crates/swc_cached-0.3.20.crate) = 1958 SHA256 (rust/crates/swc_common-0.39.0.crate) = 04012755fd21334086b5ee2467a6236afea869d0aff3bdf8b20dc07ee5f676c6 SIZE (rust/crates/swc_common-0.39.0.crate) = 80673 SHA256 (rust/crates/swc_compiler_base-0.22.0.crate) = 72452f40c7bc9c133b060cbc73f032d0c5ce87843d301e4ef33faa09008b83be SIZE (rust/crates/swc_compiler_base-0.22.0.crate) = 5051 SHA256 (rust/crates/swc_config-0.1.15.crate) = 4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000 SIZE (rust/crates/swc_config-0.1.15.crate) = 4839 SHA256 (rust/crates/swc_config_macro-0.1.4.crate) = 7c5f56139042c1a95b54f5ca48baa0e0172d369bcc9d3d473dad1de36bae8399 SIZE (rust/crates/swc_config_macro-0.1.4.crate) = 1717 SHA256 (rust/crates/swc_ecma_ast-0.120.0.crate) = bb7f7d4a08f9a413b27506903a5a893a51bd0df6c8b91203fbb76aa217472ed6 SIZE (rust/crates/swc_ecma_ast-0.120.0.crate) = 34640 SHA256 (rust/crates/swc_ecma_codegen-0.157.0.crate) = 78ce83228e9304008f2df1d21e0e88d70232c438337f5faad27024974e2d3a09 SIZE (rust/crates/swc_ecma_codegen-0.157.0.crate) = 52829 SHA256 (rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca SIZE (rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 2945 SHA256 (rust/crates/swc_ecma_minifier-0.207.0.crate) = 15739c02dff0b2b3fe10146b0105b7842b7f71e9340f226b6f1862db15a680f6 SIZE (rust/crates/swc_ecma_minifier-0.207.0.crate) = 225454 SHA256 (rust/crates/swc_ecma_parser-0.151.0.crate) = 3c23f8288f6a38f84a1b82896917eac3adf92e37dee19cbc1c42cebab7b48590 SIZE (rust/crates/swc_ecma_parser-0.151.0.crate) = 150827 SHA256 (rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 0231922ee5391a452ea47f7bf6ffde401fd7ceb201b8ac6343c885758e33551e SIZE (rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 72533 SHA256 (rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 500a1dadad1e0e41e417d633b3d6d5de677c9e0d3159b94ba3348436cdb15aab SIZE (rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 3827 SHA256 (rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 5966e6e631795b350441fcfea34dd00d6ad637d182033697f606c82a74d64894 SIZE (rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 61838 SHA256 (rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = ae003379b4b3f0ef1b149014a9bac0db7261ebd8b8abe03e51be3fd2b0134fe4 SIZE (rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = 11954 SHA256 (rust/crates/swc_ecma_utils-0.136.0.crate) = df9b03b44d3342bcf4e3f8a4c05605e07c642b537198a5534314c433a3767fe5 SIZE (rust/crates/swc_ecma_utils-0.136.0.crate) = 32888 SHA256 (rust/crates/swc_ecma_visit-0.106.0.crate) = f4ee9335a4ad1a78587d5cb0d75a8c718a53d40eaf37475e3eda9c4ed1741da0 SIZE (rust/crates/swc_ecma_visit-0.106.0.crate) = 318891 SHA256 (rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497 SIZE (rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 2741 SHA256 (rust/crates/swc_fast_graph-0.27.0.crate) = accc67d03a5b88d5d8fc4ba051738075ba0e12194d1dc26f9f88a776026fe938 SIZE (rust/crates/swc_fast_graph-0.27.0.crate) = 7100 SHA256 (rust/crates/swc_macros_common-0.3.13.crate) = f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847 SIZE (rust/crates/swc_macros_common-0.3.13.crate) = 6666 SHA256 (rust/crates/swc_timer-0.27.0.crate) = f53899e4ab3f9ce3db83b4c845f8a27f37bf700b233febbc9a6da749651c2fbb SIZE (rust/crates/swc_timer-0.27.0.crate) = 1680 SHA256 (rust/crates/swc_visit-0.6.2.crate) = 1ceb044142ba2719ef9eb3b6b454fce61ab849eb696c34d190f04651955c613d SIZE (rust/crates/swc_visit-0.6.2.crate) = 5188 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (rust/crates/syn-1.0.109.crate) = 237611 SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed SIZE (rust/crates/syn-2.0.77.crate) = 268784 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (rust/crates/tap-1.0.1.crate) = 11316 SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938 SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796 SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef SIZE (rust/crates/tracing-0.1.40.crate) = 79459 SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 SHA256 (rust/crates/triomphe-0.1.13.crate) = e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369 SIZE (rust/crates/triomphe-0.1.13.crate) = 29568 SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848 SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811 SHA256 (rust/crates/unicode-id-0.3.5.crate) = 10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561 SIZE (rust/crates/unicode-id-0.3.5.crate) = 16807 SHA256 (rust/crates/unicode-id-start-1.3.0.crate) = 97e2a3c5fc9de285c0e805d98eba666adb4b2d9e1049ce44821ff7707cc34e91 SIZE (rust/crates/unicode-id-start-1.3.0.crate) = 43825 SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279 SHA256 (rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956 SIZE (rust/crates/unicode-normalization-0.1.24.crate) = 126536 SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493 SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323 SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615 SHA256 (rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c SIZE (rust/crates/url-2.5.2.crate) = 79704 SHA256 (rust/crates/uuid-1.10.0.crate) = 81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314 SIZE (rust/crates/uuid-1.10.0.crate) = 47648 SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a SIZE (rust/crates/version_check-0.9.5.crate) = 15554 SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 SHA256 (rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5 SIZE (rust/crates/wasm-bindgen-0.2.93.crate) = 43769 SHA256 (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b SIZE (rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344 SHA256 (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf SIZE (rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822 SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836 SIZE (rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642 SHA256 (rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484 SIZE (rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527 SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (rust/crates/xxhash-rust-0.8.12.crate) = 6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984 SIZE (rust/crates/xxhash-rust-0.8.12.crate) = 21329 SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0 SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645 SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829 SHA256 (rollup-rollup-v4.22.4_GH0.tar.gz) = a7e5c09f00fe50adabe27fef8455510f156cf73fee8aef1faf3804b653988e4c SIZE (rollup-rollup-v4.22.4_GH0.tar.gz) = 1732642 SHA256 (evanw-esbuild-v0.27.1_GH0.tar.gz) = bcc3abdc911961ef04340714dc69ddc34af6d2e2c60a1c4036d1c7f1a3fc4a23 SIZE (evanw-esbuild-v0.27.1_GH0.tar.gz) = 1978868 diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index d3f47f71384e..38d3e0a57fe7 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ BUILD.gn @@ -68,7 +68,7 @@ declare_args() { root_extra_deps = [] } -if (is_official_build) { +if (is_official_build && !is_bsd) { # An official (maximally optimized!) component (optimized for build times) # build doesn't make sense and usually doesn't work. assert(!is_component_build) @@ -101,7 +101,6 @@ group("gn_all") { "//codelabs", "//components:components_unittests", "//components/gwp_asan:gwp_asan_unittests", - "//infra/orchestrator:orchestrator_all", "//net:net_unittests", "//sandbox:sandbox_unittests", "//services:services_unittests", -@@ -429,7 +428,7 @@ group("gn_all") { +@@ -428,7 +427,7 @@ group("gn_all") { } } - if (is_linux || is_chromeos || is_android) { + if ((is_linux && !is_bsd) || is_chromeos || is_android) { deps += [ "//third_party/breakpad:breakpad_unittests", "//third_party/breakpad:core-2-minidump", -@@ -596,6 +595,15 @@ group("gn_all") { +@@ -595,6 +594,15 @@ group("gn_all") { } } + if (is_bsd) { + deps -= [ + "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", + "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", + ] + } + if (is_mac) { deps += [ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", -@@ -644,7 +652,7 @@ group("gn_all") { +@@ -643,7 +651,7 @@ group("gn_all") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # The official builders use this binary from the default toolchain's # output directory after building in order to upload the symbols of that # binary. They build the binary like `ninja symupload` which requires the -@@ -679,7 +687,7 @@ group("gn_all") { +@@ -678,7 +686,7 @@ group("gn_all") { ] } - if (is_mac || is_win || is_android || is_linux || is_chromeos) { + if (!is_bsd && (is_mac || is_win || is_android || is_linux || is_chromeos)) { deps += [ "//third_party/crashpad/crashpad:crashpad_tests", "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -1070,7 +1078,7 @@ if (use_blink && !is_cronet_build) { +@@ -1083,7 +1091,7 @@ if (use_blink && !is_cronet_build) { "//third_party/blink/public:all_blink", ] - if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos) { + if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { deps += [ ":chrome_wpt_tests", ":headless_shell_wpt", -@@ -1223,7 +1231,7 @@ if (use_blink && !is_cronet_build) { +@@ -1236,7 +1244,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1237,7 +1245,7 @@ if (use_blink && !is_cronet_build) { +@@ -1250,7 +1258,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//third_party/breakpad:dump_syms" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1534,7 +1542,7 @@ group("chromium_builder_perf") { +@@ -1547,7 +1555,7 @@ group("chromium_builder_perf") { data_deps += [ "//chrome/test:performance_browser_tests" ] } - if (!is_win) { + if (!is_win && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ] } } diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index d4977bc100bd..67807359836e 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-02-11 09:05:39 UTC +--- base/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ base/BUILD.gn -@@ -1136,11 +1136,26 @@ component("base") { +@@ -1160,11 +1160,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" ] -@@ -1160,7 +1175,7 @@ component("base") { +@@ -1184,7 +1199,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" ] } -@@ -2165,6 +2180,22 @@ component("base") { +@@ -2193,6 +2208,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 += [ -@@ -2339,6 +2370,33 @@ component("base") { +@@ -2367,6 +2398,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", -@@ -2769,7 +2827,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2797,7 +2855,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" ] -@@ -3275,7 +3333,7 @@ if (is_apple) { +@@ -3309,7 +3367,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 -@@ -4015,7 +4073,7 @@ test("base_unittests") { +@@ -4052,7 +4110,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", -@@ -4040,7 +4098,7 @@ test("base_unittests") { +@@ -4077,7 +4135,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", -@@ -4051,7 +4109,7 @@ test("base_unittests") { +@@ -4088,7 +4146,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" ] } -@@ -4238,7 +4296,7 @@ test("base_unittests") { +@@ -4275,7 +4333,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_partition__allocator_partition__alloc.gni b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index b30eb42d656b..31b1ef13a830 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-10-30 15:44:36 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2026-03-13 06:02:14 UTC +++ base/allocator/partition_allocator/partition_alloc.gni @@ -92,7 +92,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || # TODO(crbug.com/329199197): Clean this up when experiments are complete. use_large_empty_slot_span_ring = true -has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && +has_memory_tagging = current_cpu == "arm64" && !is_bsd && is_clang && !is_asan && !is_hwasan && (is_linux || is_android) declare_args() { -@@ -486,7 +486,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -500,7 +500,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl # dependencies that use partition_allocator are compiled in AOSP against a # version of glibc that does not include pkeys syscall numbers. is_pkeys_available = - (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build + !is_bsd && (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build declare_args() { enable_pkeys = is_pkeys_available } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn index 101bade8b2cf..96c6f4694360 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn -@@ -903,7 +903,7 @@ if (is_clang_or_gcc) { +@@ -923,7 +923,7 @@ if (is_clang_or_gcc) { configs -= [ partition_alloc_enable_arc_config ] } } - if (is_chromeos || is_linux) { + if ((is_chromeos || is_linux) && !is_bsd) { shim_headers += [ "shim/allocator_shim_override_cpp_symbols.h", "shim/allocator_shim_override_glibc_weak_symbols.h", 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 f1e89128ad17..a097d797dc33 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 2026-02-11 09:05:39 UTC +--- base/posix/unix_domain_socket.cc.orig 2026-03-13 06:02:14 UTC +++ base/posix/unix_domain_socket.cc @@ -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" @@ -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 -@@ -69,7 +70,7 @@ bool UnixDomainSocket::SendMsg(int fd, +@@ -70,7 +71,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; -@@ -77,7 +78,7 @@ bool UnixDomainSocket::SendMsg(int fd, +@@ -78,7 +79,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()); -@@ -129,7 +130,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -127,7 +128,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)) -@@ -159,7 +160,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -157,7 +158,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) { -@@ -197,6 +198,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -195,6 +196,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_process_process__posix.cc b/www/chromium/files/patch-base_process_process__posix.cc index 02b9faa026af..4abacb58f8ef 100644 --- a/www/chromium/files/patch-base_process_process__posix.cc +++ b/www/chromium/files/patch-base_process_process__posix.cc @@ -1,94 +1,94 @@ ---- base/process/process_posix.cc.orig 2025-08-07 06:57:29 UTC +--- base/process/process_posix.cc.orig 2026-03-13 06:02:14 UTC +++ base/process/process_posix.cc @@ -25,10 +25,15 @@ #include "base/trace_event/trace_event.h" #include "build/build_config.h" -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include #endif +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #if BUILDFLAG(CLANG_PROFILING) #include "base/test/clang_profiling.h" #endif @@ -104,7 +109,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, } #endif -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Using kqueue on Mac so that we can wait on non-child processes. // We can't use kqueues on child processes because we need to reap // our own children using wait. -@@ -387,7 +392,7 @@ bool Process::WaitForExitWithTimeoutImpl(base::Process +@@ -370,7 +375,7 @@ bool Process::WaitForExitWithTimeoutImpl(base::Process const bool exited = (parent_pid < 0); if (!exited && parent_pid != our_pid) { -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // On Mac we can wait on non child processes. return WaitForSingleNonChildProcess(handle, timeout); #else -@@ -424,7 +429,56 @@ void Process::Exited(int exit_code) const { +@@ -403,7 +408,56 @@ void Process::Exited(int exit_code) const {} int Process::GetOSPriority() const { DCHECK(IsValid()); +// avoid pledge(2) violation +#if BUILDFLAG(IS_BSD) + return 0; +#else return getpriority(PRIO_PROCESS, static_cast(process_)); +#endif } + +Time Process::CreationTime() const { +// avoid ps pledge in the network process +#if !BUILDFLAG(IS_BSD) + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), + sizeof(struct kinfo_proc), 0 }; + struct kinfo_proc *info = nullptr; + size_t info_size; +#endif + Time ct = Time(); + +#if !BUILDFLAG(IS_BSD) + if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) + goto out; + + mib[5] = (info_size / sizeof(struct kinfo_proc)); + if ((info = reinterpret_cast(malloc(info_size))) == NULL) + goto out; + + if (sysctl(mib, std::size(mib), info, &info_size, NULL, 0) < 0) + goto out; + + ct = Time::FromTimeT(info->p_ustart_sec); + +out: + if (info) + free(info); +#endif + return ct; +} + +#if BUILDFLAG(IS_BSD) +Process::Priority Process::GetPriority() const { + return Priority::kUserBlocking; +} + +bool Process::SetPriority(Priority priority) { + return false; +} + +bool Process::CanSetPriority() { + return false; +} +#endif } // namespace base diff --git a/www/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc index 1050135f3158..4cb8061c2fee 100644 --- a/www/chromium/files/patch-base_process_process__unittest.cc +++ b/www/chromium/files/patch-base_process_process__unittest.cc @@ -1,11 +1,11 @@ ---- base/process/process_unittest.cc.orig 2025-02-19 07:43:18 UTC +--- base/process/process_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ base/process/process_unittest.cc -@@ -202,7 +202,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { +@@ -147,7 +147,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { // was spawned and a time recorded after it was spawned. However, since the // base::Time and process creation clocks don't match, tolerate some error. constexpr base::TimeDelta kTolerance = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, process creation time is relative to boot time which has a // 1-second resolution. Tolerate 1 second for the imprecise boot time and // 100 ms for the imprecise clock. diff --git a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc index c8ce97140751..14bbb0043a74 100644 --- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc +++ b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc @@ -1,11 +1,11 @@ ---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2025-03-05 08:14:56 UTC +--- base/profiler/stack_sampling_profiler_test_util.cc.orig 2026-03-13 06:02:14 UTC +++ base/profiler/stack_sampling_profiler_test_util.cc -@@ -50,7 +50,7 @@ +@@ -46,7 +46,7 @@ // Fortunately, it provides _alloca, which functions identically. #include #define alloca _alloca -#else +#elif !BUILDFLAG(IS_BSD) #include #endif diff --git a/www/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h index dce795735f7d..88613ac86bd4 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 2026-02-11 09:05:39 UTC +--- base/rand_util.h.orig 2026-03-13 06:02:14 UTC +++ base/rand_util.h -@@ -222,7 +222,7 @@ decltype(auto) RandomChoice(Range&& r) { +@@ -225,7 +225,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_test_test__file__util__posix.cc b/www/chromium/files/patch-base_test_test__file__util__posix.cc index 5eb9327a367b..af9ce80d6a04 100644 --- a/www/chromium/files/patch-base_test_test__file__util__posix.cc +++ b/www/chromium/files/patch-base_test_test__file__util__posix.cc @@ -1,11 +1,11 @@ ---- base/test/test_file_util_posix.cc.orig 2025-02-19 07:43:18 UTC +--- base/test/test_file_util_posix.cc.orig 2026-03-13 06:02:14 UTC +++ base/test/test_file_util_posix.cc -@@ -93,7 +93,7 @@ void SyncPageCacheToDisk() { +@@ -66,7 +66,7 @@ void SyncPageCacheToDisk() { } #if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ - !BUILDFLAG(IS_ANDROID) + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) bool EvictFileFromSystemCache(const FilePath& file) { // There doesn't seem to be a POSIX way to cool the disk cache. NOTIMPLEMENTED(); diff --git a/www/chromium/files/patch-base_threading_platform__thread.h b/www/chromium/files/patch-base_threading_platform__thread.h index 8e4cc0d3dd07..dc018b01d319 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 2026-02-11 09:05:39 UTC +--- base/threading/platform_thread.h.orig 2026-03-13 06:02:14 UTC +++ base/threading/platform_thread.h -@@ -60,6 +60,8 @@ class BASE_EXPORT PlatformThreadId { +@@ -61,6 +61,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 efc25da27b40..7d3b50d11f92 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__bsd.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__bsd.cc @@ -1,44 +1,43 @@ ---- base/threading/platform_thread_bsd.cc.orig 2026-02-11 09:05:39 UTC +--- base/threading/platform_thread_bsd.cc.orig 2026-03-13 06:02:14 UTC +++ base/threading/platform_thread_bsd.cc -@@ -0,0 +1,41 @@ +@@ -0,0 +1,40 @@ +// 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, -+ bool may_change_affinity) { ++ MessagePumpType pump_type_hint) { + NOTIMPLEMENTED(); + return; +} + +bool CanSetThreadTypeToRealtimeAudio() { + return false; +} + +PlatformPriorityOverride SetThreadTypeOverride( + PlatformThreadHandle thread_handle, + ThreadType thread_type) { + return false; +} + +void RemoveThreadTypeOverride( + PlatformThreadHandle thread_handle, + const PlatformPriorityOverride& priority_override_handle, + 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_trace__event_memory__dump__manager.cc b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc index 39dfc5573705..c80e1f3b38a8 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 2026-02-11 09:05:39 UTC +--- base/trace_event/memory_dump_manager.cc.orig 2026-03-13 06:02:14 UTC +++ base/trace_event/memory_dump_manager.cc -@@ -84,7 +84,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP +@@ -95,7 +95,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-build_config_clang_BUILD.gn b/www/chromium/files/patch-build_config_clang_BUILD.gn index 3bda8941531a..2bdeefe79bf9 100644 --- a/www/chromium/files/patch-build_config_clang_BUILD.gn +++ b/www/chromium/files/patch-build_config_clang_BUILD.gn @@ -1,16 +1,16 @@ ---- build/config/clang/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- build/config/clang/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ build/config/clang/BUILD.gn -@@ -233,7 +233,12 @@ template("clang_lib") { +@@ -237,7 +237,12 @@ template("clang_lib") { # Adds a dependency on the Clang runtime library clang_rt.builtins. clang_lib("compiler_builtins") { - if (is_mac) { + if (is_bsd) { + # Since there's no Rust in the toolchain, there's no concern that we'll use + # the Rust stdlib's intrinsics here. + # + # Don't define libname which makes this target do nothing. + } else if (is_mac) { libname = "osx" } else if (is_ios) { if (target_platform == "iphoneos") { diff --git a/www/chromium/files/patch-build_config_clang_clang.gni b/www/chromium/files/patch-build_config_clang_clang.gni index ceed021e3803..a0907a973fcc 100644 --- a/www/chromium/files/patch-build_config_clang_clang.gni +++ b/www/chromium/files/patch-build_config_clang_clang.gni @@ -1,11 +1,10 @@ ---- build/config/clang/clang.gni.orig 2026-02-11 09:05:39 UTC +--- build/config/clang/clang.gni.orig 2026-03-13 06:02:14 UTC +++ build/config/clang/clang.gni -@@ -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 && +@@ -40,6 +40,7 @@ android_supported_cpus = [ + "x86", + ] + clang_modules_platform_supported = ++ !is_bsd && + # s390x should work, but IBM doesn't want it enabled for that cpu arch. + (is_linux && current_cpu != "s390x") || + (is_android && diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index 2ae4e7592000..f2ccd3faf160 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,121 +1,137 @@ ---- build/config/compiler/BUILD.gn.orig 2026-02-11 09:05:39 UTC +--- build/config/compiler/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ build/config/compiler/BUILD.gn -@@ -201,7 +201,7 @@ declare_args() { +@@ -202,7 +202,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 -@@ -291,7 +291,7 @@ assert(is_bot || +@@ -292,7 +292,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 --------------------------------------------------------- -@@ -309,13 +309,16 @@ config("default_include_dirs") { +@@ -310,13 +310,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 --------------------------------------------------------------------- -@@ -588,6 +591,10 @@ config("compiler") { +@@ -589,6 +592,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_icf && (!is_apple || use_lld)) { -@@ -678,7 +685,7 @@ config("compiler") { +@@ -679,7 +686,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 += [ -@@ -1287,7 +1294,7 @@ config("compiler_cpu_abi") { +@@ -1288,7 +1295,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 { -@@ -1301,7 +1308,7 @@ config("compiler_cpu_abi") { +@@ -1302,7 +1309,7 @@ config("compiler_cpu_abi") { ldflags += [ "-march=$cros_target_cpu_arch" ] } } 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 { -@@ -1313,7 +1320,7 @@ config("compiler_cpu_abi") { +@@ -1314,7 +1321,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" ] } -@@ -1322,7 +1329,7 @@ config("compiler_cpu_abi") { +@@ -1323,7 +1330,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" ] } -@@ -1732,7 +1739,7 @@ config("compiler_deterministic") { +@@ -1735,7 +1742,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) { -@@ -2965,7 +2972,7 @@ config("afdo_optimize_size") { +@@ -1860,13 +1867,13 @@ config("sanitize_c_array_bounds") { + # sanitizer) is enabled, they then do expensive debug like operations. We + # want to suppress this behaviour since we want to keep performance costs + # as low as possible while having these checks. +- "-fsanitize-ignore-for-ubsan-feature=array-bounds", ++ # "-fsanitize-ignore-for-ubsan-feature=array-bounds", + + # Because we've enabled array-bounds sanitizing we also want to suppress + # the related warning about "unsafe-buffer-usage-in-static-sized-array", + # since we know that the array bounds sanitizing will catch any out-of- + # bounds accesses. +- "-Wno-unsafe-buffer-usage-in-static-sized-array", ++ # "-Wno-unsafe-buffer-usage-in-static-sized-array", + ] + } + } +@@ -2980,7 +2987,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. -@@ -2992,7 +2999,7 @@ config("afdo") { +@@ -3007,7 +3014,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 5f605fc54a34..8a1211cc72fb 100644 --- a/www/chromium/files/patch-build_config_rust.gni +++ b/www/chromium/files/patch-build_config_rust.gni @@ -1,39 +1,50 @@ ---- build/config/rust.gni.orig 2026-02-11 09:05:39 UTC +--- build/config/rust.gni.orig 2026-03-13 06:02:14 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. # -@@ -161,6 +162,13 @@ if (enable_rust) { +@@ -180,6 +181,24 @@ if (enable_rust) { } else { toolchain_has_rust = custom_toolchain_supports_platform rustc_revision = rustc_version -+ rust_revision_pieces = string_split(rustc_revision, " ") ++ # Example: ++ # rustc 1.88.0 c8f94230282a8e8c1148f3e657f0199aad909228 (c8f94230282a8e8c1148f3e657f0199aad909228-1-llvmorg-21-init-9266-g09006611 chromium) ++ # Trim it down as much as we can using GN. ++ rustc_revision = string_replace(rustc_revision, "rustc ", "") ++ rustc_revision = string_replace(rustc_revision, " chromium", "") ++ rustc_revision = string_replace(rustc_revision, "init-", "") ++ rustc_revision = string_replace(rustc_revision, "llvmorg-", "") ++ rustc_revision = string_replace(rustc_revision, " ", "") ++ rustc_revision = string_replace(rustc_revision, ".", "") ++ rustc_revision = string_replace(rustc_revision, "(", "-") ++ rustc_revision = string_replace(rustc_revision, ")", "") ++ rust_revision_pieces = string_split(rustc_version, " ") + 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) { +@@ -355,7 +374,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 e4140d445527..95c7880a37ef 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-02-11 09:05:39 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2026-03-13 06:02:14 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). # -@@ -908,22 +915,12 @@ template("gcc_toolchain") { +@@ -913,22 +920,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__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc index ad2c485cd090..c3e8ab471cac 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-02-11 09:05:39 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/app/chrome_main_delegate.cc @@ -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 @@ -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 @@ -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, @@ -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 @@ -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) || @@ -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; @@ -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. @@ -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. @@ -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( @@ -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(); -@@ -995,7 +995,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { +@@ -983,7 +983,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; -@@ -1137,7 +1137,7 @@ std::optional ChromeMainDelegate::BasicStartupCom +@@ -1125,7 +1125,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 -@@ -1453,7 +1453,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1441,7 +1441,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 db7cb56f29b0..b66dfd5d9ee9 100644 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- chrome/browser/BUILD.gn.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/BUILD.gn.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/BUILD.gn -@@ -7106,6 +7106,13 @@ static_library("browser") { +@@ -7100,6 +7100,13 @@ static_library("browser") { [ "//third_party/webrtc/modules/desktop_capture:pipewire_config" ] } + if (is_bsd) { + sources -= [ + "metrics/bluetooth_metrics_provider.cc", + "metrics/bluetooth_metrics_provider.h", + ] + } + if (use_dbus) { sources += [ "dbus_memory_pressure_evaluator_linux.cc", diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index 1a93de5e526b..c323b63de1fc 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,538 +1,562 @@ ---- chrome/browser/about_flags.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/about_flags.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/about_flags.cc @@ -331,13 +331,13 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck + #include "chrome/browser/enterprise/data_protection/data_protection_features.h" #include "chrome/browser/enterprise/profile_management/profile_management_features.h" - #include "chrome/browser/enterprise/webstore/features.h" -@@ -821,6 +821,26 @@ const FeatureEntry::FeatureVariation - std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam), - nullptr}}; +@@ -354,7 +354,7 @@ + #include "components/enterprise/platform_auth/platform_auth_features.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/reporting/reporting_features.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + +@@ -787,6 +787,23 @@ const FeatureEntry::FeatureVariation + "identity request to Android OS", + kWebIdentityDigitalIdentityCredentialHighRiskDialogParam, nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { -+ {"using PulseAudio by default if available", kAudioBackendPulseAudio, -+ 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}}; ++ {"using PulseAudio by default if available", ++ kAudioBackendPulseAudio, nullptr}, ++ {"using sndio by default if available", ++ kAudioBackendSndio, nullptr}, ++ {"using ALSA by default if available", ++ kAudioBackendAlsa, nullptr}}; +#endif + - const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { - {"UIClipboardMaximumAge", "60"}}; - const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { -@@ -1309,7 +1329,7 @@ const FeatureEntry::FeatureVariation + const FeatureEntry::FeatureParam kMBIModeLegacy[] = {{"mode", "legacy"}}; + const FeatureEntry::FeatureParam kMBIModeEnabledPerRenderProcessHost[] = { + {"mode", "per_render_process_host"}}; +@@ -1211,7 +1228,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -3846,7 +3866,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso +@@ -3411,7 +3428,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = -@@ -3876,7 +3896,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -3437,7 +3454,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const FeatureEntry::Choice kReplaceSyncPromosWithSignInPromosChoices[] = { {"Default", "", ""}, {"Disabled", switches::kDisableFeatures, -@@ -4113,7 +4133,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -3639,7 +3656,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4897,7 +4917,7 @@ const FeatureEntry::FeatureVariation +@@ -4378,7 +4395,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -5015,7 +5035,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa - nullptr}}; +@@ -4479,7 +4496,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa + kSeamlessSigninCompactSignin, nullptr}}; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { {"profile-picker-variation", "keep-work-and-life-separate"}}; const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { -@@ -5676,7 +5696,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, -@@ -5969,7 +5989,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5451,7 +5468,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableIsolatedWebAppDevModeName, flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)}, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -6160,7 +6180,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5642,7 +5659,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -6180,6 +6200,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5657,6 +5674,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -7022,7 +7052,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6152,7 +6179,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kFillOnAccountSelectDescription, kOsAll, + FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"first-run-desktop-refresh", + flag_descriptions::kFirstRunDesktopRefreshName, + flag_descriptions::kFirstRunDesktopRefreshDescription, +@@ -6488,7 +6515,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -7437,7 +7467,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6896,7 +6923,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7628,7 +7658,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7081,7 +7108,7 @@ const FeatureEntry kFeatureEntries[] = { "NtpRealboxNext")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -7906,7 +7936,7 @@ const FeatureEntry kFeatureEntries[] = { - #endif // BUILDFLAG(ENABLE_PDF) +@@ -7327,7 +7354,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_PRINTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8775,7 +8805,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)}, - #endif // !BUILDFLAG(IS_CHROMEOS) +@@ -8180,7 +8207,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kGesturePropertiesDBusService)}, + #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -9313,7 +9343,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8701,7 +8728,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -9752,7 +9782,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9155,7 +9182,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"auto-picture-in-picture-for-video-playback", flag_descriptions::kAutoPictureInPictureForVideoPlaybackName, flag_descriptions::kAutoPictureInPictureForVideoPlaybackDescription, -@@ -9937,7 +9967,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9336,7 +9363,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -10459,7 +10489,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9835,7 +9862,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -10474,7 +10504,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9850,7 +9877,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-user-navigation-capturing-pwa", flag_descriptions::kPwaNavigationCapturingName, flag_descriptions::kPwaNavigationCapturingDescription, -@@ -10872,7 +10902,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10253,7 +10280,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -11256,7 +11286,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10609,7 +10636,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -11335,7 +11365,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10688,7 +10715,7 @@ const FeatureEntry kFeatureEntries[] = { password_manager::features::kPasswordFormClientsideClassifier)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsDesktop, FEATURE_WITH_PARAMS_VALUE_TYPE(contextual_cueing::kContextualCueing, -@@ -11697,7 +11727,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11079,7 +11106,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -11733,7 +11763,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11110,7 +11137,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -11880,7 +11910,7 @@ const FeatureEntry kFeatureEntries[] = { - apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)}, - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -11262,7 +11289,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE( + feature_engagement::kIPHAutofillCreditCardBenefitFeature)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -11909,7 +11939,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(supervised_user::kSupervisedUserBlockInterstitialV3)}, +@@ -11308,7 +11335,7 @@ const FeatureEntry kFeatureEntries[] = { + supervised_user::kSupervisedUserUseUrlFilteringService)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -11924,7 +11954,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11323,7 +11350,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableWebAppPredictableAppUpdatingDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebAppPredictableAppUpdating)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -12186,7 +12216,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11577,7 +11604,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -12269,7 +12299,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11647,7 +11674,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -12365,7 +12395,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11728,7 +11755,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -12438,7 +12468,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11792,7 +11819,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -12729,7 +12759,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12101,7 +12128,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID), #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-ntp-enterprise-shortcuts", flag_descriptions::kEnableNtpEnterpriseShortcutsName, flag_descriptions::kEnableNtpEnterpriseShortcutsDescription, -@@ -12871,7 +12901,7 @@ const FeatureEntry kFeatureEntries[] = { - autofill::features::kAutofillAndPasswordsInSameSurface)}, +@@ -12212,7 +12239,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -12891,7 +12921,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12232,7 +12259,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillPreferBuyNowPayLaterBlocklists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-ai-based-amount-extraction", flag_descriptions::kAutofillEnableAiBasedAmountExtractionName, flag_descriptions::kAutofillEnableAiBasedAmountExtractionDescription, -@@ -12973,7 +13003,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12314,7 +12341,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -13031,7 +13061,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12372,7 +12399,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-manager", flag_descriptions::kPasskeyUnlockManagerName, flag_descriptions::kPasskeyUnlockManagerDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockManager)}, -@@ -13072,7 +13102,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12413,7 +12440,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kUserValueDefaultBrowserStrings)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-read-aloud-ts-text-segmentation", flag_descriptions::kReadAnythingReadAloudTsTextSegmentationName, flag_descriptions::kReadAnythingReadAloudTsTextSegmentationDescription, -@@ -13084,7 +13114,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12425,7 +12452,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -13092,7 +13122,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12433,7 +12460,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-prefill-name-requirement", flag_descriptions:: kProfileCreationFrictionReductionExperimentPrefillNameRequirementName, -@@ -13104,7 +13134,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12445,7 +12472,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentPrefillNameRequirement)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-remove-signin-step", flag_descriptions:: kProfileCreationFrictionReductionExperimentRemoveSigninStepName, -@@ -13116,7 +13146,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12457,7 +12484,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentRemoveSigninStep)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-skip-customize-profile", flag_descriptions:: kProfileCreationFrictionReductionExperimentSkipCustomizeProfileName, -@@ -13128,7 +13158,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12469,7 +12496,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentSkipCustomizeProfile)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"show-profile-picker-to-all-users-experiment", flag_descriptions::kShowProfilePickerToAllUsersExperimentName, flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, -@@ -13136,7 +13166,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12477,7 +12504,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kShowProfilePickerToAllUsersExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"open-all-profiles-from-profile-picker-experiment", flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentName, flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentDescription, -@@ -13179,7 +13209,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12520,7 +12547,7 @@ const FeatureEntry kFeatureEntries[] = { "AndroidDesktopZoomScaling")}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-picker-text-variations", flag_descriptions::kProfilePickerTextVariationsName, flag_descriptions::kProfilePickerTextVariationsDescription, -@@ -13190,7 +13220,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12531,7 +12558,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -13209,7 +13239,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12550,7 +12577,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(network::features::kConnectionAllowlists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -13217,7 +13247,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12558,7 +12585,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-omnibox-chip", flag_descriptions::kReadAnythingOmniboxChipName, flag_descriptions::kReadAnythingOmniboxChipDescription, kOsDesktop, -@@ -13261,7 +13291,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12587,7 +12614,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillDisableBnplCountryCheckForTesting)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"infobar-prioritization", flag_descriptions::kInfobarPrioritizationName, flag_descriptions::kInfobarPrioritizationDescription, kOsDesktop, FEATURE_VALUE_TYPE(infobars::features::kInfobarPrioritization)}, -@@ -13279,7 +13309,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12605,7 +12632,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-immersive-reading-mode", flag_descriptions::kReadAnythingImmersiveReadingModeName, flag_descriptions::kReadAnythingImmersiveReadingModeDescription, -@@ -13292,7 +13322,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12618,7 +12645,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription, -@@ -13365,7 +13395,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12691,7 +12718,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-your-saved-info-settings-page", flag_descriptions::kYourSavedInfoSettingsPageName, flag_descriptions::kYourSavedInfoSettingsPageDescription, kOsDesktop, -@@ -13462,14 +13492,14 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12788,14 +12815,14 @@ const FeatureEntry kFeatureEntries[] = { autofill::features:: kAutofillAiBasedAmountExtractionIgnoreSeenTermsForTesting)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"updater-ui", flag_descriptions::kUpdaterUIName, flag_descriptions::kUpdaterUIDescription, kOsLinux | kOsMac | kOsWin, FEATURE_VALUE_TYPE(features::kUpdaterUI)}, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-line-focus", flag_descriptions::kReadAnythingLineFocusName, flag_descriptions::kReadAnythingLineFocusDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kReadAnythingLineFocus)}, +@@ -12819,7 +12846,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(payments::android::kDeduplicateNativePaymentApps)}, + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"password-upload-ui-update", + flag_descriptions::kPasswordUploadUiUpdateName, + flag_descriptions::kPasswordUploadUiUpdateDescription, +@@ -12848,7 +12875,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(chrome::android::kAlwaysDrawCompositedToolbarHairline)}, + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"saas-usage-reporting", flag_descriptions::kSaasUsageReportingName, + flag_descriptions::kSaasUsageReportingDescription, + kOsLinux | kOsMac | kOsWin, diff --git a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index 38cdd87a4e3a..69bbe9195a0d 100644 --- a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc +++ b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc @@ -1,38 +1,38 @@ ---- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/background/glic/glic_status_icon.cc -@@ -114,7 +114,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control +@@ -128,7 +128,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set a vector icon for proper theming on Linux. status_icon_->SetIcon( GlicVectorIconManager::GetVectorIcon(IDR_GLIC_BUTTON_VECTOR_ICON)); -@@ -171,7 +171,7 @@ GlicStatusIcon::~GlicStatusIcon() { - +@@ -169,7 +169,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control + GlicStatusIcon::~GlicStatusIcon() { context_menu_ = nullptr; if (status_icon_) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) status_icon_->RemoveObserver(this); #endif std::unique_ptr removed_icon = -@@ -311,7 +311,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato +@@ -306,7 +306,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato } void GlicStatusIcon::UpdateVisibilityOfExitInContextMenu() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (context_menu_) { const bool is_visible = GlobalBrowserCollection::GetInstance()->IsEmpty(); const std::optional index = -@@ -394,7 +394,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -390,7 +390,7 @@ std::unique_ptr GlicStatusIcon::C menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_SETTINGS, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_SETTINGS)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) menu->AddSeparator(ui::NORMAL_SEPARATOR); menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_EXIT, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_EXIT)); diff --git a/www/chromium/files/patch-chrome_browser_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc index 30e8727fff2b..b1f8fb11c40e 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-02-11 09:05:39 UTC +--- chrome/browser/browser_features.cc.orig 2026-03-13 06:02:14 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); -@@ -176,7 +176,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE +@@ -179,7 +179,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 fa62509953e7..fe31286f1f92 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-02-11 09:05:39 UTC +--- chrome/browser/browser_features.h.orig 2026-03-13 06:02:14 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 -@@ -84,7 +84,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed +@@ -86,7 +86,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 8847cd25b5d5..c0db3cf99041 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,47 @@ ---- chrome/browser/browser_process_impl.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/browser_process_impl.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/browser_process_impl.cc -@@ -260,7 +260,7 @@ void OnLocalStatePrefsLoaded(); +@@ -266,7 +266,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) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) #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" -@@ -1243,7 +1243,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -285,7 +285,7 @@ void OnLocalStatePrefsLoaded(); + #include "chrome/browser/safe_browsing/safe_browsing_service.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // How often to check if the persistent instance of Chrome needs to restart + // to install an update. + static const int kUpdateCheckIntervalHours = 6; +@@ -1251,7 +1251,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) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); #endif } -@@ -1445,7 +1445,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1468,7 +1468,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { local_state()))); #endif // BUILDFLAG(IS_WIN) --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); const auto password_store = cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore); -@@ -1782,7 +1782,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1805,7 +1805,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_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 3273cd9b52eb..84163bac4d8c 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-02-11 09:05:39 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_browser_interface_binders.cc -@@ -83,7 +83,7 @@ +@@ -84,7 +84,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( + #include "chrome/browser/web_applications/sub_apps_service_impl.h" +@@ -373,7 +373,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) { -@@ -541,7 +541,7 @@ void PopulateChromeFrameBinders( +@@ -545,7 +545,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) && + if (base::FeatureList::IsEnabled(blink::features::kSubApps) && !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.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc index b58e4c8f0711..7262da4f68ac 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc @@ -1,20 +1,37 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -41,7 +41,7 @@ +@@ -44,14 +44,14 @@ #include "mojo/public/cpp/bindings/binder_map.h" #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.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" -@@ -139,7 +139,7 @@ void PopulateChromeWebUIFrameBinders( + #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/skills/skills.mojom.h" + #include "chrome/browser/ui/webui/skills/skills_ui.h" + #endif +@@ -153,7 +153,7 @@ void PopulateChromeWebUIFrameBinders( #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) RegisterWebUIControllerInterfaceBinder(map); +@@ -165,7 +165,7 @@ void PopulateChromeWebUIFrameBinders( + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder(map); + #endif 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 b19d258feb67..06a3abd0d16c 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,47 +1,47 @@ ---- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc -@@ -132,7 +132,7 @@ +@@ -128,7 +128,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" -@@ -337,7 +337,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -338,7 +338,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) -@@ -349,7 +349,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -350,7 +350,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); -@@ -552,7 +552,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -547,7 +547,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); -@@ -586,7 +586,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -581,7 +581,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 fe2d5bcff500..e0a6ea8ac59b 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,170 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -172,7 +172,7 @@ +@@ -174,7 +174,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 -@@ -199,12 +199,12 @@ +@@ -200,12 +200,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" -@@ -215,7 +215,7 @@ +@@ -216,7 +216,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 -@@ -290,7 +290,7 @@ +@@ -291,7 +291,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) -@@ -319,7 +319,7 @@ +@@ -320,7 +320,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" -@@ -327,7 +327,7 @@ +@@ -328,7 +328,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" -@@ -336,7 +336,7 @@ +@@ -337,7 +337,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"); -@@ -486,7 +486,7 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -487,7 +487,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. -@@ -552,7 +552,7 @@ bool ProcessSingletonNotificationCallback( +@@ -553,7 +553,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; -@@ -718,7 +718,7 @@ std::unique_ptr ChromeBrows +@@ -719,7 +719,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) -@@ -748,7 +748,7 @@ std::unique_ptr ChromeBrows +@@ -749,7 +749,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 -@@ -765,7 +765,7 @@ std::unique_ptr ChromeBrows +@@ -766,7 +766,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()); -@@ -1240,7 +1240,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1241,7 +1241,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 . -@@ -1284,7 +1284,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + // software with incorrect owner or permission. See crbug.com/41321051 . +@@ -1285,7 +1285,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( -@@ -1502,7 +1502,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1514,7 +1514,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( -@@ -1553,7 +1553,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1565,7 +1565,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(); } -@@ -1670,7 +1670,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1656,7 +1656,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( + #endif + + // Should be done before starting metrics recording. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux, the EULA dialog requires Views, so it is shown here rather than + // when applying the first-run prefs. + if (first_run::IsChromeFirstRun() && master_prefs_->eula_required && +@@ -1692,7 +1692,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__browser__main__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc index fefb6c1cd965..27ce476e0136 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -1,40 +1,40 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_browser_main_linux.cc @@ -23,7 +23,7 @@ #include "device/bluetooth/dbus/bluez_dbus_manager.h" #include "ui/base/l10n/l10n_util.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "components/dbus/thread_linux/dbus_thread_linux.h" #include "ui/ozone/public/ozone_platform.h" - #endif -@@ -65,8 +65,10 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag - #endif // BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(USE_DBUS) + #include "components/dbus/thread_linux/dbus_thread_linux.h" +@@ -68,8 +68,10 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag #if !BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(USE_DBUS) +#if !BUILDFLAG(IS_BSD) bluez::BluezDBusManager::Initialize( dbus_thread_linux::GetSharedSystemBus().get()); +#endif + #endif // BUILDFLAG(USE_DBUS) // Set up crypt config. This needs to be done before anything starts the - // network service, as the raw encryption key needs to be shared with the -@@ -92,7 +94,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag +@@ -96,7 +98,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() { ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); -@@ -130,7 +132,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { +@@ -134,7 +136,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { #endif // BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS) void ChromeBrowserMainPartsLinux::PostDestroyThreads() { -#if BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // No-op; per PostBrowserStart() comment, this is done elsewhere. #else bluez::BluezDBusManager::Shutdown(); 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 ae4e140169f1..dfaf8e0a13ec 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,183 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -576,7 +576,7 @@ +@@ -589,7 +589,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 -@@ -587,7 +587,7 @@ +@@ -600,7 +600,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) -@@ -1408,7 +1408,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1436,7 +1436,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) -@@ -1674,7 +1674,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF +@@ -1701,7 +1701,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); -@@ -2550,7 +2550,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati +@@ -2578,7 +2578,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; -@@ -2674,7 +2674,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2702,7 +2702,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(); -@@ -2683,7 +2685,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2711,7 +2713,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( -@@ -3005,7 +3007,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3049,7 +3051,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)) { -@@ -4055,7 +4057,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref +@@ -4099,7 +4101,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 -@@ -4990,7 +4992,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS +@@ -5033,7 +5035,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) -@@ -5044,7 +5046,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5087,7 +5089,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, -@@ -5938,7 +5940,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation +@@ -5985,7 +5987,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()) { -@@ -5964,7 +5966,7 @@ void ChromeContentBrowserClient:: +@@ -6011,7 +6013,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, -@@ -5993,7 +5995,7 @@ void ChromeContentBrowserClient:: +@@ -6040,7 +6042,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, -@@ -6268,7 +6270,7 @@ void ChromeContentBrowserClient:: +@@ -6315,7 +6317,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(); -@@ -6976,7 +6978,7 @@ bool ChromeContentBrowserClient::HandleWebUI( +@@ -6918,7 +6920,7 @@ bool ChromeContentBrowserClient::HandleExternalProtoco + CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Handle the google-chrome:// scheme (and chromium://). + // If the scheme is present, we strip it and navigate to the inner URL. + // This avoids launching a new browser instance via the OS handler. +@@ -7047,7 +7049,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. -@@ -7257,7 +7259,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS + // Rewrite chrome://settings/enhancedAutofill to chrome://settings/autofill. + if (url->SchemeIs(content::kChromeUIScheme) && +@@ -7326,7 +7328,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) { -@@ -7680,7 +7682,7 @@ void ChromeContentBrowserClient:: +@@ -7759,7 +7761,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. -@@ -8118,7 +8120,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve +@@ -8197,7 +8199,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 4fc95c720300..eab79a984815 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 2026-02-11 09:05:39 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -579,7 +579,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -580,7 +580,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 404a7df570fd..65f756385a6f 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-02-11 09:05:39 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -125,7 +125,7 @@ +@@ -135,7 +135,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" -@@ -409,7 +409,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -434,7 +434,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); -@@ -427,7 +427,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -452,7 +452,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) || -@@ -466,7 +466,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -498,7 +498,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_registration.cc b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc index 0877ac18749c..334f9a9034dc 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,35 +1,35 @@ ---- chrome/browser/component_updater/registration.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/component_updater/registration.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/component_updater/registration.cc -@@ -90,7 +90,7 @@ +@@ -84,7 +84,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) -@@ -103,7 +103,7 @@ - #include "chrome/browser/component_updater/lacros_component_remover.h" - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -93,7 +93,7 @@ + #include "ui/aura/env.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/component_updater/wasm_tts_engine_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -239,12 +239,12 @@ void RegisterComponentsForUpdate() { +@@ -219,12 +219,12 @@ void RegisterComponentsForUpdate() { #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) #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) RegisterAmountExtractionHeuristicRegexesComponent(cus); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // 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 850c192ff170..e3be12a0913e 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-02-11 09:05:39 UTC +--- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/component_updater/wasm_tts_engine_component_installer.cc @@ -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" @@ -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[] = @@ -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() { @@ -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( @@ -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 @@ -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); @@ -225,7 +225,7 @@ void WasmTtsEngineComponentInstallerPolicy::MaybeReins bool WasmTtsEngineComponentInstallerPolicy::VerifyInstallation( - const base::Value::Dict& /* manifest */, + const base::DictValue& /* 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)) && @@ -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) @@ -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_remote__debugging__server.cc b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc index 47a3f8fbab55..748d3ee802d8 100644 --- a/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc +++ b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc @@ -1,29 +1,29 @@ ---- chrome/browser/devtools/remote_debugging_server.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/devtools/remote_debugging_server.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/devtools/remote_debugging_server.cc @@ -49,7 +49,7 @@ namespace { bool g_tethering_enabled = 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 g_enable_default_user_data_dir_check_for_chromium_branding_for_testing = false; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -179,7 +179,7 @@ IsRemoteDebuggingAllowed(const std::optional& is +@@ -167,7 +167,7 @@ IsRemoteDebuggingAllowed(const std::optional& is return base::unexpected( RemoteDebuggingServer::NotStartedReason::kDisabledByPolicy); } -#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(GOOGLE_CHROME_BRANDING) constexpr bool default_user_data_dir_check_enabled = true; #else -@@ -300,7 +300,7 @@ void RemoteDebuggingServer::EnableTetheringForDebug() +@@ -294,7 +294,7 @@ void RemoteDebuggingServer::EnableTetheringForDebug() g_tethering_enabled = true; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static void RemoteDebuggingServer::EnableDefaultUserDataDirCheckForTesting() { g_enable_default_user_data_dir_check_for_chromium_branding_for_testing = true; 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 a1a303ba7f3b..1e56fd66c396 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-02-11 09:05:39 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -2031,7 +2031,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -2038,7 +2038,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(); } -@@ -2167,7 +2167,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2174,7 +2174,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()) { -@@ -2245,7 +2245,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2252,7 +2252,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 b74ee6a58a66..a900ffa1047f 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-02-11 09:05:39 UTC +--- chrome/browser/download/download_item_model.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/download/download_item_model.cc -@@ -725,7 +725,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -726,7 +726,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(); -@@ -773,7 +773,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -774,7 +774,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); -@@ -1178,7 +1178,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1181,7 +1181,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_connectors__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc index 96822e8390e4..497064881bcb 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/enterprise/connectors/connectors_service.cc -@@ -386,7 +386,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope( +@@ -308,7 +308,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope( bool ConnectorsService::ConnectorsEnabled() const { Profile* profile = Profile::FromBrowserContext(context_); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, the guest profile is actually the primary OTR profile of // the "regular" guest profile. The regular guest profile is never used // directly by users. Also, user are not able to create child OTR profiles diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc index eab13c42e7cb..8b2a000ee356 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc @@ -22,7 +22,7 @@ #include "components/policy/core/common/management/management_service.h" #include "content/public/browser/browser_context.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/browser_attestation_service.h" #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/device_attester.h" -@@ -53,7 +53,7 @@ bool IsProfileManaged(Profile* profile) { +@@ -57,7 +57,7 @@ bool IsProfileManaged(Profile* profile) { return management_service && management_service->IsManaged(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) policy::CloudPolicyStore* GetUserCloudPolicyStore(Profile* profile) { policy::CloudPolicyManager* user_policy_manager = profile->GetCloudPolicyManager(); -@@ -105,7 +105,7 @@ DeviceTrustServiceFactory::DeviceTrustServiceFactory() +@@ -109,7 +109,7 @@ DeviceTrustServiceFactory::DeviceTrustServiceFactory() DependsOn(DeviceTrustConnectorServiceFactory::GetInstance()); DependsOn(policy::ManagementServiceFactory::GetInstance()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Depends on this service via the SignalsService having a dependency on it. DependsOn(enterprise_signals::SignalsAggregatorFactory::GetInstance()); // Depends on this service via the ProfileAttester having a dependency on it diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc index 341bf2cad072..3e6e592d3d6d 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2024-10-22 08:31:56 UTC +--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc @@ -19,7 +19,7 @@ #if BUILDFLAG(IS_WIN) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/win_key_rotation_command.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h" #elif BUILDFLAG(IS_MAC) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/mac_key_rotation_command.h" @@ -53,7 +53,7 @@ std::unique_ptr KeyRotationCommand policy::DeviceManagementService* device_management_service) { #if BUILDFLAG(IS_WIN) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(url_loader_factory); #elif BUILDFLAG(IS_MAC) - if (IsDTCKeyRotationUploadedBySharedAPI()) { + auto cloud_delegate = diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc index 9ac1fe8b3042..6b3af5c5557d 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc @@ -1,47 +1,47 @@ ---- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc @@ -53,7 +53,7 @@ #include "base/strings/utf_string_conversions.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/signals/signals_aggregator_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #include "components/device_signals/core/browser/signals_aggregator.h" @@ -62,7 +62,7 @@ namespace enterprise_connectors { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) using Event = ::chrome::cros::reporting::proto::Event; #endif @@ -162,7 +162,7 @@ void RealtimeReportingClient::ReportPastEvent(const st /*include_profile_user_name=*/false); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AddCrowdstrikeSignalsToEvent( - base::Value::Dict& event, -@@ -283,7 +283,7 @@ std::string RealtimeReportingClient::GetProfileUserNam + base::DictValue& event, +@@ -284,7 +284,7 @@ std::string RealtimeReportingClient::GetProfileUserNam username_ = identity_manager_ ? GetProfileEmail(identity_manager_) : std::string(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (username_.empty()) { username_ = Profile::FromBrowserContext(context_)->GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserEmail); -@@ -340,7 +340,7 @@ std::string RealtimeReportingClient::GetBrowserClientI +@@ -341,7 +341,7 @@ std::string RealtimeReportingClient::GetBrowserClientI return client_id; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) void RealtimeReportingClient::MaybeCollectDeviceSignalsAndReportEvent( Event event, policy::CloudPolicyClient* client, diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h index d87fe5a01ed6..7e01adfb48c7 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h @@ -1,29 +1,29 @@ ---- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h @@ -19,7 +19,7 @@ #include "components/keyed_service/core/keyed_service.h" #include "components/policy/core/common/cloud/cloud_policy_client.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 "components/device_signals/core/browser/signals_types.h" #endif @@ -119,7 +119,7 @@ class RealtimeReportingClient : public RealtimeReporti const std::string& dm_token) override; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) // DEPRECATED: Use MaybeCollectDeviceSignalsAndReportEvent(Event, ...). void MaybeCollectDeviceSignalsAndReportEventDeprecated( - base::Value::Dict event, + base::DictValue event, @@ -169,7 +169,7 @@ class RealtimeReportingClient : public RealtimeReporti base::WeakPtrFactory weak_ptr_factory_{this}; }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Populate event dict with CrowdStrike signal values. If those signals are // available in `response`, this function returns a Dict with the following // fields added: diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index b4d734ff1267..7e595438a27a 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-02-11 09:05:39 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1511,6 +1511,10 @@ source_set("extensions") { +@@ -1519,6 +1519,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_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index 7d94eb187c7f..9782c23098c0 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-02-11 09:05:39 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -197,7 +197,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -217,7 +217,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] = -@@ -223,7 +223,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -243,7 +243,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 -@@ -242,7 +242,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -262,7 +262,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.cc b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc index 6dd286570f15..ab69eb4653d6 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.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.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/api/tabs/tabs_api.cc -@@ -1114,7 +1114,7 @@ ExtensionFunction::ResponseValue WindowsCreateFunction +@@ -1187,7 +1187,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 BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))&& BUILDFLAG(SUPPORTS_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_webrtc__logging__private_webrtc__logging__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc index e7e68fa30322..5ea4a624d64e 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc @@ -28,7 +28,7 @@ #include "extensions/browser/process_manager.h" #include "extensions/common/error_utils.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 "extensions/common/permissions/permissions_data.h" #endif @@ -41,7 +41,7 @@ namespace { bool CanEnableAudioDebugRecordingsFromExtension( const extensions::Extension* extension) { bool enabled_by_permissions = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (extension) { enabled_by_permissions = extension->permissions_data()->active_permissions().HasAPIPermission( -@@ -580,7 +580,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi +@@ -557,7 +557,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi ExtensionFunction::ResponseAction WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, // this function shouldn't be called by a component extension on behalf of // some web code. It returns a DirectoryEntry for use directly in the calling 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 98c64396f8ae..a5d37b25ea49 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-02-11 09:05:39 UTC +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -948,7 +948,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: +@@ -959,7 +959,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_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index d43b050855f2..ca0a967344a5 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -836,7 +836,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -837,7 +837,7 @@ void ExternalProviderImpl::CreateExternalProviders( #endif // BUILDFLAG(IS_CHROMEOS) if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) provider_list->push_back(std::make_unique( service, base::MakeRefCounted( -@@ -864,7 +864,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -865,7 +865,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc b/www/chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc index e8353430b4d5..cb13b9b9eed8 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/sync/extension_sync_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/extensions/sync/extension_sync_service.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/extensions/sync/extension_sync_service.cc -@@ -594,7 +594,7 @@ void ExtensionSyncService::ApplySyncData( +@@ -634,7 +634,7 @@ void ExtensionSyncService::ApplySyncData( AccountExtensionTracker::Get(profile_)->OnExtensionSyncDataReceived(id); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Chrome Apps are deprecated on WML, so we do not want to sync new apps // installed on other devices. if (extension_sync_data.is_app()) { diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index 4eecbe3fa305..46f4eaba0491 100644 --- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -400,7 +400,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { +@@ -399,7 +399,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), BlockType::kDontBlockChildren}, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux also block access to devices via /dev. {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren}, diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run.cc new file mode 100644 index 000000000000..5859c06e99e9 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_first__run_first__run.cc @@ -0,0 +1,20 @@ +--- chrome/browser/first_run/first_run.cc.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/first_run/first_run.cc +@@ -319,7 +319,7 @@ void SetupInitialPrefsFromInstallPrefs( + out_prefs->confirm_to_quit = true; + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + install_prefs.GetBool(installer::initial_preferences::kRequireEula, + &out_prefs->eula_required); + #endif // BUILDFLAG(IS_LINUX) +@@ -468,7 +468,7 @@ ProcessInitialPreferencesResult ProcessInitialPreferen + return FIRST_RUN_PROCEED; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool ShowEulaDialog() { + return internal::ShowEulaDialog(); + } diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run.h b/www/chromium/files/patch-chrome_browser_first__run_first__run.h new file mode 100644 index 000000000000..9ffa0ecd4ba4 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_first__run_first__run.h @@ -0,0 +1,20 @@ +--- chrome/browser/first_run/first_run.h.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/first_run/first_run.h +@@ -73,7 +73,7 @@ struct MasterPrefs { + #if BUILDFLAG(IS_MAC) + bool confirm_to_quit; + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool eula_required = false; + #endif + }; +@@ -145,7 +145,7 @@ ProcessInitialPreferencesResult ProcessInitialPreferen + std::unique_ptr initial_prefs, + MasterPrefs* out_prefs); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Shows the EULA dialog if required. Returns true if the EULA is accepted + // or not required. Returns false if the EULA has not been accepted. If the EULA + // has not been accepted, the caller should exit promptly. diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h index e0918e92cd08..118e08ad0f39 100644 --- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h +++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h @@ -1,11 +1,18 @@ ---- chrome/browser/first_run/first_run_internal.h.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/first_run/first_run_internal.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/first_run/first_run_internal.h -@@ -72,7 +72,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel +@@ -72,13 +72,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel bool force_first_run, bool no_first_run); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Shows the EULA dialog if required. Returns true if the EULA is accepted + // or not required. Returns false if the EULA has not been accepted. + bool ShowEulaDialog(); + #endif + -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For testing, forces the first run dialog to either be shown or not. If not // called, the decision to show the dialog or not will be made by Chrome based // on a number of factors (such as install type, whether it's a Chrome-branded diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index c7364f883337..2e2224f09e57 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,21 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/flag_descriptions.h -@@ -8443,6 +8443,18 @@ inline constexpr char kEnableOktaSSOName[] = +@@ -8311,6 +8311,18 @@ inline constexpr char kEnableOktaSSOName[] = inline constexpr char kEnableOktaSSODescription[] = "Enables native support for Okta SSO on managed MacOS devices."; +#if BUILDFLAG(IS_BSD) +inline constexpr char kAudioBackendName[] = + "Audio Backend"; +inline constexpr char kAudioBackendDescription[] = +#if BUILDFLAG(IS_OPENBSD) + "Select the desired audio backend to use. The default is sndio."; +#elif BUILDFLAG(IS_FREEBSD) + "Select the desired audio backend to use. The default will automatically " + "enumerate through the supported backends."; +#endif +#endif + // ============================================================================ // Don't just add flags to the end, put them in the alphabetical order. // ============================================================================ diff --git a/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc b/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc index c703e1831d8d..393f35a9baa4 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-02-11 09:05:39 UTC +--- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/glic/host/glic_page_handler.cc -@@ -146,7 +146,7 @@ namespace { +@@ -156,7 +156,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_glic_widget_glic__widget.cc b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc index f37e69ef69e7..98a78608a59b 100644 --- a/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc +++ b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc @@ -1,20 +1,20 @@ ---- chrome/browser/glic/widget/glic_widget.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/glic/widget/glic_widget.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/glic/widget/glic_widget.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,7 @@ #include "ui/views/win/hwnd_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -391,7 +391,7 @@ std::unique_ptr GlicWidget::Create(views:: +@@ -395,7 +395,7 @@ std::unique_ptr GlicWidget::Create(views:: #if BUILDFLAG(IS_MAC) params.animation_enabled = true; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.wm_class_class = shell_integration_linux::GetProgramClassClass(); params.wayland_app_id = params.wm_class_class + "-glic"; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_global__features.cc b/www/chromium/files/patch-chrome_browser_global__features.cc index 03e62eee885d..712e08056c37 100644 --- a/www/chromium/files/patch-chrome_browser_global__features.cc +++ b/www/chromium/files/patch-chrome_browser_global__features.cc @@ -1,29 +1,38 @@ ---- chrome/browser/global_features.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/global_features.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/global_features.cc -@@ -36,7 +36,7 @@ +@@ -39,7 +39,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" -@@ -140,7 +140,7 @@ void GlobalFeatures::PreBrowserProcessInitCore() { +@@ -158,7 +158,7 @@ void GlobalFeatures::PreBrowserProcessInitCore() { 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(); -@@ -218,7 +218,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -228,7 +228,7 @@ void GlobalFeatures::PostMainMessageLoopRun() { + + application_advanced_protection_status_detector_.reset(); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DefaultBrowserPromptManager::GetInstance()->CloseAllPrompts( + DefaultBrowserPromptManager::CloseReason::kDismiss); + #endif +@@ -249,7 +249,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 198795d5e702..ab9054077911 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-02-11 09:05:39 UTC +--- chrome/browser/global_features.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/global_features.h -@@ -17,7 +17,7 @@ +@@ -19,7 +19,7 @@ class GlobalBrowserCollection; 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 -@@ -118,7 +118,7 @@ class GlobalFeatures { +@@ -128,7 +128,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(); } -@@ -187,7 +187,7 @@ class GlobalFeatures { +@@ -204,7 +204,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 -@@ -199,7 +199,7 @@ class GlobalFeatures { +@@ -216,7 +216,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 de58ebaca93c..a912564e191a 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-02-11 09:05:39 UTC +--- chrome/browser/headless/headless_mode_util.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/headless/headless_mode_util.cc @@ -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" @@ -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) -@@ -94,7 +94,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand - command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir); +@@ -95,7 +95,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); + command_line.AppendSwitchASCII(::switches::kOzonePlatform, + switches::kHeadless); diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc index d8304df3e15e..9f99c8079a58 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/media/webrtc/webrtc_log_uploader.cc -@@ -101,7 +101,7 @@ std::string GetLogUploadProduct() { +@@ -95,7 +95,7 @@ std::string GetLogUploadProduct() { const char product[] = "Chrome"; #elif BUILDFLAG(IS_MAC) const char product[] = "Chrome_Mac"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if !defined(ADDRESS_SANITIZER) const char product[] = "Chrome_Linux"; #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 72a1bcd5870e..fd3339417571 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-02-11 09:05:39 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.cc @@ -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) || -@@ -311,7 +311,7 @@ WebRtcLoggingController::GetLogMessageCallback() { +@@ -277,7 +277,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 09fcfe5dd64c..f047b98f5f84 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-02-11 09:05:39 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.h -@@ -135,7 +135,7 @@ class WebRtcLoggingController +@@ -131,7 +131,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. -@@ -199,7 +199,7 @@ class WebRtcLoggingController +@@ -195,7 +195,7 @@ class WebRtcLoggingController - content::BrowserContext* GetBrowserContext() const; + webrtc_logging::ApiType GetApiType() 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 5aa90a38acbf..fb372e743abd 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-02-11 09:05:39 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc @@ -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__) @@ -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) @@ -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 -@@ -889,7 +889,7 @@ void RecordStartupMetrics() { +@@ -904,7 +904,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, -@@ -1120,11 +1120,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt +@@ -1136,11 +1136,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) 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 66722d4d4ee4..ad321f90782a 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-02-11 09:05:39 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -209,11 +209,11 @@ +@@ -208,11 +208,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 -@@ -231,7 +231,7 @@ +@@ -230,7 +230,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) -@@ -251,7 +251,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000; +@@ -250,7 +250,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; -@@ -561,7 +561,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg +@@ -560,7 +560,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) -@@ -654,7 +654,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri +@@ -653,7 +653,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. -@@ -754,7 +754,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -753,7 +753,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 -@@ -814,7 +814,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -813,7 +813,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 -@@ -910,7 +910,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -909,7 +909,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) -@@ -1009,7 +1009,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1008,7 +1008,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())); -@@ -1021,7 +1021,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1020,7 +1020,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) -@@ -1227,7 +1227,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1226,7 +1226,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( -@@ -1578,7 +1578,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1577,7 +1577,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = - base::MakeRefCounted( + std::make_unique( 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_net_profile__network__context__service.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc index f4181979d473..1fe718053883 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-02-11 09:05:39 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/net/profile_network_context_service.cc -@@ -144,7 +144,7 @@ +@@ -145,7 +145,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" -@@ -301,7 +301,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet +@@ -302,7 +302,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) { -@@ -1294,7 +1294,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1248,7 +1248,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_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index b4297ddab52f..36c0dfec6592 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-02-11 09:05:39 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/net/system_network_context_manager.cc @@ -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; @@ -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) @@ -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) @@ -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) @@ -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 @@ -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 || @@ -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) @@ -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) {} @@ -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) @@ -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) @@ -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) @@ -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) @@ -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) -@@ -1075,7 +1075,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1058,7 +1058,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 a9c51986f8cd..b4ae5bbb08e5 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-02-11 09:05:39 UTC +--- chrome/browser/net/system_network_context_manager.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/net/system_network_context_manager.h -@@ -222,7 +222,7 @@ class SystemNetworkContextManager { +@@ -216,7 +216,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: -@@ -305,7 +305,7 @@ class SystemNetworkContextManager { +@@ -299,7 +299,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_new__tab__page_new__tab__page__util.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc index 5e69b9495594..600b3af6ad10 100644 --- a/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc +++ b/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/new_tab_page/new_tab_page_util.cc -@@ -41,7 +41,7 @@ bool IsOsSupportedForCart() { +@@ -52,7 +52,7 @@ bool IsOsSupportedForCart() { } bool IsOsSupportedForDrive() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/chromium/files/patch-chrome_browser_ntp__tiles_chrome__most__visited__sites__factory.cc b/www/chromium/files/patch-chrome_browser_ntp__tiles_chrome__most__visited__sites__factory.cc index 1a67802a08fd..bdf48cfce9d0 100644 --- a/www/chromium/files/patch-chrome_browser_ntp__tiles_chrome__most__visited__sites__factory.cc +++ b/www/chromium/files/patch-chrome_browser_ntp__tiles_chrome__most__visited__sites__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc.orig 2025-10-02 04:28:32 UTC +--- chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc -@@ -59,7 +59,7 @@ bool ShouldCreateCustomLinksManager() { +@@ -56,7 +56,7 @@ bool ShouldCreateCustomLinksManager() { bool ShouldCreateEnterpriseShortcutsManager() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(ntp_tiles::kNtpEnterpriseShortcuts); #else return false; 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 093ed7e22fe7..86ad348c1ef5 100644 --- a/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc +++ b/www/chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc @@ -1,20 +1,20 @@ ---- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -67,7 +67,7 @@ +@@ -68,7 +68,7 @@ #include "url/gurl.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -338,7 +338,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU +@@ -354,7 +354,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU bool PageLoadMetricsEmbedder::ShouldObserveScheme(std::string_view scheme) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return scheme == webapps::kIsolatedAppScheme; #else // !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS)) diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index a0d0e923cbbc..d4beab66303d 100644 --- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc @@ -701,7 +701,7 @@ void ChromePasswordManagerClient::ContinueShowKeyboard bool ChromePasswordManagerClient::IsReauthBeforeFillingRequired( device_reauth::DeviceAuthenticator* authenticator) { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!GetLocalStatePrefs() || !GetPrefs() || !authenticator) { return false; } @@ -993,7 +993,7 @@ void ChromePasswordManagerClient::NotifyUserCredential } void ChromePasswordManagerClient::NotifyKeychainError() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PasswordsClientUIDelegate* manage_passwords_ui_controller = PasswordsClientUIDelegateFromWebContents(web_contents()); if (manage_passwords_ui_controller) { -@@ -2028,7 +2028,7 @@ void ChromePasswordManagerClient::HideFillingUI() { +@@ -2029,7 +2029,7 @@ void ChromePasswordManagerClient::HideFillingUI() { bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( const GURL& url) const { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (IsPasswordManagerForUrlDisallowedByPolicy(url)) { return false; } -@@ -2067,7 +2067,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement +@@ -2068,7 +2068,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool ChromePasswordManagerClient::IsPasswordManagerForUrlDisallowedByPolicy( const GURL& url) const { if (!GetPrefs() || !GetPrefs()->HasPrefPath( diff --git a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index 665b47f2017b..19853e0b09bb 100644 --- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -1,47 +1,47 @@ ---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc -@@ -57,7 +57,7 @@ +@@ -59,7 +59,7 @@ #include "chrome/browser/policy/browser_dm_token_storage_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/browser_dm_token_storage_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -66,7 +66,7 @@ +@@ -68,7 +68,7 @@ #include "chrome/install_static/install_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/browser_context_delegate.h" #include "chrome/browser/enterprise/client_certificates/cert_utils.h" #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h" -@@ -111,7 +111,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -113,7 +113,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: #if BUILDFLAG(IS_MAC) storage_delegate = std::make_unique(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) storage_delegate = std::make_unique(); #elif BUILDFLAG(IS_WIN) storage_delegate = std::make_unique(); -@@ -276,7 +276,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC +@@ -285,7 +285,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC std::unique_ptr ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) auto* browser_dm_token_storage = BrowserDMTokenStorage::Get(); auto* device_management_service = GetDeviceManagementService(); auto shared_url_loader_factory = GetSharedURLLoaderFactory(); -@@ -298,7 +298,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD +@@ -307,7 +307,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD std::unique_ptr ChromeBrowserCloudManagementControllerDesktop:: CreateCertificateProvisioningService() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!certificate_store_) { certificate_store_ = std::make_unique( 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 66f07c8a9ab1..7c6a37337bf3 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-02-11 09:05:39 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-03-13 06:02:14 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" -@@ -630,7 +630,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -618,7 +618,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 }, -@@ -990,7 +990,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -975,7 +975,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 }, -@@ -1002,7 +1002,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -987,7 +987,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 }, -@@ -1893,7 +1893,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1876,7 +1876,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 }, -@@ -1955,7 +1955,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1938,7 +1938,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 }, -@@ -1975,12 +1975,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1958,12 +1958,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 }, -@@ -1994,7 +1994,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - prefs::kLiveTranslateEnabled, - base::Value::Type::BOOLEAN }, +@@ -1971,7 +1971,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kProfileSeparationDomainExceptionList, + base::Value::Type::LIST }, #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 }, -@@ -2006,7 +2006,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1983,7 +1983,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 }, -@@ -2113,7 +2113,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2096,7 +2096,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 }, -@@ -2218,7 +2218,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2201,7 +2201,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 }, -@@ -2289,7 +2289,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2272,7 +2272,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 }, -@@ -2324,7 +2324,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2310,7 +2310,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 }, -@@ -2358,7 +2358,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2350,7 +2350,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}, -@@ -2381,7 +2381,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2373,7 +2373,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 }, -@@ -2451,7 +2451,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2458,7 +2458,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 }, -@@ -2464,7 +2464,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2471,7 +2471,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = glic::prefs::kGlicActuationOnWeb, base::Value::Type::INTEGER }, - #endif // BUILDFLAG(ENABLE_GLIC) || BUILDFLAG(ENABLE_GLIC_ANDROID) + #endif // BUILDFLAG(ENABLE_GLIC) -#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 }, -@@ -2617,7 +2617,7 @@ std::unique_ptr BuildH +@@ -2634,7 +2634,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, -@@ -2892,7 +2892,7 @@ std::unique_ptr BuildH +@@ -2901,7 +2901,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()); -@@ -2994,7 +2994,7 @@ std::unique_ptr BuildH +@@ -3003,7 +3003,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)); -@@ -3377,7 +3377,7 @@ std::unique_ptr BuildH +@@ -3386,7 +3386,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( -@@ -3385,7 +3385,7 @@ std::unique_ptr BuildH +@@ -3394,7 +3394,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)); -@@ -3438,7 +3438,7 @@ std::unique_ptr BuildH +@@ -3447,7 +3447,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_policy_policy__value__and__status__aggregator.cc b/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc index 3bc5373b56f5..6f0d77692775 100644 --- a/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc +++ b/www/chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/policy/policy_value_and_status_aggregator.cc -@@ -49,7 +49,7 @@ +@@ -53,7 +53,7 @@ #include "chrome/browser/policy/value_provider/extension_policies_value_provider.h" #endif // 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) #include "components/policy/core/common/cloud/profile_cloud_policy_manager.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index 12d375f16c44..98f17db66ffb 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-02-11 09:05:39 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -313,7 +313,7 @@ +@@ -315,7 +315,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 -@@ -496,11 +496,11 @@ +@@ -498,11 +498,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 -@@ -528,7 +528,7 @@ +@@ -530,7 +530,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 -@@ -1451,7 +1451,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1496,7 +1496,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 -@@ -1607,7 +1607,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1657,7 +1657,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 -@@ -1989,13 +1989,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2049,13 +2049,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_prefs_session__startup__pref.cc b/www/chromium/files/patch-chrome_browser_prefs_session__startup__pref.cc index 670dabd17bc5..0bbd802da85f 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_session__startup__pref.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_session__startup__pref.cc @@ -1,11 +1,11 @@ ---- chrome/browser/prefs/session_startup_pref.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/prefs/session_startup_pref.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/prefs/session_startup_pref.cc -@@ -71,7 +71,7 @@ SessionStartupPref::Type SessionStartupPref::GetDefaul +@@ -70,7 +70,7 @@ SessionStartupPref::Type SessionStartupPref::GetDefaul #if BUILDFLAG(IS_CHROMEOS) return SessionStartupPref::LAST; #else -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (features::kSetDefaultToContinueSession.Get()) { return SessionStartupPref::LAST; } diff --git a/www/chromium/files/patch-chrome_browser_printing_printer__query.cc b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc index 0ff8137c63c5..61957e0d4456 100644 --- a/www/chromium/files/patch-chrome_browser_printing_printer__query.cc +++ b/www/chromium/files/patch-chrome_browser_printing_printer__query.cc @@ -1,11 +1,11 @@ ---- chrome/browser/printing/printer_query.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/printing/printer_query.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/printing/printer_query.cc -@@ -342,7 +342,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di +@@ -342,7 +342,7 @@ void PrinterQuery::UpdatePrintSettings(base::DictValue crash_key = std::make_unique( printer_name, print_backend->GetPrinterDriverInfo(printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_CUPS) PrinterBasicInfo basic_info; if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == mojom::ResultCode::kSuccess) { diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 553c788cff02..d3e22bc0eb6c 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,160 +1,165 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc @@ -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" @@ -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" @@ -441,11 +441,11 @@ #include "chrome/browser/webauthn/passkey_unlock_manager_factory.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/reporting/saas_usage/saas_usage_reporting_controller_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_service_factory.h" - #include "chrome/browser/enterprise/signin/oidc_authentication_signin_interceptor_factory.h" -@@ -662,7 +662,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -671,7 +671,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(); + search_integrity::SearchIntegrityFactory::GetInstance(); #endif - #if !BUILDFLAG(IS_ANDROID) -@@ -761,7 +761,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -772,7 +772,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(); -@@ -825,7 +825,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -836,7 +836,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(); -@@ -838,7 +838,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -849,7 +849,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(); -@@ -891,11 +891,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -902,11 +902,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(); -@@ -905,7 +905,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -916,7 +916,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 -@@ -914,10 +914,10 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -924,14 +924,14 @@ void ChromeBrowserMainExtraPartsProfiles:: + enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance(); #endif enterprise_reporting::LegacyTechServiceFactory::GetInstance(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + enterprise_reporting::SaasUsageReportingControllerFactory::GetInstance(); + #endif #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) -@@ -1052,7 +1052,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1065,7 +1065,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) -@@ -1144,7 +1144,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1157,7 +1157,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(); -@@ -1190,7 +1190,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1203,7 +1203,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:: +@@ -1213,7 +1213,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 PredictionModelHandlerProviderFactory::GetInstance(); -@@ -1227,7 +1227,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1240,7 +1240,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 -@@ -1244,7 +1244,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1257,7 +1257,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 823230d61f95..9b54f24127c4 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-02-11 09:05:39 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -262,6 +262,10 @@ - #include "chrome/browser/safe_browsing/safe_browsing_service.h" - #endif +@@ -266,6 +266,10 @@ + #include "chrome/browser/themes/theme_service_factory.h" + #endif // !BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using bookmarks::BookmarkModel; using content::BrowserThread; using content::DownloadManagerDelegate; -@@ -599,7 +603,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -603,7 +607,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() -@@ -869,7 +873,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -874,7 +878,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 5999fed63a09..0fda9d8138da 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-02-11 09:05:39 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -249,7 +249,7 @@ +@@ -248,7 +248,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) -@@ -5117,7 +5117,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { +@@ -5110,7 +5110,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_resources_signin_signin__shared.css b/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css index 1531cc39292f..145856b06ca2 100644 --- a/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css +++ b/www/chromium/files/patch-chrome_browser_resources_signin_signin__shared.css @@ -1,11 +1,11 @@ ---- chrome/browser/resources/signin/signin_shared.css.orig 2022-11-30 08:12:58 UTC +--- chrome/browser/resources/signin/signin_shared.css.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/resources/signin/signin_shared.css -@@ -54,7 +54,7 @@ a { - border-radius: var(--scrollbar-width); - } - +@@ -39,7 +39,7 @@ a { + justify-content: flex-end; + + padding: var(--action-container-padding); - + - .action-container { flex-flow: row-reverse; justify-content: flex-start; + 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 eafa9b19c7ed..9b9db1ed8f8c 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-02-11 09:05:39 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1291,7 +1291,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1308,7 +1308,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_sessions_session__restore.cc b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc index ecb2421e3107..e2dad522cb38 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-02-11 09:05:39 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/sessions/session_restore.cc -@@ -115,7 +115,7 @@ +@@ -117,7 +117,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) -@@ -1212,7 +1212,7 @@ class SessionRestoreImpl : public BrowserListObserver +@@ -1221,7 +1221,7 @@ class SessionRestoreImpl : public BrowserCollectionObs 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_signin_signin__hats__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc index ceb17551c454..54a1d5aeb85e 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/signin/signin_hats_util.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/signin/signin_hats_util.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/signin/signin_hats_util.cc -@@ -39,7 +39,7 @@ +@@ -42,7 +42,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) constexpr char kChannel[] = "Channel"; constexpr char kChromeVersion[] = "Chrome Version"; constexpr char kNumberOfChromeProfiles[] = "Number of Chrome Profiles"; -@@ -123,7 +123,7 @@ SurveyStringData GetSigninSurveyStringData( - namespace signin { - - bool IsFeatureEnabledForSigninHatsTrigger(const std::string& trigger) { --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - static const base::NoDestructor< - base::flat_map> - kChromeIdentityHatsTriggerFeatureMap({ -@@ -168,7 +168,7 @@ void LaunchSigninHatsSurveyForProfile(const std::strin - bool defer_if_no_browser, - std::optional - access_point_for_data_type_promo) { +@@ -215,7 +215,7 @@ void LaunchHatsSurveyForProfileInternal( + Profile* profile, + bool defer_if_no_browser, + base::OnceCallback data_factory) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (!profile || !IsFeatureEnabledForSigninHatsTrigger(trigger)) { + if (!profile || !IsSurveyEnabledForHatsTrigger(trigger)) { return; } +@@ -260,7 +260,7 @@ void LaunchHatsSurveyForProfile(const std::string& tri + access_point_for_data_type_promo) { + LaunchHatsSurveyForProfileInternal( + trigger, profile, defer_if_no_browser, +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::BindOnce(&GetSurveyStringData, trigger, profile, + access_point_for_data_type_promo) + #else 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 4d335eba2690..7a17ccfe81fa 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-02-11 09:05:39 UTC +--- chrome/browser/signin/signin_util.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/signin/signin_util.cc @@ -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 "chrome/browser/ui/dialogs/browser_dialogs.h" #include "components/strings/grit/components_strings.h" @@ -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 @@ -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 f893224c025b..56710bb31256 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 2026-02-11 09:05:39 UTC +--- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/supervised_user/classify_url_navigation_throttle.cc -@@ -42,7 +42,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( -@@ -209,7 +209,7 @@ void ClassifyUrlNavigationThrottle::OnInterstitialResu +@@ -216,7 +216,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__google__auth__navigation__throttle.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc index e2e36bef40ea..343f2060e6f2 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc @@ -1,26 +1,27 @@ ---- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc -@@ -33,12 +33,12 @@ +@@ -33,13 +33,13 @@ #include "chrome/browser/supervised_user/child_accounts/child_account_service_android.h" #include "components/signin/public/identity_manager/identity_manager.h" #include "ui/android/view_android.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h" #include "chrome/browser/supervised_user/supervised_user_verification_page.h" #endif + namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - namespace { + bool IsYouTubeInfrastructureSubframe(content::NavigationHandle* handle) { if (handle->GetNavigatingFrameType() != content::FrameType::kSubframe) { -@@ -160,7 +160,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc +@@ -173,7 +173,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc return content::NavigationThrottle::DEFER; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // When an unauthenticated supervised user tries to access YouTube, we force // re-authentication with an interstitial so that YouTube can be subject to // content restrictions. This interstitial is only available on Desktop 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 2077dfb0667e..3baf54b65568 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 2026-02-11 09:05:39 UTC +--- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/supervised_user/supervised_user_navigation_observer.cc -@@ -53,7 +53,7 @@ +@@ -55,7 +55,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 -@@ -73,7 +73,7 @@ std::unique_ptr Cr +@@ -75,7 +75,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_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc index 07bf2819ae2a..019fb78169e8 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-02-11 09:05:39 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/sync/sync_service_factory.cc @@ -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); -@@ -409,7 +409,7 @@ std::unique_ptr BuildSyncService( +@@ -408,7 +408,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_themes_theme__service.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc index fab92d758bd2..1ba3d4053328 100644 --- a/www/chromium/files/patch-chrome_browser_themes_theme__service.cc +++ b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc @@ -1,20 +1,29 @@ ---- chrome/browser/themes/theme_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/themes/theme_service.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/themes/theme_service.cc -@@ -74,7 +74,7 @@ +@@ -75,7 +75,7 @@ #include "extensions/browser/extension_registry_observer.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" + #include "ui/linux/linux_ui_factory.h" #include "ui/ozone/public/ozone_platform.h" // nogncheck +@@ -259,7 +259,7 @@ std::unique_ptr ThemeService::Creat + // static + void ThemeService::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 -@@ -343,7 +343,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() +@@ -390,7 +390,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() } bool ThemeService::ShouldUseCustomFrame() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations) { 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 2f1dd4b315c1..f14f523d9002 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,20 @@ ---- chrome/browser/themes/theme_service_factory.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/themes/theme_service_factory.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/themes/theme_service_factory.cc -@@ -27,7 +27,7 @@ +@@ -23,7 +23,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 -@@ -97,7 +97,7 @@ ThemeServiceFactory::~ThemeServiceFactory() = default; + +@@ -98,7 +98,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 -@@ -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_actions_chrome__action__id.h b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 2e02d01f40fd..e9cd47bb8df4 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-02-19 11:06:15 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -529,7 +529,7 @@ +@@ -530,7 +530,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_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index 9791acfe2977..afdf255ad09a 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-02-11 09:05:39 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -136,7 +136,7 @@ +@@ -141,7 +141,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" -@@ -146,7 +146,7 @@ +@@ -151,7 +151,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) -@@ -393,7 +393,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -398,7 +398,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(); -@@ -696,7 +696,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -708,7 +708,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; -@@ -935,7 +935,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -954,7 +954,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( -@@ -1115,7 +1115,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1137,7 +1137,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 -@@ -1503,7 +1503,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1530,7 +1530,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); -@@ -1893,7 +1893,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -1918,7 +1918,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 7b5430a220a3..f8f2613765ee 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-02-11 09:05:39 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -2391,7 +2391,7 @@ void OpenUpdateChromeDialog(Browser* browser) { - } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) { - UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate(); +@@ -2381,7 +2381,7 @@ void OpenUpdateChromeDialog(Browser* browser) { + } else if (detector->is_outdated_install_no_au()) { + ShowOutdatedUpgradeBubble(browser, browser, /*auto_update_enabled=*/false); } 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 403e3be325fa..931252308cdf 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-02-11 09:05:39 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-03-13 06:02:14 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) -@@ -221,7 +221,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -224,7 +224,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 558844332476..e4f282d84658 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-02-11 09:05:39 UTC +--- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/browser_window/internal/browser_window_features.cc -@@ -156,7 +156,7 @@ +@@ -160,7 +160,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 -@@ -435,7 +435,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac - browser_select_file_dialog_controller_ = - std::make_unique(profile); +@@ -434,7 +434,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac + context_highlight_window_feature_ = + std::make_unique(*browser); -#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 71cab4dec9d7..9b65f1dd4257 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-02-19 11:06:15 UTC +--- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/browser_window/public/browser_window_features.h -@@ -107,7 +107,7 @@ class PinInfoBarController; +@@ -109,7 +109,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; -@@ -445,7 +445,7 @@ class BrowserWindowFeatures { +@@ -457,7 +457,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(); -@@ -638,7 +638,7 @@ class BrowserWindowFeatures { +@@ -647,7 +647,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_chrome__pages.cc b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc index 54872753d63f..a190044005e5 100644 --- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,44 +1,44 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/chrome_pages.cc @@ -87,12 +87,12 @@ #include "components/signin/public/identity_manager/identity_manager.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/web_applications/web_app_utils.h" #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) @@ -254,7 +254,7 @@ bool SiteGURLIsValid(const GURL& url) { return !site_origin.opaque() && (url.SchemeIsHTTPOrHTTPS() || url.SchemeIs(extensions::kExtensionScheme) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || url.SchemeIs(webapps::kIsolatedAppScheme) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -416,7 +416,7 @@ void ShowChromeTips(Browser* browser) { +@@ -413,7 +413,7 @@ void ShowChromeTips(Browser* browser) { ShowSingletonTab(browser, GURL(kChromeTipsURL)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowChromeWhatsNew(Browser* browser) { ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL)); } -@@ -760,7 +760,7 @@ void ShowShortcutCustomizationApp(Profile* profile, +@@ -761,7 +761,7 @@ void ShowShortcutCustomizationApp(Profile* profile, } #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) void ShowWebAppSettingsImpl(Browser* browser, Profile* profile, const std::string& app_id, diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h index 70f8c493dfee..481657fa74a1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h +++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/chrome_pages.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/chrome_pages.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/chrome_pages.h @@ -39,7 +39,7 @@ namespace signin { enum class ConsentLevel; } // namespace signin -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace web_app { enum class AppSettingsPageEntryPoint; } // namespace web_app -@@ -185,7 +185,7 @@ void ShowShortcutCustomizationApp(Profile* profile, +@@ -186,7 +186,7 @@ void ShowShortcutCustomizationApp(Profile* profile, const std::string& category); #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 chrome://app-settings/ page. void ShowWebAppSettings(Browser* browser, const std::string& app_id, 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 851b51fa6ab7..78647f2dc718 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-02-11 09:05:39 UTC +--- chrome/browser/ui/hats/survey_config.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/hats/survey_config.cc -@@ -546,7 +546,7 @@ std::vector GetAllSurveyConfigs() +@@ -559,7 +559,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_passwords_manage__passwords__ui__controller.cc b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc index cebb370fef52..48660f48799a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc -@@ -119,7 +119,7 @@ namespace { +@@ -116,7 +116,7 @@ namespace { using Logger = autofill::SavePasswordProgressLogger; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Should be kept in sync with constant declared in // bubble_controllers/relaunch_chrome_bubble_controller.cc. constexpr int kMaxNumberOfTimesKeychainErrorBubbleIsShown = 3; -@@ -639,7 +639,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor +@@ -591,7 +591,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor } void ManagePasswordsUIController::OnKeychainError() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CHECK(!dialog_controller_); PrefService* prefs = Profile::FromBrowserContext(web_contents()->GetBrowserContext()) 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 8a027b8489ae..ea78189f3b5f 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-02-11 09:05:39 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -522,7 +522,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -525,7 +525,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) { -@@ -540,7 +540,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -543,7 +543,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_signin_signin__view__controller.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h index 0ec550789560..5cedba706d6c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller.h.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/signin/signin_view_controller.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/signin/signin_view_controller.h -@@ -170,7 +170,7 @@ class SigninViewController { +@@ -171,7 +171,7 @@ class SigninViewController { void ShowModalSyncConfirmationDialog(bool is_signin_intercept, bool is_sync_promo); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Shows the modal history sync opt in dialog as a browser-modal dialog on top // of the `browser_`'s window. Executes the provided callback when the dialog // closes. diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc b/www/chromium/files/patch-chrome_browser_ui_startup_google__chrome__scheme__util.cc similarity index 66% copy from www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc copy to www/chromium/files/patch-chrome_browser_ui_startup_google__chrome__scheme__util.cc index ce2a8a65be1d..b6712a00facd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_google__chrome__scheme__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2026-02-11 09:05:39 UTC -+++ chrome/browser/ui/startup/startup_tab_provider.cc -@@ -67,7 +67,7 @@ - #include "extensions/common/manifest_handlers/chrome_url_overrides_handler.h" - #endif // !BUILDFLAG(IS_ANDROID) +--- chrome/browser/ui/startup/google_chrome_scheme_util.cc.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/ui/startup/google_chrome_scheme_util.cc +@@ -26,7 +26,7 @@ + #include "chrome/common/chrome_constants.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_util.h" #endif -@@ -135,7 +135,7 @@ bool ValidateUrl(const GURL& url) { +@@ -133,7 +133,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_startup_infobar__utils.cc b/www/chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc index b290b83a9ca1..1147858cd525 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-02-11 09:05:39 UTC +--- chrome/browser/ui/startup/infobar_utils.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/startup/infobar_utils.cc -@@ -45,7 +45,7 @@ +@@ -46,7 +46,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 -@@ -223,7 +223,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br +@@ -221,7 +221,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br + return; } - #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 cc6be6ac5ee1..2bc50e976676 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-02-11 09:05:39 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc -@@ -133,7 +133,7 @@ +@@ -134,7 +134,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" -@@ -1102,7 +1102,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -978,7 +978,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())) { -@@ -1185,7 +1185,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1061,7 +1061,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) && -@@ -1402,7 +1402,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1278,7 +1278,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 8e0cd6ab6c2f..08c6b206c3ea 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,38 +1,56 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -81,7 +81,7 @@ +@@ -69,7 +69,7 @@ + #include "content/public/browser/storage_partition.h" + #include "content/public/common/content_switches.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/display/screen.h" + #endif + +@@ -87,7 +87,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/search_integrity/search_integrity.h" + #include "chrome/browser/search_integrity/search_integrity_factory.h" #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -132,7 +132,7 @@ Browser* GetExistingBrowserForOpenBehavior( + chrome::startup::IsProcessStartup process_startup) { + Browser* workspace_browser = chrome::FindLastActiveWithProfile(profile); -@@ -221,7 +221,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool match_original_profiles = + process_startup == chrome::startup::IsProcessStartup::kYes; + display::Screen* const screen = display::Screen::Get(); +@@ -280,7 +280,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( +@@ -310,7 +310,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 +@@ -517,7 +517,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 + search_integrity::SearchIntegrity* search_integrity_service = 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 ce2a8a65be1d..26a618028d5f 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,11 @@ ---- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/startup/startup_tab_provider.cc -@@ -67,7 +67,7 @@ +@@ -68,7 +68,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 -@@ -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 c0cd962e2680..df7de405ca5c 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-02-11 09:05:39 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -213,7 +213,7 @@ +@@ -214,7 +214,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" -@@ -710,12 +710,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -703,12 +703,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_public_tab__features.h b/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h index d08ef2b77814..014d381efdea 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,29 @@ ---- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/tabs/public/tab_features.h -@@ -129,7 +129,7 @@ class TabContextualizationController; +@@ -147,7 +147,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 -@@ -506,7 +506,7 @@ class TabFeatures { - new_tab_page_preload_pipeline_manager_; +@@ -540,7 +540,7 @@ class TabFeatures { + skills_ui_tab_controller_; #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 +@@ -551,7 +551,7 @@ class TabFeatures { + std::unique_ptr skills_update_observer_; + #endif // BUILDFLAG(ENABLE_GLIC) && !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) + std::unique_ptr + saas_usage_navigation_observer_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) 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 79d9d1307ef7..0cbf80c493b1 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,29 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/tabs/tab_features.cc -@@ -88,7 +88,7 @@ - #include "chrome/browser/ui/webui/webui_embedding_context.h" +@@ -96,7 +96,7 @@ #include "components/contextual_tasks/public/features.h" + #include "components/skills/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 -@@ -442,7 +442,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -461,7 +461,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(); +@@ -527,7 +527,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro + } + #endif // BUILDFLAG(ENABLE_GLIC) && !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) + if (base::FeatureList::IsEnabled(enterprise_reporting::kSaasUsageReporting)) { + saas_usage_navigation_observer_ = + std::make_unique( 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 cf21cbbc5bf3..99fb607525d9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/ui_features.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/ui_features.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/ui_features.cc -@@ -30,7 +30,7 @@ BASE_FEATURE(kAllowEyeDropperWGCScreenCapture, +@@ -33,7 +33,7 @@ BASE_FEATURE(kBrowserWidgetCacheThemeService, 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. -@@ -299,7 +299,7 @@ BASE_FEATURE(kViewsFirstRunDialog, base::FEATURE_ENABL +@@ -313,7 +313,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 -@@ -537,7 +537,7 @@ bool IsBookmarkTabGroupConversionEnabled() { +@@ -513,7 +513,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); +@@ -576,7 +576,7 @@ BASE_FEATURE_PARAM(bool, + "tab_groups_focusing_pinned_tabs", + false); -#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 a5aaaab6073e..b413509dc7eb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.h @@ -1,38 +1,38 @@ ---- chrome/browser/ui/ui_features.h.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/ui_features.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/ui_features.h -@@ -24,7 +24,7 @@ BASE_DECLARE_FEATURE(kAllowEyeDropperWGCScreenCapture) +@@ -26,7 +26,7 @@ BASE_DECLARE_FEATURE(kBrowserWidgetCacheThemeService); 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 -@@ -56,7 +56,7 @@ enum class PdfInfoBarTrigger { kPdfLoad = 0, kStartup - BASE_DECLARE_FEATURE_PARAM(PdfInfoBarTrigger, kPdfInfoBarTrigger); +@@ -66,7 +66,7 @@ BASE_DECLARE_FEATURE_PARAM(int, + kSeparateDefaultAndPinPromptDefaultCooldownDays); #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); -@@ -290,7 +290,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); +@@ -286,7 +286,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); - +@@ -394,7 +394,7 @@ BASE_DECLARE_FEATURE(kWhatsNewDesktopRefresh); BASE_DECLARE_FEATURE(kTabGroupsFocusing); + BASE_DECLARE_FEATURE_PARAM(bool, kTabGroupsFocusingPinnedTabs); -#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_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index aa34b7c5885f..13e5da2b890c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc @@ -36,7 +36,7 @@ #include "ui/wm/core/wm_state.h" #endif // defined(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include -@@ -131,7 +131,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -123,7 +123,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( return controller; })); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On the Linux desktop, we want to prevent the user from logging in as root, // so that we don't destroy the profile. Now that we have some minimal ui // initialized, check to see if we're running as root and bail if we are. diff --git a/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc b/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc index a986e6fa3b8d..171a497f969a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc @@ -95,7 +95,7 @@ DialogText GetPromptDialogTextFromStatus( break; } -#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( syncer::kReplaceSyncPromosWithSignInPromos) && status.signin_status != collaboration::SigninStatus::kSigninDisabled) { -@@ -436,7 +436,7 @@ void CollaborationControllerDelegateDesktop::ShowError +@@ -434,7 +434,7 @@ void CollaborationControllerDelegateDesktop::ShowError chrome::ShowBrowserModal(browser_, std::move(dialog_model)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void CollaborationControllerDelegateDesktop:: MaybeShowSignInUiForHistorySyncOptin() { collaboration::ServiceStatus status = GetServiceStatus(); -@@ -521,7 +521,7 @@ void CollaborationControllerDelegateDesktop:: +@@ -519,7 +519,7 @@ void CollaborationControllerDelegateDesktop:: } AccountInfo account_for_promo = -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) signin_ui_util::GetSingleAccountForPromos( IdentityManagerFactory::GetForProfile(browser_->profile())); #else -@@ -556,7 +556,7 @@ void CollaborationControllerDelegateDesktop:: +@@ -554,7 +554,7 @@ void CollaborationControllerDelegateDesktop:: .SetLabel(dialog_text.ok_button_text) .SetEnabled(true)); -#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( syncer::kReplaceSyncPromosWithSignInPromos)) { dialog_builder.SetFootnote(ui::DialogModelLabel(dialog_text.footnote)); -@@ -607,7 +607,7 @@ void CollaborationControllerDelegateDesktop::OnPromptD +@@ -605,7 +605,7 @@ void CollaborationControllerDelegateDesktop::OnPromptD .Run(CollaborationControllerDelegate::Outcome::kSuccess); } -#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( syncer::kReplaceSyncPromosWithSignInPromos)) { MaybeShowSignInUiForHistorySyncOptin(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h b/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h index 4f049bf8f0c3..09cf53d154cd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h -@@ -84,7 +84,7 @@ class CollaborationControllerDelegateDesktop +@@ -81,7 +81,7 @@ class CollaborationControllerDelegateDesktop std::optional progress); void ShowErrorDialog(const ErrorInfo& error); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSignInUiForHistorySyncOptin(); #endif void MaybeShowSignInAndSyncUi(); 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 142223ba19db..3ba12055b436 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2359,7 +2359,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2437,7 +2437,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(); + UpdateFastResizeForContentViews(is_dragging); -@@ -6014,7 +6014,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { + if (!is_dragging) { +@@ -5924,7 +5924,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; } -@@ -6024,7 +6024,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -5934,7 +5934,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 13ccd2965a2b..6ba127531897 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,47 @@ ---- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-03-13 06:02:14 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 + +@@ -86,7 +86,7 @@ class ThemeChangedObserver : public views::WidgetObser }; - bool IsUsingLinuxSystemTheme(Profile* profile) { + bool IsUsingLinuxSystemTheme(ThemeService* theme_service) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); + return theme_service->UsingSystemTheme(); #else return false; -@@ -203,7 +203,7 @@ void BrowserWidget::InitBrowserWidget() { +@@ -209,7 +209,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() -@@ -541,7 +541,7 @@ void BrowserWidget::OnMenuClosed() { +@@ -535,7 +535,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(); -@@ -582,7 +582,7 @@ void BrowserWidget::OnTouchUiChanged() { +@@ -576,7 +576,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_browser__widget.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h index 9191b6ee4680..6dfa9d614700 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_widget.h.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/views/frame/browser_widget.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/browser_widget.h -@@ -65,7 +65,7 @@ class BrowserWidget : public views::Widget, +@@ -66,7 +66,7 @@ class BrowserWidget : public views::Widget, ~BrowserWidget() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the frame is in a tiled state. bool tiled() const { return tiled_; } void set_tiled(bool tiled) { tiled_ = tiled; } -@@ -187,7 +187,7 @@ class BrowserWidget : public views::Widget, +@@ -193,7 +193,7 @@ class BrowserWidget : public views::Widget, // contents for smoother dragging. TabDragKind tab_drag_kind_ = TabDragKind::kNone; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool tiled_ = false; #endif }; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_custom__corners__background.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_custom__corners__background.cc new file mode 100644 index 000000000000..a09cadbdd8a6 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_custom__corners__background.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/custom_corners_background.cc.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/ui/views/frame/custom_corners_background.cc +@@ -117,7 +117,7 @@ CustomCornersBackground::Corner CustomCornersBackgroun + } else { + corner.type = CornerType::kSquare; + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* const widget = browser_view().browser_widget()) { + if (auto* const frame = widget->GetFrameView()) { + const auto rrect = frame->GetRestoredClipRegion(); 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 e9704b850ea6..485266861742 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/frame/layout/browser_view_app_layout_impl.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/layout/browser_view_app_layout_impl.cc -@@ -371,7 +371,7 @@ void BrowserViewAppLayoutImpl::DoPostLayoutVisualAdjus +@@ -386,7 +386,7 @@ void BrowserViewAppLayoutImpl::DoPostLayoutVisualAdjus + #elif BUILDFLAG(IS_WIN) 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_opaque__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index a0142f73b32d..2a1b97bfb328 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc -@@ -56,7 +56,7 @@ +@@ -57,7 +57,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 -@@ -618,7 +618,7 @@ bool OpaqueBrowserFrameView::IsFrameCondensed() const +@@ -587,7 +587,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; -@@ -637,7 +637,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh +@@ -606,7 +606,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(); } -@@ -869,7 +869,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -840,7 +840,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_opaque__browser__frame__view.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h index ef8055bb6cc1..3bd1233f2ffd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h -@@ -109,7 +109,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView +@@ -103,7 +103,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView FrameButtonStyle GetFrameButtonStyle() const override; void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override; bool ShouldDrawRestoredFrameShadow() const override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsTiled() const override; #endif int WebAppButtonHeight() const override; -@@ -232,7 +232,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView +@@ -226,7 +226,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView // Background painter for the window frame. std::unique_ptr frame_background_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr menu_runner_; #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h index b9d090260891..40ad63968a75 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h @@ -9,7 +9,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ui_base_types.h" #endif -@@ -88,7 +88,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { +@@ -83,7 +83,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { // Returns true if a client-side shadow should be drawn for restored windows. virtual bool ShouldDrawRestoredFrameShadow() const = 0; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the window is in a tiled state. virtual bool IsTiled() const = 0; #endif 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 73ad7f2118a4..67d5e76742ba 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc -@@ -81,7 +81,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM +@@ -87,7 +87,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); -@@ -128,7 +128,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -155,7 +155,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) -@@ -202,7 +202,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -230,7 +230,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_location__bar_location__bar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc index a3693e6b58c3..1ace9964c41b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -1805,7 +1805,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup +@@ -1850,7 +1850,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup } } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (new_state != OmniboxPopupState::kNone) { // Close any overlapping user education bubbles when any popup opens. // It's not great for promos to overlap the omnibox if the user opens the diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index 230511fb4c44..ddd4bccb9118 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc -@@ -407,7 +407,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() +@@ -499,7 +499,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { if (!base::FeatureList::IsEnabled( feature_engagement::kIPHSupervisedUserProfileSigninFeature)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h index 541acd0a4006..3418e7651aef 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -96,7 +96,7 @@ class AvatarToolbarButton : public ToolbarButton, +@@ -97,7 +97,7 @@ class AvatarToolbarButton : public ToolbarButton, // Attempts showing the In-Product-Help for profile Switching. void MaybeShowProfileSwitchIPH(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Attempts showing the In-Product-Help when a supervised user signs-in in a // profile. void MaybeShowSupervisedUserSignInIPH(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc index 23d2647debc3..e978f81015d9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc @@ -112,7 +112,7 @@ #include "ui/views/accessibility/view_accessibility.h" #include "ui/views/widget/widget.h" -#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/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -591,7 +591,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -595,7 +595,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { case signin_util::SignedInState::kSignedOut: case signin_util::SignedInState::kWebOnlySignedIn: { std::string profile_user_display_name, profile_user_email; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_user_display_name = profile().GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserDisplayName); profile_user_email = profile().GetPrefs()->GetString( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc index 64ce994538cb..4ac595ac661c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/profiles/profile_picker_view.cc -@@ -81,7 +81,7 @@ +@@ -83,7 +83,7 @@ #include "chrome/browser/global_keyboard_shortcuts_mac.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -107,7 +107,7 @@ class ProfilePickerWidget : public views::Widget { +@@ -108,7 +108,7 @@ class ProfilePickerWidget : public views::Widget { views::Widget::InitParams params( views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); - params.delegate = profile_picker_view_; + params.delegate = profile_picker_view; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.wm_class_name = shell_integration_linux::GetProgramClassName(); params.wm_class_class = shell_integration_linux::GetProgramClassClass(); params.wayland_app_id = params.wm_class_class; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index efe80fb2e815..c5625f2bb0f2 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -1,73 +1,73 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc -@@ -64,14 +64,14 @@ +@@ -65,14 +65,14 @@ #include "chrome/browser/ui/webui/signin/signout_confirmation/signout_confirmation_ui.h" #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#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/webui/signin/history_sync_optin/history_sync_optin_ui.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) namespace { const int kModalDialogWidth = 448; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const int kManagedUserNoticeConfirmationDialogWidth = 780; const int kManagedUserNoticeConfirmationDialogHeight = 560; #endif -@@ -138,7 +138,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat +@@ -139,7 +139,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat kSyncConfirmationDialogWidth, InitializeSigninWebDialogUI(true)); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr SigninViewControllerDelegateViews::CreateHistorySyncOptInWebView( Browser* browser, -@@ -232,7 +232,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir +@@ -242,7 +242,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir } #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) // static std::unique_ptr SigninViewControllerDelegateViews::CreateManagedUserNoticeConfirmationWebView( -@@ -408,7 +408,7 @@ SigninViewControllerDelegateViews::SigninViewControlle +@@ -418,7 +418,7 @@ SigninViewControllerDelegateViews::SigninViewControlle SetButtons(static_cast(ui::mojom::DialogButton::kNone)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On the local profile creation dialog, cancelling the dialog (for instance // through the VKEY_ESCAPE accelerator) should delete the profile. if (delete_profile_on_cancel) { -@@ -500,7 +500,7 @@ void SigninViewControllerDelegateViews::DisplayModal() +@@ -510,7 +510,7 @@ void SigninViewControllerDelegateViews::DisplayModal() content_view_->RequestFocus(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SigninViewControllerDelegateViews::DeleteProfileOnCancel() { ProfileAttributesEntry* entry = g_browser_process->profile_manager() -@@ -540,7 +540,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe +@@ -548,7 +548,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe /*animate_on_resize=*/true); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static SigninViewControllerDelegate* SigninViewControllerDelegate::CreateSyncHistoryOptInDelegate( -@@ -602,7 +602,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio +@@ -610,7 +610,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio } #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) // static SigninViewControllerDelegate* SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( 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 a53164cd2e6a..2b8518058cf7 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -191,7 +191,7 @@ BrowserView* GetBrowserViewForContext(const TabDragCon +@@ -193,7 +193,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(); @@ -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_ = gfx::Point(offset_from_source_view.x(), -@@ -1006,7 +1006,7 @@ TabDragController::Liveness TabDragController::DragBro + ref->start_point_in_screen_ = +@@ -1022,7 +1022,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. -@@ -2159,7 +2159,7 @@ void TabDragController::CompleteDrag() { +@@ -2202,7 +2202,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 -@@ -2593,7 +2593,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2643,7 +2643,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 8eee8946ca7c..5f9c1a571036 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -684,7 +684,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -696,7 +696,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 74c123bef08f..563a0cc0b50f 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc -@@ -383,7 +383,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta +@@ -401,7 +401,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView( // 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 037ff9d3ff1b..0f7cc94e9064 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -557,7 +557,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -563,7 +563,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())); } bool TabStyleViewsImpl::IsApparentlyActive() const { 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 56cd46f74550..2ac1064884be 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1254,7 +1254,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1268,7 +1268,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered when a shared tab becomes the active tab."))); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // kIPHSupervisedUserProfileSigninFeature: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( -@@ -1521,7 +1521,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1529,7 +1529,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered to inform users of the availability of the " "new translate screen feature on the Lens Overlay."))); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( diff --git a/www/chromium/files/patch-chrome_browser_ui_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 8bdeae94f798..e661f0a70a5f 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-02-11 09:05:39 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc -@@ -525,7 +525,7 @@ std::string GetFileExtension(FileExtension file_extens +@@ -524,7 +524,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; -@@ -2146,7 +2146,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2093,7 +2093,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( -@@ -3522,7 +3522,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3470,7 +3470,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 -@@ -3537,7 +3537,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3485,7 +3485,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 -@@ -3547,7 +3547,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3495,7 +3495,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; } -@@ -3563,7 +3563,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3511,7 +3511,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; } -@@ -4378,7 +4378,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4332,7 +4332,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 -@@ -4585,7 +4585,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4539,7 +4539,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); -@@ -4629,7 +4629,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4583,7 +4583,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_app__browser__controller.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc index 20937ad0ecea..3bfb6e54e67b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -524,7 +524,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex +@@ -532,7 +532,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex // web bundle. The flash text is not needed on platforms that already display // the app name in the title bar (e.g. Mac, Windows, and Linux). if (IsIsolatedWebApp()) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::u16string(); #else // !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) return GetAppShortName(); 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 51e941dbea9b..c35a6e6625f2 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -597,7 +597,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun +@@ -612,7 +612,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); -@@ -818,7 +818,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( +@@ -833,7 +833,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_web__applications_web__app__ui__manager__impl.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h index 94c3e9412d0c..8d02f9df3946 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h -@@ -244,7 +244,7 @@ class WebAppUiManagerImpl : public BrowserListObserver +@@ -249,7 +249,7 @@ class WebAppUiManagerImpl : public BrowserListObserver UninstallCompleteCallback uninstall_complete_callback, webapps::UninstallResultCode uninstall_code); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowIPHPromoForAppsLaunchedViaLinkCapturing(Browser* browser, const webapps::AppId& app_id, bool is_activated); 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 636e84f8e9e9..14dc234c7f37 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc @@ -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" @@ -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 { @@ -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) @@ -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( -@@ -330,7 +330,7 @@ class ClientCertSource : public CertificateManagerPage +@@ -326,7 +326,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 -@@ -1052,7 +1052,7 @@ CreatePlatformClientCertSource( +@@ -1048,7 +1048,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( -@@ -1060,7 +1060,7 @@ CreatePlatformClientCertSource( +@@ -1056,7 +1056,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( -@@ -1110,7 +1110,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow +@@ -1106,7 +1106,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 7036199e61dd..44a028c4aedc 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,76 +1,94 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -156,7 +156,7 @@ +@@ -155,7 +155,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" -@@ -165,13 +165,13 @@ +@@ -164,13 +164,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) @@ -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) -@@ -360,7 +360,7 @@ void RegisterChromeWebUIConfigs() { +@@ -224,7 +224,7 @@ + #endif // BUILDFLAG(IS_MAC) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/skills/skills_ui.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) +@@ -367,7 +367,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) -@@ -390,7 +390,7 @@ void RegisterChromeWebUIConfigs() { +@@ -397,7 +397,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()); -@@ -399,18 +399,18 @@ void RegisterChromeWebUIConfigs() { +@@ -406,18 +406,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) +@@ -465,7 +465,7 @@ void RegisterChromeWebUIConfigs() { + #endif // BUILDFLAG(IS_MAC) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + map.AddWebUIConfig(std::make_unique()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) 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 5be2c9b03b47..85959f0cece1 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,50 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -116,18 +116,18 @@ +@@ -115,17 +115,17 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "chrome/browser/ui/webui/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 -@@ -276,7 +276,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( +@@ -274,7 +274,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; -@@ -416,7 +416,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -414,7 +414,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); } -@@ -455,7 +455,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -453,7 +453,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); + if (page_url.host() == chrome::kChromeUIContextualTasksHost) { + return ContextualTasksUI::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 ff290f5764db..9dc5482aa480 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-02-19 11:06:15 UTC +--- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-03-24 07:37:53 UTC +++ chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -168,7 +168,7 @@ const char* kMacShareIconResourceName = +@@ -169,7 +169,7 @@ const char* kMacShareIconResourceName = #elif BUILDFLAG(IS_WIN) const char* kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share.svg"; #else -@@ -228,7 +228,7 @@ static void DefineChromeRefreshRealboxIcons() { +@@ -229,7 +229,7 @@ static void DefineChromeRefreshRealboxIcons() { #elif BUILDFLAG(IS_WIN) kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else -@@ -596,7 +596,7 @@ std::string SearchboxHandler::AutocompleteIconToResour +@@ -606,7 +606,7 @@ std::string SearchboxHandler::AutocompleteIconToResour if (icon.name == omnibox::kShareWinChromeRefreshIcon.name) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { return kLinuxShareIconResourceName; } diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc index 5abb1e819300..a75a1e056f77 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ #include "chrome/browser/win/installer_downloader/installer_downloader_pref_names.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/startup/default_browser_prompt/default_browser_prompt_manager.h" // nogncheck #include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_prefs.h" // nogncheck #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_delegate.h" -@@ -49,7 +49,7 @@ void InfoBarInternalsHandler::TriggerInfoBar(InfoBarTy +@@ -55,7 +55,7 @@ void InfoBarInternalsHandler::TriggerInfoBar(InfoBarTy void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsCallback callback) { std::vector infobar_list; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) infobar_list.emplace_back(InfoBarEntry::New( /*type=*/InfoBarType::kDefaultBrowser, /*name=*/"Default Browser", /*description=*/ -@@ -79,7 +79,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC +@@ -94,7 +94,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC bool InfoBarInternalsHandler::TriggerInfoBarInternal(InfoBarType type) { switch (type) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case InfoBarType::kDefaultBrowser: { BrowserWindowInterface* const bwi = GetLastActiveBrowserWindowInterfaceWithAnyProfile(); 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 53008285ab10..a44672d027b0 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.cc @@ -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) -@@ -382,7 +382,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -381,7 +381,7 @@ void ManagementUIHandler::AddReportingInfo(base::ListV 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)); -@@ -404,7 +404,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -403,7 +403,7 @@ void ManagementUIHandler::AddReportingInfo(base::ListV 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)); -@@ -594,7 +594,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS +@@ -592,7 +592,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 4b2ae21308ea..abf4065756d0 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 2026-02-11 09:05:39 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.h @@ -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 @@ -90,7 +90,7 @@ class ManagementUIHandler : public content::WebUIMessa - base::Value::List GetManagedWebsitesInfo(Profile* profile) const; - base::Value::List GetApplicationsInfo(Profile* profile) const; + base::ListValue GetManagedWebsitesInfo(Profile* profile) const; + base::ListValue 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(); + base::DictValue GetDeviceSignalGrantedMessage(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc index 5c65c92f93a6..c96d3ef82573 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc -@@ -28,7 +28,7 @@ - #include "chrome/browser/ui/webui/password_manager/promo_cards/web_password_manager_promo.h" - #endif +@@ -31,7 +31,7 @@ + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.h" #include "components/os_crypt/async/browser/os_crypt_async.h" -@@ -74,7 +74,7 @@ PromoCardsHandler::PromoCardsHandler(Profile* profile) - .get())); - #endif +@@ -78,7 +78,7 @@ PromoCardsHandler::PromoCardsHandler(Profile* profile) + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto relaunch_promo = std::make_unique(profile->GetPrefs()); relaunch_chrome_promo_ = relaunch_promo.get(); -@@ -114,7 +114,7 @@ void PromoCardsHandler::HandleGetAvailablePromoCard( +@@ -118,7 +118,7 @@ void PromoCardsHandler::HandleGetAvailablePromoCard( CHECK_EQ(1U, args.size()); const base::Value& callback_id = args[0]; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (relaunch_chrome_promo_ && !relaunch_chrome_promo_->is_encryption_available().has_value()) { g_browser_process->os_crypt_async()->GetInstance( -@@ -177,7 +177,7 @@ PasswordPromoCardBase* PromoCardsHandler::GetPromoToSh +@@ -181,7 +181,7 @@ PasswordPromoCardBase* PromoCardsHandler::GetPromoToSh return promo_to_show; } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void PromoCardsHandler::OnEncryptorReceived( base::Value callback_id, os_crypt_async::Encryptor encryptor) { 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 331aeda954c4..5f92d0286fa5 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-19 11:06:15 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc @@ -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 -@@ -146,7 +146,7 @@ +@@ -147,7 +147,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 -@@ -280,7 +280,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -282,7 +282,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", -@@ -555,7 +555,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -536,7 +536,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}, -@@ -563,11 +563,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -544,11 +544,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) -@@ -592,7 +592,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -573,7 +573,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; -@@ -1826,7 +1826,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1844,7 +1844,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 357eb44ee360..c49ce855213a 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-02-11 09:05:39 UTC +--- chrome/browser/ui/webui/settings/site_settings_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/settings/site_settings_handler.cc -@@ -125,7 +125,7 @@ +@@ -124,7 +124,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) -@@ -2090,7 +2090,7 @@ void SiteSettingsHandler::SendZoomLevels() { - base::Value::List zoom_levels_exceptions; +@@ -2076,7 +2076,7 @@ void SiteSettingsHandler::SendZoomLevels() { + base::ListValue 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) { -@@ -2192,7 +2192,7 @@ void SiteSettingsHandler::HandleRemoveZoomLevel(const +@@ -2178,7 +2178,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_signin_profile__picker__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc index fc905a46daec..674228eb776a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -174,7 +174,7 @@ base::Value::Dict CreateProfileState(const ProfileAttr +@@ -177,7 +177,7 @@ base::DictValue CreateProfileState(const ProfileAttrib IDS_PROFILE_PICKER_PROFILE_CARD_LABEL, local_profile_name); if (entry->GetIsManaged() == signin::Tribool::kTrue) { profile_entry.Set("avatarBadge", "cr:domain"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) } else if (entry->IsSupervised()) { profileCardButtonLabel = l10n_util::GetStringFUTF16( IDS_PROFILE_PICKER_PROFILE_CARD_LABEL_SUPERVISED, local_profile_name); diff --git a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc index 165e82c8f6db..a1f7c3b921a8 100644 --- a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc +++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/ui/window_sizer/window_sizer.cc -@@ -227,7 +227,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( +@@ -226,7 +226,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( browser, window_bounds, show_state); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has its own implementation, see WindowSizerLinux. // static void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/chromium/files/patch-chrome_browser_updater_browser__updater__client__util.h b/www/chromium/files/patch-chrome_browser_updater_browser__updater__client__util.h new file mode 100644 index 000000000000..1a171a6a3857 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_updater_browser__updater__client__util.h @@ -0,0 +1,11 @@ +--- chrome/browser/updater/browser_updater_client_util.h.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/updater/browser_updater_client_util.h +@@ -20,7 +20,7 @@ namespace updater { + extern const char kUpdaterName[]; + extern const char kPrivilegedHelperName[]; + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + + // System level updater should only be used if the browser is owned by root. + // During promotion, the browser will be changed to be owned by root and wheel. diff --git a/www/chromium/files/patch-chrome_browser_updater_updater.cc b/www/chromium/files/patch-chrome_browser_updater_updater.cc new file mode 100644 index 000000000000..269ad2232c48 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_updater_updater.cc @@ -0,0 +1,11 @@ +--- chrome/browser/updater/updater.cc.orig 2026-03-13 06:02:14 UTC ++++ chrome/browser/updater/updater.cc +@@ -53,7 +53,7 @@ std::optional GetLastKnownUpdaterRegi + return GetLastKnownUpdaterRegistrationStorage(); + } + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + void CheckForUpdate( + base::RepeatingCallback callback) { + base::ThreadPool::PostTaskAndReplyWithResult( 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 92f9cdc82e13..e7180c62d358 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 2026-02-11 09:05:39 UTC +--- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/commands/launch_web_app_command.cc -@@ -113,7 +113,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt +@@ -104,7 +104,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 591551c762ea..c2dc49aa992a 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 2026-02-11 09:05:39 UTC +--- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/commands/set_user_display_mode_command.cc -@@ -65,7 +65,7 @@ void SetUserDisplayModeCommand::StartWithLock( +@@ -60,7 +60,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 086393761bf0..902ce0c7682d 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-02-11 09:05:39 UTC +--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/os_integration/os_integration_manager.cc -@@ -676,7 +676,7 @@ std::unique_ptr OsIntegrationManager::Bu +@@ -671,7 +671,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_os__integration_run__on__os__login__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc index 056b8ea297cb..643095ee04ee 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc @@ -55,7 +55,7 @@ proto::os_state::RunOnOsLogin::Mode ConvertWebAppRunOn // different from other platforms, see web_app_run_on_os_login_manager.h for // more info. bool DoesRunOnOsLoginRequireExecution() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return base::FeatureList::IsEnabled(features::kDesktopPWAsRunOnOsLogin); + return true; #else return false; 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 8a7e37695c1d..f3269cbe12d4 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 2026-02-11 09:05:39 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2026-03-13 06:02:14 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( +@@ -120,7 +120,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 +@@ -305,7 +305,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 +@@ -352,7 +352,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 +@@ -366,7 +366,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 +@@ -421,7 +421,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_) { -@@ -482,7 +482,7 @@ std::optional OsIntegrationTestOverrideImpl: +@@ -470,7 +470,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; -@@ -549,7 +549,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort +@@ -538,7 +538,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); -@@ -574,7 +574,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( +@@ -563,7 +563,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); -@@ -766,7 +766,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat +@@ -755,7 +755,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(); } -@@ -817,7 +817,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -806,7 +806,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()); -@@ -830,7 +830,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -819,7 +819,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) { -@@ -902,7 +902,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr +@@ -891,7 +891,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 af507d56ddd4..5b1389006e61 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 2026-02-11 09:05:39 UTC +--- chrome/browser/web_applications/web_app.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/web_app.cc @@ -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) -@@ -755,7 +755,7 @@ void WebApp::SetCurrentOsIntegrationStates( +@@ -777,7 +777,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 1f1b902f2af3..276cdb13677a 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-02-11 09:05:39 UTC +--- chrome/browser/web_applications/web_app_install_info.h.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/web_applications/web_app_install_info.h -@@ -43,7 +43,7 @@ +@@ -42,7 +42,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 634954452afd..709edd869c68 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-02-11 09:05:39 UTC +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -555,7 +555,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc +@@ -540,7 +540,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, + if (std::ranges::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 320695967e97..93029cf02ba1 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 2026-02-11 09:05:39 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -746,7 +746,7 @@ base::flat_set GetGaiaIDs( +@@ -743,7 +743,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"); -@@ -756,7 +756,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -753,7 +753,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__content__client.cc b/www/chromium/files/patch-chrome_common_chrome__content__client.cc index 3b9ab6359fca..5df21e691e84 100644 --- a/www/chromium/files/patch-chrome_common_chrome__content__client.cc +++ b/www/chromium/files/patch-chrome_common_chrome__content__client.cc @@ -1,44 +1,44 @@ ---- chrome/common/chrome_content_client.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/common/chrome_content_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_content_client.cc @@ -61,12 +61,12 @@ #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) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "sandbox/linux/services/credentials.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -189,7 +189,7 @@ static const char* const kChromeStandardURLSchemes[] = extensions::kExtensionScheme, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) webapps::kIsolatedAppScheme, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -213,7 +213,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes +@@ -214,7 +214,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) schemes->isolated_app_schemes.push_back(webapps::kIsolatedAppScheme); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -262,7 +262,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes +@@ -263,7 +263,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) schemes->secure_schemes.push_back(webapps::kIsolatedAppScheme); schemes->cors_enabled_schemes.push_back(webapps::kIsolatedAppScheme); schemes->service_worker_schemes.push_back(webapps::kIsolatedAppScheme); diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc index 9011e5045c44..b6ec06334fe2 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,56 +1,47 @@ ---- chrome/common/chrome_features.cc.orig 2026-03-04 12:49:15 UTC +--- chrome/common/chrome_features.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_features.cc -@@ -78,7 +78,7 @@ BASE_FEATURE(kUseKeychainKeyProvider, base::FEATURE_EN +@@ -84,7 +84,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); -@@ -199,7 +199,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 -@@ -236,7 +236,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, +@@ -232,7 +232,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. -@@ -788,7 +788,7 @@ BASE_FEATURE(kGlicWarming, base::FEATURE_DISABLED_BY_D +@@ -800,7 +800,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); -@@ -1357,7 +1357,7 @@ BASE_FEATURE(kKAnonymityServiceOHTTPRequests, base::FE - // public keys. - BASE_FEATURE(kKAnonymityServiceStorage, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -1356,7 +1356,7 @@ BASE_FEATURE(kIsolatedWebAppManagedGuestSessionInstall + BASE_FEATURE(kIsolatedWebAppBundleCache, base::FEATURE_ENABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) -#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: -@@ -1368,7 +1368,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1367,7 +1367,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 109daea49225..e4b527992279 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-03-04 12:49:15 UTC +--- chrome/common/chrome_features.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_features.h -@@ -74,7 +74,7 @@ BASE_DECLARE_FEATURE(kUseKeychainKeyProvider); +@@ -82,7 +82,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); -@@ -162,7 +162,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); +@@ -167,7 +167,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); -@@ -1003,7 +1003,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); - COMPONENT_EXPORT(CHROME_FEATURES) - BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); +@@ -1001,7 +1001,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kIsolatedWebAppBundleCache); + #endif -#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; -@@ -1011,7 +1011,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -1009,7 +1009,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__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc index fb1f23371fd0..60bdba1788bf 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,82 +1,82 @@ ---- chrome/common/chrome_paths.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/common/chrome_paths.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_paths.cc @@ -31,7 +31,7 @@ #include "base/apple/foundation_util.h" #endif -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) #include "components/policy/core/common/policy_paths.h" #endif @@ -47,14 +47,14 @@ namespace { std::optional g_override_using_default_data_directory_for_testing; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The path to the external extension .json files. // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ const base::FilePath::CharType kFilepathSinglePrefExtensions[] = #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -175,7 +175,7 @@ bool PathProvider(int key, base::FilePath* result) { } break; case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!GetUserDownloadsDirectorySafe(&cur)) { return false; } @@ -405,13 +405,13 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) case chrome::DIR_POLICY_FILES: { cur = base::FilePath(policy::kPolicyPath); break; } #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) { @@ -421,7 +421,7 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { cur = base::FilePath(kFilepathSinglePrefExtensions); break; @@ -460,7 +460,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if BUILDFLAG(IS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -474,6 +474,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -477,6 +477,9 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath( FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts")); +#elif BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chromium/native-messaging-hosts")); - #else - cur = base::FilePath( - FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts")); + #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING) + cur = base::FilePath(FILE_PATH_LITERAL( + "/etc/opt/chrome_for_testing/native-messaging-hosts")); diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc index 13567b4d7e40..b003aa251884 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-02-11 09:05:39 UTC +--- chrome/common/chrome_switches.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_switches.cc -@@ -952,7 +952,7 @@ const char kDebugPrint[] = "debug-print"; +@@ -963,7 +963,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. -@@ -1000,7 +1000,7 @@ const char kGlicResetMultiInstanceEnabledByTier[] = - const char kGlicForceG1StatusForMultiInstance[] = "glic-force-g1-for-mi"; +@@ -1016,7 +1016,7 @@ const char kGlicGuestUrlPresetPreprod[] = "glic-guest- + const char kGlicGuestUrlPresetProd[] = "glic-guest-url-preset-prod"; #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 a3a9526afc1d..51c2a25e01e7 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-02-11 09:05:39 UTC +--- chrome/common/chrome_switches.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/chrome_switches.h -@@ -291,7 +291,7 @@ extern const char kDebugPrint[]; +@@ -294,7 +294,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[]; -@@ -314,7 +314,7 @@ extern const char kGlicResetMultiInstanceEnabledByTier - extern const char kGlicForceG1StatusForMultiInstance[]; + #endif +@@ -319,7 +319,7 @@ extern const char kGlicGuestUrlPresetPreprod[]; + extern const char kGlicGuestUrlPresetProd[]; #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_extensions_extension__constants.h b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h index 11cca51e0848..38221db85b51 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 2026-02-11 09:05:39 UTC +--- chrome/common/extensions/extension_constants.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/extensions/extension_constants.h -@@ -307,7 +307,7 @@ inline constexpr char kReadingModeGDocsHelperExtension +@@ -295,7 +295,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_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index fb4741b0a428..cedeff974b9e 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-02-11 09:05:39 UTC +--- chrome/common/pref_names.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/pref_names.h @@ -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 @@ -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"; -@@ -2131,7 +2131,7 @@ inline constexpr char kPinInfoBarTimesShown[] = +@@ -2135,7 +2135,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[] = -@@ -2178,7 +2178,7 @@ inline constexpr char kDownloadDefaultDirectory[] = +@@ -2182,7 +2182,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 -@@ -2720,7 +2720,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -2724,7 +2724,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[] = -@@ -2734,7 +2734,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] +@@ -2738,7 +2738,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"; -@@ -2826,7 +2826,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ +@@ -2830,7 +2830,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[] = -@@ -3338,7 +3338,7 @@ inline constexpr char kKioskApplicationLogCollectionEn +@@ -3342,7 +3342,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 -@@ -3814,7 +3814,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -3821,7 +3821,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[] = -@@ -4007,7 +4007,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -4014,7 +4014,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 -@@ -4104,7 +4104,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -4111,7 +4111,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 0b1cfcc4ec3e..39148318566f 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-02-11 09:05:39 UTC +--- chrome/common/url_constants.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/url_constants.h -@@ -1007,7 +1007,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -1009,7 +1009,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 dd0598c83677..e78bf23b9cdf 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,32 +1,32 @@ ---- chrome/common/webui_url_constants.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/common/webui_url_constants.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/common/webui_url_constants.cc -@@ -137,7 +137,7 @@ base::span ChromeURLHosts() +@@ -138,7 +138,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() +@@ -206,17 +206,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 f47a2ccb8ec4..caf6ab842d54 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-02-11 09:05:39 UTC +--- chrome/common/webui_url_constants.h.orig 2026-03-13 06:02:14 UTC +++ chrome/common/webui_url_constants.h -@@ -560,12 +560,12 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome +@@ -564,12 +564,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"; -@@ -577,11 +577,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] + inline constexpr char kChromeUIDefaultBrowserModalURL[] = + "chrome://default-browser-modal/"; + inline constexpr char kChromeUIDefaultBrowserModalHost[] = +@@ -585,11 +585,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"; -@@ -608,7 +608,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update +@@ -616,7 +616,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update inline constexpr char kChromeUIUpdaterURL[] = "chrome://updater/"; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ -+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/www/chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc index cc72541e8e6c..7a5916202402 100644 --- a/www/chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc +++ b/www/chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc @@ -1,29 +1,29 @@ ---- chrome/renderer/chrome_content_renderer_client.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/renderer/chrome_content_renderer_client.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/renderer/chrome_content_renderer_client.cc -@@ -184,7 +184,7 @@ +@@ -185,7 +185,7 @@ #include "v8/include/v8-isolate.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) -@@ -420,7 +420,7 @@ void ChromeContentRendererClient::RenderThreadStarted( +@@ -426,7 +426,7 @@ void ChromeContentRendererClient::RenderThreadStarted( WebSecurityPolicy::RegisterURLSchemeAsExtension( WebString::FromASCII(extensions::kExtensionScheme)); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) WebSecurityPolicy::RegisterURLSchemeAsIsolatedApp( WebString::FromASCII(webapps::kIsolatedAppScheme)); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -489,7 +489,7 @@ void ChromeContentRendererClient::RenderThreadStarted( +@@ -495,7 +495,7 @@ void ChromeContentRendererClient::RenderThreadStarted( WebString::FromASCII(chrome::kChromeSearchScheme)); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // IWAs can be enabled by either the feature flag or by enterprise // policy. In either case the kEnableIsolatedWebAppsInRenderer flag is passed // to the renderer process. diff --git a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc index a3ffb2e37b9e..62bb9aacfc05 100644 --- a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc +++ b/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc @@ -1,20 +1,20 @@ ---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/test/chromedriver/key_converter_unittest.cc @@ -248,7 +248,7 @@ TEST(KeyConverter, ToggleModifiers) { CheckEventsReleaseModifiers(keys, key_events); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Fails on bots: crbug.com/174962 + // Fails on bots: crbug.com/40301345 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols #else @@ -306,7 +306,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) { TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) { ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US); const auto kTextForKeys = std::to_array({ -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0, diff --git a/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc b/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc index 596e7b11a967..62f1198420a3 100644 --- a/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc +++ b/www/chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc @@ -1,20 +1,20 @@ ---- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/test/chromedriver/keycode_text_conversion_unittest.cc @@ -64,7 +64,7 @@ std::string ConvertKeyCodeToTextNoError(ui::KeyboardCo } // namespace -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Fails on bots: crbug.com/174962 + // Fails on bots: crbug.com/40301345 #define MAYBE_KeyCodeToText DISABLED_KeyCodeToText #else @@ -98,7 +98,7 @@ TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) { ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, kShiftKeyModifierMask)); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Fails on bots: crbug.com/174962 + // Fails on bots: crbug.com/40301345 #define MAYBE_CharToKeyCode DISABLED_CharToKeyCode #else diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc index 3aad9793f572..daa8c50bdb31 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-02-11 09:05:39 UTC +--- chrome/utility/services.cc.orig 2026-03-13 06:02:14 UTC +++ chrome/utility/services.cc -@@ -49,7 +49,7 @@ - #include "chrome/services/system_signals/mac/mac_system_signals_service.h" +@@ -51,7 +51,7 @@ + #include "services/proxy_resolver_mac/mac_system_proxy_resolver_impl.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) -@@ -199,7 +199,7 @@ auto RunMacNotificationService( +@@ -208,7 +208,7 @@ auto RunMacSystemProxyResolver( } #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) { -@@ -456,7 +456,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -465,7 +465,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 13228efd822b..ce1d35640528 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-02-11 09:05:39 UTC +--- components/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ components/BUILD.gn -@@ -221,7 +221,6 @@ test("components_unittests") { +@@ -223,7 +223,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", -@@ -642,7 +641,7 @@ test("components_unittests") { +@@ -640,7 +639,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", -@@ -812,7 +811,7 @@ test("components_unittests") { +@@ -816,7 +815,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 deleted file mode 100644 index 9cc4c15edf13..000000000000 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc +++ /dev/null @@ -1,47 +0,0 @@ ---- 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_); - } -@@ -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( -@@ -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 deleted file mode 100644 index c056cd75638f..000000000000 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h +++ /dev/null @@ -1,20 +0,0 @@ ---- 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 -@@ -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; - -@@ -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 22b67790552a..4284ad208d8c 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-02-11 09:05:39 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-03-13 06:02:14 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -929,7 +929,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { +@@ -903,7 +903,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 f14fab06c693..3cdb4f17c445 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 2026-02-11 09:05:39 UTC +--- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2026-03-13 06:02:14 UTC +++ components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc -@@ -210,7 +210,7 @@ void AddOptimizationTypesForBnplIssuers( +@@ -207,7 +207,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); + return std::ranges::contains(bnpl_issuers, issuer_id, 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 2221fc7bfa78..00ada4af8e8d 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,20 +1,11 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-02-11 09:05:39 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-03-13 06:02:14 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -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 +@@ -804,7 +804,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__util.cc b/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator__util.cc deleted file mode 100644 index b21c87530230..000000000000 --- a/www/chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator__util.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 484350c42eed..f23126288070 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-02-11 09:05:39 UTC +--- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-03-13 06:02:14 UTC +++ components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc -@@ -1255,7 +1255,7 @@ bool AreMaskedBankAccountSupported() { +@@ -1252,7 +1252,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 fc43d7566946..1f24981e3a2c 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 2026-02-11 09:05:39 UTC +--- components/autofill/core/common/autofill_features.cc.orig 2026-03-13 06:02:14 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 c77e6aa8993b..693bcd259d56 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,74 +1,83 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2026-02-19 11:06:15 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2026-03-13 06:02:14 UTC +++ components/autofill/core/common/autofill_payments_features.cc @@ -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); -@@ -48,7 +48,7 @@ BASE_FEATURE(kAutofillEnableAmountExtractionTesting, +@@ -55,7 +55,7 @@ BASE_FEATURE(kAutofillEnableBottomSheetScanCardAndFill // 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); -@@ -59,7 +59,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLater, +@@ -66,7 +66,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 +@@ -76,7 +76,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); -@@ -78,7 +78,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, +@@ -85,7 +85,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); -@@ -102,7 +102,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp +@@ -95,7 +95,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, + // include the issuer names for better brand recognition. + BASE_FEATURE(kAutofillEnableBuyNowPayLaterUpdatedSuggestionSecondLineString, + #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); +@@ -115,7 +115,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); -@@ -160,7 +160,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl +@@ -173,7 +173,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); -@@ -320,7 +320,7 @@ const base::FeatureParam kAutofillVcnEnrollStrike +@@ -325,7 +325,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 deleted file mode 100644 index 7b4ecddee735..000000000000 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- components/autofill/core/common/autofill_prefs.cc.orig 2026-02-11 09:05:39 UTC -+++ components/autofill/core/common/autofill_prefs.cc -@@ -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); -@@ -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); - } -@@ -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; -@@ -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 deleted file mode 100644 index ba0433586763..000000000000 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h +++ /dev/null @@ -1,29 +0,0 @@ ---- components/autofill/core/common/autofill_prefs.h.orig 2026-02-11 09:05:39 UTC -+++ components/autofill/core/common/autofill_prefs.h -@@ -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. -@@ -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) -@@ -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 48f7e7f3f19a..4dee09199ecf 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 2026-02-11 09:05:39 UTC +--- components/commerce/core/commerce_feature_list.cc.orig 2026-03-13 06:02:14 UTC +++ components/commerce/core/commerce_feature_list.cc -@@ -177,7 +177,7 @@ BASE_FEATURE(kShoppingAlternateServer, base::FEATURE_D +@@ -176,7 +176,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 -@@ -190,7 +190,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi +@@ -189,7 +189,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_dbus_xdg_file__transfer__portal.cc b/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc new file mode 100644 index 000000000000..4000d893556c --- /dev/null +++ b/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc @@ -0,0 +1,13 @@ +--- components/dbus/xdg/file_transfer_portal.cc.orig 2026-03-13 06:02:14 UTC ++++ components/dbus/xdg/file_transfer_portal.cc +@@ -28,6 +28,10 @@ + #include "dbus/object_path.h" + #include "dbus/object_proxy.h" + ++#if BUILDFLAG(IS_BSD) && !defined(O_PATH) ++#define O_PATH 0 ++#endif ++ + namespace dbus_xdg { + + BASE_FEATURE(kXdgFileTransferPortal, base::FEATURE_DISABLED_BY_DEFAULT); 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 ffa51ffcfd9c..37d7a29a787d 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-02-11 09:05:39 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2026-03-13 06:02:14 UTC +++ components/embedder_support/user_agent_utils.cc -@@ -300,7 +300,7 @@ std::string GetUserAgentPlatform() { +@@ -283,7 +283,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; "; -@@ -316,7 +316,7 @@ std::string GetUserAgentPlatform() { +@@ -299,7 +299,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 -@@ -336,7 +336,7 @@ std::string GetUnifiedPlatform() { +@@ -319,7 +319,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) { -@@ -596,7 +596,7 @@ bool GetMobileBitForUAMetadata() { +@@ -579,7 +579,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)) { -@@ -644,6 +644,9 @@ std::string GetPlatformForUAMetadata() { +@@ -630,6 +630,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 -@@ -826,6 +829,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -812,6 +815,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 209953da443c..971c405d1eb5 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-02-11 09:05:39 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2026-03-13 06:02:14 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()); @@ -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"; -@@ -693,7 +693,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { +@@ -679,7 +679,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_error__page_common_localized__error.cc b/www/chromium/files/patch-components_error__page_common_localized__error.cc index b78b02317ae6..572baa854215 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-02-11 09:05:39 UTC +--- components/error_page/common/localized_error.cc.orig 2026-03-13 06:02:14 UTC +++ components/error_page/common/localized_error.cc -@@ -898,7 +898,7 @@ void AddSuggestionsDetails(int error_code, +@@ -896,7 +896,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__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc index 26291520cd62..e55fc69ddb21 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,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2026-02-19 11:06:15 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2026-03-13 06:02:14 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", -@@ -881,7 +881,7 @@ BASE_FEATURE(kIPHiOSGeminiImageRemixFeature, +@@ -887,7 +887,7 @@ BASE_FEATURE(kIPHiOSActiveDaysTrackingFeature, #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature, "IPH_AutofillBnplAffirmOrZipSuggestion", base::FEATURE_ENABLED_BY_DEFAULT); -@@ -943,7 +943,7 @@ BASE_FEATURE(kIPHLauncherSearchHelpUiFeature, +@@ -954,7 +954,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 f2b17172c07d..d375ca57dc95 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-02-19 11:06:15 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2026-03-13 06:02:14 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 -@@ -398,7 +398,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSGeminiContext +@@ -404,7 +404,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSActiveDaysTra #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( -@@ -431,7 +431,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHGoogleOneOfferNo +@@ -437,7 +437,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 85d8eb5abd80..d43f9d8774dc 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-02-19 11:06:15 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2026-03-13 06:02:14 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -209,7 +209,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHiOSGeminiImageRemixFeature, +@@ -212,7 +212,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSPinMostVisitedSiteFeature, #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 -@@ -288,7 +288,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -290,7 +290,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, -@@ -315,7 +315,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -317,7 +317,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 997e6ca56b96..9e29c06d3282 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-02-19 11:06:15 UTC +--- components/feature_engagement/public/feature_list.h.orig 2026-03-13 06:02:14 UTC +++ components/feature_engagement/public/feature_list.h -@@ -368,7 +368,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSGeminiImageRemixFeature, +@@ -372,7 +372,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSPinMostVisitedSiteFeatur #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 -@@ -496,7 +496,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -499,7 +499,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"); -@@ -537,7 +538,7 @@ DEFINE_VARIATION_PARAM(kIPHLauncherSearchHelpUiFeature +@@ -540,7 +541,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, -@@ -743,7 +744,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat - VARIATION_ENTRY(kIPHiOSGeminiFullscreenPromoFeature), +@@ -751,7 +752,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHiOSGeminiImageRemixFeature), + VARIATION_ENTRY(kIPHiOSPinMostVisitedSiteFeature), #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), -@@ -809,7 +810,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -817,7 +818,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), -@@ -833,7 +835,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -841,7 +843,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_cast__message__util.cc b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc index 6e97488bb8f1..53607d1c85e7 100644 --- a/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc +++ b/www/chromium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc @@ -1,11 +1,11 @@ ---- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2025-02-19 07:43:18 UTC +--- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2026-03-13 06:02:14 UTC +++ components/media_router/common/providers/cast/channel/cast_message_util.cc -@@ -168,7 +168,7 @@ int GetVirtualConnectPlatformValue() { +@@ -167,7 +167,7 @@ int GetVirtualConnectPlatformValue() { return 4; #elif BUILDFLAG(IS_CHROMEOS) return 5; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return 6; #else return 0; diff --git a/www/chromium/files/patch-components_named__mojo__ipc__server_endpoint__options.h b/www/chromium/files/patch-components_named__mojo__ipc__server_endpoint__options.h new file mode 100644 index 000000000000..6038b2acdd62 --- /dev/null +++ b/www/chromium/files/patch-components_named__mojo__ipc__server_endpoint__options.h @@ -0,0 +1,11 @@ +--- components/named_mojo_ipc_server/endpoint_options.h.orig 2026-03-13 06:02:14 UTC ++++ components/named_mojo_ipc_server/endpoint_options.h +@@ -65,7 +65,7 @@ struct EndpointOptions { + std::wstring security_descriptor; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Iff this is true, connecting clients running as a different user from the + // server (i.e. the calling process) will be rejected. + bool require_same_peer_user = true; 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 e97bfa51e744..2aa7c5cb024e 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,34 +1,34 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc -@@ -7,6 +7,10 @@ - #include +@@ -8,6 +8,10 @@ + #include #include +#if BUILDFLAG(IS_FREEBSD) +#include +#endif + #include #include -@@ -84,12 +88,20 @@ void NamedMojoServerEndpointConnectorLinux::OnSocketRe +@@ -86,12 +90,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_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_optimization__guide_core_feature__registry_feature__registration.cc b/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc index f8a8907522e6..3e999b36f9d2 100644 --- a/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc +++ b/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2026-01-14 08:33:23 UTC +--- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2026-03-13 06:02:14 UTC +++ components/optimization_guide/core/feature_registry/feature_registration.cc -@@ -76,7 +76,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, +@@ -80,7 +80,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, BASE_FEATURE(kFormsClassificationsMqlsLogging, BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ? base::FEATURE_ENABLED_BY_DEFAULT : base::FEATURE_DISABLED_BY_DEFAULT); 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 290dfe0cebbe..59afc7d328c3 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-02-11 09:05:39 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-03-13 06:02:14 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -94,7 +94,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, +@@ -96,7 +96,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) +- 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); diff --git a/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h index 94bb6f35e7d2..bec22ebcb95e 100644 --- a/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h +++ b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h @@ -1,63 +1,63 @@ ---- components/os_crypt/sync/os_crypt.h.orig 2025-12-05 10:12:50 UTC +--- components/os_crypt/sync/os_crypt.h.orig 2026-03-13 06:02:14 UTC +++ components/os_crypt/sync/os_crypt.h -@@ -28,7 +28,7 @@ class Keychain; +@@ -25,7 +25,7 @@ class KeychainV2; } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class KeyStorageLinux; #endif // BUILDFLAG(IS_LINUX) -@@ -44,7 +44,7 @@ struct Config; +@@ -41,7 +41,7 @@ struct Config; // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions // of what each function does. namespace OSCrypt { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void SetConfig(std::unique_ptr config); #endif // BUILDFLAG(IS_LINUX) -@@ -91,7 +91,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b +@@ -88,7 +88,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy); COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting(); #endif // BUILDFLAG(IS_WIN) -#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyStorageForTesting( base::OnceCallback()> -@@ -125,7 +125,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -122,7 +122,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { // Returns singleton instance of OSCryptImpl. static OSCryptImpl* GetInstance(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the configuration of OSCryptImpl. // This method, or SetRawEncryptionKey(), must be called before using // EncryptString() and DecryptString(). -@@ -217,7 +217,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -214,7 +214,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { void ResetStateForTesting(); #endif -#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // For unit testing purposes, inject methods to be used. // |storage_provider_factory| provides the desired |KeyStorage| // implementation. If the provider returns |nullptr|, a hardcoded password -@@ -244,13 +244,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -241,13 +241,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { bool DeriveKey(); #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // This lock is used to make the GetEncryptionKey and // GetRawEncryptionKey methods thread-safe. static base::Lock& GetLock(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static constexpr size_t kDerivedKeyBytes = 16; crypto::SubtlePassKey MakeCryptoPassKey(); 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 22e62b9e5375..022ee262916d 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-02-11 09:05:39 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/features/password_features.cc -@@ -67,7 +67,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, +@@ -60,7 +60,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(kPasswordManagerLogToTerminal, base::FEAT - BASE_FEATURE(kProactivelyDownloadModelForPasswordChange, +@@ -137,7 +137,7 @@ BASE_FEATURE(kProactivelyDownloadModelForPasswordChang + BASE_FEATURE(kReduceRequirementsForPasswordChange, 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 b741cecc47a5..1c600bfb40a0 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-02-11 09:05:39 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -171,7 +171,7 @@ BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); - // classifications. - BASE_DECLARE_FEATURE(kProactivelyDownloadModelForPasswordChange); +@@ -164,7 +164,7 @@ BASE_DECLARE_FEATURE(kProactivelyDownloadModelForPassw + // control locale/country server side. + BASE_DECLARE_FEATURE(kReduceRequirementsForPasswordChange); -#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_password__manager_core_browser_password__autofill__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc index 1c9ad3f39c66..c51eec697797 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/password_autofill_manager.cc -@@ -401,7 +401,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( +@@ -387,7 +387,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( weak_ptr_factory_.GetWeakPtr(), *password_credential); if (password_credential->is_grouped_affiliation) { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) cross_domain_confirmation_controller_ = password_client_->ShowCrossDomainConfirmationPopup( last_popup_open_args_.element_bounds, -@@ -649,7 +649,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { +@@ -635,7 +635,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { manual_fallback_metrics_recorder_ = std::make_unique(); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) cross_domain_confirmation_controller_.reset(); #endif wait_for_passkeys_timer_.Stop(); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc index 27495a4962ee..e64159af4465 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_form_filling.cc.orig 2025-12-05 10:12:50 UTC +--- components/password_manager/core/browser/password_form_filling.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/password_form_filling.cc -@@ -197,7 +197,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -176,7 +176,7 @@ LikelyFormFilling SendFillInformationToRenderer( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!should_show_popup_without_passwords) { client->MaybeShowSavePasswordPrimingPromo(observed_form.url); } diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc index 64c4ba9b4331..17931f0d5665 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc @@ -1,35 +1,35 @@ ---- components/password_manager/core/browser/password_manager.cc.orig 2026-01-14 08:33:23 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -611,12 +611,12 @@ void PasswordManager::RegisterProfilePrefs( +@@ -610,12 +610,12 @@ void PasswordManager::RegisterProfilePrefs( registry->RegisterListPref(prefs::kPasswordManagerPromoCardsList); #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) registry->RegisterListPref(prefs::kPasswordManagerBlocklist); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_MAC) registry->RegisterBooleanPref(prefs::kPasswordSharingEnabled, true); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kRelaunchChromeBubbleDismissedCounter, 0); #endif -@@ -629,7 +629,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -628,7 +628,7 @@ void PasswordManager::RegisterProfilePrefs( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kDeletingUndecryptablePasswordsEnabled, true); #endif -@@ -659,7 +659,7 @@ void PasswordManager::RegisterLocalPrefs(PrefRegistryS +@@ -658,7 +658,7 @@ void PasswordManager::RegisterLocalPrefs(PrefRegistryS registry->RegisterBooleanPref(prefs::kOsPasswordBlank, false); registry->RegisterBooleanPref(prefs::kIsBiometricAvailable, false); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kHadBiometricsAvailable, false); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) registry->RegisterListPref(prefs::kLocalPasswordHashDataList, diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc index 3c62a5a69e22..a8b7998797cb 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc @@ -1,29 +1,29 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2026-01-14 08:33:23 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.cc -@@ -47,7 +47,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri +@@ -46,7 +46,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns the password form corresponding to the `payload` data. In most // cases there is only one such form stored, but having more than one or no // forms is also possible. If there is more than one form, showing any of them -@@ -305,7 +305,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( +@@ -304,7 +304,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( } case autofill::SuggestionType::kViewPasswordDetails: { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::optional credentials = GetCorrespondingPasswordForm( suggestion.GetPayload(), -@@ -441,7 +441,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass +@@ -440,7 +440,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass const Suggestion::PasswordSuggestionDetails& payload, base::OnceClosure on_allowed) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (payload.is_cross_domain) { CHECK(payload.display_signon_realm); cross_domain_confirmation_popup_controller_ = diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc index fe9059b3d11f..9ab729f07d2a 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2025-12-05 10:12:50 UTC +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ components/password_manager/core/browser/password_store/login_database_unittest.cc -@@ -2227,7 +2227,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, +@@ -2230,7 +2230,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, testing::Values(1, 2, 3, 24)); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) class LoginDatabaseUndecryptableLoginsTest : public testing::Test { protected: LoginDatabaseUndecryptableLoginsTest() = default; 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 a5a27e3743b9..389d3d8997e3 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,16 +1,16 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -791,11 +791,11 @@ void CloudPolicyClient::FetchPolicyInternal( +@@ -849,11 +849,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. 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 9d1fd2be6f8d..febfae2c8398 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 2026-02-11 09:05:39 UTC +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2026-03-13 06:02:14 UTC +++ components/policy/core/common/cloud/cloud_policy_util.cc -@@ -23,7 +23,7 @@ +@@ -24,7 +24,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 -@@ -38,10 +38,15 @@ +@@ -39,10 +39,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 -@@ -92,7 +97,7 @@ const int kMinimumVersionForExtensionInstallPolicy = 1 +@@ -93,7 +98,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; -@@ -148,7 +153,7 @@ std::string GetMachineName() { +@@ -149,7 +154,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 = -@@ -170,7 +175,7 @@ std::string GetOSArchitecture() { +@@ -171,7 +176,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_proxy__override__rules__policy__handler.cc b/www/chromium/files/patch-components_proxy__config_proxy__override__rules__policy__handler.cc index fa4d522a0719..7d96ff60dac1 100644 --- 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 @@ -1,47 +1,56 @@ ---- 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.orig 2026-03-13 06:02:14 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; - } + // `kEnableProxyOverrideRulesForAllUsers`. + enabled_for_all_users_handler_.CheckPolicySettings(policies, errors); +@@ -74,7 +74,7 @@ bool ProxyOverrideRulesPolicyHandler::CheckPolicySetti + + policy::SchemaValidatingPolicyHandler::CheckPolicySettings(policies, errors); -#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 - +@@ -109,7 +109,7 @@ bool ProxyOverrideRulesPolicyHandler::CheckPolicySetti + void ProxyOverrideRulesPolicyHandler::ApplyPolicySettings( + const policy::PolicyMap& policies, + PrefValueMap* prefs) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // ALWAYS update affiliation, even if kProxyOverrideRules is not set. + // This ensures the state is captured in the Managed pref store and + // kept in sync with the latest policy bundle's affiliation status. +@@ -136,7 +136,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, + #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 index ec732a9751c1..ac0160c414c1 100644 --- a/www/chromium/files/patch-components_proxy__config_proxy__prefs__utils.cc +++ b/www/chromium/files/patch-components_proxy__config_proxy__prefs__utils.cc @@ -1,11 +1,11 @@ ---- components/proxy_config/proxy_prefs_utils.cc.orig 2026-02-11 09:05:39 UTC +--- components/proxy_config/proxy_prefs_utils.cc.orig 2026-03-13 06:02:14 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)) { + if (pref_service->GetBoolean(prefs::kProxyOverrideRulesAffiliation) || + pref_service->GetInteger(prefs::kEnableProxyOverrideRulesForAllUsers) == + 1) { 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 a3c549c1c4fe..ea1bf8dba23f 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 2026-02-11 09:05:39 UTC +--- components/search_engines/template_url_service.cc.orig 2026-03-13 06:02:14 UTC +++ components/search_engines/template_url_service.cc -@@ -3588,7 +3588,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3600,7 +3600,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_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 1563e22857fc..e7cde4446a51 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,20 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc @@ -22,7 +22,7 @@ #if BUILDFLAG(IS_WIN) #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::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 0b7518ae9776..032d8187eea5 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,74 @@ ---- components/signin/public/base/signin_switches.cc.orig 2026-02-11 09:05:39 UTC +--- components/signin/public/base/signin_switches.cc.orig 2026-03-13 06:02:14 UTC +++ components/signin/public/base/signin_switches.cc -@@ -107,7 +107,7 @@ BASE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo +@@ -79,7 +79,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA + #endif + } + +-#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(kBeforeFirstRunDesktopRefreshSurvey, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -114,7 +114,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_ENABLED_BY_DEFAULT); - BASE_FEATURE(kChromeIdentitySurveyDiceWebSigninAccepted, -@@ -134,7 +134,7 @@ BASE_FEATURE(kChromeIdentitySurveySwitchProfileFromPro - base::FEATURE_ENABLED_BY_DEFAULT); + constexpr char kHatsSurveyProbabilityName[] = "probability"; + constexpr double kMediumSurveyProbability = 0.08; + constexpr double kLowSurveyProbability = 0.008; +@@ -207,7 +207,7 @@ BASE_FEATURE_PARAM( + kMediumSurveyProbability); #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, -@@ -343,7 +343,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, +@@ -422,7 +422,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 -@@ -352,7 +352,7 @@ const base::FeatureParam +@@ -431,7 +431,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); + BASE_FEATURE(kPasswordUploadUiUpdate, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -395,7 +395,7 @@ BASE_FEATURE(kRestrictDeviceManagementServiceOAuthScop + BASE_FEATURE(kProfileCreationDeclineSigninCTAExperiment, +@@ -476,7 +476,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) -@@ -410,7 +410,7 @@ const base::FeatureParam kContextualSigninPromoDi +@@ -497,7 +497,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) +@@ -553,7 +553,7 @@ BASE_FEATURE(kStableDeviceId, base::FEATURE_DISABLED_B + BASE_FEATURE(kSupportAddSessionEmailPrefill, 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) + // Kill switch for displaying sign-in errors in the profile picker. + BASE_FEATURE(kSupportErrorsInProfilePicker, 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 a29f15b7582b..300d551927e6 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,65 @@ ---- components/signin/public/base/signin_switches.h.orig 2026-02-11 09:05:39 UTC +--- components/signin/public/base/signin_switches.h.orig 2026-03-13 06:02:14 UTC +++ components/signin/public/base/signin_switches.h -@@ -94,7 +94,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -62,7 +62,7 @@ bool IsAvatarSyncPromoFeatureEnabled(); + COMPONENT_EXPORT(SIGNIN_SWITCHES) + base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeAgeParam(); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // A HaTS survey flag for the survey to gather user feedback before any changes + // to the FRE as part of Chrome Desktop FRE Refresh project. + // +@@ -106,7 +106,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. -@@ -126,7 +126,7 @@ BASE_DECLARE_FEATURE(kChromeIdentitySurveySwitchProfil +@@ -183,7 +183,7 @@ BASE_DECLARE_FEATURE_PARAM( // 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); -@@ -290,7 +290,7 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, +@@ -353,7 +353,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); -@@ -299,7 +299,7 @@ extern const base::FeatureParam +@@ -362,7 +362,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. + // Add new entry points for uploading passwords to account storage and update + // existing ones. COMPONENT_EXPORT(SIGNIN_SWITCHES) -@@ -370,7 +370,7 @@ extern const base::FeatureParam kContextualSignin +@@ -448,7 +448,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); +@@ -491,7 +491,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kSupportAddSessionEmailPrefill); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Kill switch for displaying sign-in errors in the profile picker. + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kSupportErrorsInProfilePicker); diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc b/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc index e20dbe89ad2b..3b7225530d62 100644 --- a/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc +++ b/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc.orig 2025-08-07 06:57:29 UTC +--- components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc.orig 2026-03-13 06:02:14 UTC +++ components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc -@@ -66,7 +66,7 @@ void OnResponse( - } +@@ -65,7 +65,7 @@ void OnResponse( - FetcherConfig GetFetcherConfig(bool is_subject_to_parental_controls) { + FetcherConfig GetFetcherConfig( + bool is_subject_to_family_link_parental_controls) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Supervised users on these platforms might get into a state where their // credentials are not available, so best-effort access mode is a graceful // fallback here. 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 90f6a169b45d..156ced1b13cc 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-02-11 09:05:39 UTC +--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2026-03-13 06:02:14 UTC +++ components/supervised_user/core/browser/supervised_user_metrics_service.cc -@@ -106,7 +106,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer - std::move(synthetic_field_trial_delegate)) { - DCHECK(pref_service_); - supervised_user_service_observation_.Observe(&supervised_user_service); +@@ -104,7 +104,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer + 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_supervised__user_core_browser_supervised__user__utils.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__utils.cc new file mode 100644 index 000000000000..6593e7d130ef --- /dev/null +++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__utils.cc @@ -0,0 +1,29 @@ +--- components/supervised_user/core/browser/supervised_user_utils.cc.orig 2026-03-13 06:02:14 UTC ++++ components/supervised_user/core/browser/supervised_user_utils.cc +@@ -42,7 +42,7 @@ constexpr char kParentAccessResultQueryParameter[] = " + constexpr char kPacpOriginUrlHost[] = "families.google.com"; + + #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Returns the text that will be shown as the PACP widget subtitle, containing + // information about the blocked hostname and the blocking reason. + std::string GetBlockingReasonSubtitle( +@@ -187,7 +187,7 @@ GURL NormalizeUrl(const GURL& url) { + } + + #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + GURL GetParentAccessURL( + const std::string& locale, + const GURL& blocked_url, +@@ -202,7 +202,7 @@ GURL GetParentAccessURL( + // Caller Ids for Desktop and iOS platforms. + #if BUILDFLAG(IS_IOS) + static constexpr char kCallerId[] = "qSTnVRdQ"; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + static constexpr char kCallerId[] = "clwAA5XJ"; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + diff --git a/www/chromium/files/patch-components_supervised__user_core_common_features.cc b/www/chromium/files/patch-components_supervised__user_core_common_features.cc index 5143b83e29c6..12b709733e57 100644 --- a/www/chromium/files/patch-components_supervised__user_core_common_features.cc +++ b/www/chromium/files/patch-components_supervised__user_core_common_features.cc @@ -1,38 +1,38 @@ ---- components/supervised_user/core/common/features.cc.orig 2025-10-30 15:44:36 UTC +--- components/supervised_user/core/common/features.cc.orig 2026-03-13 06:02:14 UTC +++ components/supervised_user/core/common/features.cc -@@ -32,7 +32,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, +@@ -30,7 +30,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, #endif #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000; const base::FeatureParam kLocalWebApprovalBottomSheetLoadTimeoutMs{ -@@ -41,7 +41,7 @@ const base::FeatureParam kLocalWebApprovalBottomS +@@ -39,7 +39,7 @@ const base::FeatureParam kLocalWebApprovalBottomS #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableLocalWebApprovalErrorDialog, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -@@ -53,7 +53,7 @@ BASE_FEATURE(kLocalWebApprovalsWidgetSupportsUrlPayloa +@@ -51,7 +51,7 @@ BASE_FEATURE(kLocalWebApprovalsWidgetSupportsUrlPayloa // TODO(crbug.com/435635774): Release the interstitial v3 in all platforms. BASE_FEATURE(kSupervisedUserBlockInterstitialV3, #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -89,7 +89,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() { +@@ -87,7 +87,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() { return base::FeatureList::IsEnabled(kAllowSubframeLocalWebApprovals); } -#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(kEnableSupervisedUserVersionSignOutDialog, base::FEATURE_ENABLED_BY_DEFAULT); #endif 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 deleted file mode 100644 index 46561308d3b7..000000000000 --- a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/sync_preferences/common_syncable_prefs_database.cc.orig 2026-02-11 09:05:39 UTC -+++ components/sync_preferences/common_syncable_prefs_database.cc -@@ -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 be867b60557a..132179a004eb 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 2026-02-11 09:05:39 UTC +--- components/sync/service/sync_prefs.cc.orig 2026-03-13 06:02:14 UTC +++ components/sync/service/sync_prefs.cc -@@ -839,7 +839,7 @@ bool SyncPrefs::MaybeMigratePrefsForSyncToSigninPart1( +@@ -834,7 +834,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 0db214cd83ad..a6f7d9b6e29c 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-02-11 09:05:39 UTC +--- components/sync/service/sync_service_impl.cc.orig 2026-03-13 06:02:14 UTC +++ components/sync/service/sync_service_impl.cc -@@ -1433,7 +1433,7 @@ void SyncServiceImpl::ReconfigureDataTypesDueToCrypto( +@@ -1393,7 +1393,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 7f1e3e6919c4..2efff4676792 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 2026-02-11 09:05:39 UTC +--- components/translate/core/common/translate_util.cc.orig 2026-03-13 06:02:14 UTC +++ components/translate/core/common/translate_util.cc -@@ -29,7 +29,7 @@ bool IsTFLiteLanguageDetectionEnabled() { +@@ -44,7 +44,7 @@ bool IsTFLiteLanguageDetectionEnabled() { // The feature is explicitly disabled on WebView. // TODO(crbug.com/40819484): Enable the feature on WebView. #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) return true; #else return false; diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.cc b/www/chromium/files/patch-components_viz_host_host__display__client.cc index 6698a295ed73..38b59eb8d94c 100644 --- a/www/chromium/files/patch-components_viz_host_host__display__client.cc +++ b/www/chromium/files/patch-components_viz_host_host__display__client.cc @@ -1,14 +1,11 @@ ---- components/viz/host/host_display_client.cc.orig 2025-08-07 06:57:29 UTC +--- components/viz/host/host_display_client.cc.orig 2026-03-13 06:02:14 UTC +++ components/viz/host/host_display_client.cc -@@ -66,9 +66,9 @@ void HostDisplayClient::AddChildWindowToBrowser( +@@ -66,7 +66,7 @@ void HostDisplayClient::AddChildWindowToBrowser( } #endif --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { -- NOTIMPLEMENTED(); -+ NOTREACHED(); + NOTIMPLEMENTED(); } - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) - diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.h b/www/chromium/files/patch-components_viz_host_host__display__client.h index 49b177883460..fca3b9c67d68 100644 --- a/www/chromium/files/patch-components_viz_host_host__display__client.h +++ b/www/chromium/files/patch-components_viz_host_host__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/host/host_display_client.h.orig 2024-01-30 07:53:34 UTC +--- components/viz/host/host_display_client.h.orig 2026-03-13 06:02:14 UTC +++ components/viz/host/host_display_client.h @@ -52,7 +52,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; #endif --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override; - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) 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 def57db89450..1301ee39cdc0 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 2026-02-11 09:05:39 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2026-03-13 06:02:14 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) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_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); -@@ -908,7 +908,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -923,7 +923,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) +-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_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_frame__sinks_root__compositor__frame__sink__impl.h b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index 25b419e16b68..8ece7b91f9bb 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2025-10-02 04:28:32 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2026-03-13 06:02:14 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -222,7 +222,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -220,7 +220,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl base::TimeDelta display_frame_interval_ = BeginFrameArgs::DefaultInterval(); base::TimeDelta preferred_frame_interval_; --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) gfx::Size last_swap_pixel_size_; - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) 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 e0171c635265..7e0796a646a5 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-02-19 11:06:15 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2026-03-13 06:02:14 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -478,7 +478,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -466,7 +466,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 -@@ -1236,7 +1236,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1225,7 +1225,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 5e5fdfd38d1b..f7a244cab848 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-02-11 09:05:39 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2026-03-13 06:02:14 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -438,7 +438,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -439,7 +439,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_viz_test_fake__display__client.cc b/www/chromium/files/patch-components_viz_test_fake__display__client.cc index f823ad458ebd..126e40d6add0 100644 --- a/www/chromium/files/patch-components_viz_test_fake__display__client.cc +++ b/www/chromium/files/patch-components_viz_test_fake__display__client.cc @@ -1,11 +1,11 @@ ---- components/viz/test/fake_display_client.cc.orig 2024-01-30 07:53:34 UTC +--- components/viz/test/fake_display_client.cc.orig 2026-03-13 06:02:14 UTC +++ components/viz/test/fake_display_client.cc @@ -27,7 +27,7 @@ void FakeDisplayClient::AddChildWindowToBrowser( gpu::SurfaceHandle child_window) {} #endif --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {} - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) diff --git a/www/chromium/files/patch-components_viz_test_fake__display__client.h b/www/chromium/files/patch-components_viz_test_fake__display__client.h index 7153bbbac018..c209efb52136 100644 --- a/www/chromium/files/patch-components_viz_test_fake__display__client.h +++ b/www/chromium/files/patch-components_viz_test_fake__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/test/fake_display_client.h.orig 2024-01-30 07:53:34 UTC +--- components/viz/test/fake_display_client.h.orig 2026-03-13 06:02:14 UTC +++ components/viz/test/fake_display_client.h @@ -36,7 +36,7 @@ class FakeDisplayClient : public mojom::DisplayClient void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; #endif --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override; - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) diff --git a/www/chromium/files/patch-components_viz_test_mock__display__client.h b/www/chromium/files/patch-components_viz_test_mock__display__client.h index 0a38967366a8..fbefec76c286 100644 --- a/www/chromium/files/patch-components_viz_test_mock__display__client.h +++ b/www/chromium/files/patch-components_viz_test_mock__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/test/mock_display_client.h.orig 2025-02-19 07:43:18 UTC +--- components/viz/test/mock_display_client.h.orig 2026-03-13 06:02:14 UTC +++ components/viz/test/mock_display_client.h @@ -45,7 +45,7 @@ class MockDisplayClient : public mojom::DisplayClient #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate)); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) 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 0add6059182b..0b0db02ddeac 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 2026-02-11 09:05:39 UTC +--- components/webui/flags/flags_state.cc.orig 2026-03-13 06:02:14 UTC +++ components/webui/flags/flags_state.cc -@@ -778,7 +778,7 @@ unsigned short FlagsState::GetCurrentPlatform() { +@@ -776,7 +776,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__runner__impl.cc b/www/chromium/files/patch-content_app_content__main__runner__impl.cc index ce41b62c62c0..ffec046555ba 100644 --- a/www/chromium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/chromium/files/patch-content_app_content__main__runner__impl.cc @@ -1,150 +1,149 @@ ---- content/app/content_main_runner_impl.cc.orig 2026-02-11 09:05:39 UTC +--- content/app/content_main_runner_impl.cc.orig 2026-03-24 07:37:53 UTC +++ content/app/content_main_runner_impl.cc -@@ -151,18 +151,21 @@ +@@ -152,18 +152,21 @@ #include "content/browser/posix_file_descriptor_info_impl.h" #include "content/public/common/content_descriptors.h" -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) #include "content/public/common/zygote/zygote_fork_delegate_linux.h" #endif #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/file_path_watcher_inotify.h" #include "base/native_library.h" #include "base/rand_util.h" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif +#include "third_party/skia/rust/png/FFI.rs.h" #include "third_party/boringssl/src/include/openssl/crypto.h" #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck -@@ -186,6 +189,10 @@ +@@ -187,6 +190,10 @@ #include "media/base/media_switches.h" #endif +#if BUILDFLAG(IS_BSD) +#include "base/system/sys_info.h" +#endif + #if BUILDFLAG(IS_ANDROID) #include "base/android/background_thread_pool_field_trial.h" #include "base/system/sys_info.h" -@@ -385,7 +392,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -366,7 +373,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // Loads registered library CDMs but does not initialize them. This is needed by -@@ -404,7 +411,10 @@ void PreloadLibraryCdms() { +@@ -385,7 +392,10 @@ void PreloadLibraryCdms() { void PreSandboxInit() { // Ensure the /dev/urandom is opened. + // we use arc4random +#if !BUILDFLAG(IS_BSD) base::GetUrandomFD(); +#endif // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/ // files. -@@ -416,9 +426,16 @@ void PreSandboxInit() { +@@ -397,9 +407,16 @@ void PreSandboxInit() { // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md CRYPTO_pre_sandbox_init(); +#if BUILDFLAG(IS_BSD) + // rust_png calls into sysctl so cache the cpu features before pledge(2) + rust_png::initialize_cpudetect(); +#endif + +#if !BUILDFLAG(IS_BSD) // Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be // allowed by the sandbox. base::GetMaxNumberOfInotifyWatches(); +#endif #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // Ensure access to the library CDMs before the sandbox is turned on. -@@ -638,7 +655,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* - +@@ -628,7 +645,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* // Once Zygote forks and feature list initializes we can start a thread to // begin tracing immediately. + if (delegate->ShouldInitializePerfetto(invoked_in_child)) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (process_type == switches::kGpuProcess) { - tracing::InitTracingPostFeatureList(/*enable_consumer=*/false, - /*will_trace_thread_restart=*/true); -@@ -741,7 +758,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( + if (process_type == switches::kGpuProcess) { + tracing::InitTracingPostFeatureList(/*enable_consumer=*/false, + /*will_trace_thread_restart=*/true); +@@ -732,7 +749,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( base::HangWatcher::CreateHangWatcherInstance(); unregister_thread_closure = base::HangWatcher::RegisterThread( base::HangWatcher::ThreadType::kMainThread); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is // initialized, because the sandbox can't be started with multiple threads. // TODO(mpdenton): start the HangWatcher after the sandbox is initialized. -@@ -859,11 +876,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -848,13 +865,15 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + g_fds->Set(kTraceOutputSharedMemoryDescriptor, + kTraceOutputSharedMemoryDescriptor + base::GlobalDescriptors::kBaseDescriptor); ++ g_fds->Set(kPseudonymizationSaltDescriptor, ++ kPseudonymizationSaltDescriptor + ++ base::GlobalDescriptors::kBaseDescriptor); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) g_fds->Set(kCrashDumpSignal, kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_OPENBSD) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_WIN) -@@ -1015,7 +1031,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1010,7 +1029,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam // SeatbeltExecServer. CHECK(sandbox::Seatbelt::IsSandboxed()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // In sandboxed processes and zygotes, certain resource should be pre-warmed // as they cannot be initialized under a sandbox. In addition, loading these // resources in zygotes (including the unsandboxed zygote) allows them to be -@@ -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) +@@ -1024,6 +1043,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam ChildProcessEnterSandbox(); #endif +#if BUILDFLAG(IS_BSD) + if (process_type.empty()) { + sandbox::policy::SandboxLinux::Options sandbox_options; + sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( + sandbox::policy::SandboxTypeFromCommandLine( + *base::CommandLine::ForCurrentProcess()), + sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); + } +#endif + delegate_->SandboxInitialized(process_type); #if BUILDFLAG(USE_ZYGOTE) -@@ -1130,6 +1158,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1140,6 +1169,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { content_main_params_.reset(); RegisterMainThreadFactories(); + +#if BUILDFLAG(IS_BSD) + if (!process_type.empty()) + PreSandboxInit(); +#endif if (process_type.empty()) return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index 3a5b465a963d..20f4f3249acd 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-02-11 09:05:39 UTC +--- content/browser/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ content/browser/BUILD.gn -@@ -2601,6 +2601,14 @@ source_set("browser") { +@@ -2610,6 +2610,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" ] -@@ -2650,6 +2658,15 @@ source_set("browser") { +@@ -2659,6 +2667,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) { + if (enable_smart_card) { diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc index 17568a95f026..cf3c6f8dfee2 100644 --- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc +++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-09-06 10:01:20 UTC +--- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/accessibility/browser_accessibility_state_impl.cc -@@ -296,7 +296,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta +@@ -295,7 +295,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta // On Android, Mac, Windows and Linux there are platform-specific subclasses. #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && \ - !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) + !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static std::unique_ptr BrowserAccessibilityStateImpl::Create() { diff --git a/www/chromium/files/patch-content_browser_audio_audio__service.cc b/www/chromium/files/patch-content_browser_audio_audio__service.cc deleted file mode 100644 index fd3f992eccd7..000000000000 --- a/www/chromium/files/patch-content_browser_audio_audio__service.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- content/browser/audio/audio_service.cc.orig 2025-03-05 08:14:56 UTC -+++ content/browser/audio/audio_service.cc -@@ -33,7 +33,7 @@ - #if BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) - #include "ui/display/util/edid_parser.h" - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "ui/display/display_util.h" - #endif // BUILDFLAG(IS_LINUX) - -@@ -201,7 +201,7 @@ audio::mojom::AudioService& GetAudioService() { - ->PostTaskAndReplyWithResult( - FROM_HERE, base::BindOnce(&ScanEdidBitstreams), - base::BindOnce(&LaunchAudioService, std::move(receiver))); --#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) - LaunchAudioService( - std::move(receiver), - ConvertEdidBitstreams(display::DisplayUtil::GetAudioFormats())); diff --git a/www/chromium/files/patch-content_browser_browser__main__loop.cc b/www/chromium/files/patch-content_browser_browser__main__loop.cc index aa382bdc7d6c..0bf74cb91477 100644 --- a/www/chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2025-12-05 10:12:50 UTC +--- content/browser/browser_main_loop.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/browser_main_loop.cc @@ -255,6 +255,12 @@ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" #endif +#if BUILDFLAG(IS_BSD) +#include "content/browser/sandbox_host_linux.h" +#include "content/public/common/zygote/sandbox_support_linux.h" +#include "sandbox/policy/sandbox.h" +#endif + // One of the linux specific headers defines this as a macro. #ifdef DestroyAll #undef DestroyAll @@ -545,6 +551,12 @@ int BrowserMainLoop::EarlyInitialization() { // by now since a thread to start the ServiceManager has been created // before the browser main loop starts. DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); +#elif BUILDFLAG(IS_BSD) + base::FileHandleMappingVector additional_remapped_fds; + base::LaunchOptions options; + SandboxHostLinux::GetInstance()->Init(); + const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); + options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD())); #endif // GLib's spawning of new processes is buggy, so it's important that at this -@@ -577,7 +589,7 @@ int BrowserMainLoop::EarlyInitialization() { - base::ThreadType::kDisplayCritical); +@@ -576,7 +588,7 @@ int BrowserMainLoop::EarlyInitialization() { + base::PlatformThread::SetCurrentThreadType(base::ThreadType::kPresentation); #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // We use quite a few file descriptors for our IPC as well as disk the disk // cache, and the default limit on Apple is low (256), so bump it up. diff --git a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc index 5d29abddf530..aa450a92a2a5 100644 --- a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc +++ b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -1,125 +1,125 @@ ---- content/browser/child_process_launcher_helper_linux.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/child_process_launcher_helper_linux.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/child_process_launcher_helper_linux.cc -@@ -22,7 +22,9 @@ +@@ -23,7 +23,9 @@ + #include "content/public/common/content_switches.h" #include "content/public/common/result_codes.h" - #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "content/public/common/zygote/zygote_handle.h" +#endif #include "sandbox/policy/linux/sandbox_linux.h" namespace content { -@@ -47,14 +49,20 @@ ChildProcessLauncherHelper::GetFilesToMap() { +@@ -48,14 +50,20 @@ ChildProcessLauncherHelper::GetFilesToMap() { } bool ChildProcessLauncherHelper::IsUsingLaunchOptions() { +#if !BUILDFLAG(IS_BSD) return !GetZygoteForLaunch(); +#else + return true; +#endif } bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( PosixFileDescriptorInfo& files_to_register, base::LaunchOptions* options) { if (options) { +#if !BUILDFLAG(IS_BSD) DCHECK(!GetZygoteForLaunch()); +#endif // Convert FD mapping to FileHandleMappingVector options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( base::GlobalDescriptors::kBaseDescriptor); -@@ -66,7 +74,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche +@@ -67,7 +75,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche options->environment = delegate_->GetEnvironment(); } else { +#if !BUILDFLAG(IS_BSD) DCHECK(GetZygoteForLaunch()); +#endif // Environment variables could be supported in the future, but are not // currently supported when launching with the zygote. DCHECK(delegate_->GetEnvironment().empty()); -@@ -83,6 +93,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -84,6 +94,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr int* launch_result) { *is_synchronous_launch = true; Process process; +#if !BUILDFLAG(IS_BSD) ZygoteCommunication* zygote_handle = GetZygoteForLaunch(); if (zygote_handle) { // TODO(crbug.com/40448989): If chrome supported multiple zygotes they could -@@ -93,7 +104,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -94,7 +105,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr GetProcessType()); *launch_result = LAUNCH_RESULT_SUCCESS; -#if !BUILDFLAG(IS_OPENBSD) if (handle) { // It could be a renderer process or an utility process. int oom_score = content::kMiscOomScore; -@@ -102,15 +112,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -103,15 +113,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr oom_score = content::kLowestRendererOomScore; ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score); } -#endif process.process = base::Process(handle); process.zygote = zygote_handle; } else { +#endif process.process = base::LaunchProcess(*command_line(), *options); *launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS : LAUNCH_RESULT_FAILURE; +#if !BUILDFLAG(IS_BSD) } +#endif #if BUILDFLAG(IS_CHROMEOS) process_id_ = process.process.Pid(); -@@ -134,10 +146,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper +@@ -135,10 +147,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper const ChildProcessLauncherHelper::Process& process, bool known_dead) { ChildProcessTerminationInfo info; +#if !BUILDFLAG(IS_BSD) if (process.zygote) { info.status = process.zygote->GetTerminationStatus( process.process.Handle(), known_dead, &info.exit_code); } else if (known_dead) { +#else + if (known_dead) { +#endif info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(), &info.exit_code); } else { -@@ -163,13 +179,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer +@@ -164,13 +180,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer DCHECK(CurrentlyOnProcessLauncherTaskRunner()); process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false); // On POSIX, we must additionally reap the child. +#if !BUILDFLAG(IS_BSD) if (process.zygote) { // If the renderer was created via a zygote, we have to proxy the reaping // through the zygote process. process.zygote->EnsureProcessTerminated(process.process.Handle()); } else { +#endif base::EnsureProcessTerminated(std::move(process.process)); +#if !BUILDFLAG(IS_BSD) } +#endif } void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( -@@ -181,11 +201,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL +@@ -182,11 +202,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL } } +#if !BUILDFLAG(IS_BSD) ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() { return base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) ? nullptr : delegate_->GetZygote(); } +#endif base::File OpenFileToShare(const base::FilePath& path, base::MemoryMappedFile::Region* region) { diff --git a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc index 6de60375f27b..09d721f6843c 100644 --- a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc +++ b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc @@ -1,37 +1,37 @@ ---- content/browser/child_thread_type_switcher_linux.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/child_thread_type_switcher_linux.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/child_thread_type_switcher_linux.cc @@ -6,6 +6,7 @@ #include "base/linux_util.h" #include "base/logging.h" +#include "base/notimplemented.h" #include "base/process/process_handle.h" #include "base/task/single_thread_task_runner.h" #include "base/threading/platform_thread.h" @@ -20,6 +21,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::ThreadType thread_type) { DCHECK(CurrentlyOnProcessLauncherTaskRunner()); +#if BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); +#else bool ns_pid_supported = false; pid_t peer_tid = base::FindThreadID(peer_pid, ns_tid.raw(), &ns_pid_supported); -@@ -42,6 +46,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee - base::PlatformThread::SetThreadType(peer_pid, - base::PlatformThreadId(peer_tid), - thread_type, base::IsViaIPC(true)); +@@ -41,6 +45,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee + + base::PlatformThread::SetThreadType( + peer_pid, base::PlatformThreadId(peer_tid), thread_type); +#endif } } // namespace -@@ -70,7 +75,7 @@ void ChildThreadTypeSwitcher::SetPid(base::ProcessId c +@@ -69,7 +74,7 @@ void ChildThreadTypeSwitcher::SetPid(base::ProcessId c } } -void ChildThreadTypeSwitcher::SetThreadType(int32_t ns_tid, +void ChildThreadTypeSwitcher::SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) { // This function is only used on platforms with 32-bit thread ids. static_assert(sizeof(ns_tid) == sizeof(base::PlatformThreadId)); 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 33dc7d44e66e..a90d62905450 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 2026-02-11 09:05:39 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/compositor/viz_process_transport_factory.cc @@ -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) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override { compositor_->OnCompleteSwapWithNewSize(size); } diff --git a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc index b74c9a0a6e43..a23a47659db6 100644 --- a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc +++ b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc @@ -1,20 +1,29 @@ ---- content/browser/gpu/compositor_util.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/gpu/compositor_util.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/gpu/compositor_util.cc @@ -143,7 +143,7 @@ std::vector GetGpuFeatureData( "video_decode", SafeGetFeatureStatus( gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) !base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) || #endif // BUILDFLAG(IS_LINUX) command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode)), @@ -155,7 +155,7 @@ std::vector GetGpuFeatureData( "video_encode", SafeGetFeatureStatus( gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) !base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux)), #else command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode)), +@@ -217,7 +217,7 @@ std::vector GetGpuFeatureData( + ? gpu::kGpuFeatureStatusEnabled + : gpu::kGpuFeatureStatusDisabled); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + features.emplace_back( + "webgpu_on_vk_via_gl_interop", + SafeGetFeatureStatus(gpu_feature_info, 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 31ae4f7bd865..4196ca173a0d 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 2026-02-11 09:05:39 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1715,7 +1715,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1720,7 +1720,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_network__service__instance__impl.cc b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc index 40f9d66aa818..ed7229b7cba8 100644 --- a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/network_service_instance_impl.cc.orig 2026-01-14 08:33:23 UTC +--- content/browser/network_service_instance_impl.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/network_service_instance_impl.cc -@@ -89,7 +89,7 @@ +@@ -88,7 +88,7 @@ #include "content/browser/network/network_service_process_tracker_win.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/system_dns_resolution/system_dns_resolver.h" #include "services/network/public/mojom/system_dns_resolution.mojom-forward.h" #endif -@@ -346,7 +346,7 @@ void CreateInProcessNetworkService( +@@ -345,7 +345,7 @@ void CreateInProcessNetworkService( std::move(receiver))); } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Runs a self-owned SystemDnsResolverMojoImpl. This is meant to run on a // high-priority thread pool. void RunSystemDnsResolverOnThreadPool( -@@ -413,7 +413,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -411,7 +411,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS } #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (GetContentClient() ->browser() ->ShouldRunOutOfProcessSystemDnsResolution() && 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 3b0ff31b2d56..7051bee73cb4 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-02-11 09:05:39 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -227,7 +227,7 @@ +@@ -225,7 +225,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 -@@ -1138,7 +1138,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1139,7 +1139,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; -@@ -1381,7 +1381,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1382,7 +1382,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) } -@@ -3648,7 +3648,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3627,7 +3627,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() && -@@ -3704,6 +3704,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3683,6 +3683,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, -@@ -5580,7 +5581,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5550,7 +5551,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 3cc522e16f4c..54852fa6ac95 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-02-11 09:05:39 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2026-03-13 06:02:14 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 -@@ -1029,7 +1029,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1027,7 +1027,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 }; -@@ -1291,7 +1291,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1283,7 +1283,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__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc index d6f950c6fbe5..5f84864e17ee 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2026-01-14 08:33:23 UTC +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc @@ -52,7 +52,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 "components/services/font/public/mojom/font_service.mojom.h" // nogncheck #include "content/browser/font_service.h" // nogncheck #endif @@ -74,7 +74,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 -@@ -340,7 +340,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -341,7 +341,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } } -#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()) { -@@ -351,7 +351,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -352,7 +352,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto font_receiver = receiver.As()) { ConnectToFontService(std::move(font_receiver)); return; -@@ -379,7 +379,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -380,7 +380,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#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; 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 61c80502e200..7a117a55163f 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-02-11 09:05:39 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -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" @@ -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()) @@ -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) { -@@ -2992,7 +2992,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2995,7 +2995,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3178,7 +3178,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3181,7 +3181,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_service__host_utility__process__host.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc index e9201a1b4275..da4758eec2a4 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-02-11 09:05:39 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/service_host/utility_process_host.cc -@@ -63,7 +63,7 @@ +@@ -64,7 +64,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" -@@ -92,7 +92,7 @@ namespace content { +@@ -93,7 +93,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; -@@ -489,7 +489,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -501,7 +501,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) { -@@ -507,7 +507,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -519,7 +519,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 6a6dbaa74e79..f0065ead0c4b 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-02-11 09:05:39 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/web_contents/web_contents_view_aura.cc @@ -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, @@ -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. -@@ -1370,7 +1370,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1404,7 +1404,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* // Linux window managers like to handle raise-on-click themselves. If we // raise-on-click manually, this may override user settings that prevent // focus-stealing. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // It is possible for the web-contents to be destroyed while it is being // activated. Use a weak-ptr to track whether that happened or not. // More in https://crbug.com/1040725 diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc index 098e2fbcde74..0cdf84faa069 100644 --- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc +++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc @@ -1,74 +1,74 @@ ---- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-12-05 10:12:50 UTC +--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ content/browser/web_contents/web_contents_view_aura_unittest.cc @@ -42,7 +42,7 @@ #include "ui/base/dragdrop/os_exchange_data_provider_win.h" #endif --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) #include "ui/base/x/selection_utils.h" #include "ui/base/x/x11_os_exchange_data_provider.h" #include "ui/gfx/x/atom_cache.h" @@ -98,7 +98,7 @@ class TestDragDropClient : public aura::client::DragDr drag_drop_data_ = std::move(data); return DragOperation::kCopy; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void UpdateDragImage(const gfx::ImageSkia& image, const gfx::Vector2d& offset) override {} #endif @@ -236,7 +236,7 @@ TEST_F(WebContentsViewAuraTest, WebContentsDestroyedDu ui::EF_LEFT_MOUSE_BUTTON, 0); ui::EventHandler* event_handler = GetView(); event_handler->OnMouseEvent(&mouse_event); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The web-content is not activated during mouse-press on Linux. // See comment in WebContentsViewAura::OnMouseEvent() for more details. EXPECT_NE(web_contents(), nullptr); @@ -302,7 +302,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { view->OnDragEntered(event); ASSERT_NE(nullptr, view->current_drag_data_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations return an empty string if file data // is also present. EXPECT_TRUE(!view->current_drag_data_->text || @@ -342,7 +342,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { CheckDropData(view); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations returns an empty string if file data // is also present. EXPECT_TRUE(!drop_complete_data_->drop_data.text || @@ -400,7 +400,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri view->OnDragEntered(event); ASSERT_NE(nullptr, view->current_drag_data_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations return an empty string if file data // is also present. EXPECT_TRUE(!view->current_drag_data_->text || @@ -432,7 +432,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri CheckDropData(view); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations returns an empty string if file data is // also present. EXPECT_TRUE(!drop_complete_data_->drop_data.text || @@ -463,7 +463,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro auto data = std::make_unique(); --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) // FileContents drag-drop in X relies on XDragDropClient::InitDrag() setting // window property 'XdndDirectSave0' to filename. Since XDragDropClient is not // created in this unittest, we will set this property manually to allow diff --git a/www/chromium/files/patch-content_child_BUILD.gn b/www/chromium/files/patch-content_child_BUILD.gn index 32ef9e219245..4582d19e3579 100644 --- a/www/chromium/files/patch-content_child_BUILD.gn +++ b/www/chromium/files/patch-content_child_BUILD.gn @@ -1,16 +1,16 @@ ---- content/child/BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- content/child/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ content/child/BUILD.gn -@@ -134,6 +134,13 @@ target(link_target_type, "child") { +@@ -138,6 +138,13 @@ target(link_target_type, "child") { ] } + if (is_bsd) { + sources -= [ + "sandboxed_process_thread_type_handler.cc", + "sandboxed_process_thread_type_handler.h", + ] + } + if (is_win) { sources += [ "child_process_sandbox_support_impl_win.cc", diff --git a/www/chromium/files/patch-content_child_child__process.cc b/www/chromium/files/patch-content_child_child__process.cc index b734c25c3a1e..7fd4839d80ae 100644 --- a/www/chromium/files/patch-content_child_child__process.cc +++ b/www/chromium/files/patch-content_child_child__process.cc @@ -1,20 +1,20 @@ ---- content/child/child_process.cc.orig 2025-10-30 15:44:36 UTC +--- content/child/child_process.cc.orig 2026-03-13 06:02:14 UTC +++ content/child/child_process.cc -@@ -37,7 +37,7 @@ +@@ -36,7 +36,7 @@ #include "content/common/android/cpu_time_metrics.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -215,7 +215,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th +@@ -204,7 +204,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th main_thread_.reset(thread); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ChildProcess::SetIOThreadType(base::ThreadType thread_type) { if (!io_thread_) { return; diff --git a/www/chromium/files/patch-content_common_features.cc b/www/chromium/files/patch-content_common_features.cc index 48235babfa77..1407b02c7605 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-02-11 09:05:39 UTC +--- content/common/features.cc.orig 2026-03-13 06:02:14 UTC +++ content/common/features.cc -@@ -172,7 +172,7 @@ BASE_FEATURE(kDocumentPolicyNegotiation, base::FEATURE +@@ -184,7 +184,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) -@@ -276,7 +276,7 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -288,7 +288,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[] = { -@@ -290,11 +290,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -302,11 +302,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 50ecbcc7fe7e..61611be925a7 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-02-11 09:05:39 UTC +--- content/common/features.h.orig 2026-03-13 06:02:14 UTC +++ content/common/features.h -@@ -67,7 +67,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCopyFromSurfaceAl - CONTENT_EXPORT BASE_DECLARE_FEATURE(kCriticalClientHint); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceBoundSessionsDevTools); +@@ -72,7 +72,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kDisableAutoResize + CONTENT_EXPORT BASE_DECLARE_FEATURE( + kDocumentIsolationPolicyWithoutSiteIsolation); 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); -@@ -105,7 +105,7 @@ enum class FontDataServiceTypefaceType { +@@ -110,7 +110,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, -@@ -115,7 +115,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ +@@ -120,7 +120,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_gpu_gpu__child__thread.cc b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc index 2a4b2959b35f..e086c1e2679e 100644 --- a/www/chromium/files/patch-content_gpu_gpu__child__thread.cc +++ b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc @@ -1,21 +1,21 @@ ---- content/gpu/gpu_child_thread.cc.orig 2025-10-30 15:44:36 UTC +--- content/gpu/gpu_child_thread.cc.orig 2026-03-13 06:02:14 UTC +++ content/gpu/gpu_child_thread.cc -@@ -58,7 +58,7 @@ +@@ -57,7 +57,7 @@ #include "third_party/skia/include/ports/SkFontConfigInterface.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -150,7 +150,8 @@ void GpuChildThread::Init( +@@ -147,7 +147,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce viz_main_.gpu_service()->set_start_time(process_start_time); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); #endif diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc index e208e04a7266..4356e70d05a6 100644 --- a/www/chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/chromium/files/patch-content_gpu_gpu__main.cc @@ -1,73 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2025-10-02 04:28:32 UTC +--- content/gpu/gpu_main.cc.orig 2026-03-13 06:02:14 UTC +++ content/gpu/gpu_main.cc @@ -108,10 +108,14 @@ #include "sandbox/win/src/sandbox.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #include "content/common/gpu_pre_sandbox_hook_linux.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox_type.h" #endif @@ -129,7 +133,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread*, const gpu::GPUInfo*, const gpu::GpuPreferences&); @@ -191,7 +195,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) override { TRACE_EVENT("gpu,startup", "gpu_main::EnsureSandboxInitialized"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); #elif BUILDFLAG(IS_WIN) return StartSandboxWindows(sandbox_info_); @@ -307,7 +311,7 @@ int GpuMain(MainFunctionParams parameters) { std::make_unique( gpu_preferences.message_pump_type, /*is_main_thread=*/true); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #error "Unsupported Linux platform." #elif BUILDFLAG(IS_MAC) // Cross-process CoreAnimation requires a CFRunLoop to function at all, and @@ -332,7 +336,8 @@ int GpuMain(MainFunctionParams parameters) { base::PlatformThread::SetName("CrGpuMain"); mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) // Thread type delegate of the process should be registered before // thread type change below for the main thread and for thread pool in // ChildProcess constructor. -@@ -485,7 +490,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -484,7 +489,7 @@ int GpuMain(MainFunctionParams parameters) { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) { -@@ -533,7 +538,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo +@@ -532,7 +537,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo sandbox_options.accelerated_video_encode_enabled = !gpu_prefs.disable_accelerated_video_encode; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Video decoding of many video streams can use thousands of FDs as well as // Exo clients. // See https://crbug.com/1417237 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 ed4c542ba986..0adfa5696671 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-02-11 09:05:39 UTC +--- content/public/browser/content_browser_client.cc.orig 2026-03-13 06:02:14 UTC +++ content/public/browser/content_browser_client.cc -@@ -1423,7 +1423,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1426,7 +1426,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 f041bfbb136d..5b451c24d52a 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-02-11 09:05:39 UTC +--- content/public/common/content_features.cc.orig 2026-03-13 06:02:14 UTC +++ content/public/common/content_features.cc @@ -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 -@@ -1139,10 +1139,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE +@@ -1138,10 +1138,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 -@@ -1199,7 +1199,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, +@@ -1202,7 +1202,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 8bec0cd8410d..d0e6ac414477 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-02-11 09:05:39 UTC +--- content/public/common/content_switches.cc.orig 2026-03-13 06:02:14 UTC +++ content/public/common/content_switches.cc @@ -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. -@@ -943,7 +945,7 @@ const char kPreventResizingContentsForTesting[] = +@@ -942,7 +944,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_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc index 21b2ea9b2655..76698b3b2455 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-02-11 09:05:39 UTC +--- content/renderer/render_thread_impl.cc.orig 2026-03-13 06:02:14 UTC +++ content/renderer/render_thread_impl.cc @@ -201,6 +201,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -925,7 +927,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -922,7 +924,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) && -@@ -934,7 +936,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -931,7 +933,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) && -@@ -1655,7 +1657,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1620,7 +1622,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__main.cc b/www/chromium/files/patch-content_renderer_renderer__main.cc new file mode 100644 index 000000000000..3413e0bc7ac1 --- /dev/null +++ b/www/chromium/files/patch-content_renderer_renderer__main.cc @@ -0,0 +1,11 @@ +--- content/renderer/renderer_main.cc.orig 2026-03-13 06:02:14 UTC ++++ content/renderer/renderer_main.cc +@@ -196,7 +196,7 @@ int RendererMain(MainFunctionParams parameters) { + + InitializeSkia(); + +-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // On Linux, Windows, and ChromeOS, the font manager is overridden or + // specially handled in RendererBlinkPlatformImpl(). On other platforms, + // initialise the default one on a thread pool, to avoid blocking on it later. diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index 71a377d301a3..fedb9238fb58 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 2026-02-11 09:05:39 UTC +--- content/shell/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ content/shell/BUILD.gn -@@ -1104,7 +1104,7 @@ group("content_shell_crash_test") { +@@ -1116,7 +1116,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc index 21c1d67714bb..b14f49b02199 100644 --- a/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc +++ b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc @@ -1,11 +1,11 @@ ---- content/shell/renderer/shell_content_renderer_client.cc.orig 2025-09-06 10:01:20 UTC +--- content/shell/renderer/shell_content_renderer_client.cc.orig 2026-03-13 06:02:14 UTC +++ content/shell/renderer/shell_content_renderer_client.cc -@@ -50,7 +50,7 @@ - #include "media/base/media_switches.h" - #endif +@@ -56,7 +56,7 @@ + #include "components/surface_embed/renderer/create_plugin.h" + #endif // BUILDFLAG(ENABLE_SURFACE_EMBED) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)) #define ENABLE_WEB_ASSEMBLY_TRAP_HANDLER_LINUX #include "base/debug/stack_trace.h" diff --git a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc index 2a50cc1f52d8..ba7bafed550b 100644 --- a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc +++ b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -1,20 +1,20 @@ ---- content/shell/utility/shell_content_utility_client.cc.orig 2026-01-14 08:33:23 UTC +--- content/shell/utility/shell_content_utility_client.cc.orig 2026-03-13 06:02:14 UTC +++ content/shell/utility/shell_content_utility_client.cc -@@ -39,7 +39,7 @@ +@@ -41,7 +41,7 @@ #include "sandbox/policy/sandbox.h" #include "services/test/echo/echo_service.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/test/sandbox_status_service.h" #endif -@@ -188,7 +188,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow +@@ -201,7 +201,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow binders->Add( &PowerMonitorTestImpl::MakeSelfOwnedReceiver, base::SingleThreadTaskRunner::GetCurrentDefault()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (register_sandbox_status_helper_) { binders->Add( base::BindRepeating( diff --git a/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc index e92c6646b6e1..f3b5ec9f38da 100644 --- a/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc +++ b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc @@ -1,92 +1,92 @@ ---- content/utility/on_device_model/on_device_model_sandbox_init.cc.orig 2025-10-30 15:44:36 UTC +--- content/utility/on_device_model/on_device_model_sandbox_init.cc.orig 2026-03-13 06:02:14 UTC +++ content/utility/on_device_model/on_device_model_sandbox_init.cc -@@ -17,16 +17,20 @@ +@@ -18,16 +18,20 @@ #include "services/on_device_model/ml/gpu_blocklist.h" // nogncheck #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "content/common/gpu_pre_sandbox_hook_linux.h" #include "gpu/config/gpu_info_collector.h" // nogncheck +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" #endif +#endif #if !BUILDFLAG(IS_FUCHSIA) && \ - !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) #include "base/feature_list.h" #include "third_party/dawn/include/dawn/dawn_proc.h" // nogncheck #include "third_party/dawn/include/dawn/native/DawnNative.h" // nogncheck -@@ -37,7 +41,7 @@ namespace on_device_model { +@@ -38,7 +42,7 @@ namespace on_device_model { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) constexpr uint32_t kVendorIdAMD = 0x1002; constexpr uint32_t kVendorIdIntel = 0x8086; constexpr uint32_t kVendorIdNVIDIA = 0x10DE; -@@ -66,12 +70,12 @@ void UpdateSandboxOptionsForGpu( +@@ -67,12 +71,12 @@ void UpdateSandboxOptionsForGpu( #endif #if !BUILDFLAG(IS_FUCHSIA) && \ - !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) // If this feature is enabled, a WebGPU device is created for each valid // adapter. This makes sure any relevant drivers or other libs are loaded before // enabling the sandbox. BASE_FEATURE(kOnDeviceModelWarmDrivers, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -81,7 +85,7 @@ BASE_FEATURE(kOnDeviceModelWarmDrivers, +@@ -82,7 +86,7 @@ BASE_FEATURE(kOnDeviceModelWarmDrivers, bool ShouldWarmDrivers() { #if BUILDFLAG(IS_FUCHSIA) || \ - (BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) return false; #else bool is_gpu_not_blocklisted = true; -@@ -121,7 +125,7 @@ bool PreSandboxInit() { +@@ -122,7 +126,7 @@ bool PreSandboxInit() { // good measure we initialize a device instance for any adapter with an // appropriate backend on top of any integrated or discrete GPU. #if !BUILDFLAG(IS_FUCHSIA) && \ - !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) dawnProcSetProcs(&dawn::native::GetProcs()); auto instance = std::make_unique(); const wgpu::RequestAdapterOptions adapter_options{ -@@ -153,7 +157,7 @@ bool PreSandboxInit() { +@@ -154,7 +158,7 @@ bool PreSandboxInit() { return true; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void AddSandboxLinuxOptions(sandbox::policy::SandboxLinux::Options& options) { // Make sure any necessary vendor-specific options are set. gpu::GPUInfo info; -@@ -165,6 +169,7 @@ void AddSandboxLinuxOptions(sandbox::policy::SandboxLi +@@ -166,6 +170,7 @@ void AddSandboxLinuxOptions(sandbox::policy::SandboxLi } bool PreSandboxHook(sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) std::vector file_permissions = content::FilePermissionsForGpu(options); file_permissions.push_back( -@@ -173,6 +178,7 @@ bool PreSandboxHook(sandbox::policy::SandboxLinux::Opt +@@ -174,6 +179,7 @@ bool PreSandboxHook(sandbox::policy::SandboxLinux::Opt sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( content::CommandSetForGPU(options), file_permissions, options); +#endif if (!content::LoadLibrariesForGpu(options)) { return false; diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index 95bf5672f6e2..7301670ffc35 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-02-11 09:05:39 UTC +--- content/utility/utility_main.cc.orig 2026-03-13 06:02:14 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/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) { +@@ -276,7 +285,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) { +@@ -291,7 +300,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) { +@@ -324,7 +336,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) { +@@ -341,7 +353,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) { +@@ -370,6 +382,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) { +@@ -377,6 +390,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 bd0799f34220..0cc92b589244 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-02-11 09:05:39 UTC +--- content/zygote/zygote_linux.cc.orig 2026-03-13 06:02:14 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" -@@ -717,3 +718,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi +@@ -714,3 +715,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi } } // namespace content +#endif diff --git a/www/chromium/files/patch-device_fido_public_features.cc b/www/chromium/files/patch-device_fido_public_features.cc index 50ddca26407f..af04509b8256 100644 --- a/www/chromium/files/patch-device_fido_public_features.cc +++ b/www/chromium/files/patch-device_fido_public_features.cc @@ -1,11 +1,11 @@ ---- device/fido/public/features.cc.orig 2026-02-11 09:05:39 UTC +--- device/fido/public/features.cc.orig 2026-03-13 06:02:14 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); + // Enabled in M146. Remove in or after M149. + BASE_FEATURE(kPasskeyUnlockManager, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc index 5d58f23c164b..cd906b08c79f 100644 --- a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc +++ b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -1,20 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2025-10-02 04:28:32 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2026-03-13 06:02:14 UTC +++ extensions/browser/api/messaging/message_service.cc -@@ -83,7 +83,7 @@ namespace { +@@ -84,7 +84,7 @@ namespace { const char kReceivingEndDoesntExistError[] = "Could not establish connection. Receiving end does not exist."; #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 char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; const char kProhibitedByPoliciesError[] = -@@ -676,7 +676,7 @@ void MessageService::OpenChannelToNativeAppImpl( +@@ -678,7 +678,7 @@ void MessageService::OpenChannelToNativeAppImpl( return; #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 has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); if (!has_permission) { 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 5542fe11bb2b..ba1fd27c02e3 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 2026-02-11 09:05:39 UTC +--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/command_buffer/service/dawn_context_provider.cc -@@ -411,7 +411,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke +@@ -416,7 +416,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_shared__image_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index 8e5d7c116d8f..fd4c42dbe02a 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,47 @@ ---- 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.orig 2026-03-13 06:02:14 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,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 -@@ -113,7 +113,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -118,7 +118,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 -@@ -134,7 +134,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -139,7 +139,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; -@@ -309,7 +309,7 @@ SharedImageFactory::SharedImageFactory( +@@ -314,7 +314,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).*/ +@@ -1045,7 +1045,7 @@ void SharedImageFactory::LogGetFactoryFailed(gpu::Shar + } + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // VizBufferQueue with Vulkan enabled over command-line for Linux does not + // work. Suppress dumps for these cases. + if (context_state_->GrContextIsVulkan() && 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 0a6280e83b2f..119e5dda7158 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-03-04 12:49:15 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1767,7 +1767,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1770,7 +1770,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()) { -@@ -2085,7 +2085,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -2088,7 +2088,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__finch__features.cc b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc index f8355d8a8434..f7ae22df46a4 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,30 @@ ---- gpu/config/gpu_finch_features.cc.orig 2026-02-11 09:05:39 UTC +--- gpu/config/gpu_finch_features.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/config/gpu_finch_features.cc -@@ -116,7 +116,8 @@ BASE_FEATURE(kRemoveGPULegacyIPC, base::FEATURE_DISABL +@@ -110,7 +110,7 @@ const base::FeatureParam + // of associating with an unused IPC::Channel. + BASE_FEATURE(kRemoveGPULegacyIPC, base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Feature flag to control whether SharedImageStub sequence uses high priority + // on ChromeOS and Linux. Enabled by default. + BASE_FEATURE(kSharedImageStubHighPriority, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -122,7 +122,8 @@ BASE_FEATURE(kSharedImageStubHighPriority, base::FEATU // 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 +@@ -450,7 +451,7 @@ BASE_FEATURE(kGPUDriverBugListTestGroup, base::FEATURE + const base::FeatureParam kGPUDriverBugListTestGroupId{ + &kGPUDriverBugListTestGroup, "test_group", 0}; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsForceEnableWebGpuInterop() { + return base::FeatureList::IsEnabled(kForceEnableWebGpuInterop); + } diff --git a/www/chromium/files/patch-gpu_config_gpu__finch__features.h b/www/chromium/files/patch-gpu_config_gpu__finch__features.h new file mode 100644 index 000000000000..7f7ff1df7413 --- /dev/null +++ b/www/chromium/files/patch-gpu_config_gpu__finch__features.h @@ -0,0 +1,11 @@ +--- gpu/config/gpu_finch_features.h.orig 2026-03-13 06:02:14 UTC ++++ gpu/config/gpu_finch_features.h +@@ -102,7 +102,7 @@ GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kPruneOldTransf + + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kRemoveGPULegacyIPC); + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kSharedImageStubHighPriority); + #endif + diff --git a/www/chromium/files/patch-gpu_config_gpu__info__collector.cc b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc index d8d688a3b413..85bcf6ae2d53 100644 --- a/www/chromium/files/patch-gpu_config_gpu__info__collector.cc +++ b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_info_collector.cc.orig 2025-12-05 10:12:50 UTC +--- gpu/config/gpu_info_collector.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/config/gpu_info_collector.cc -@@ -362,7 +362,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance +@@ -365,7 +365,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance void ReportWebGPUSupportMetrics(dawn::native::Instance* instance) { static BASE_FEATURE(kCollectWebGPUSupportMetrics, "CollectWebGPUSupportMetrics", -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT); #else base::FEATURE_ENABLED_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 e8cfa2ab56d1..69528ad21795 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-02-11 09:05:39 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -159,7 +159,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -163,7 +163,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; -@@ -421,7 +421,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -425,7 +425,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 -@@ -459,7 +459,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -463,7 +463,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. -@@ -554,7 +554,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -558,7 +558,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 -@@ -612,7 +612,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -616,7 +616,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; -@@ -803,7 +803,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -819,7 +819,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. -@@ -855,7 +855,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -877,7 +877,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 -@@ -1057,7 +1057,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1079,7 +1079,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 -@@ -1113,7 +1113,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1135,7 +1135,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-gpu_ipc_service_shared__image__stub.cc b/www/chromium/files/patch-gpu_ipc_service_shared__image__stub.cc new file mode 100644 index 000000000000..e3ae31406eda --- /dev/null +++ b/www/chromium/files/patch-gpu_ipc_service_shared__image__stub.cc @@ -0,0 +1,11 @@ +--- gpu/ipc/service/shared_image_stub.cc.orig 2026-03-13 06:02:14 UTC ++++ gpu/ipc/service/shared_image_stub.cc +@@ -48,7 +48,7 @@ SharedImageStub::SharedImageStub(GpuChannel* channel, + command_buffer_id_( + CommandBufferIdFromChannelAndRoute(channel->client_id(), route_id)), + sequence_(channel->scheduler()->CreateSequence( +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FeatureList::IsEnabled(features::kSharedImageStubHighPriority) + ? SchedulingPriority::kHigh + : SchedulingPriority::kLow, diff --git a/www/chromium/files/patch-gpu_ipc_service_x__util.h b/www/chromium/files/patch-gpu_ipc_service_x__util.h index 43a924bdc97c..4fee85a1f5a0 100644 --- a/www/chromium/files/patch-gpu_ipc_service_x__util.h +++ b/www/chromium/files/patch-gpu_ipc_service_x__util.h @@ -1,11 +1,11 @@ ---- gpu/ipc/service/x_util.h.orig 2024-02-23 21:04:38 UTC +--- gpu/ipc/service/x_util.h.orig 2026-03-13 06:02:14 UTC +++ gpu/ipc/service/x_util.h @@ -12,7 +12,7 @@ #include "gpu/ipc/service/gpu_config.h" #include "ui/base/ozone_buildflags.h" --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) namespace gpu { diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc index 56d436957b03..22bc387e0104 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__util.cc @@ -1,11 +1,11 @@ ---- gpu/vulkan/vulkan_util.cc.orig 2026-01-14 08:33:23 UTC +--- gpu/vulkan/vulkan_util.cc.orig 2026-03-13 06:02:14 UTC +++ gpu/vulkan/vulkan_util.cc -@@ -473,7 +473,7 @@ bool CheckVulkanCompatibilities( +@@ -469,7 +469,7 @@ bool CheckVulkanCompatibilities( } } -#if BUILDFLAG(IS_LINUX) && !defined(OZONE_PLATFORM_IS_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(OZONE_PLATFORM_IS_X11) // Vulkan is only supported with X11 on Linux for now. return false; #else diff --git a/www/chromium/files/patch-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn index 09c16beb659a..c2fba09bc92f 100644 --- a/www/chromium/files/patch-headless_BUILD.gn +++ b/www/chromium/files/patch-headless_BUILD.gn @@ -1,11 +1,11 @@ ---- headless/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- headless/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ headless/BUILD.gn -@@ -487,7 +487,7 @@ component("headless_non_renderer") { - } - } +@@ -872,7 +872,7 @@ component("headless_shell_lib") { + "//printing/buildflags", + ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { - deps += [ - "//components/crash/content/browser", - "//components/crash/core/app", + deps += [ "//components/crash/core/app" ] + } + 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 e40a34b5fdca..d04854d4555c 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 2026-02-11 09:05:39 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2026-03-13 06:02:14 UTC +++ headless/lib/browser/headless_content_browser_client.cc -@@ -61,7 +61,7 @@ +@@ -59,7 +59,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 @@ -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-headless_lib_browser_headless__web__contents__impl.cc b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc index 82761b3a7c69..793e74e4faa4 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_web_contents_impl.cc.orig 2025-12-05 10:12:50 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2026-03-13 06:02:14 UTC +++ headless/lib/browser/headless_web_contents_impl.cc -@@ -71,7 +71,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ +@@ -74,7 +74,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ namespace { void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc index 6653cbe29334..a54ea7160003 100644 --- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2026-01-14 08:33:23 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2026-03-13 06:02:14 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -408,7 +408,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -400,7 +400,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( if (process_type != ::switches::kZygoteProcess) { g_headless_crash_client.Pointer()->set_crash_dumps_dir( command_line.GetSwitchValuePath(switches::kCrashDumpsDir)); -#if !BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) crash_reporter::InitializeCrashpad(process_type.empty(), process_type); #endif // !BUILDFLAG(IS_WIN) crash_keys::SetSwitchesFromCommandLine(command_line, nullptr); diff --git a/www/chromium/files/patch-ipc_ipc__channel.cc b/www/chromium/files/patch-ipc_ipc__channel.cc index 7826c0dcd39f..9e9180c83613 100644 --- a/www/chromium/files/patch-ipc_ipc__channel.cc +++ b/www/chromium/files/patch-ipc_ipc__channel.cc @@ -1,29 +1,29 @@ ---- ipc/ipc_channel.cc.orig 2026-01-14 08:33:23 UTC +--- ipc/ipc_channel.cc.orig 2026-03-13 06:02:14 UTC +++ ipc/ipc_channel.cc @@ -41,7 +41,7 @@ namespace { // Global atomic used to guarantee channel IDs are unique. base::AtomicSequenceNumber g_last_id; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) int g_global_pid = 0; @@ -83,7 +83,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe }; base::ProcessId GetSelfPID() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (int global_pid = Channel::GetGlobalPid()) { return global_pid; } -@@ -120,7 +120,7 @@ std::string Channel::GenerateUniqueRandomChannelID() { - base::RandInt(0, std::numeric_limits::max())); +@@ -119,7 +119,7 @@ std::string Channel::GenerateUniqueRandomChannelID() { + base::RandIntInclusive(0, std::numeric_limits::max())); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static void Channel::SetGlobalPid(int pid) { g_global_pid = pid; diff --git a/www/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn index eb1dd46dbfcf..edc5617d73a3 100644 --- a/www/chromium/files/patch-media_BUILD.gn +++ b/www/chromium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2025-09-06 10:01:20 UTC +--- media/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ media/BUILD.gn -@@ -107,6 +107,9 @@ config("media_config") { +@@ -103,6 +103,9 @@ config("media_config") { defines += [ "DLOPEN_PULSEAUDIO" ] } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } } # Internal grouping of the configs necessary to support sub-folders having their diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn index 603487544d6d..55240b199ccc 100644 --- a/www/chromium/files/patch-media_audio_BUILD.gn +++ b/www/chromium/files/patch-media_audio_BUILD.gn @@ -1,27 +1,27 @@ ---- media/audio/BUILD.gn.orig 2025-10-02 04:28:32 UTC +--- media/audio/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ media/audio/BUILD.gn -@@ -291,9 +291,23 @@ source_set("audio") { +@@ -295,9 +295,23 @@ source_set("audio") { deps += [ "//media/base/android:media_jni_headers" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/audio_manager_linux.cc" ] } + + if (is_bsd) { + sources += [ "sndio/audio_manager_sndio.cc" ] + } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", + "sndio/sndio_output.h" + ] + } if (use_alsa) { libs += [ "asound" ] diff --git a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc index f0e387dd9df2..380bff45006e 100644 --- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -1,54 +1,54 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2025-09-06 10:01:20 UTC +--- media/audio/alsa/audio_manager_alsa.cc.orig 2026-03-13 06:02:14 UTC +++ media/audio/alsa/audio_manager_alsa.cc -@@ -103,7 +103,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType +@@ -102,7 +102,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType int card = -1; // Loop through the physical sound cards to get ALSA device hints. +#if !BUILDFLAG(IS_BSD) while (!wrapper_->CardNext(&card) && card >= 0) { +#endif void** hints = nullptr; int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { -@@ -115,7 +117,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType +@@ -114,7 +116,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " << wrapper_->StrError(error); } +#if !BUILDFLAG(IS_BSD) } +#endif } void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type, -@@ -199,7 +203,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(AudioMana +@@ -198,7 +202,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(AudioMana // goes through software conversion if needed (e.g. incompatible // sample rate). // TODO(joi): Should we prefer "hw" instead? +#if BUILDFLAG(IS_BSD) + static constexpr std::string_view kDeviceTypeDesired = "plug"; +#else static constexpr std::string_view kDeviceTypeDesired = "plughw"; +#endif return device_name.starts_with(kDeviceTypeDesired); } -@@ -250,7 +258,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( +@@ -249,7 +257,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( // Loop through the sound cards. // Don't use snd_device_name_hint(-1,..) since there is an access violation // inside this ALSA API with libasound.so.2.0.0. +#if !BUILDFLAG(IS_BSD) while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) { +#endif int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { const std::string_view unwanted_type = -@@ -279,7 +289,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( +@@ -278,7 +288,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: " << wrapper_->StrError(error); } +#if !BUILDFLAG(IS_BSD) } +#endif return has_device; } diff --git a/www/chromium/files/patch-media_audio_audio__input__device.cc b/www/chromium/files/patch-media_audio_audio__input__device.cc index 51872be4944e..5450c3780513 100644 --- a/www/chromium/files/patch-media_audio_audio__input__device.cc +++ b/www/chromium/files/patch-media_audio_audio__input__device.cc @@ -1,11 +1,11 @@ ---- media/audio/audio_input_device.cc.orig 2025-10-30 15:44:36 UTC +--- media/audio/audio_input_device.cc.orig 2026-03-13 06:02:14 UTC +++ media/audio/audio_input_device.cc -@@ -270,7 +270,7 @@ void AudioInputDevice::OnStreamCreated( +@@ -269,7 +269,7 @@ void AudioInputDevice::OnStreamCreated( // here. See comments in AliveChecker and PowerObserverHelper for details and // todos. if (detect_dead_stream_ == DeadStreamDetection::kEnabled) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const bool stop_at_first_alive_notification = true; const bool pause_check_during_suspend = false; #else diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index 3b266b56ec59..782fde8d79f4 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-02-19 11:06:15 UTC +--- media/base/media_switches.cc.orig 2026-03-13 06:02:14 UTC +++ media/base/media_switches.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,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 -@@ -411,13 +411,35 @@ BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare, - BASE_FEATURE(kUseSCContentSharingPicker, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -433,13 +433,35 @@ BASE_FEATURE(kApplicationAudioCaptureMac, base::FEATUR + #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 -@@ -656,7 +678,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, +@@ -677,7 +699,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 -@@ -674,7 +696,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, base::FEAT +@@ -691,7 +713,7 @@ BASE_FEATURE(kGlobalMediaControlsAutoDismiss, base::FE #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 -@@ -700,7 +722,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU +@@ -717,7 +739,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, -@@ -756,7 +778,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E +@@ -773,7 +795,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); -@@ -1272,7 +1294,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, +@@ -1298,7 +1320,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_DISABLED_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); -@@ -1334,7 +1356,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU +@@ -1360,7 +1382,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. -@@ -1610,7 +1632,7 @@ bool IsSystemLoopbackCaptureSupported() { +@@ -1648,7 +1670,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 424d2e10da4c..56cde824e67e 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-02-11 09:05:39 UTC +--- media/base/media_switches.h.orig 2026-03-13 06:02:14 UTC +++ media/base/media_switches.h -@@ -293,13 +293,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -305,13 +305,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); -@@ -318,7 +330,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -330,7 +342,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); -@@ -334,7 +346,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -346,7 +358,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 +@@ -445,7 +457,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 d006d80149e9..c4fa4775eed6 100644 --- a/www/chromium/files/patch-media_base_video__frame.cc +++ b/www/chromium/files/patch-media_base_video__frame.cc @@ -1,38 +1,38 @@ ---- media/base/video_frame.cc.orig 2026-02-11 09:05:39 UTC +--- media/base/video_frame.cc.orig 2026-03-13 06:02:14 UTC +++ media/base/video_frame.cc -@@ -84,7 +84,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -86,7 +86,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 -@@ -422,7 +422,7 @@ scoped_refptr VideoFrame::WrapMappableShar +@@ -424,7 +424,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(); -@@ -696,7 +696,7 @@ scoped_refptr VideoFrame::WrapExternalYuva +@@ -698,7 +698,7 @@ scoped_refptr VideoFrame::WrapExternalYuva return frame; } -#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, -@@ -1341,7 +1341,7 @@ scoped_refptr VideoFrame::shar +@@ -1394,7 +1394,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 3d08563cd128..4a29979a5f74 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 2026-02-11 09:05:39 UTC +--- media/base/video_frame.h.orig 2026-03-13 06:02:14 UTC +++ media/base/video_frame.h @@ -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) -@@ -89,7 +89,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -91,7 +91,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_MAPPABLE_SHARED_IMAGE = 6, -@@ -309,7 +309,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -311,7 +311,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte base::span uv_data, base::TimeDelta timestamp); -#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 -@@ -616,7 +616,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -628,7 +628,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. -@@ -806,7 +806,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -818,7 +818,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_create__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc index ced91471b4da..8ecb7025304f 100644 --- a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc +++ b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -1,20 +1,20 @@ ---- media/capture/video/create_video_capture_device_factory.cc.orig 2025-08-07 06:57:29 UTC +--- media/capture/video/create_video_capture_device_factory.cc.orig 2026-03-13 06:02:14 UTC +++ media/capture/video/create_video_capture_device_factory.cc -@@ -13,7 +13,7 @@ +@@ -14,7 +14,7 @@ #include "media/capture/video/fake_video_capture_device_factory.h" #include "media/capture/video/file_video_capture_device_factory.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "media/capture/video/linux/video_capture_device_factory_linux.h" #elif BUILDFLAG(IS_CHROMEOS) #include "media/capture/video/chromeos/public/cros_features.h" -@@ -56,7 +56,7 @@ CreateFakeVideoCaptureDeviceFactory() { - std::unique_ptr +@@ -58,7 +58,7 @@ std::unique_ptr CreatePlatformSpecificVideoCaptureDeviceFactory( - scoped_refptr ui_task_runner) { + scoped_refptr ui_task_runner, + gpu::GpuDriverBugWorkarounds* gpu_workarounds) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(ui_task_runner); #elif BUILDFLAG(IS_CHROMEOS) if (base::SysInfo::IsRunningOnChromeOS()) diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc index 131b2d6f4090..02044279a95a 100644 --- a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc +++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc @@ -1,80 +1,80 @@ ---- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2025-08-07 06:57:29 UTC +--- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2026-03-13 06:02:14 UTC +++ media/capture/video/linux/video_capture_device_factory_v4l2.cc -@@ -44,6 +44,7 @@ bool CompareCaptureDevices(const VideoCaptureDeviceInf +@@ -43,6 +43,7 @@ bool CompareCaptureDevices(const VideoCaptureDeviceInf return a.descriptor < b.descriptor; } +#if !BUILDFLAG(IS_OPENBSD) // USB VID and PID are both 4 bytes long. const size_t kVidPidSize = 4; const size_t kMaxInterfaceNameSize = 256; -@@ -76,11 +77,24 @@ std::string ExtractFileNameFromDeviceId(const std::str +@@ -75,11 +76,24 @@ std::string ExtractFileNameFromDeviceId(const std::str DCHECK(base::StartsWith(device_id, kDevDir, base::CompareCase::SENSITIVE)); return device_id.substr(strlen(kDevDir), device_id.length()); } +#endif class DevVideoFilePathsDeviceProvider : public VideoCaptureDeviceFactoryV4L2::DeviceProvider { public: void GetDeviceIds(std::vector* target_container) override { +#if BUILDFLAG(IS_OPENBSD) + char device[12]; + int fd; + /* unveil(2) limits access to /dev/, try /dev/video[0-7] */ + for (int n = 0; n < 8; n++) { + snprintf(device, sizeof(device), "/dev/video%d", n); + if ((fd = open(device, O_RDONLY)) != -1) { + close(fd); + target_container->emplace_back(device); + } + } +#else const base::FilePath path("/dev/"); base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, "video*"); -@@ -88,9 +102,13 @@ class DevVideoFilePathsDeviceProvider +@@ -87,9 +101,13 @@ class DevVideoFilePathsDeviceProvider const base::FileEnumerator::FileInfo info = enumerator.GetInfo(); target_container->emplace_back(path.value() + info.GetName().value()); } +#endif } std::string GetDeviceModelId(const std::string& device_id) override { +#if BUILDFLAG(IS_OPENBSD) + return std::string(); +#else const std::string file_name = ExtractFileNameFromDeviceId(device_id); std::string usb_id; const std::string vid_path = -@@ -107,9 +125,13 @@ class DevVideoFilePathsDeviceProvider +@@ -106,9 +124,13 @@ class DevVideoFilePathsDeviceProvider } return usb_id; +#endif } std::string GetDeviceDisplayName(const std::string& device_id) override { +#if BUILDFLAG(IS_OPENBSD) + return std::string(); +#else const std::string file_name = ExtractFileNameFromDeviceId(device_id); const std::string interface_path = base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); -@@ -120,6 +142,7 @@ class DevVideoFilePathsDeviceProvider +@@ -119,6 +141,7 @@ class DevVideoFilePathsDeviceProvider return std::string(); } return display_name; +#endif } }; -@@ -225,7 +248,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo( +@@ -224,7 +247,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo( std::move(callback).Run(std::move(devices_info)); } -int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, int request, void* argp) { +int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, unsigned int request, void* argp) { return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); } 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 09b3eb38d61b..1b95c134591a 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 2026-02-11 09:05:39 UTC +--- media/capture/video/video_capture_device_client.cc.orig 2026-03-13 06:02:14 UTC +++ media/capture/video/video_capture_device_client.cc -@@ -167,7 +167,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( +@@ -166,7 +166,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_gpu_chromeos_libyuv__image__processor__backend.cc b/www/chromium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc index 5e0acd0dc33c..9f0ebccc1a87 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 2026-02-11 09:05:39 UTC +--- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/chromeos/libyuv_image_processor_backend.cc -@@ -52,7 +52,7 @@ static constexpr struct { +@@ -48,7 +48,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), -@@ -411,7 +411,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr +@@ -409,7 +409,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) -@@ -573,7 +573,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr +@@ -571,7 +571,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_platform__video__frame__utils.cc b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc index d8247ed6c854..d1ad028ef450 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-12-05 10:12:50 UTC +--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/chromeos/platform_video_frame_utils.cc -@@ -70,7 +70,7 @@ static std::unique_ptr CreateGbmDevice( +@@ -69,7 +69,7 @@ static std::unique_ptr CreateGbmDevice( const base::FilePath dev_path(FILE_PATH_LITERAL( base::StrCat({drm_node_file_prefix, base::NumberToString(i)}))); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) - const bool is_render_node = base::Contains(drm_node_file_prefix, "render"); + const bool is_render_node = drm_node_file_prefix.contains("render"); // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind -@@ -175,7 +175,7 @@ class GbmDeviceWrapper { +@@ -174,7 +174,7 @@ class GbmDeviceWrapper { const base::FilePath dev_path( base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( switches::kRenderNodeOverride)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) - const bool is_render_node = base::Contains(dev_path.value(), "render"); + const bool is_render_node = dev_path.value().contains("render"); // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind 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 c44d76aa1761..3ed8822d9413 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 2026-02-11 09:05:39 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1133,7 +1133,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1134,7 +1134,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()); -@@ -1142,7 +1142,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1143,7 +1143,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 -@@ -1316,7 +1316,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1317,7 +1317,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_test_raw__video.cc b/www/chromium/files/patch-media_gpu_test_raw__video.cc index ec732c08d218..db22c2e767a8 100644 --- a/www/chromium/files/patch-media_gpu_test_raw__video.cc +++ b/www/chromium/files/patch-media_gpu_test_raw__video.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/raw_video.cc.orig 2025-10-02 04:28:32 UTC +--- media/gpu/test/raw_video.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/test/raw_video.cc -@@ -64,7 +64,7 @@ std::unique_ptr CreateMemoryMa +@@ -60,7 +60,7 @@ std::unique_ptr CreateMemoryMa base::File::FLAG_READ | base::File::FLAG_WRITE // On Windows FLAG_CREATE_ALWAYS will require FLAG_WRITE, and FLAG_APPEND // must not be specified. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) | base::File::FLAG_APPEND #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ), diff --git a/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc b/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc index 52116d440741..07ca1263560d 100644 --- a/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc +++ b/www/chromium/files/patch-media_gpu_test_video__frame__file__writer.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_file_writer.cc.orig 2025-04-04 08:52:13 UTC +--- media/gpu/test/video_frame_file_writer.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/test/video_frame_file_writer.cc -@@ -25,7 +25,7 @@ +@@ -22,7 +22,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/codec/png_codec.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc b/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc index a832fc86a75b..8dc3732c0b3b 100644 --- a/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc +++ b/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/v4l2/v4l2_utils.cc.orig 2025-10-30 15:44:36 UTC +--- media/gpu/v4l2/v4l2_utils.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/v4l2/v4l2_utils.cc @@ -18,7 +18,7 @@ #include #include -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif -@@ -244,7 +244,7 @@ std::optional V4L2FormatToVideoFrame +@@ -243,7 +243,7 @@ std::optional V4L2FormatToVideoFrame } const VideoPixelFormat video_format = video_fourcc->ToVideoPixelFormat(); uint64_t modifiers = gfx::NativePixmapHandle::kNoModifier; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (video_fourcc == Fourcc(Fourcc::MM21)) { modifiers = DRM_FORMAT_MOD_MTK_16L_32S_TILE; } diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc index 6605a2ae1ec9..f82f793d9a09 100644 --- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2026-01-14 08:33:23 UTC +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2026-03-13 06:02:14 UTC +++ media/gpu/vaapi/vaapi_wrapper.cc -@@ -84,7 +84,7 @@ +@@ -79,7 +79,7 @@ using media_gpu_vaapi::kModuleVa_prot; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/strings/string_split.h" #endif diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni index af51d45e49e2..8e1d3f37b49e 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 2026-02-11 09:05:39 UTC +--- media/media_options.gni.orig 2026-03-13 06:02:14 UTC +++ media/media_options.gni -@@ -207,12 +207,15 @@ declare_args() { +@@ -208,12 +208,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_BUILD.gn b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn index 94035d4f22e7..6267df326159 100644 --- a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn +++ b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- media/mojo/mojom/BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- media/mojo/mojom/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ media/mojo/mojom/BUILD.gn -@@ -1037,7 +1037,7 @@ source_set("test_support") { +@@ -1033,7 +1033,7 @@ source_set("test_support") { sources = [] deps = [] - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "buffer_handle_test_util.cc", "buffer_handle_test_util.h", 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 cab74523ef6d..147a0399c86b 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 2026-02-11 09:05:39 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-03-13 06:02:14 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -22,7 +22,7 @@ +@@ -23,7 +23,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) -@@ -156,7 +156,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -158,7 +158,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. -@@ -187,7 +187,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -189,7 +189,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, -@@ -379,7 +379,7 @@ bool StructTraits struct StructTraits { diff --git a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc deleted file mode 100644 index d036933e57af..000000000000 --- a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2025-12-05 10:12:50 UTC -+++ media/video/gpu_memory_buffer_video_frame_pool.cc -@@ -677,7 +677,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa - } - - bool is_software_backed_video_frame = !video_frame->HasSharedImage(); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - is_software_backed_video_frame &= !video_frame->HasDmaBufs(); - #endif - -@@ -1078,7 +1078,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo - media::IOSurfaceIsWebGPUCompatible(handle.io_surface().get()); - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - is_webgpu_compatible = - handle.type == gfx::NATIVE_PIXMAP && - handle.native_pixmap_handle().supports_zero_copy_webgpu_import; -@@ -1246,7 +1246,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr - si_usage |= gpu::SHARED_IMAGE_USAGE_SCANOUT; - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // TODO(crbug.com/40194712): Always add the flag once the - // OzoneImageBacking is by default turned on. - if (base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc b/www/chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc new file mode 100644 index 000000000000..ab619fd0999f --- /dev/null +++ b/www/chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc @@ -0,0 +1,20 @@ +--- media/video/mappable_shared_image_video_frame_pool.cc.orig 2026-03-13 06:02:14 UTC ++++ media/video/mappable_shared_image_video_frame_pool.cc +@@ -685,7 +685,7 @@ void MappableSharedImageVideoFramePool::PoolImpl::Crea + } + + bool is_software_backed_video_frame = !video_frame->HasSharedImage(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + is_software_backed_video_frame &= !video_frame->HasDmaBufs(); + #endif + +@@ -1093,7 +1093,7 @@ scoped_refptr MappableSharedImageVideoFram + media::IOSurfaceIsWebGPUCompatible(handle.io_surface().get()); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TOOD(crbug.com/425634684): Check for webgpu support from + // SharedImageCapabilities, once this metadata is compatible. + is_webgpu_compatible = diff --git a/www/chromium/files/patch-media_video_renderable__gpu__memory__buffer__video__frame__pool.cc b/www/chromium/files/patch-media_video_renderable__mappable__shared__image__video__frame__pool.cc similarity index 64% rename from www/chromium/files/patch-media_video_renderable__gpu__memory__buffer__video__frame__pool.cc rename to www/chromium/files/patch-media_video_renderable__mappable__shared__image__video__frame__pool.cc index 35aca09db270..1cfb3e2a70c4 100644 --- a/www/chromium/files/patch-media_video_renderable__gpu__memory__buffer__video__frame__pool.cc +++ b/www/chromium/files/patch-media_video_renderable__mappable__shared__image__video__frame__pool.cc @@ -1,11 +1,11 @@ ---- media/video/renderable_gpu_memory_buffer_video_frame_pool.cc.orig 2025-10-02 04:28:32 UTC -+++ media/video/renderable_gpu_memory_buffer_video_frame_pool.cc -@@ -196,7 +196,7 @@ bool FrameResources::Initialize(VideoPixelFormat forma +--- media/video/renderable_mappable_shared_image_video_frame_pool.cc.orig 2026-03-13 06:02:14 UTC ++++ media/video/renderable_mappable_shared_image_video_frame_pool.cc +@@ -198,7 +198,7 @@ bool FrameResources::Initialize(VideoPixelFormat forma #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) buffer_usage = gfx::BufferUsage::SCANOUT_VEA_CPU_READ; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, GBM_BO_USE_LINEAR (implied by SCANOUT_CPU_READ_WRITE) can // prevent GPU rendering on some drivers, notably NVIDIA's GBM driver, // because it disables GBM_BO_USE_RENDERING. Use SCANOUT instead if diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc index 7fd926db4ca4..fb42f066dafd 100644 --- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2025-10-02 04:28:32 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2026-03-13 06:02:14 UTC +++ media/video/video_encode_accelerator_adapter.cc @@ -468,7 +468,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele + #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) - auto format = PIXEL_FORMAT_I420; auto storage_type = VideoEncodeAccelerator::Config::StorageType::kShmem; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Linux/ChromeOS require a special configuration to use dmabuf storage. // We need to keep sending frames with the same storage type. // Other platforms will happily mix GpuMemoryBuffer storage with shared-mem diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc deleted file mode 100644 index 8ef3bc1dea97..000000000000 --- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- media/video/video_encode_accelerator_adapter_test.cc.orig 2026-01-14 08:33:23 UTC -+++ media/video/video_encode_accelerator_adapter_test.cc -@@ -259,7 +259,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, InitializeAf - }); - - VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - expected_input_format = PIXEL_FORMAT_NV12; - #endif - vea()->SetEncodingCallback(base::BindLambdaForTesting( -@@ -368,7 +368,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, FlushDuringI - }); - - VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - expected_input_format = PIXEL_FORMAT_NV12; - #endif - -@@ -466,7 +466,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes - CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2)); - - VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - expected_input_format = PIXEL_FORMAT_NV12; - #endif - const gfx::ColorSpace expected_color_space = -@@ -713,7 +713,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, - }); - - VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - expected_input_format = PIXEL_FORMAT_NV12; - #endif - vea()->SetEncodingCallback(base::BindLambdaForTesting( diff --git a/www/chromium/files/patch-media_webrtc_helpers__unittests.cc b/www/chromium/files/patch-media_webrtc_helpers__unittests.cc deleted file mode 100644 index c6e320fa2590..000000000000 --- a/www/chromium/files/patch-media_webrtc_helpers__unittests.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- media/webrtc/helpers_unittests.cc.orig 2025-12-05 10:12:50 UTC -+++ media/webrtc/helpers_unittests.cc -@@ -37,7 +37,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau - EXPECT_TRUE(config.echo_canceller.enabled); - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - EXPECT_FALSE(config.gain_controller1.enabled); - EXPECT_TRUE(config.gain_controller2.enabled); - #elif BUILDFLAG(IS_CASTOS) || BUILDFLAG(IS_CAST_ANDROID) -@@ -63,7 +63,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, - } - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - TEST(CreateWebRtcAudioProcessingModuleTest, - InputVolumeAdjustmentEnabledWithAgc2) { - ::base::test::ScopedFeatureList feature_list; -@@ -79,7 +79,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - TEST(CreateWebRtcAudioProcessingModuleTest, - CanDisableInputVolumeAdjustmentWithAgc2) { - ::base::test::ScopedFeatureList feature_list; -@@ -96,7 +96,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, - #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_FUCHSIA) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - TEST(CreateWebRtcAudioProcessingModuleTest, - OnlyOneInputVolumeControllerEnabledOnDesktopPlatforms) { - auto config = CreateApmGetConfig( diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc index 44fdac736168..bac3ee32abf1 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-02-11 09:05:39 UTC +--- mojo/core/channel.cc.orig 2026-03-13 06:02:14 UTC +++ mojo/core/channel.cc -@@ -76,7 +76,11 @@ const size_t kMaxAttachedHandles = 64; +@@ -74,7 +74,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 -@@ -269,7 +273,7 @@ bool ShouldRecordSubsampledHistograms() { +@@ -267,7 +271,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 { -@@ -1318,7 +1322,7 @@ bool Channel::OnControlMessage(Message::MessageType me +@@ -1313,7 +1317,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-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn index b62c08682069..bd0ef37834b0 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-02-11 09:05:39 UTC +--- net/BUILD.gn.orig 2026-03-13 06:02:14 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" ] } -@@ -1405,6 +1405,19 @@ component("net") { +@@ -1409,6 +1409,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", -@@ -1571,7 +1584,7 @@ component("net") { +@@ -1575,7 +1588,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", -@@ -2318,7 +2331,7 @@ static_library("test_support") { +@@ -2331,7 +2344,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", -@@ -3126,14 +3139,14 @@ target(_test_target_type, "net_unittests") { +@@ -3148,14 +3161,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", -@@ -3243,6 +3256,10 @@ target(_test_target_type, "net_unittests") { +@@ -3266,6 +3279,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3299,7 +3316,7 @@ target(_test_target_type, "net_unittests") { +@@ -3321,7 +3338,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" ] } -@@ -3429,7 +3446,7 @@ target(_test_target_type, "net_unittests") { +@@ -3451,7 +3468,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 9ab1790cb08a..608bca69bba3 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-02-11 09:05:39 UTC +--- net/base/features.cc.orig 2026-03-13 06:02:14 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 -@@ -301,7 +301,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV +@@ -297,7 +297,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) -@@ -415,7 +415,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues +@@ -409,7 +409,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 -@@ -508,7 +508,7 @@ BASE_FEATURE(kHttpCacheMappedFileFlushWin, base::FEATU +@@ -517,7 +517,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_base_network__change__notifier.cc b/www/chromium/files/patch-net_base_network__change__notifier.cc index 18486cf55fc8..999c38af8e5f 100644 --- a/www/chromium/files/patch-net_base_network__change__notifier.cc +++ b/www/chromium/files/patch-net_base_network__change__notifier.cc @@ -1,21 +1,21 @@ ---- net/base/network_change_notifier.cc.orig 2025-05-28 14:55:43 UTC +--- net/base/network_change_notifier.cc.orig 2026-03-13 06:02:14 UTC +++ net/base/network_change_notifier.cc @@ -38,7 +38,7 @@ - #include "net/base/network_change_notifier_linux.h" + #include "third_party/abseil-cpp/absl/container/flat_hash_set.h" #elif BUILDFLAG(IS_APPLE) #include "net/base/network_change_notifier_apple.h" -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "net/base/network_change_notifier_passive.h" #elif BUILDFLAG(IS_FUCHSIA) #include "net/base/network_change_notifier_fuchsia.h" @@ -325,6 +325,9 @@ std::unique_ptr NetworkChangeNo #elif BUILDFLAG(IS_FUCHSIA) return std::make_unique( /*require_wlan=*/false); +#elif BUILDFLAG(IS_BSD) + return std::make_unique( + /*dns_config_notifier*/nullptr); #else NOTIMPLEMENTED(); return nullptr; diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn index 4c05239603f8..d81ddc9de69d 100644 --- a/www/chromium/files/patch-net_dns_BUILD.gn +++ b/www/chromium/files/patch-net_dns_BUILD.gn @@ -1,39 +1,39 @@ ---- net/dns/BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- net/dns/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ net/dns/BUILD.gn @@ -144,7 +144,7 @@ source_set("dns") { "platform_dns_query_executor_android.cc", "platform_dns_query_executor_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", @@ -178,6 +178,7 @@ source_set("dns") { } deps = [ "//net:net_deps" ] + deps += [ "//services/screen_ai/buildflags" ] public_deps = [ ":dns_client", -@@ -258,6 +259,7 @@ source_set("host_resolver") { +@@ -257,6 +258,7 @@ source_set("host_resolver") { deps = [ "//net:net_deps", "//net/dns/public", + "//printing/buildflags", ] public_deps = [ "//net:net_public_deps" ] -@@ -463,9 +465,9 @@ source_set("tests") { +@@ -462,9 +464,9 @@ source_set("tests") { "dns_config_service_android_unittest.cc", "platform_dns_query_executor_android_unittest.cc", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux_unittest.cc" ] - } else if (is_posix) { + } else if (is_posix && !is_bsd) { sources += [ "dns_config_service_posix_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_dns_dns__util.cc b/www/chromium/files/patch-net_dns_dns__util.cc index e2633472d6b7..515df5fcce9a 100644 --- a/www/chromium/files/patch-net_dns_dns__util.cc +++ b/www/chromium/files/patch-net_dns_dns__util.cc @@ -1,11 +1,11 @@ ---- net/dns/dns_util.cc.orig 2023-02-08 09:03:45 UTC +--- net/dns/dns_util.cc.orig 2026-03-13 06:02:14 UTC +++ net/dns/dns_util.cc -@@ -29,6 +29,8 @@ +@@ -28,6 +28,8 @@ #include "net/dns/public/util.h" #include "net/third_party/uri_template/uri_template.h" +#include + #if BUILDFLAG(IS_POSIX) #include #include diff --git a/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc b/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc index df3f8911c24f..6fee560219cc 100644 --- a/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc +++ b/www/chromium/files/patch-net_tools_net__watcher_net__watcher.cc @@ -1,38 +1,38 @@ ---- net/tools/net_watcher/net_watcher.cc.orig 2026-01-14 08:33:23 UTC +--- net/tools/net_watcher/net_watcher.cc.orig 2026-03-13 06:02:14 UTC +++ net/tools/net_watcher/net_watcher.cc -@@ -32,7 +32,7 @@ +@@ -31,7 +31,7 @@ #include "net/proxy_resolution/proxy_config_service.h" #include "net/proxy_resolution/proxy_config_with_annotation.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "net/base/network_change_notifier_linux.h" + #include "third_party/abseil-cpp/absl/container/flat_hash_set.h" #endif - @@ -42,7 +42,7 @@ namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Flag to specifies which network interfaces to ignore. Interfaces should // follow as a comma seperated list. const char kIgnoreNetifFlag[] = "ignore-netif"; @@ -160,7 +160,7 @@ class NetWatcher : } // namespace int main(int argc, char* argv[]) { -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::apple::ScopedNSAutoreleasePool pool; #endif base::AtExitManager exit_manager; @@ -177,7 +177,7 @@ int main(int argc, char* argv[]) { NetWatcher net_watcher; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); std::string ignored_netifs_str = command_line->GetSwitchValueASCII(kIgnoreNetifFlag); diff --git a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h index 519dc90bb1bf..921c106e2831 100644 --- a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h +++ b/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h @@ -1,20 +1,20 @@ ---- net/traffic_annotation/network_traffic_annotation.h.orig 2026-01-14 08:33:23 UTC +--- net/traffic_annotation/network_traffic_annotation.h.orig 2026-03-13 06:02:14 UTC +++ net/traffic_annotation/network_traffic_annotation.h -@@ -365,7 +365,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { +@@ -363,7 +363,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { } // namespace net // Placeholder for unannotated usages. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \ net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.") #endif -@@ -376,7 +376,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { +@@ -374,7 +374,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { // // On Linux and Windows, use MISSING_TRAFFIC_ANNOTATION or // TRAFFIC_ANNOTATION_FOR_TESTS. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) #define NO_TRAFFIC_ANNOTATION_YET \ net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") 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 6faf7b382003..e56fec039c8d 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 2026-02-11 09:05:39 UTC +--- net/url_request/url_request_context_builder.cc.orig 2026-03-13 06:02:14 UTC +++ net/url_request/url_request_context_builder.cc -@@ -451,7 +451,7 @@ std::unique_ptr URLRequestContextBu +@@ -446,7 +446,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 3784e8c2529a..21ed75eea4ed 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 2026-02-11 09:05:39 UTC +--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2026-03-13 06:02:14 UTC +++ net/websockets/websocket_basic_stream_adapters_test.cc -@@ -1103,10 +1103,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, +@@ -1106,10 +1106,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 deleted file mode 100644 index 8cc3316fc893..000000000000 --- a/www/chromium/files/patch-pdf_pdf__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- pdf/pdf_features.cc.orig 2026-02-11 09:05:39 UTC -+++ pdf/pdf_features.cc -@@ -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 deleted file mode 100644 index 92e573c1180c..000000000000 --- a/www/chromium/files/patch-pdf_pdf__features.h +++ /dev/null @@ -1,11 +0,0 @@ ---- pdf/pdf_features.h.orig 2026-02-11 09:05:39 UTC -+++ pdf/pdf_features.h -@@ -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-printing_backend_cups__ipp__helper.cc b/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc index 4edbe9b43b0c..43138476fdb6 100644 --- a/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc +++ b/www/chromium/files/patch-printing_backend_cups__ipp__helper.cc @@ -1,11 +1,11 @@ ---- printing/backend/cups_ipp_helper.cc.orig 2025-07-02 06:08:04 UTC +--- printing/backend/cups_ipp_helper.cc.orig 2026-03-13 06:02:14 UTC +++ printing/backend/cups_ipp_helper.cc -@@ -202,7 +202,7 @@ void ExtractResolutions(const CupsOptionProvider& prin +@@ -201,7 +201,7 @@ void ExtractResolutions(const CupsOptionProvider& prin // Provide a default DPI if no valid DPI is found. #if BUILDFLAG(IS_MAC) constexpr gfx::Size kDefaultMissingDpi(kDefaultMacDpi, kDefaultMacDpi); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr gfx::Size kDefaultMissingDpi(kPixelsPerInch, kPixelsPerInch); #else constexpr gfx::Size kDefaultMissingDpi(kDefaultPdfDpi, kDefaultPdfDpi); 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 c6a716248add..2fc9ce376e14 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,74 +1,74 @@ ---- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2026-02-11 09:05:39 UTC +--- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2026-03-13 06:02:14 UTC +++ printing/mojom/printing_context_mojom_traits_unittest.cc -@@ -81,7 +81,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( +@@ -81,7 +81,7 @@ base::DictValue 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"); -@@ -93,7 +93,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( +@@ -93,7 +93,7 @@ base::DictValue GenerateSampleSystemPrintDialogData( return data; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::Value::Dict GenerateSampleSystemPrintDialogDataPortal() { - base::Value::Dict data; + base::DictValue GenerateSampleSystemPrintDialogDataPortal() { + base::DictValue 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")); @@ -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) @@ -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 @@ -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 @@ -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(); @@ -887,7 +887,7 @@ TEST( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) TEST(PrintingContextMojomTraitsTest, TestSerializeAndDeserializePrintSettingsSystemPrintDialogDataPortal) { PrintSettings input = GenerateSamplePrintSettingsDefaultMargins(); diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc index 2bcf347241a7..1158e2712f02 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 2026-02-11 09:05:39 UTC +--- printing/print_settings_conversion.cc.orig 2026-03-13 06:02:14 UTC +++ printing/print_settings_conversion.cc @@ -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 = + const base::DictValue* advanced_settings = job_settings.FindDict(kSettingAdvancedSettings); if (advanced_settings) { diff --git a/www/chromium/files/patch-remoting_host_base_switches.cc b/www/chromium/files/patch-remoting_host_base_switches.cc index ffa9da35bb24..60a8b6b6e426 100644 --- a/www/chromium/files/patch-remoting_host_base_switches.cc +++ b/www/chromium/files/patch-remoting_host_base_switches.cc @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.cc.orig 2025-05-28 14:55:43 UTC +--- remoting/host/base/switches.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/base/switches.cc -@@ -23,13 +23,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat +@@ -24,13 +24,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat const char kProcessTypeFileChooser[] = "file_chooser"; const char kProcessTypeUrlForwarderConfigurator[] = "url_forwarder_configurator"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kProcessTypeXSessionChooser[] = "xsession_chooser"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char kEnableWtmpdb[] = "enable-wtmpdb"; #endif diff --git a/www/chromium/files/patch-remoting_host_base_switches.h b/www/chromium/files/patch-remoting_host_base_switches.h index 450a94abdc2e..0846c6c7762f 100644 --- a/www/chromium/files/patch-remoting_host_base_switches.h +++ b/www/chromium/files/patch-remoting_host_base_switches.h @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.h.orig 2025-05-28 14:55:43 UTC +--- remoting/host/base/switches.h.orig 2026-03-13 06:02:14 UTC +++ remoting/host/base/switches.h -@@ -35,13 +35,13 @@ extern const char kProcessTypeRdpDesktopSession[]; +@@ -36,13 +36,13 @@ extern const char kProcessTypeRdpDesktopSession[]; extern const char kProcessTypeEvaluateCapability[]; extern const char kProcessTypeFileChooser[]; extern const char kProcessTypeUrlForwarderConfigurator[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kProcessTypeXSessionChooser[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) extern const char kEvaluateCapabilitySwitchName[]; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used to record client sessions to wtmpd. extern const char kEnableWtmpdb[]; #endif diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.h b/www/chromium/files/patch-remoting_host_chromoting__host.h index 88097ef3f264..46b39680abe0 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 2026-02-11 09:05:39 UTC +--- remoting/host/chromoting_host.h.orig 2026-03-13 06:02:14 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 @@ -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 -@@ -224,7 +224,7 @@ class ChromotingHost : public ClientSession::EventHand +@@ -229,7 +229,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_client__session.cc b/www/chromium/files/patch-remoting_host_client__session.cc index 05fa4fd14ce2..8566b3383c39 100644 --- a/www/chromium/files/patch-remoting_host_client__session.cc +++ b/www/chromium/files/patch-remoting_host_client__session.cc @@ -1,11 +1,11 @@ ---- remoting/host/client_session.cc.orig 2025-12-05 10:12:50 UTC +--- remoting/host/client_session.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/client_session.cc -@@ -195,7 +195,7 @@ void ClientSession::NotifyClientResolution( +@@ -194,7 +194,7 @@ void ClientSession::NotifyClientResolution( if (effective_policies_.curtain_required.value_or(false)) { dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); #endif diff --git a/www/chromium/files/patch-remoting_host_desktop__session__connector.h b/www/chromium/files/patch-remoting_host_desktop__session__connector.h new file mode 100644 index 000000000000..d3bc8cf25f60 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_desktop__session__connector.h @@ -0,0 +1,11 @@ +--- remoting/host/desktop_session_connector.h.orig 2026-03-13 06:02:14 UTC ++++ remoting/host/desktop_session_connector.h +@@ -50,7 +50,7 @@ class DesktopSessionConnector : public mojom::DesktopS + virtual bool BindConnectionEventsReceiver( + mojo::ScopedInterfaceEndpointHandle handle) = 0; + +-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Notifies the network process that |terminal_id| is now attached to + // a desktop integration process. |session_id| is the id of the desktop + // session being attached. |desktop_pipe| is the client end of the pipe opened diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc index ed9ffd303cc5..09f8e428d48d 100644 --- a/www/chromium/files/patch-remoting_host_host__main.cc +++ b/www/chromium/files/patch-remoting_host_host__main.cc @@ -1,38 +1,65 @@ ---- remoting/host/host_main.cc.orig 2026-01-14 08:33:23 UTC +--- remoting/host/host_main.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/host_main.cc -@@ -53,7 +53,7 @@ int FileChooserMain(); +@@ -47,7 +47,7 @@ namespace remoting { + // Known entry points. + int SingleProcessHostProcessMain(); + int NetworkProcessMain(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + int DaemonProcessMain(); + int DesktopProcessMain(); + #endif +@@ -56,7 +56,7 @@ int FileChooserMain(); int RdpDesktopSessionMain(); int UrlForwarderConfiguratorMain(); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) int XSessionChooserMain(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -67,7 +67,7 @@ void Usage(const base::FilePath& program_name) { +@@ -70,7 +70,7 @@ void Usage(const base::FilePath& program_name) { "\n" "Options:\n" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) " --audio-pipe-name= - Sets the pipe name to capture audio on " "Linux.\n" #endif // BUILDFLAG(IS_LINUX) -@@ -157,7 +157,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro +@@ -150,7 +150,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro + main_routine = &SingleProcessHostProcessMain; + } else if (process_type == kProcessTypeNetwork) { + main_routine = &NetworkProcessMain; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + } else if (process_type == kProcessTypeDaemon) { + main_routine = &DaemonProcessMain; + } else if (process_type == kProcessTypeDesktop) { +@@ -164,7 +164,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro } else if (process_type == kProcessTypeUrlForwarderConfigurator) { main_routine = &UrlForwarderConfiguratorMain; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) } else if (process_type == kProcessTypeXSessionChooser) { main_routine = &XSessionChooserMain; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -225,7 +225,7 @@ int HostMain(int argc, char** argv) { +@@ -232,7 +232,7 @@ int HostMain(int argc, char** argv) { // Note that we enable crash reporting only if the user has opted in to having // the crash reports uploaded. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) // TODO: joedow - Enable crash reporting for the RDP process. +@@ -276,7 +276,7 @@ int HostMain(int argc, char** argv) { + // Mac, where the broker process is the agent process broker. + is_broker_process |= main_routine == &SingleProcessHostProcessMain; + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // For multi-process hosts, the daemon process acts as the broker. + is_broker_process |= main_routine == &DaemonProcessMain; + #endif diff --git a/www/chromium/files/patch-remoting_host_ipc__constants.cc b/www/chromium/files/patch-remoting_host_ipc__constants.cc index c36ecb328356..7de55f0207f9 100644 --- a/www/chromium/files/patch-remoting_host_ipc__constants.cc +++ b/www/chromium/files/patch-remoting_host_ipc__constants.cc @@ -1,20 +1,38 @@ ---- remoting/host/ipc_constants.cc.orig 2024-11-14 07:57:23 UTC +--- remoting/host/ipc_constants.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/ipc_constants.cc @@ -17,7 +17,7 @@ namespace remoting { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if !defined(NDEBUG) // Use a different IPC name for debug builds so that we can run the host -@@ -81,7 +81,7 @@ GetChromotingHostServicesServerName() { +@@ -48,7 +48,7 @@ constexpr char kAgentProcessBrokerIpcName[] = + + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + #if !defined(NDEBUG) + constexpr char kLoginSessionReporterIpcName[] = +@@ -93,7 +93,7 @@ GetChromotingHostServicesServerName() { static const base::NoDestructor server_name( named_mojo_ipc_server::WorkingDirectoryIndependentServerNameFromUTF8( -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux host creates the socket file in /tmp, and it won't be // deleted until reboot, so we put username in the path in case // the user switches the host owner. +@@ -126,7 +126,7 @@ GetAgentProcessBrokerServerName() { + + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + const char kLoginSessionReporterMessagePipeId[] = "login-session-reporter"; + diff --git a/www/chromium/files/patch-remoting_host_ipc__constants.h b/www/chromium/files/patch-remoting_host_ipc__constants.h new file mode 100644 index 000000000000..19296f2d836c --- /dev/null +++ b/www/chromium/files/patch-remoting_host_ipc__constants.h @@ -0,0 +1,11 @@ +--- remoting/host/ipc_constants.h.orig 2026-03-13 06:02:14 UTC ++++ remoting/host/ipc_constants.h +@@ -38,7 +38,7 @@ extern const char kAgentProcessBrokerMessagePipeId[]; + const mojo::NamedPlatformChannel::ServerName& GetAgentProcessBrokerServerName(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Message pipe ID used for LoginSessionReporter. + extern const char kLoginSessionReporterMessagePipeId[]; + diff --git a/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc b/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc index c6ec262e4f71..9dc3253c4123 100644 --- a/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc +++ b/www/chromium/files/patch-remoting_host_mojo__caller__security__checker.cc @@ -1,29 +1,29 @@ ---- remoting/host/mojo_caller_security_checker.cc.orig 2025-05-28 14:55:43 UTC +--- remoting/host/mojo_caller_security_checker.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/mojo_caller_security_checker.cc @@ -32,7 +32,7 @@ namespace remoting { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr auto kAllowedCallerProgramNames = base::MakeFixedFlatSet({ "remote-open-url", -@@ -60,7 +60,7 @@ bool IsTrustedMojoEndpoint( +@@ -61,7 +61,7 @@ bool IsTrustedMojoEndpoint( const named_mojo_ipc_server::ConnectionInfo& caller) { #if BUILDFLAG(IS_MAC) return IsProcessTrusted(caller.audit_token, kAllowedIdentifiers); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // TODO: yuweih - see if it's possible to move away from PID-based security // checks, which might be susceptible of PID reuse attacks. -@@ -84,7 +84,7 @@ bool IsTrustedMojoEndpoint( +@@ -85,7 +85,7 @@ bool IsTrustedMojoEndpoint( base::FilePath::StringType program_name = caller_process_image_path.BaseName().value(); if (!kAllowedCallerProgramNames.contains(program_name)) { -#if BUILDFLAG(IS_LINUX) && !defined(NDEBUG) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG) // Linux binaries generated in out/Debug are underscore-separated. To make // debugging easier, we just check the name again with underscores replaced // with hyphens. diff --git a/www/chromium/files/patch-remoting_host_policy__watcher.cc b/www/chromium/files/patch-remoting_host_policy__watcher.cc index a8f5328e54c9..52668c0ec35b 100644 --- a/www/chromium/files/patch-remoting_host_policy__watcher.cc +++ b/www/chromium/files/patch-remoting_host_policy__watcher.cc @@ -1,11 +1,11 @@ ---- remoting/host/policy_watcher.cc.orig 2025-08-07 06:57:29 UTC +--- remoting/host/policy_watcher.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/policy_watcher.cc -@@ -183,7 +183,7 @@ base::Value::Dict PolicyWatcher::GetDefaultPolicies() +@@ -183,7 +183,7 @@ base::DictValue PolicyWatcher::GetDefaultPolicies() { result.Set(key::kRemoteAccessHostAllowEnterpriseFileTransfer, false); result.Set(key::kClassManagementEnabled, "disabled"); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) result.Set(key::kRemoteAccessHostMatchUsername, false); #endif #if !BUILDFLAG(IS_CHROMEOS) 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 5986cfe62d1c..527050aec2d9 100644 --- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,164 +1,182 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2026-02-11 09:05:39 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -143,7 +143,7 @@ +@@ -146,7 +146,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 -@@ -155,7 +155,7 @@ +@@ -158,7 +158,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" -@@ -170,7 +170,7 @@ +@@ -173,7 +173,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) -@@ -204,7 +204,7 @@ const char kApplicationName[] = "chromoting"; - const char kStdinConfigPath[] = "-"; - #endif // !defined(REMOTING_MULTI_PROCESS) +@@ -199,7 +199,7 @@ const char kApplicationName[] = "chromoting"; + // from stdin. + constexpr base::FilePath::CharType kStdinConfigPath[] = FILE_PATH_LITERAL("-"); -#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"; -@@ -452,7 +452,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -423,7 +423,7 @@ class HostProcess : public ConfigWatcher::Delegate, + int line_number) override; + + // mojom::RemotingHostControl implementation. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ApplyHostConfig(base::DictValue serialized_config) override; + #endif + #if BUILDFLAG(IS_WIN) +@@ -448,7 +448,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) -@@ -518,7 +518,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -514,7 +514,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_; -@@ -845,7 +845,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -843,7 +843,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) } -@@ -929,7 +929,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -927,7 +927,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, -@@ -1067,7 +1067,7 @@ void HostProcess::StartOnUiThread() { +@@ -1072,7 +1072,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 = -@@ -1146,7 +1146,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1147,7 +1147,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. -@@ -1154,7 +1154,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1155,7 +1155,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(); })); +@@ -1248,7 +1248,7 @@ void HostProcess::BindRemotingHostControl( + + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void HostProcess::ApplyHostConfig(base::DictValue config) { + DCHECK(context_->ui_task_runner()->BelongsToCurrentThread()); + OnConfigParsed(std::move(config)); @@ -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( @@ -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_ = @@ -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(); -@@ -2170,7 +2170,7 @@ int HostProcessMain() { - HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); +@@ -2172,7 +2172,7 @@ int HostProcessMain(bool multi_process) { + : " (single-process)"); 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 ...) -@@ -2215,7 +2215,7 @@ int HostProcessMain() { +@@ -2217,7 +2217,7 @@ int HostProcessMain(bool multi_process) { 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. -@@ -2235,7 +2235,7 @@ int HostProcessMain() { +@@ -2237,7 +2237,7 @@ int HostProcessMain(bool multi_process) { 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-remoting_protocol_webrtc__video__stream.cc b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc index c4d8a8cfb4c8..bcaa1bd2ffbb 100644 --- a/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc +++ b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc @@ -1,11 +1,11 @@ ---- remoting/protocol/webrtc_video_stream.cc.orig 2025-12-05 10:12:50 UTC +--- remoting/protocol/webrtc_video_stream.cc.orig 2026-03-13 06:02:14 UTC +++ remoting/protocol/webrtc_video_stream.cc -@@ -276,7 +276,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti +@@ -277,7 +277,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti : session_options_(session_options) { // TODO(joedow): Dig into the threading model on other platforms to see if they // can also be updated to run on a dedicated thread. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) core_task_runner_ = base::ThreadPool::CreateSingleThreadTaskRunner( {base::TaskPriority::HIGHEST}, base::SingleThreadTaskRunnerThreadMode::DEDICATED); 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 71bce70e8b41..6453f8edd5b6 100644 --- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,448 +1,448 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-02-11 09:05:39 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-03-13 06:02:14 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc @@ -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"); ++ unveil("/dev/null", "rw"); + 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); ++ SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd 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(); + 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. + + 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__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc index 2200a0ba097c..77eeaf17b1e0 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-02-11 09:05:39 UTC +--- sandbox/policy/sandbox_type.cc.orig 2026-03-13 06:02:14 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 @@ -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 @@ -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) @@ -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) @@ -137,7 +137,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kIconReader: case Sandbox::kMediaFoundationCdm: #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: @@ -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) == @@ -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 @@ -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; -@@ -240,7 +240,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -241,7 +241,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 -@@ -251,13 +251,13 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -252,13 +252,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 -@@ -279,7 +279,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -280,7 +280,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) -@@ -302,7 +302,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -303,7 +303,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(); -@@ -378,7 +378,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -379,7 +379,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; } -@@ -386,17 +386,17 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -387,17 +387,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_public_cpp_device__features.cc b/www/chromium/files/patch-services_device_public_cpp_device__features.cc index 561d17fdb3de..c0ce21056201 100644 --- a/www/chromium/files/patch-services_device_public_cpp_device__features.cc +++ b/www/chromium/files/patch-services_device_public_cpp_device__features.cc @@ -1,11 +1,11 @@ ---- services/device/public/cpp/device_features.cc.orig 2026-01-14 08:33:23 UTC +--- services/device/public/cpp/device_features.cc.orig 2026-03-13 06:02:14 UTC +++ services/device/public/cpp/device_features.cc -@@ -131,7 +131,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { +@@ -120,7 +120,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { // a USB interface is busy. #if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_ENABLED_BY_DEFAULT); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) 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 b96c38c6a2bd..82a419587e3f 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 2026-02-11 09:05:39 UTC +--- services/device/public/cpp/device_features.h.orig 2026-03-13 06:02:14 UTC +++ services/device/public/cpp/device_features.h -@@ -54,7 +54,7 @@ extern const DEVICE_FEATURES_EXPORT +@@ -48,7 +48,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_serial_BUILD.gn b/www/chromium/files/patch-services_device_serial_BUILD.gn index af1019f78680..dfd0c1753c5e 100644 --- a/www/chromium/files/patch-services_device_serial_BUILD.gn +++ b/www/chromium/files/patch-services_device_serial_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/serial/BUILD.gn.orig 2025-04-04 08:52:13 UTC +--- services/device/serial/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ services/device/serial/BUILD.gn -@@ -4,7 +4,7 @@ - - import("//build/config/features.gni") +@@ -8,7 +8,7 @@ if (is_android) { + import("//third_party/jni_zero/jni_zero.gni") + } -if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_android) { +if (is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac || is_android) { config("platform_support") { visibility = [ ":serial" ] if (is_win) { diff --git a/www/chromium/files/patch-services_device_usb_BUILD.gn b/www/chromium/files/patch-services_device_usb_BUILD.gn index 73d54126ff52..378745900821 100644 --- a/www/chromium/files/patch-services_device_usb_BUILD.gn +++ b/www/chromium/files/patch-services_device_usb_BUILD.gn @@ -1,34 +1,34 @@ ---- services/device/usb/BUILD.gn.orig 2025-03-05 08:14:56 UTC +--- services/device/usb/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ services/device/usb/BUILD.gn @@ -90,7 +90,7 @@ static_library("usb") { deps += [ "//third_party/re2" ] } - if (is_mac) { + if (is_mac || is_openbsd) { # These sources and deps are required for libusb. # TODO(crbug.com/40136337) Remove these sources. sources += [ @@ -113,6 +113,13 @@ static_library("usb") { deps += [ "//third_party/libusb" ] } + if (is_freebsd) { + sources += [ + "usb_service_fake.cc", + "usb_service_fake.h", + ] + } + if (is_linux || is_chromeos) { sources += [ "usb_device_linux.cc", -@@ -134,7 +141,7 @@ static_library("usb") { +@@ -130,7 +137,7 @@ static_library("usb") { deps += [ "//device/udev_linux" ] } - if (is_android || is_chromeos || is_linux) { + if (is_android || is_chromeos || is_linux && !is_bsd) { sources += [ "usb_device_handle_usbfs.cc", "usb_device_handle_usbfs.h", diff --git a/www/chromium/files/patch-services_device_usb_usb__service__fake.cc b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc index e76b20239c31..2555afa4bbe9 100644 --- a/www/chromium/files/patch-services_device_usb_usb__service__fake.cc +++ b/www/chromium/files/patch-services_device_usb_usb__service__fake.cc @@ -1,53 +1,52 @@ ---- services/device/usb/usb_service_fake.cc.orig 2025-08-07 06:57:29 UTC +--- services/device/usb/usb_service_fake.cc.orig 2026-03-15 17:43:38 UTC +++ services/device/usb/usb_service_fake.cc -@@ -0,0 +1,50 @@ +@@ -0,0 +1,49 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/usb/usb_service_fake.h" + +#include + +#include +#include +#include +#include + +#include "base/barrier_closure.h" -+#include "base/containers/contains.h" +#include "base/location.h" +#include "base/notimplemented.h" +#include "base/memory/ref_counted_memory.h" +#include "base/memory/weak_ptr.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/utf_string_conversions.h" +#include "base/task/sequenced_task_runner.h" +#include "base/task/single_thread_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "build/build_config.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/usb/usb_device_handle.h" +#include "services/device/usb/usb_error.h" +#include "services/device/usb/webusb_descriptors.h" + +namespace device { + +UsbServiceImpl::UsbServiceImpl() + : task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + NOTIMPLEMENTED(); +} + +UsbServiceImpl::~UsbServiceImpl() { + NOTIMPLEMENTED(); + NotifyWillDestroyUsbService(); +} + +void UsbServiceImpl::GetDevices(GetDevicesCallback callback) { + NOTIMPLEMENTED(); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + UsbService::GetDevices(std::move(callback)); +} + +} // namespace device diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn index 50237af93444..73b312865cd4 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-02-11 09:05:39 UTC +--- services/network/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ services/network/BUILD.gn -@@ -434,7 +434,6 @@ if (is_linux || is_chromeos) { +@@ -446,7 +446,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 3ef9eb0c94b7..e264ec3041f9 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-02-11 09:05:39 UTC +--- services/network/network_context.cc.orig 2026-03-13 06:02:14 UTC +++ services/network/network_context.cc -@@ -633,7 +633,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: +@@ -637,7 +637,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_) { -@@ -2603,7 +2603,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2617,7 +2617,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 c7f2e366247b..bf4345ce9dd0 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-02-11 09:05:39 UTC +--- services/network/network_context.h.orig 2026-03-13 06:02:14 UTC +++ services/network/network_context.h -@@ -732,7 +732,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -737,7 +737,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 14378eb7ff8d..ccfe23e1d510 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-02-11 09:05:39 UTC +--- services/network/network_service.cc.orig 2026-03-13 06:02:14 UTC +++ services/network/network_service.cc -@@ -104,11 +104,11 @@ +@@ -105,11 +105,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 -@@ -1007,7 +1007,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1014,7 +1014,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) { -@@ -1147,7 +1147,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1154,7 +1154,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 321352b650bc..21558cb2b1cc 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-02-11 09:05:39 UTC +--- services/network/network_service.h.orig 2026-03-13 06:02:14 UTC +++ services/network/network_service.h -@@ -233,7 +233,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -234,7 +234,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; -@@ -289,7 +289,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -297,7 +297,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) -@@ -530,7 +530,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -547,7 +547,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_BUILD.gn b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn index 214f9f0670d0..b40117017359 100644 --- a/www/chromium/files/patch-services_network_public_cpp_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn @@ -1,11 +1,11 @@ ---- services/network/public/cpp/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- services/network/public/cpp/BUILD.gn.orig 2026-03-13 06:02:14 UTC +++ services/network/public/cpp/BUILD.gn -@@ -722,7 +722,7 @@ component("cpp_base") { +@@ -736,7 +736,7 @@ component("cpp_base") { sources += [ "transferable_directory_fuchsia.cc" ] } - if (is_linux) { + if (is_linux && !is_bsd) { sources += [ "network_interface_change_listener_mojom_traits.cc", "network_interface_change_listener_mojom_traits.h", 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 169f4a33c533..16d2bec1caec 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,11 @@ ---- services/network/public/cpp/features.cc.orig 2026-02-11 09:05:39 UTC +--- services/network/public/cpp/features.cc.orig 2026-03-13 06:02:14 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 -@@ -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 39cc8f739e22..858c8eac4e79 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-02-11 09:05:39 UTC +--- services/network/public/mojom/BUILD.gn.orig 2026-03-13 06:02:14 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" ] -@@ -1101,7 +1101,7 @@ mojom("url_loader_base") { +@@ -1105,7 +1105,7 @@ mojom("url_loader_base") { }, ] - if (is_linux) { + if (is_linux && !is_bsd) { cpp_typemaps += [ { types = [ -@@ -1889,7 +1889,7 @@ mojom("mojom") { +@@ -1894,7 +1894,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_screen__ai_screen__ai__service__impl.cc b/www/chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc index 8d8f3d9a1e95..90861b6f9b3c 100644 --- a/www/chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc +++ b/www/chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc @@ -1,20 +1,20 @@ ---- services/screen_ai/screen_ai_service_impl.cc.orig 2026-01-14 08:33:23 UTC +--- services/screen_ai/screen_ai_service_impl.cc.orig 2026-03-13 06:02:14 UTC +++ services/screen_ai/screen_ai_service_impl.cc @@ -34,7 +34,7 @@ #include "ui/accessibility/ax_tree_id.h" #include "ui/gfx/geometry/rect_f.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "partition_alloc/buildflags.h" - #if PA_BUILDFLAG( \ -@@ -240,7 +240,7 @@ ScreenAIService::ScreenAIService( + #if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +@@ -239,7 +239,7 @@ ScreenAIService::ScreenAIService( : factory_receiver_(this, std::move(receiver)), ocr_receiver_(this), main_content_extraction_receiver_(this) { --#if BUILDFLAG(IS_LINUX) && \ -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && \ - PA_BUILDFLAG( \ - ENABLE_ALLOCATOR_SHIM_PARTITION_ALLOC_DISPATCH_WITH_ADVANCED_CHECKS_SUPPORT) +-#if BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // TODO(crbug.com/418199684): Remove when the bug is fixed. + if (base::FeatureList::IsEnabled( + ::features::kScreenAIPartitionAllocAdvancedChecksEnabled)) { diff --git a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom index d4d28170a9c0..74dd1966aa5d 100644 --- a/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom +++ b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom @@ -1,15 +1,15 @@ ---- services/video_capture/public/mojom/video_capture_service.mojom.orig 2023-03-09 06:31:50 UTC +--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2026-03-13 06:02:14 UTC +++ services/video_capture/public/mojom/video_capture_service.mojom -@@ -25,10 +25,10 @@ interface AcceleratorFactory { +@@ -23,10 +23,10 @@ interface AcceleratorFactory { pending_receiver jda); }; -[EnableIf=is_fuchsia] +[EnableIf=is_openbsd] const sandbox.mojom.Sandbox kVideoCaptureSandbox = sandbox.mojom.Sandbox.kVideoCapture; -[EnableIfNot=is_fuchsia] +[EnableIfNot=is_openbsd] const sandbox.mojom.Sandbox kVideoCaptureSandbox = sandbox.mojom.Sandbox.kNoSandbox; diff --git a/www/chromium/files/patch-services_webnn_features.gni b/www/chromium/files/patch-services_webnn_features.gni index 62841434a894..faeba7294646 100644 --- a/www/chromium/files/patch-services_webnn_features.gni +++ b/www/chromium/files/patch-services_webnn_features.gni @@ -1,11 +1,11 @@ ---- services/webnn/features.gni.orig 2026-02-11 09:05:39 UTC +--- services/webnn/features.gni.orig 2026-03-13 06:02:14 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 + # TODO(crbug.com/454732289): Enable LiteRT after migration is complete. + webnn_use_litert = false diff --git a/www/chromium/files/patch-sql_database.cc b/www/chromium/files/patch-sql_database.cc index cbed1a760deb..a24647dfa31a 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-02-11 09:05:39 UTC +--- sql/database.cc.orig 2026-03-13 06:02:14 UTC +++ sql/database.cc -@@ -112,7 +112,7 @@ bool FilePathIsFixedSSD(const base::FilePath& path) { +@@ -111,7 +111,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_blink_common_features.cc b/www/chromium/files/patch-third__party_blink_common_features.cc index 37b8fba8c46b..c48fedf58a42 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-02-11 09:05:39 UTC +--- third_party/blink/common/features.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/common/features.cc -@@ -596,7 +596,7 @@ BASE_FEATURE(kDevToolsImprovedNetworkError, base::FEAT +@@ -610,7 +610,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 -@@ -1904,7 +1904,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, +@@ -1928,7 +1928,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 2b10525d7b56..798dfa365cce 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 2026-02-11 09:05:39 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc @@ -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" #endif -@@ -261,7 +261,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -256,7 +256,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)), -@@ -309,7 +309,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform +@@ -304,7 +304,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 88dcafd357d8..f8e60caf0c11 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-02-11 09:05:39 UTC +--- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/core/execution_context/navigator_base.cc -@@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() { +@@ -32,7 +32,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 3237d6fc5f20..38a5601f1bd8 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-02-11 09:05:39 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -423,7 +423,7 @@ void RecordPrerenderActivationSignalDelay(const String +@@ -402,7 +402,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' -@@ -3619,7 +3619,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3601,7 +3601,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)); -@@ -3757,7 +3757,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3739,7 +3739,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_frame_web__frame__test.cc b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc index e8c03127a783..8ce3a1c41494 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6476,7 +6476,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6482,7 +6482,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { } #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // TODO(crbug.com/1090246): Fix these tests on Fuchsia and re-enable. // TODO(crbug.com/1317375): Build these tests on all platforms. #define MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved \ -@@ -6885,7 +6885,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc +@@ -6891,7 +6891,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) { RunTest("composited_selection_bounds_large_selection_noscroll.html"); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if !BUILDFLAG(IS_ANDROID) TEST_F(CompositedSelectionBoundsTest, Input) { web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc index 17b517aa8406..b0184a7c2377 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-02-11 09:05:39 UTC +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/core/layout/layout_view.cc -@@ -75,7 +75,7 @@ +@@ -76,7 +76,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 -@@ -833,7 +833,7 @@ void LayoutView::LayoutRoot() { +@@ -874,7 +874,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_xml_xslt__processor.h b/www/chromium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h index b69e0fc56150..823c5dfbd769 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-02-11 09:05:39 UTC +--- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/core/xml/xslt_processor.h -@@ -93,7 +93,11 @@ class XSLTProcessor final : public ScriptWrappable { +@@ -89,7 +89,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_webaudio_audio__worklet__thread__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc index 3b3a6ccf1378..58bfc723ffe0 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc @@ -463,7 +463,7 @@ class AudioWorkletThreadPriorityTest // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (expected_priority == base::ThreadType::kRealtimeAudio || - expected_priority == base::ThreadType::kDisplayCritical) { + expected_priority == base::ThreadType::kPresentation) { EXPECT_EQ(actual_priority, base::ThreadType::kDefault); 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 8ec01df449f9..f39296c1e54b 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-02-11 09:05:39 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2026-03-13 06:02:14 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6406,7 +6406,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6407,7 +6407,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