diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index 1af30080239c..ad7836f917e8 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,420 +1,423 @@ PORTNAME= ungoogled-chromium -PORTVERSION= 149.0.7827.200 +PORTVERSION= 151.0.7922.137 PULSEMV= 16 PULSEV= ${PULSEMV}.1 UGVERSION= ${DISTVERSION}-1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:goo \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= chromium-${DISTVERSION}-lite${EXTRACT_SUFX}:goo \ pulseaudio-${PULSEV}.tar.gz:pulseaudio USE_GITHUB= yes GH_ACCOUNT= ungoogled-software GH_TAGNAME= ${UGVERSION} MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit sans integration with Google WWW= https://github.com/ungoogled-software/ungoogled-chromium LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 PATCH_DEPENDS= gpatch:devel/patch \ ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX} 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 \ 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-libs \ ${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 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 +USES= bison compiler:c++17-lang cpe desktop-file-utils gl go:no_targets \ + gmake gnome iconv:wchar_t jpeg localbase:ldflags ninja perl5 \ + pkgconfig python:build qt:5 shebangfix tar:xz xorg 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 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+= 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 \ 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}" # sync with flags.gni GN_ARGS+= chrome_pgo_phase=0 \ clang_use_chrome_plugins=false \ disable_fieldtrial_testing_config=true \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=false \ enable_mdns=false \ enable_remoting=false \ enable_reporting=false \ enable_service_discovery=false \ exclude_unwind_tables=true \ google_api_key="" \ google_default_client_id="" \ google_default_client_secret="" \ safe_browsing_mode=0 \ treat_warnings_as_errors=false \ use_official_google_api_keys=false \ use_unofficial_version_number=false # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles SUB_FILES= ungoogled-chromium.desktop ungoogled-chromium 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_BUILD_DEPENDS= esbuild:devel/esbuild DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="60 GB" \ WANTMEM="8 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= chromium-${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= 22 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 WRKSRC= ${WRKDIR}/chromium-${DISTVERSION} # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" +# go +MAKE_ENV+= GOCACHE=${WRKDIR}/go-cache + 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-patch: cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/prune_binaries.py ${WRKSRC} pruning.list cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && PATCH_BIN=gpatch \ ${PYTHON_CMD} utils/patches.py apply ${WRKSRC} patches cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/domain_substitution.py apply -r domain_regex.list -f \ domain_substitution.list -c ${WRKSRC}/domsubcache.tar.gz ${WRKSRC} 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 libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # 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 do-configure: # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup rustc dependency @${MKDIR} ${WRKSRC}/third_party/rust-toolchain/bin ${LN} -sf ${LOCALBASE}/bin/rustc ${WRKSRC}/third_party/rust-toolchain/bin/rustc # Setup gperf dependency @${MKDIR} ${WRKSRC}/third_party/gperf/cipd/bin ${LN} -sf ${LOCALBASE}/bin/gperf ${WRKSRC}/third_party/gperf/cipd/bin/gperf # 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/ungoogled-chromium.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/ungoogled-chromium.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/ungoogled-chromium.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}/ungoogled-chromium cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/ungoogled-chromium.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/ungoogled-chromium ${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 \ ${STAGEDIR}${PREFIX}/bin/ungoogled-chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo index 88bf0d1665c8..325d949b4b15 100644 --- a/www/ungoogled-chromium/distinfo +++ b/www/ungoogled-chromium/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1782817815 -SHA256 (chromium-149.0.7827.200-lite.tar.xz) = 0bac4b774a3f629753cf4f5aa8fa76bc8c79cf6fcd4dd22c2d9ae15703c3e7da -SIZE (chromium-149.0.7827.200-lite.tar.xz) = 1609734124 +TIMESTAMP = 1786606539 +SHA256 (chromium-151.0.7922.137-lite.tar.xz) = 3fa13440c0c99145f6628b2cd62438da05c989469c7113b19d11425f9853f645 +SIZE (chromium-151.0.7922.137-lite.tar.xz) = 1712008940 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-149.0.7827.200-testdata.tar.xz) = 557ad514d6292ad077e1e522643bd5cdbe008cc76d8528931f59eb21fb58094d -SIZE (chromium-149.0.7827.200-testdata.tar.xz) = 1314825672 -SHA256 (ungoogled-software-ungoogled-chromium-149.0.7827.200-149.0.7827.200-1_GH0.tar.gz) = 32c76a2f6d6d8cc4055cc909a45501d4932dd4ab5b5a4e4f2ca24cc43874c90e -SIZE (ungoogled-software-ungoogled-chromium-149.0.7827.200-149.0.7827.200-1_GH0.tar.gz) = 665727 +SHA256 (chromium-151.0.7922.137-testdata.tar.xz) = 3562b7d9182d9ff61e591d0c7087363a255af165c399c84c8c735a2845fa6098 +SIZE (chromium-151.0.7922.137-testdata.tar.xz) = 1305247952 +SHA256 (ungoogled-software-ungoogled-chromium-151.0.7922.137-151.0.7922.137-1_GH0.tar.gz) = f0e6c97580911fd8a0ecd562d743455ee9acb626a54b84682e26549d8ea1fa58 +SIZE (ungoogled-software-ungoogled-chromium-151.0.7922.137-151.0.7922.137-1_GH0.tar.gz) = 670488 diff --git a/www/ungoogled-chromium/files/patch-BUILD.gn b/www/ungoogled-chromium/files/patch-BUILD.gn index 0e241fd3f0a9..5cd644dd39b2 100644 --- a/www/ungoogled-chromium/files/patch-BUILD.gn +++ b/www/ungoogled-chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ BUILD.gn -@@ -68,7 +68,7 @@ declare_args() { +@@ -70,7 +70,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") { +@@ -103,7 +103,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", -@@ -427,7 +426,7 @@ group("gn_all") { +@@ -434,7 +433,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", -@@ -583,6 +582,15 @@ group("gn_all") { +@@ -591,6 +590,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)", -@@ -631,7 +639,7 @@ group("gn_all") { +@@ -639,7 +647,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 -@@ -666,7 +674,7 @@ group("gn_all") { +@@ -674,7 +682,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", -@@ -1071,7 +1079,7 @@ if (use_blink && !is_cronet_build) { + "//third_party/crashpad/crashpad/tools:crashpad_database_util", +@@ -1087,7 +1095,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) { +@@ -1239,7 +1247,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) { +@@ -1253,7 +1261,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. -@@ -1516,7 +1524,7 @@ group("chromium_builder_perf") { +@@ -1533,7 +1541,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/ungoogled-chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc b/www/ungoogled-chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc new file mode 100644 index 000000000000..89768bb89eba --- /dev/null +++ b/www/ungoogled-chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc @@ -0,0 +1,20 @@ +--- agents/skills/magi-mode/tests/testdata/mock_app.cc.orig 2026-08-13 07:41:05 UTC ++++ agents/skills/magi-mode/tests/testdata/mock_app.cc +@@ -14,7 +14,7 @@ + #include "file_manager_win.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "socket_handler_linux.h" + #endif + +@@ -39,7 +39,7 @@ void RunMockApp() { + ProcessFile(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ReadConfig(); + #endif + } diff --git a/www/ungoogled-chromium/files/patch-base_BUILD.gn b/www/ungoogled-chromium/files/patch-base_BUILD.gn index 5e56e8d092e2..8faa3bb44150 100644 --- a/www/ungoogled-chromium/files/patch-base_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-base_BUILD.gn @@ -1,150 +1,150 @@ ---- base/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- base/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ base/BUILD.gn -@@ -1182,11 +1182,26 @@ component("base") { +@@ -1188,11 +1188,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" ] -@@ -1206,7 +1221,7 @@ component("base") { +@@ -1212,7 +1227,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" ] } -@@ -2233,6 +2248,22 @@ component("base") { +@@ -2239,6 +2254,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 += [ -@@ -2407,6 +2438,33 @@ component("base") { +@@ -2413,6 +2444,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", -@@ -2905,7 +2963,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2960,7 +3018,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" ] -@@ -3419,7 +3477,7 @@ if (is_apple) { +@@ -3476,7 +3534,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 -@@ -4172,7 +4230,7 @@ test("base_unittests") { +@@ -4246,7 +4304,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", -@@ -4195,7 +4253,7 @@ test("base_unittests") { +@@ -4269,7 +4327,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", -@@ -4206,7 +4264,7 @@ test("base_unittests") { +@@ -4280,7 +4338,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" ] } -@@ -4389,7 +4447,7 @@ test("base_unittests") { +@@ -4464,7 +4522,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/ungoogled-chromium/files/patch-base_allocator_dispatcher_tls.h b/www/ungoogled-chromium/files/patch-base_allocator_dispatcher_tls.h index 49e76bf4204e..7946b33b5e36 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_dispatcher_tls.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_dispatcher_tls.h @@ -1,11 +1,11 @@ ---- base/allocator/dispatcher/tls.h.orig 2026-02-15 10:01:45 UTC +--- base/allocator/dispatcher/tls.h.orig 2026-08-13 07:41:05 UTC +++ base/allocator/dispatcher/tls.h -@@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator { +@@ -82,7 +82,7 @@ struct BASE_EXPORT MMapAllocator { constexpr static size_t AllocationChunkSize = 16384; #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) constexpr static size_t AllocationChunkSize = 16384; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) constexpr static size_t AllocationChunkSize = 16384; #else constexpr static size_t AllocationChunkSize = 4096; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index 103619f6f73f..3b9758d5c403 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2026-06-05 13:45:06 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/partition_alloc.gni -@@ -99,7 +99,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || +@@ -110,7 +110,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() { -@@ -521,7 +521,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -542,7 +542,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/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn index d5cb5a198c55..cbb3d2db4292 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn -@@ -918,7 +918,7 @@ if (is_clang_or_gcc) { +@@ -961,7 +961,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/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc index 5b1a9f5e0e85..45f11c5801e6 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2026-06-05 13:45:06 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc -@@ -43,7 +43,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API +@@ -44,7 +44,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \ - __has_include()) + __has_include() && !PA_BUILDFLAG(IS_BSD)) struct __ifunc_arg_t; #include "partition_alloc/aarch64_support.h" -@@ -228,7 +228,7 @@ size_t GetZeroSegmentSizeFromOS() { +@@ -231,7 +231,7 @@ size_t GetZeroSegmentSizeFromOS() { return static_cast(address); } --#elif PA_BUILDFLAG(IS_LINUX) -+#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD) +-#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) size_t GetZeroSegmentSizeFromOS() { // TODO(40925855): Support larger `mmap_min_addr`. diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc index 80a7440cb8b7..3e4e350f286c 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc @@ -1,13 +1,13 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2026-02-15 10:01:45 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc -@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { - if (getentropy(output, output_length) == 0) { +@@ -104,6 +104,10 @@ void RandBytes(void* output, size_t output_length) { + if (CCRandomGenerateBytes(output, output_length) == kCCSuccess) { return; } +#elif PA_BUILDFLAG(IS_BSD) + if (getentropy(output, output_length) == 0) { + return; + } #endif // If getrandom(2) above returned with an error and the /dev/urandom fallback // took place on Linux/ChromeOS bots, they would fail with a CHECK in diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h index 36244d3b7cbb..ad102a4b39c4 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2026-05-09 18:09:27 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -316,7 +316,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); +@@ -327,7 +327,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); // 8GB for each of the glued pools). #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ - PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; -@@ -400,7 +400,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { +@@ -411,7 +411,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation // where a normal slot span will be large enough to contain multiple items, // but the address will go over the final partition page after being aligned. -#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; #else inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc index 6eecd187fd0d..d2e04a2eb897 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-04-15 11:25:12 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc -@@ -48,7 +48,7 @@ +@@ -50,7 +50,7 @@ #include "wow64apiset.h" #endif -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include #endif // PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) -@@ -255,7 +255,7 @@ void PartitionAllocMallocInitOnce() { +@@ -283,7 +283,7 @@ void PartitionAllocMallocInitOnce() { return; } -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // When fork() is called, only the current thread continues to execute in the // child process. If the lock is held, but *not* by this thread when fork() is // called, we have a deadlock. -@@ -973,7 +973,7 @@ void PartitionRoot::Init(PartitionOptions opts) { +@@ -1001,7 +1001,7 @@ void PartitionRoot::Init(PartitionOptions opts) { // apple OSes. PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14))); -#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) // Check runtime pagesize. Though the code is currently the same, it is // not merged with the IS_APPLE case above as a 1 << 16 case is only // supported on Linux on AArch64. diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc index 67cd559fe44c..26db9b1d1204 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc @@ -1,36 +1,36 @@ ---- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2026-06-05 13:45:06 UTC +--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc @@ -20,7 +20,16 @@ #endif #if PA_CONFIG(HAS_LINUX_KERNEL) +#if defined(OS_OPENBSD) +#include +#include +#elif defined(OS_FREEBSD) +#include +#include +#include +#else #include +#endif #include #include -@@ -159,8 +168,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, +@@ -150,8 +159,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, int saved_errno = errno; errno = 0; +#if defined(OS_FREEBSD) + long retval = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, + kLockedContended, nullptr, nullptr); +#elif defined(OS_OPENBSD) + long retval = futex(reinterpret_cast(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + kLockedContended, nullptr, nullptr); +#else long retval = syscall(SYS_futex, ftx, op | FUTEX_PRIVATE_FLAG, value, nullptr, nullptr, 0); +#endif if (retval == -1) { // These are programming errors, check them. [[maybe_unused]] const int futex_errno = errno; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc index b833d7c09278..642b51ef5f61 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc @@ -1,50 +1,50 @@ ---- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2026-02-15 10:01:45 UTC +--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc -@@ -18,6 +18,10 @@ +@@ -19,6 +19,10 @@ #include #endif +#if PA_BUILDFLAG(IS_BSD) +#include +#endif + #if PA_BUILDFLAG(PA_LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif -@@ -48,6 +52,36 @@ void* GetStackTop() { +@@ -49,6 +53,36 @@ void* GetStackTop() { void* GetStackTop() { return pthread_get_stackaddr_np(pthread_self()); +} + +#elif PA_BUILDFLAG(IS_OPENBSD) + +void* GetStackTop() { + stack_t ss; + if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; + return reinterpret_cast(ss.ss_sp); +} + +#elif PA_BUILDFLAG(IS_FREEBSD) + +void* GetStackTop() { + pthread_attr_t attr; + int error = pthread_attr_init(&attr); + if (error) { + return nullptr; + } + error = pthread_attr_get_np(pthread_self(), &attr); + if (!error) { + void* base; + size_t size; + error = pthread_attr_getstack(&attr, &base, &size); + PA_CHECK(!error); + pthread_attr_destroy(&attr); + return reinterpret_cast(base) + size; + } + pthread_attr_destroy(&attr); + return nullptr; } #elif PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA) diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc index d1ed9fd5bf1d..2108f2865bb8 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2026-02-15 10:01:45 UTC +--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2026-08-13 07:41:05 UTC +++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc -@@ -16,7 +16,7 @@ +@@ -17,7 +17,7 @@ #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) +#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD) #error "This pkey code is currently only supported on Linux and ChromeOS" #endif diff --git a/www/ungoogled-chromium/files/patch-base_atomicops.h b/www/ungoogled-chromium/files/patch-base_atomicops.h deleted file mode 100644 index b34c7e088927..000000000000 --- a/www/ungoogled-chromium/files/patch-base_atomicops.h +++ /dev/null @@ -1,14 +0,0 @@ ---- base/atomicops.h.orig 2025-09-10 13:22:16 UTC -+++ base/atomicops.h -@@ -72,7 +72,11 @@ typedef intptr_t Atomic64; - - // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or - // Atomic64 routines below, depending on your architecture. -+#if !defined(OS_OPENBSD) && defined(__i386__) -+typedef Atomic32 AtomicWord; -+#else - typedef intptr_t AtomicWord; -+#endif - - // Atomically execute: - // result = *ptr; diff --git a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc index 02ab6a6c1c26..999529deacdb 100644 --- a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,101 +1,101 @@ ---- base/debug/stack_trace_posix.cc.orig 2026-05-09 18:09:27 UTC +--- base/debug/stack_trace_posix.cc.orig 2026-08-13 07:41:05 UTC +++ base/debug/stack_trace_posix.cc -@@ -47,7 +47,7 @@ +@@ -48,7 +48,7 @@ // execinfo.h and backtrace(3) are really only present in glibc and in macOS // libc. #if BUILDFLAG(IS_APPLE) || \ - (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX)) + (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD)) #define HAVE_BACKTRACE #include #endif -@@ -65,8 +65,10 @@ +@@ -66,8 +66,10 @@ #include #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +#if !BUILDFLAG(IS_BSD) #include +#endif #include "base/debug/proc_maps_linux.h" #endif -@@ -323,7 +325,7 @@ void PrintToStderr(const char* output) { +@@ -324,7 +326,7 @@ void PrintToStderr(const char* output) { std::ignore = HANDLE_EINTR(write(STDERR_FILENO, output, strlen(output))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void AlarmSignalHandler(int signal, siginfo_t* info, void* void_context) { // We have seen rare cases on AMD linux where the default signal handler // either does not run or a thread (Probably an AMD driver thread) prevents -@@ -340,7 +342,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v +@@ -341,7 +343,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v "Warning: Default signal handler failed to terminate process.\n"); PrintToStderr("Calling exit_group() directly to prevent timeout.\n"); // See: https://man7.org/linux/man-pages/man2/exit_group.2.html +#if BUILDFLAG(IS_BSD) + _exit(EXIT_FAILURE); +#else syscall(SYS_exit_group, EXIT_FAILURE); +#endif } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -544,7 +550,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -545,7 +551,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf _exit(EXIT_FAILURE); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Set an alarm to trigger in case the default handler does not terminate // the process. See 'AlarmSignalHandler' for more details. struct sigaction action; -@@ -569,6 +575,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -570,6 +576,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf // signals that do not re-raise autonomously), such as signals delivered via // kill() and asynchronous hardware faults such as SEGV_MTEAERR, which would // otherwise be lost when re-raising the signal via raise(). +#if !BUILDFLAG(IS_BSD) long retval = syscall(SYS_rt_tgsigqueueinfo, getpid(), syscall(SYS_gettid), info->si_signo, info); if (retval == 0) { -@@ -583,6 +590,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -584,6 +591,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf if (errno != EPERM) { _exit(EXIT_FAILURE); } +#endif #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -777,6 +785,7 @@ class SandboxSymbolizeHelper { +@@ -778,6 +786,7 @@ class SandboxSymbolizeHelper { return -1; } +#if !BUILDFLAG(IS_BSD) // This class is copied from // third_party/crashpad/crashpad/util/linux/scoped_pr_set_dumpable.h. // It aims at ensuring the process is dumpable before opening /proc/self/mem. -@@ -869,11 +878,15 @@ class SandboxSymbolizeHelper { +@@ -870,11 +879,15 @@ class SandboxSymbolizeHelper { r.base = cur_base; } } +#endif // Parses /proc/self/maps in order to compile a list of all object file names // for the modules that are loaded in the current process. // Returns true on success. bool CacheMemoryRegions() { +#if BUILDFLAG(IS_BSD) + return false; +#else // Reads /proc/self/maps. std::string contents; if (!ReadProcMaps(&contents)) { -@@ -891,6 +904,7 @@ class SandboxSymbolizeHelper { +@@ -892,6 +905,7 @@ class SandboxSymbolizeHelper { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. diff --git a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc deleted file mode 100644 index 8d20e7bfa5db..000000000000 --- a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2024-07-31 14:19:23 UTC -+++ base/files/file_path_watcher_unittest.cc -@@ -902,7 +902,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { - } - delegate.RunUntilEventsMatch(event_expecter); - --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) - ASSERT_TRUE(WriteFile(file1, "content v2")); - // Mac implementation does not detect files modified in a directory. - // TODO(crbug.com/40263777): Expect that no events are fired on Mac. -@@ -1848,7 +1848,7 @@ namespace { - - enum Permission { Read, Write, Execute }; - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { - struct stat stat_buf; - -@@ -1882,7 +1882,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi - - } // namespace - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) - // Linux implementation of FilePathWatcher doesn't catch attribute changes. - // http://crbug.com/78043 - // Windows implementation of FilePathWatcher catches attribute changes that diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc index 639e01ae3a9c..693cf4e2211f 100644 --- a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc @@ -1,40 +1,40 @@ ---- base/files/file_util_unittest.cc.orig 2026-06-05 13:45:06 UTC +--- base/files/file_util_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ base/files/file_util_unittest.cc -@@ -4410,7 +4410,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { +@@ -4430,7 +4430,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { FilePath file_path("/proc/cpuinfo"); std::string data = "temp"; -@@ -4993,6 +4993,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu +@@ -5013,6 +5013,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu #endif // BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_OPENBSD) +TEST_F(FileUtilTest, CreateDirectoryInUnveiledPath) { + FilePath dir = PathService::CheckedGet(DIR_GEN_TEST_DATA_ROOT); + dir = dir.Append(FILE_PATH_LITERAL("base")); + dir = dir.Append(FILE_PATH_LITERAL("test")); + dir = dir.Append(FILE_PATH_LITERAL("unveil")); + unveil(dir.value().c_str(), "rwc"); + EXPECT_TRUE(CreateDirectory(dir)); + dir = dir.Append(FILE_PATH_LITERAL("test")); + EXPECT_FALSE(CreateDirectory(dir)); +} +#endif + #if BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ defined(ARCH_CPU_32_BITS) // TODO(crbug.com/327582285): Re-enable these tests. They may be failing due to -@@ -5159,7 +5172,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles +@@ -5179,7 +5192,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles NULL); #else size_t bytes_written = - ::write(::fileno(output_file.get()), content.c_str(), content.length()); + ::write(fileno(output_file.get()), content.c_str(), content.length()); #endif EXPECT_EQ(content.length(), bytes_written); ::fflush(output_file.get()); diff --git a/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc b/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc index 9f91e92e73eb..4c97cc07c248 100644 --- a/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc +++ b/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc @@ -1,20 +1,20 @@ ---- base/i18n/icu_util.cc.orig 2025-12-06 13:30:52 UTC +--- base/i18n/icu_util.cc.orig 2026-08-13 07:41:05 UTC +++ base/i18n/icu_util.cc @@ -54,7 +54,7 @@ #include "third_party/icu/source/common/unicode/unistr.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -327,7 +327,7 @@ void InitializeIcuTimeZone() { +@@ -326,7 +326,7 @@ void InitializeIcuTimeZone() { FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); -#elif BUILDFLAG(IS_CHROMEOS) || \ +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_ANDROID) // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. diff --git a/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__epoll.cc b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__epoll.cc index cc3a86a0f71c..9896fcd9ea61 100644 --- a/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__epoll.cc +++ b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__epoll.cc @@ -1,11 +1,11 @@ ---- base/message_loop/message_pump_epoll.cc.orig 2025-10-21 16:57:35 UTC +--- base/message_loop/message_pump_epoll.cc.orig 2026-08-13 07:41:05 UTC +++ base/message_loop/message_pump_epoll.cc -@@ -44,7 +44,7 @@ std::atomic_bool g_use_batched_version = false; +@@ -45,7 +45,7 @@ std::atomic_bool g_use_batched_version = false; std::atomic_bool g_use_poll = false; constexpr std::pair kEpollToPollEvents[] = { - {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLRDHUP, POLLRDHUP}, + {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLPRI, POLLPRI}, {EPOLLERR, POLLERR}, {EPOLLHUP, POLLHUP}}; void SetEventsForPoll(const uint32_t epoll_events, struct pollfd* poll_entry) { diff --git a/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc index be0e22f99d2e..fdc77c05de13 100644 --- a/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc +++ b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc @@ -1,28 +1,28 @@ ---- base/message_loop/message_pump_glib.cc.orig 2025-11-01 06:40:37 UTC +--- base/message_loop/message_pump_glib.cc.orig 2026-08-13 07:41:05 UTC +++ base/message_loop/message_pump_glib.cc -@@ -8,6 +8,11 @@ +@@ -7,6 +7,11 @@ + #include #include - #include +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #include "base/logging.h" #include "base/memory/raw_ptr.h" #include "base/message_loop/io_watcher.h" @@ -58,9 +63,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti } bool RunningOnMainThread() { +#if BUILDFLAG(IS_BSD) + return pthread_main_np(); +#else - auto pid = getpid(); - auto tid = PlatformThread::CurrentId().raw(); + pid_t pid = getpid(); + pid_t tid = PlatformThread::CurrentId().raw(); return pid > 0 && tid > 0 && pid == tid; +#endif } // A brief refresher on GLib: diff --git a/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc b/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc index 72f5daebbcd7..c7b29df18f07 100644 --- a/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc @@ -1,11 +1,11 @@ ---- base/process/kill_posix.cc.orig 2026-01-16 13:40:34 UTC +--- base/process/kill_posix.cc.orig 2026-08-13 07:41:05 UTC +++ base/process/kill_posix.cc -@@ -160,7 +160,7 @@ void EnsureProcessTerminated(Process process) { - 0, new BackgroundReaper(std::move(process), Seconds(2))); +@@ -169,7 +169,7 @@ void EnsureProcessTerminated(Process process) { + 0, MakeSelfDeleting(std::move(process), Seconds(2))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void EnsureProcessGetsReaped(Process process) { DCHECK(!process.is_current()); diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc index a72d760a7764..f470170b28ac 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc @@ -1,38 +1,38 @@ ---- base/process/process_metrics.cc.orig 2025-09-10 13:22:16 UTC +--- base/process/process_metrics.cc.orig 2026-08-13 07:41:05 UTC +++ base/process/process_metrics.cc @@ -17,7 +17,7 @@ namespace base { namespace { #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int CalculateEventsPerSecond(uint64_t event_count, uint64_t* last_event_count, base::TimeTicks* last_calculated) { -@@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() { +@@ -56,7 +56,7 @@ SystemMetrics SystemMetrics::Sample() { SystemMetrics system_metrics; system_metrics.committed_memory_ = GetSystemCommitCharge(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) GetSystemMemoryInfo(&system_metrics.memory_info_); GetVmStatInfo(&system_metrics.vmstat_info_); GetSystemDiskInfo(&system_metrics.disk_info_); -@@ -79,7 +79,7 @@ std::unique_ptr ProcessMetrics::Create +@@ -81,7 +81,7 @@ std::unique_ptr ProcessMetrics::Create #endif // !BUILDFLAG(IS_MAC) } -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) +#if BUILDFLAG(IS_POSIX) double ProcessMetrics::GetPlatformIndependentCPUUsage( TimeDelta cumulative_cpu) { TimeTicks time = TimeTicks::Now(); -@@ -112,7 +112,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { +@@ -114,7 +114,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { #endif #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/ungoogled-chromium/files/patch-base_rand__util.h b/www/ungoogled-chromium/files/patch-base_rand__util.h index 3619465a7d0a..15b607d73d62 100644 --- a/www/ungoogled-chromium/files/patch-base_rand__util.h +++ b/www/ungoogled-chromium/files/patch-base_rand__util.h @@ -1,11 +1,11 @@ ---- base/rand_util.h.orig 2026-06-05 13:45:06 UTC +--- base/rand_util.h.orig 2026-08-13 07:41:05 UTC +++ base/rand_util.h -@@ -221,7 +221,7 @@ decltype(auto) RandomChoice(Range&& r) { +@@ -219,7 +219,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/ungoogled-chromium/files/patch-base_rand__util__posix.cc b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc index 214879298555..9402c2c9008b 100644 --- a/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc @@ -1,60 +1,60 @@ ---- base/rand_util_posix.cc.orig 2026-05-09 18:09:27 UTC +--- base/rand_util_posix.cc.orig 2026-08-13 07:41:05 UTC +++ base/rand_util_posix.cc @@ -24,7 +24,7 @@ #include "build/build_config.h" #include "third_party/boringssl/src/include/openssl/rand.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) - // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. + #include @@ -36,6 +36,7 @@ namespace base { namespace { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_AIX) // AIX has no 64-bit support for O_CLOEXEC. static constexpr int kOpenFlags = O_RDONLY; @@ -60,8 +61,9 @@ class URandomFd { private: const int fd_; }; +#endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) && !BUILDFLAG(IS_BSD) bool KernelSupportsGetRandom() { return base::SysInfo::KernelVersionNumber::Current() >= @@ -114,6 +116,7 @@ bool UseBoringSSLForRandBytes() { namespace { void RandBytesInternal(span output, bool avoid_allocation) { +#if !BUILDFLAG(IS_BSD) // The BoringSSL experiment takes priority over everything else. if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { // BoringSSL's RAND_bytes always returns 1. Any error aborts the program. -@@ -144,6 +147,9 @@ void RandBytesInternal(span output, bool avoi +@@ -146,6 +149,9 @@ void RandBytesInternal(span output, bool avoi const int urandom_fd = GetUrandomFD(); const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); CHECK(success); +#else + arc4random_buf(output.data(), output.size()); +#endif } } // namespace -@@ -163,9 +169,11 @@ void RandBytes(span output) { +@@ -165,9 +171,11 @@ void RandBytes(span output) { RandBytesInternal(output, /*avoid_allocation=*/false); } +#if !BUILDFLAG(IS_BSD) int GetUrandomFD() { static NoDestructor urandom_fd; return urandom_fd->fd(); } +#endif } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info.h b/www/ungoogled-chromium/files/patch-base_system_sys__info.h index 03c46060870b..c9b2cf809b94 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info.h +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.h @@ -1,20 +1,20 @@ ---- base/system/sys_info.h.orig 2026-06-05 13:45:06 UTC +--- base/system/sys_info.h.orig 2026-08-13 07:41:05 UTC +++ base/system/sys_info.h -@@ -396,6 +396,8 @@ class BASE_EXPORT SysInfo { +@@ -399,6 +399,8 @@ class BASE_EXPORT SysInfo { static void ResetCpuSecurityMitigationsEnabledForTesting(); #endif + static uint64_t MaxSharedMemorySize(); + private: friend class test::ScopedAmountOfPhysicalMemoryOverride; FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); -@@ -408,7 +410,7 @@ class BASE_EXPORT SysInfo { +@@ -411,7 +413,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) static ByteSize AmountOfAvailablePhysicalMemory( const SystemMemoryInfo& meminfo); #endif diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc index fe0032d7affa..6b8a5fb4b99f 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc @@ -1,20 +1,20 @@ ---- base/system/sys_info_unittest.cc.orig 2026-06-05 13:45:06 UTC +--- base/system/sys_info_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ base/system/sys_info_unittest.cc -@@ -305,12 +305,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { +@@ -306,12 +306,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { EXPECT_TRUE(IsStringUTF8(hardware_info->model)); bool empty_result_expected = #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) false; #else true; #endif EXPECT_EQ(hardware_info->manufacturer.empty(), empty_result_expected); +#if BUILDFLAG(IS_BSD) + empty_result_expected = true; +#endif EXPECT_EQ(hardware_info->model.empty(), empty_result_expected); } diff --git a/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc index f0a350fc1f95..703e38a04c0e 100644 --- a/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc +++ b/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -1,30 +1,30 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2026-04-15 11:25:12 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2026-08-13 07:41:05 UTC +++ base/trace_event/malloc_dump_provider.cc -@@ -28,6 +28,8 @@ +@@ -29,6 +29,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -192,7 +194,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, +@@ -222,7 +224,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ - !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, -@@ -395,6 +397,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -436,6 +438,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif BUILDFLAG(IS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, &allocated_objects_size, &allocated_objects_count); diff --git a/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn b/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn index fd2d6a31ff3d..a9e300bcc74f 100644 --- a/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn +++ b/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn @@ -1,45 +1,45 @@ ---- build/config/BUILDCONFIG.gn.orig 2026-06-05 13:45:06 UTC +--- build/config/BUILDCONFIG.gn.orig 2026-08-13 07:41:05 UTC +++ build/config/BUILDCONFIG.gn @@ -136,7 +136,8 @@ declare_args() { is_official_build = false # Set to true when compiling with the Clang compiler. - is_clang = current_os != "linux" || + is_clang = current_os != "linux" || current_os == "openbsd" || + current_os == "freebsd" || (current_cpu != "mips" && current_cpu != "mips64") # Allows the path to a custom target toolchain to be injected as a single -@@ -241,6 +242,10 @@ if (host_toolchain == "") { +@@ -242,6 +243,10 @@ if (host_toolchain == "") { host_toolchain = "//build/toolchain/aix:$host_cpu" } else if (host_os == "zos") { host_toolchain = "//build/toolchain/zos:$host_cpu" + } else if (host_os == "openbsd") { + host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" + } else if (host_os == "freebsd") { + host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" } else { assert(false, "Unsupported host_os: $host_os") } -@@ -290,6 +295,8 @@ if (target_os == "android") { +@@ -292,6 +297,8 @@ if (target_os == "android") { assert( false, "emscripten is not a supported target_os. It is available only as secondary toolchain.") +} else if (target_os == "openbsd" || target_os == "freebsd") { + _default_toolchain = host_toolchain } else { assert(false, "Unsupported target_os: $target_os") } -@@ -324,7 +331,11 @@ is_android = current_os == "android" +@@ -326,7 +333,11 @@ is_android = current_os == "android" is_chromeos = current_os == "chromeos" is_fuchsia = current_os == "fuchsia" is_ios = current_os == "ios" -is_linux = current_os == "linux" +is_linux = current_os == "linux" || current_os == "openbsd" || + current_os == "freebsd" +is_openbsd = current_os == "openbsd" +is_freebsd = current_os == "freebsd" +is_bsd = current_os == "openbsd" || current_os == "freebsd" is_mac = current_os == "mac" is_wasm = current_os == "emscripten" is_watchos = current_os == "watchos" diff --git a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn index 34a022c087bf..1a15c80e9883 100644 --- a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,160 +1,124 @@ ---- build/config/compiler/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- build/config/compiler/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ build/config/compiler/BUILD.gn @@ -203,7 +203,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 -@@ -293,7 +293,7 @@ assert(is_bot || +@@ -284,7 +284,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 --------------------------------------------------------- -@@ -311,13 +311,16 @@ config("default_include_dirs") { +@@ -302,13 +302,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 --------------------------------------------------------------------- -@@ -553,6 +556,10 @@ config("compiler") { +@@ -541,6 +544,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (is_linux || is_chromeos) { -@@ -588,9 +595,9 @@ config("compiler") { - if (is_clang) { +@@ -577,9 +584,9 @@ config("compiler") { # Flags for diagnostics. cflags += [ "-fcolor-diagnostics" ] -- if (!is_win) { -+ if (!is_win && !is_bsd) { - cflags += [ "-fdiagnostics-show-inlining-chain" ] -- } else { -+ } else if (!is_bsd) { - # Combine after https://github.com/llvm/llvm-project/pull/192241 - cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] - } -@@ -615,7 +622,7 @@ config("compiler") { + if (!is_wasm) { +- if (!is_win) { ++ if (!is_win && !is_bsd) { + cflags += [ "-fdiagnostics-show-inlining-chain" ] +- } else { ++ } else if (!is_bsd) { + # Combine after https://github.com/llvm/llvm-project/pull/192241 + cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] + } +@@ -605,7 +612,7 @@ config("compiler") { } } - if (is_clang) { + if (is_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1350,7 +1357,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 { -@@ -1364,7 +1371,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 { -@@ -1376,7 +1383,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" ] - } -@@ -1385,7 +1392,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" ] - } -@@ -1797,7 +1804,7 @@ config("compiler_deterministic") { +@@ -1464,7 +1471,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) { -@@ -1911,7 +1918,7 @@ config("clang_warning_suppression") { +@@ -1578,7 +1585,7 @@ config("clang_warning_suppression") { # See also: https://crbug.com/40891132#comment10 ubsan_hardening("c_array_bounds") { sanitizer = "array-bounds" -- condition = !(is_asan && target_cpu == "x86") -+ condition = !(is_bsd || (is_asan && target_cpu == "x86")) +- condition = !(is_asan && target_cpu == "x86") && !is_wasm ++ condition = !(is_asan && target_cpu == "x86") && !is_wasm && !is_bsd # Because we've enabled array-bounds sanitizing we also want to suppress # the related warning about "unsafe-buffer-usage-in-static-sized-array", -@@ -1925,6 +1932,7 @@ ubsan_hardening("c_array_bounds") { +@@ -1592,7 +1599,7 @@ ubsan_hardening("c_array_bounds") { # `NOTREACHED()` at the end of such functions. ubsan_hardening("return") { sanitizer = "return" -+ condition = !is_bsd +- condition = !is_wasm ++ condition = !is_wasm && !is_bsd } config("rustc_revision") { -@@ -2259,9 +2267,6 @@ config("default_warnings") { - - # TODO(crbug.com/432275627): Fix and re-enable. - "-Wno-uninitialized-const-pointer", -- -- # TODO(crbug.com/495753203): Fix and re-enable. -- "-Wno-unused-but-set-global", +@@ -1929,7 +1936,7 @@ config("default_warnings") { + "-Wno-nontrivial-memcall", ] - cflags_cc += [ -@@ -3067,7 +3072,7 @@ config("afdo_optimize_size") { +- if (!is_wasm) { ++ if (!is_wasm && !is_bsd) { + cflags += [ + # TODO(crbug.com/432275627): Fix and re-enable. + "-Wno-uninitialized-const-pointer", +@@ -2755,7 +2762,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. -@@ -3094,7 +3099,7 @@ config("afdo") { +@@ -2782,7 +2789,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/ungoogled-chromium/files/patch-build_config_compiler__cpu__abi.gn b/www/ungoogled-chromium/files/patch-build_config_compiler__cpu__abi.gn new file mode 100644 index 000000000000..6fbfe972cfc0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_compiler__cpu__abi.gn @@ -0,0 +1,38 @@ +--- build/config/compiler_cpu_abi.gn.orig 2026-08-13 07:41:05 UTC ++++ build/config/compiler_cpu_abi.gn +@@ -48,7 +48,7 @@ if (is_chromeos_device && is_chromeos) { + if ((is_posix && !is_apple) || is_fuchsia) { + # 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) { + cpu_abi_cflags += [ "--target=x86_64-unknown-linux-gnu" ] + cpu_abi_ldflags += [ "--target=x86_64-unknown-linux-gnu" ] + } else { +@@ -62,7 +62,7 @@ if ((is_posix && !is_apple) || is_fuchsia) { + 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) { + cpu_abi_cflags += [ "--target=i386-unknown-linux-gnu" ] + cpu_abi_ldflags += [ "--target=i386-unknown-linux-gnu" ] + } else { +@@ -74,7 +74,7 @@ if ((is_posix && !is_apple) || is_fuchsia) { + "-msse3", + ] + } else if (current_cpu == "arm") { +- if (is_clang && !is_android && !is_chromeos_device) { ++ if (is_clang && !is_android && !is_chromeos_device && !is_bsd) { + cpu_abi_cflags += [ "--target=arm-linux-gnueabihf" ] + cpu_abi_ldflags += [ "--target=arm-linux-gnueabihf" ] + } +@@ -83,7 +83,7 @@ if ((is_posix && !is_apple) || is_fuchsia) { + "-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) { + cpu_abi_cflags += [ "--target=aarch64-linux-gnu" ] + cpu_abi_ldflags += [ "--target=aarch64-linux-gnu" ] + } diff --git a/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn index 466c6829e7d1..f5da574c528b 100644 --- a/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/BUILD.gn.orig 2022-10-01 07:40:07 UTC +--- build/config/linux/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ build/config/linux/BUILD.gn -@@ -41,7 +41,7 @@ config("runtime_library") { +@@ -40,7 +40,7 @@ config("runtime_library") { } if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && - (!use_custom_libcxx || current_cpu == "mipsel")) { + (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { libs = [ "atomic" ] } } diff --git a/www/ungoogled-chromium/files/patch-build_config_ozone.gni b/www/ungoogled-chromium/files/patch-build_config_ozone.gni index c5a4c7f66283..e8739bd02db1 100644 --- a/www/ungoogled-chromium/files/patch-build_config_ozone.gni +++ b/www/ungoogled-chromium/files/patch-build_config_ozone.gni @@ -1,19 +1,19 @@ ---- build/config/ozone.gni.orig 2025-05-06 12:23:00 UTC +--- build/config/ozone.gni.orig 2026-08-13 07:41:05 UTC +++ build/config/ozone.gni -@@ -80,7 +80,15 @@ declare_args() { +@@ -78,7 +78,15 @@ declare_args() { ozone_platform = "x11" ozone_platform_drm = true ozone_platform_x11 = true - } else if (is_linux) { + } else if (is_linux && !is_bsd) { + ozone_platform = "x11" + ozone_platform_wayland = true + ozone_platform_x11 = true + } else if (is_openbsd) { + ozone_platform = "x11" + ozone_platform_wayland = false + ozone_platform_x11 = true + } else if (is_freebsd) { ozone_platform = "x11" ozone_platform_wayland = true ozone_platform_x11 = true diff --git a/www/ungoogled-chromium/files/patch-build_modules_unified_modulemap__config.py b/www/ungoogled-chromium/files/patch-build_modules_unified_modulemap__config.py new file mode 100644 index 000000000000..39ea8119c145 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_modules_unified_modulemap__config.py @@ -0,0 +1,11 @@ +--- build/modules/unified/modulemap_config.py.orig 2026-08-13 07:41:05 UTC ++++ build/modules/unified/modulemap_config.py +@@ -57,7 +57,7 @@ class AllowedHeader(Header): + + + def headers(os): +- is_linux = os == 'linux' ++ is_linux = os == 'linux' or os == 'openbsd' or os == 'freebsd' + is_android = os == 'android' + is_ios = os == 'ios' + is_mac = os == 'mac' diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py index 49a5819c4cf1..27165ab29827 100644 --- a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py +++ b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py @@ -1,11 +1,11 @@ ---- build/toolchain/gcc_solink_wrapper.py.orig 2022-10-01 07:40:07 UTC +--- build/toolchain/gcc_solink_wrapper.py.orig 2026-08-13 07:41:05 UTC +++ build/toolchain/gcc_solink_wrapper.py @@ -39,7 +39,7 @@ def CollectDynSym(args): """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" toc = '' nm = subprocess.Popen(wrapper_utils.CommandToRun( -- [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), -+ [args.nm, '-g', '-D', '-p', args.sofile]), +- [args.nm, '--format=posix', '-g', '-D', '-p', args.output]), ++ [args.nm, '-g', '-D', '-p', args.output]), stdout=subprocess.PIPE, bufsize=-1, universal_newlines=True) diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni index dd5bda241795..010b03ddc095 100644 --- a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,44 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2026-06-05 13:45:06 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2026-08-13 07:41:05 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). # -@@ -956,22 +963,12 @@ template("gcc_toolchain") { +@@ -1004,22 +1011,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/ungoogled-chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn b/www/ungoogled-chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn new file mode 100644 index 000000000000..435c13298e1e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn @@ -0,0 +1,11 @@ +--- buildtools/third_party/libc++abi/BUILD.gn.orig 2026-08-13 07:41:05 UTC ++++ buildtools/third_party/libc++abi/BUILD.gn +@@ -62,7 +62,7 @@ target(libcxxabi_target_type, "libc++abi") { + # TODO(crbug.com/469458284): Remove this once libc++abi is rolled again. + defines += [ "_LIBCPP_CONSTINIT=constinit" ] + +- if (is_linux || is_android) { ++ if ((is_linux || is_android) && !is_freebsd) { + defines += [ "_LIBCXXABI_USE_FUTEX" ] + } + diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h index fb6bc18320ed..6dcfd888720e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h @@ -1,16 +1,16 @@ ---- chrome/app/chrome_command_ids.h.orig 2026-06-05 13:45:06 UTC +--- chrome/app/chrome_command_ids.h.orig 2026-08-13 07:41:05 UTC +++ chrome/app/chrome_command_ids.h -@@ -67,11 +67,11 @@ +@@ -78,11 +78,11 @@ #define IDC_TOGGLE_MULTITASK_MENU 34050 #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define IDC_USE_SYSTEM_TITLE_BAR 34051 #endif --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #define IDC_RESTORE_WINDOW 34052 - #endif + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc index 0d61c9998c51..97f1b51e1442 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc @@ -1,34 +1,34 @@ ---- chrome/app/chrome_main.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/app/chrome_main.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/app/chrome_main.cc -@@ -29,11 +29,11 @@ +@@ -33,11 +33,11 @@ #include "chrome/common/mac/detect_inappropriate_exit.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/app/chrome_main_linux.h" #endif -@@ -86,7 +86,7 @@ int ChromeMain(int argc, const char** argv) { +@@ -107,7 +107,7 @@ int ChromeMain(int argc, const char** argv) { #error Unknown platform. #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PossiblyDetermineFallbackChromeChannel(argv[0]); #endif -@@ -153,7 +153,7 @@ int ChromeMain(int argc, const char** argv) { +@@ -180,7 +180,7 @@ int ChromeMain(int argc, const char** argv) { SetUpBundleOverrides(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) AppendExtraArgumentsToCommandLine(command_line); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc index 8d7ea0dac7de..042e559e6f6b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,122 +1,122 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/app/chrome_main_delegate.cc @@ -103,7 +103,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 -@@ -184,17 +184,17 @@ +@@ -185,17 +185,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 -@@ -232,7 +232,7 @@ const char* const ChromeMainDelegate::kNonWildcardDoma +@@ -233,7 +233,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, -@@ -307,7 +307,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty +@@ -308,7 +308,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 -@@ -387,7 +387,7 @@ bool HandleVersionSwitches(const base::CommandLine& co +@@ -388,7 +388,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) || -@@ -399,7 +399,7 @@ void HandleHelpSwitches(const base::CommandLine& comma +@@ -400,7 +400,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; -@@ -481,7 +481,7 @@ std::optional AcquireProcessSingleton( +@@ -482,7 +482,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. -@@ -559,7 +559,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -560,7 +560,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. -@@ -665,7 +665,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& +@@ -666,7 +666,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( -@@ -1131,7 +1131,7 @@ std::optional ChromeMainDelegate::BasicStartupCom +@@ -1132,7 +1132,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 -@@ -1460,7 +1460,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1461,7 +1461,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)) { -@@ -1505,7 +1505,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1506,7 +1506,7 @@ void ChromeMainDelegate::PreSandboxStartup() { if (process_type.empty()) { // 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 diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn new file mode 100644 index 000000000000..18845aa2712c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn @@ -0,0 +1,24 @@ +--- chrome/browser/BUILD.gn.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/BUILD.gn +@@ -4448,10 +4448,6 @@ source_set("browser") { + # ... get modularized. + "//chrome/browser/ui/extensions:impl", + ] +- } else if (!is_apple) { +- # This is already handled above in the CfT config and isn't needed on +- # Apple's platforms (which use a platform-specific hyphenation engine). +- deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] + } + + # TODO(https://crbug.com/356905053): Add more dependencies here and merge this +@@ -4583,6 +4579,10 @@ source_set("browser") { + "//chrome/browser/chrome_for_testing", + "//chrome/browser/chrome_for_testing:browser", + ] ++ } else if (!is_apple) { ++ # This is already handled above in the CfT config and isn't needed on ++ # Apple's platforms (which use a platform-specific hyphenation engine). ++ deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ] + } + + if (!is_android) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc index cc1d2af7a278..a6e38e201bac 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc @@ -1,545 +1,518 @@ ---- chrome/browser/about_flags.cc.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/about_flags.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/about_flags.cc -@@ -344,13 +344,13 @@ +@@ -348,13 +348,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/enterprise/data_protection/data_protection_features.h" #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" -@@ -360,7 +360,7 @@ +@@ -362,7 +362,7 @@ // BUILDFLAG(IS_WIN) #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) + #include "chrome/browser/ui/webui/new_tab_page/composebox/variations/composebox_fieldtrial.h" // nogncheck #include "chrome/browser/glic/suggestions/contextual_cueing_features.h" // nogncheck #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || - // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) -@@ -373,7 +373,7 @@ +@@ -372,7 +372,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 "components/enterprise/browser/reporting/reporting_features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -918,6 +918,23 @@ const FeatureEntry::FeatureVariation +@@ -934,6 +934,23 @@ const FeatureEntry::FeatureVariation "identity request to Android OS", kWebIdentityDigitalIdentityCredentialHighRiskDialogParam, nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", + kAudioBackendPulseAudio, nullptr}, + {"using sndio by default if available", + kAudioBackendSndio, nullptr}, + {"using ALSA by default if available", + kAudioBackendAlsa, nullptr}}; +#endif + const FeatureEntry::FeatureParam kMBIModeLegacy[] = {{"mode", "legacy"}}; const FeatureEntry::FeatureParam kMBIModeEnabledPerRenderProcessHost[] = { {"mode", "per_render_process_host"}}; -@@ -1342,7 +1359,7 @@ const FeatureEntry::FeatureVariation - nullptr}}; +@@ -1415,7 +1432,7 @@ const FeatureEntry::FeatureVariation + kContextManagementKeepMenuOpenAndTabDeselectionParams, nullptr}}; #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[] = { +@@ -1644,7 +1661,7 @@ const FeatureEntry::FeatureVariation + // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + + const FeatureEntry::FeatureParam kComposeboxNextThreadsRail[] = { + {"EnableThreadsRail", "true"}, @@ -3325,7 +3342,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[] = @@ -3351,7 +3368,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 char kReplaceSyncPromosWithSignInPromosDesktopFeatures[] = "ReplaceSyncPromosWithSignInPromos," "IPH_SignInBenefits," @@ -3541,7 +3558,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #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) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4256,7 +4273,7 @@ const FeatureEntry::FeatureVariation +@@ -4206,7 +4223,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"}}; -@@ -4334,7 +4351,7 @@ const FeatureEntry::FeatureVariation +@@ -4309,7 +4326,7 @@ const FeatureEntry::FeatureVariation kRefreshTokenBind #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProjectsPanelWithoutThreadsVariation[] = { {"include_threads_in_projects_panel", "false"}}; const FeatureEntry::FeatureParam kProjectsPanelWithThreadsVariation[] = { -@@ -4370,7 +4387,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa - kSeamlessSigninCompactSignin, nullptr}}; +@@ -4354,7 +4371,7 @@ const FeatureEntry::FeatureVariation kCrossDeviceSigni + }; #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[] = { -@@ -5527,7 +5544,7 @@ const FeatureEntry kFeatureEntries[] = { + const FeatureEntry::FeatureParam kCrossDeviceSigninFromDesktopDefaultUrl[] = { + {"url", + "https://www.9oo91e.qjz9zk/chrome/go-mobile?entry_point_id=1&email=$1"}, +@@ -5517,7 +5534,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableProcessIsolationUiDescription, kOsWin, FEATURE_VALUE_TYPE(features::kProcessIsolationSettings)}, #endif // BUILDFLAG(IS_WIN) -#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, -@@ -5725,7 +5742,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5734,7 +5751,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, -@@ -5740,6 +5757,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5749,6 +5766,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) -@@ -6187,7 +6214,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6171,7 +6198,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-choice-screen-refresh", flag_descriptions::kFirstRunDesktopChoiceScreenRefreshName, flag_descriptions::kFirstRunDesktopChoiceScreenRefreshDescription, -@@ -6507,7 +6534,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6486,7 +6513,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:: -@@ -6934,7 +6961,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6915,7 +6942,7 @@ const FeatureEntry kFeatureEntries[] = { kVoiceSearchCoherenceComposeboxVariations, "VoiceSearchCoherenceComposeboxVariations")}, #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)}, -@@ -7128,7 +7155,7 @@ const FeatureEntry kFeatureEntries[] = { - "NtpRealboxNext")}, +@@ -7178,7 +7205,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(omnibox::kContextMenuAnimationLimiting)}, #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, -@@ -7371,7 +7398,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7423,7 +7450,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, -@@ -7596,7 +7623,7 @@ const FeatureEntry kFeatureEntries[] = { - #endif +@@ -7640,7 +7667,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(media::kHeadlessCaptionEarlyStart)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-input-protection", flag_descriptions::kEnableInputProtectionName, flag_descriptions::kEnableInputProtectionDescription, kOsDesktop, FEATURE_VALUE_TYPE(views::features::kEnableInputProtection)}, -@@ -8193,7 +8220,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8192,7 +8219,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, -@@ -8660,7 +8687,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8623,7 +8650,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, -@@ -9106,7 +9133,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, -@@ -9295,7 +9322,7 @@ const FeatureEntry kFeatureEntries[] = { - kIsolateSandboxedIframesGroupingVariations, - "IsolateSandboxedIframes" /* trial name */)}, +@@ -9262,7 +9289,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kAnnotatorMode)}, + #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - {"reduce-user-agent-data-linux-platform-version", - flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, - flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -9328,7 +9355,7 @@ const FeatureEntry kFeatureEntries[] = { - content_settings::features::kApproximateGeolocationPermission, - kApproximateGeolocationPermissionVariations, - "ApproximateGeolocationPermission")}, --#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"approximate-geolocation-permission", flag_descriptions::kApproximateGeolocationPermissionName, flag_descriptions::kApproximateGeolocationPermissionDescription, -@@ -9818,7 +9845,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, - FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, +@@ -9759,7 +9786,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE( + autofill::features::kAutofillEnablePrefetchingRiskDataForRetrieval)}, -#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, -@@ -9828,7 +9855,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9769,7 +9796,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, -@@ -10198,7 +10225,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10126,7 +10153,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, -@@ -10598,7 +10625,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10493,7 +10520,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, -@@ -11051,7 +11078,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10974,7 +11001,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)}, -@@ -11074,7 +11101,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10997,7 +11024,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, -@@ -11224,7 +11251,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11119,7 +11146,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, -@@ -11269,7 +11296,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11159,7 +11186,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, -@@ -11279,7 +11306,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11169,7 +11196,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#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, -@@ -11510,7 +11537,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11345,7 +11372,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)}, -@@ -11559,7 +11586,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11379,7 +11406,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, -@@ -11650,7 +11677,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11463,7 +11490,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, -@@ -11699,7 +11726,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11508,7 +11535,7 @@ const FeatureEntry kFeatureEntries[] = { #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) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -12104,7 +12131,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11564,7 +11591,7 @@ const FeatureEntry kFeatureEntries[] = { + + #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) + {"cross-device-signin-from-desktop", + flag_descriptions::kCrossDeviceSigninFromDesktopName, + flag_descriptions::kCrossDeviceSigninFromDesktopDescription, +@@ -11882,7 +11909,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, -@@ -12212,7 +12239,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12087,7 +12114,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, -@@ -12257,7 +12284,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12131,7 +12158,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)}, -@@ -12302,7 +12329,7 @@ const FeatureEntry kFeatureEntries[] = { + {"passkey-unlock-error-ui", flag_descriptions::kPasskeyUnlockErrorUiName, + flag_descriptions::kPasskeyUnlockErrorUiDescription, kOsDesktop, + FEATURE_VALUE_TYPE(device::kPasskeyUnlockErrorUi)}, +@@ -12171,7 +12198,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) {"disable-u18-feedback-desktop", flag_descriptions::kDisableU18FeedbackDesktopName, flag_descriptions::kDisableU18FeedbackDesktopDescription, -@@ -12310,7 +12337,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12179,7 +12206,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kDisableU18FeedbackDesktop)}, #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) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -12324,7 +12351,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(switches::kSearchSettingsUpdate)}, - #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, -@@ -12339,7 +12366,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12200,7 +12227,7 @@ const FeatureEntry kFeatureEntries[] = { enterprise_signals::features::kProfileSignalsReportingEnabled)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"projects-panel", flag_descriptions::kProjectsPanelName, flag_descriptions::kProjectsPanelDescription, kOsDesktop, FEATURE_WITH_PARAMS_VALUE_TYPE(tab_groups::kProjectsPanel, -@@ -12372,7 +12399,7 @@ const FeatureEntry kFeatureEntries[] = { - "AndroidDesktopZoomScaling")}, +@@ -12234,7 +12261,7 @@ const FeatureEntry kFeatureEntries[] = { #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, -@@ -12383,7 +12410,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, -@@ -12406,7 +12433,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12261,7 +12288,7 @@ const FeatureEntry kFeatureEntries[] = { MULTI_VALUE_TYPE(kConnectionAllowlistsChoices)}, #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, -@@ -12414,7 +12441,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12269,7 +12296,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, -@@ -12443,7 +12470,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)}, -@@ -12454,7 +12481,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(features::kInfobarRefresh)}, - - #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, -@@ -12467,7 +12494,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12298,7 +12325,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, -@@ -12540,7 +12567,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12365,7 +12392,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, -@@ -12715,7 +12742,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12531,7 +12558,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(autofill::features::kAutofillAiWithDataSchema)}, #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)}, -@@ -12739,7 +12766,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12555,7 +12582,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, -@@ -12781,7 +12808,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(chrome::android::kAlwaysDrawCompositedToolbarHairline)}, +@@ -12604,7 +12631,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(chrome::android::kAndroidXrImmersivePlayer)}, #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, -@@ -13200,7 +13227,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(blink::features::kUserMediaElement)}, +@@ -13011,7 +13038,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(blink::features::kUserMediaElementLegacy)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-readability-select-text", flag_descriptions::kReadAnythingReadabilitySelectTextName, flag_descriptions::kReadAnythingReadabilitySelectTextDescription, +@@ -13319,7 +13346,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kLongScreenshotsNoMemoryCheckDescription, kOsAndroid, + FEATURE_VALUE_TYPE(chrome::android::kLongScreenshotsNoMemoryCheck)}, + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"device-signals-backfill-disclaimer", + flag_descriptions::kDeviceSignalsBackfillDisclaimerName, + flag_descriptions::kDeviceSignalsBackfillDisclaimerDescription, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc index de69b0818b27..6f683fdd81d6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -1,65 +1,65 @@ ---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/apps/platform_apps/platform_app_launch.cc @@ -19,7 +19,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.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/extensions/chrome_app_deprecation.h" + #include "chrome/browser/extensions/extension_util.h" #include "chrome/browser/ui/browser.h" - #include "chrome/browser/ui/browser_window.h" - #include "chrome/browser/ui/navigator/browser_navigator.h" -@@ -86,7 +86,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, +@@ -87,7 +87,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, if (launch_container == LaunchContainer::kLaunchContainerTab) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } -@@ -118,7 +118,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof +@@ -119,7 +119,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof if (launch_container != apps::LaunchContainer::kLaunchContainerTab) return nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return nullptr; } -@@ -134,7 +134,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof +@@ -135,7 +135,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof return app_tab; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OpenDeprecatedApplicationPrompt(Profile* profile, const std::string& app_id) { if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) -@@ -170,7 +170,7 @@ bool OpenExtensionApplicationWithReenablePrompt( +@@ -171,7 +171,7 @@ bool OpenExtensionApplicationWithReenablePrompt( if (!GetPlatformApp(profile, app_id)) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } -@@ -192,7 +192,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P +@@ -193,7 +193,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P ->enabled_extensions() .GetAppByURL(url); if (app) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app->id())) { return nullptr; } -@@ -215,7 +215,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr +@@ -216,7 +216,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr if (!extension) return; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, extension->id())) { return; } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/ungoogled-chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index fcf3b8cefeba..903f8a526ebb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/background/glic/glic_status_icon.cc -@@ -103,7 +103,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control +@@ -104,7 +104,7 @@ GlicStatusIcon::GlicStatusIcon(GlicBackgroundDelegate* 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 = -@@ -124,7 +124,7 @@ void GlicStatusIcon::Init() { +@@ -125,7 +125,7 @@ void GlicStatusIcon::Init() { 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)); -@@ -222,7 +222,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato +@@ -225,7 +225,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 = -@@ -275,7 +275,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -278,7 +278,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/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc index c0c65dabdbb1..ab54c02156cf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_features.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/browser_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/browser_features.cc -@@ -66,7 +66,7 @@ BASE_FEATURE(kCertVerificationNetworkTime, base::FEATU +@@ -62,7 +62,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. -@@ -76,7 +76,7 @@ BASE_FEATURE(kDbusSecretPortal, base::FEATURE_ENABLED_ +@@ -72,7 +72,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); -@@ -175,7 +175,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE +@@ -157,7 +157,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/ungoogled-chromium/files/patch-chrome_browser_browser__features.h b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.h index 7665a78b1cf0..1efc204185e6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/browser_features.h.orig 2026-03-15 18:32:51 UTC +--- chrome/browser/browser_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/browser_features.h -@@ -41,7 +41,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore +@@ -40,7 +40,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 -@@ -86,7 +86,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed +@@ -84,7 +84,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlocked); BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWarning); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kSecretPortalKeyProviderUseForEncryption); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc index b1ea91357646..db11f89674b6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,47 +1,47 @@ ---- chrome/browser/browser_process_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/browser_process_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/browser_process_impl.cc -@@ -273,7 +273,7 @@ void OnLocalStatePrefsLoaded(); +@@ -271,7 +271,7 @@ void OnLocalStatePrefsLoaded(); #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -#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" @@ -292,7 +292,7 @@ void OnLocalStatePrefsLoaded(); - #include "chrome/browser/safe_browsing/safe_browsing_service.h" + #include "components/os_crypt/async/common/encryptor.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; -@@ -1323,7 +1323,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -1334,7 +1334,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingEnabled, false); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); #endif } -@@ -1572,7 +1572,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1583,7 +1583,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { local_state(), /*force_protection_level=*/std::nullopt))); #endif // BUILDFLAG(IS_WIN) -#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); -@@ -1908,7 +1908,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1920,7 +1920,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/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h index cf51428c178c..e11980c485dd 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/browser_process_impl.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/browser_process_impl.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/browser_process_impl.h -@@ -433,7 +433,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -432,7 +432,7 @@ class BrowserProcessImpl : public BrowserProcess, std::unique_ptr battery_metrics_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::RepeatingTimer autoupdate_timer_; // Gets called by autoupdate timer to see if browser needs restart and can be diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 7c6f7cf15076..fc7fc56ab3fa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,20 +1,20 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_browser_interface_binders.cc @@ -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/web_applications/sub_apps_service_impl.h" + #include "chrome/browser/web_applications/sub_apps/sub_apps_service_impl.h" #endif -@@ -525,7 +525,7 @@ void PopulateChromeFrameBinders( +@@ -534,7 +534,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::kSubApps) && !render_frame_host->GetParentOrOuterDocument()) { // The service binder will reject non-primary main frames, but we still need diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc index 6bd54a2c451d..3f31ff50dfef 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc @@ -1,37 +1,36 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -69,14 +69,14 @@ - #endif // BUILDFLAG(ENABLE_WEBUI_NTP) +@@ -93,13 +93,13 @@ + #endif // !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_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.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" #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 -@@ -239,7 +239,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -354,7 +354,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); -@@ -251,7 +251,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -366,7 +366,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 + RegisterWebUIControllerInterfaceBinder(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) -@@ -354,7 +354,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -379,7 +379,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); @@ -582,7 +582,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( DrivePickerUntrustedHostUI>(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); -@@ -604,7 +604,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( - private_ai::PrivateAiInternalsUI>(map); - } +@@ -606,7 +606,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( + webapps::AppHomeUI>(map); + #endif -#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/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc index af4670f89f29..683b76fc01f1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,170 +1,170 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_browser_main.cc @@ -173,7 +173,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 @@ #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 @@ #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 @@ -292,7 +292,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) @@ -325,7 +325,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" @@ -333,7 +333,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" @@ -355,7 +355,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"); @@ -505,7 +505,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. @@ -571,7 +571,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; @@ -737,7 +737,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) @@ -767,7 +767,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 @@ -784,7 +784,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()); -@@ -1275,7 +1275,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1285,7 +1285,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/41321051 . -@@ -1319,7 +1319,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1329,7 +1329,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( -@@ -1565,7 +1565,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1575,7 +1575,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( -@@ -1616,7 +1616,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1626,7 +1626,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(); } -@@ -1703,7 +1703,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1713,7 +1713,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 && -@@ -1739,7 +1739,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1749,7 +1749,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/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc index 51f67d84e918..f64efe15de89 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -1,39 +1,39 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_browser_main_linux.cc -@@ -23,7 +23,7 @@ +@@ -22,7 +22,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 "ui/ozone/public/ozone_platform.h" #if BUILDFLAG(USE_DBUS) #include "components/dbus/thread_linux/dbus_thread_linux.h" -@@ -66,15 +66,17 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag +@@ -65,15 +65,17 @@ 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) #endif // !BUILDFLAG(IS_CHROMEOS) ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() { ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); -@@ -108,7 +110,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { +@@ -107,7 +109,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/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index fcacee34f225..72e1f4165df3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,183 +1,210 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -610,7 +610,7 @@ +@@ -618,7 +618,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 -@@ -621,7 +621,7 @@ +@@ -629,7 +629,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_proxying_url_loader_factory.h" + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_utils.h" #include "components/webapps/isolated_web_apps/scheme.h" - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) -@@ -1525,7 +1525,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1515,7 +1515,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) -@@ -1801,7 +1801,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF +@@ -1791,7 +1791,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); -@@ -2698,7 +2698,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati +@@ -2734,7 +2734,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; -@@ -2805,7 +2805,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2847,7 +2847,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(); -@@ -2814,7 +2816,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2856,7 +2858,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( -@@ -3166,7 +3168,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3210,7 +3212,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)) { -@@ -4194,7 +4196,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref +@@ -4232,7 +4234,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 -@@ -5224,7 +5226,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS +@@ -5255,7 +5257,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) -@@ -5278,7 +5280,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5309,7 +5311,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, -@@ -6175,7 +6177,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation +@@ -6223,7 +6225,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()) { -@@ -6247,7 +6249,7 @@ void ChromeContentBrowserClient:: +@@ -6295,7 +6297,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()) { std::optional app_origin; -@@ -6294,7 +6296,7 @@ void ChromeContentBrowserClient:: +@@ -6342,7 +6344,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, -@@ -6565,7 +6567,7 @@ void ChromeContentBrowserClient:: +@@ -6615,7 +6617,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(); -@@ -7184,7 +7186,7 @@ bool ChromeContentBrowserClient::HandleExternalProtoco +@@ -6727,7 +6729,7 @@ void ChromeContentBrowserClient::WillCreateURLLoaderFa + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Install the HTTP Header Injection proxying factory. + enterprise_custom_headers::HttpHeaderInjectionProxyingURLLoaderFactory:: + MaybeProxyRequest(browser_context, factory_builder); +@@ -6777,7 +6779,7 @@ void ChromeContentBrowserClient::WillCreateURLLoaderFa + factory_builder, factory_override, isolation_info); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // WARNING: This must be the last wrapper in the chain for + // TrustedURLLoaderHeaderClient. This ensures that our client is the outermost + // wrapper of `header_client`, allowing us to apply enterprise headers AFTER +@@ -6874,7 +6876,7 @@ ChromeContentBrowserClient::GetWebSocketOptions( + options.options = network::mojom::kWebSocketOptionNone; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (frame) { + enterprise_custom_headers::MaybeCreateWebSocketHeaderClient( + frame->GetBrowserContext(), &options.header_client); +@@ -7303,7 +7305,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. -@@ -7313,7 +7315,7 @@ bool ChromeContentBrowserClient::HandleWebUI( +@@ -7450,7 +7452,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/enhancedAutofill to chrome://settings/autofill. if (url->SchemeIs(content::kChromeUIScheme) && -@@ -7602,7 +7604,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -7739,7 +7741,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) { -@@ -8028,7 +8030,7 @@ void ChromeContentBrowserClient:: +@@ -8179,7 +8181,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. -@@ -8493,7 +8495,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve +@@ -8646,7 +8648,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/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h index c871c1312bda..2b9e08d33e6b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -577,7 +577,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -591,7 +591,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/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc index 6e667807d787..d99af00a1571 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -145,7 +145,7 @@ +@@ -142,7 +142,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" -@@ -445,7 +445,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -433,7 +433,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); -@@ -463,7 +463,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -451,7 +451,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) || -@@ -517,7 +517,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -505,7 +505,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/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc index 6768fe0cbb5f..e6c69118e2a0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc @@ -1,20 +1,20 @@ ---- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/component_updater/iwa_key_distribution_component_installer.cc -@@ -73,7 +73,7 @@ bool IsComponentSupported() { - // the main IWA feature. - #if BUILDFLAG(IS_WIN) +@@ -72,7 +72,7 @@ bool IsComponentSupported() { + // Key Distribution component is necessary for full IWAs support as it + // involves the IWA allowlist necessary to install IWAs in prod... return base::FeatureList::IsEnabled(features::kIsolatedWebApps); --#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return base::FeatureList::IsEnabled( - component_updater::kIwaKeyDistributionComponent); - #else -@@ -94,7 +94,7 @@ bool IsOnDemandUpdateSupported() { +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // ...however, on Mac/Linux, the component logic is not fully supported. A + // separate flag enables developing and testing both: IWAs and the component + // separately on these systems. +@@ -96,7 +96,7 @@ bool IsOnDemandUpdateSupported() { namespace component_updater { --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - BASE_FEATURE(kIwaKeyDistributionComponent, - #if BUILDFLAG(IS_CHROMEOS) - base::FEATURE_ENABLED_BY_DEFAULT +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kIwaKeyDistributionComponent, base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h index 2071d33dedf3..5c71cccb9ab0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h @@ -1,11 +1,11 @@ ---- chrome/browser/component_updater/iwa_key_distribution_component_installer.h.orig 2026-01-16 13:40:34 UTC +--- chrome/browser/component_updater/iwa_key_distribution_component_installer.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/component_updater/iwa_key_distribution_component_installer.h @@ -26,7 +26,7 @@ class IwaKeyDistributionInfoProvider; namespace component_updater { --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kIwaKeyDistributionComponent); - #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_registration.cc b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_registration.cc index 488cbe8e0907..ddd3f0ee4c81 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,35 +1,35 @@ ---- chrome/browser/component_updater/registration.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/component_updater/registration.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/component_updater/registration.cc -@@ -82,7 +82,7 @@ +@@ -81,7 +81,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) -@@ -91,7 +91,7 @@ +@@ -90,7 +90,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) -@@ -214,12 +214,12 @@ void RegisterComponentsForUpdate() { +@@ -211,12 +211,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/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc b/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc index bca0f72a1688..6ebeda37a0e8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__policy__dialog.cc @@ -1,11 +1,11 @@ ---- chrome/browser/devtools/devtools_policy_dialog.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/devtools/devtools_policy_dialog.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/devtools/devtools_policy_dialog.cc -@@ -32,7 +32,7 @@ +@@ -33,7 +33,7 @@ namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr int kIconPadding = 4; #else constexpr int kIconPadding = 2; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index d4c24adea372..227eebb0c051 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -2068,7 +2068,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -2118,7 +2118,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(); } -@@ -2175,7 +2175,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2225,7 +2225,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()) { -@@ -2253,7 +2253,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2303,7 +2303,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/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc index 8be83221df0c..068f743d94a1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_commands.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/download/download_commands.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/download/download_commands.cc @@ -27,7 +27,7 @@ #include "ui/base/clipboard/scoped_clipboard_writer.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser.h" - #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" -@@ -174,7 +174,7 @@ void DownloadCommands::ExecuteCommand(Command command) + #endif +@@ -173,7 +173,7 @@ void DownloadCommands::ExecuteCommand(Command command) } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) Browser* DownloadCommands::GetBrowser() const { if (!model_) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc index edf4bc4ec11a..71d2f0124671 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/download/download_item_model.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/download/download_item_model.cc -@@ -725,7 +725,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -724,7 +724,7 @@ bool DownloadItemModel::IsCommandChecked( return download_->GetOpenWhenComplete() || IsExtensionDownload(); 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 +@@ -772,7 +772,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); -@@ -1184,7 +1184,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1183,7 +1183,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/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc index 7d78c1590bc9..0d9035adaba7 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,90 +1,90 @@ ---- chrome/browser/download/download_prefs.cc.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/download/download_prefs.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/download/download_prefs.cc @@ -11,6 +11,7 @@ #include #include "base/check.h" +#include "base/command_line.h" #include "base/feature_list.h" #include "base/files/file_util.h" #include "base/functional/bind.h" -@@ -62,6 +63,10 @@ +@@ -65,6 +66,10 @@ #include "components/safe_browsing/content/common/file_type_policies.h" #endif +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; -@@ -75,7 +80,7 @@ namespace { +@@ -78,7 +83,7 @@ namespace { // Consider downloads 'dangerous' if they go to the home directory on Linux and // to the desktop on any platform. bool DownloadPathIsDangerous(const base::FilePath& download_path) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath home_dir = base::GetHomeDir(); if (download_path == home_dir) { return true; -@@ -181,7 +186,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi +@@ -248,7 +253,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); #endif -@@ -308,7 +313,7 @@ void DownloadPrefs::RegisterProfilePrefs( +@@ -375,7 +380,7 @@ void DownloadPrefs::RegisterProfilePrefs( registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_download_path); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif #if BUILDFLAG(IS_ANDROID) -@@ -481,7 +486,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens +@@ -548,7 +553,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) return; -@@ -507,7 +512,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons +@@ -574,7 +579,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons void DownloadPrefs::ResetAutoOpenByUser() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) SetShouldOpenPdfInSystemReader(false); #endif auto_open_by_user_.clear(); -@@ -544,7 +549,7 @@ void DownloadPrefs::SaveAutoOpenState() { +@@ -611,7 +616,7 @@ void DownloadPrefs::SaveAutoOpenState() { bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const { #if BUILDFLAG(IS_CHROMEOS) return false; // There is no UI for auto-open on ChromeOS. -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return ShouldOpenPdfInSystemReader(); #else return false; -@@ -626,7 +631,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa +@@ -693,7 +698,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa #else // If the stored download directory is an absolute path, we presume it's // correct; there's not really much more validation we can do here. +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (!sandbox->unveil_initialized() && path.IsAbsolute()) +#else if (path.IsAbsolute()) +#endif return path; // When the default download directory is *not* an absolute path, we use the diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc index ca3ef8428beb..eb8c798bbd73 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_browser__management_browser__management__service.cc @@ -1,47 +1,47 @@ ---- chrome/browser/enterprise/browser_management/browser_management_service.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/enterprise/browser_management/browser_management_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/browser_management/browser_management_service.cc -@@ -50,7 +50,7 @@ GetManagementStatusProviders(Profile* profile) { +@@ -61,7 +61,7 @@ BrowserManagementService::BrowserManagementService(Pro + management_status_providers().end(), + [](const auto& provider) { return provider->RequiresCache(); })); - BrowserManagementService::BrowserManagementService(Profile* profile) - : ManagementService(GetManagementStatusProviders(profile)) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::SequencedTaskRunner::GetCurrentDefault()->PostTask( FROM_HERE, base::BindOnce(&BrowserManagementService::UpdateManagementIconForProfile, -@@ -74,7 +74,7 @@ BrowserManagementService::BrowserManagementService(Pro +@@ -85,7 +85,7 @@ BrowserManagementService::BrowserManagementService(Pro } ui::ImageModel* BrowserManagementService::GetManagementIconForProfile() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return management_icon_for_profile_.IsEmpty() ? nullptr : &management_icon_for_profile_; #else -@@ -83,7 +83,7 @@ ui::ImageModel* BrowserManagementService::GetManagemen +@@ -94,7 +94,7 @@ ui::ImageModel* BrowserManagementService::GetManagemen } gfx::Image* BrowserManagementService::GetManagementIconForBrowser() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return management_icon_for_browser_.IsEmpty() ? nullptr : &management_icon_for_browser_; #else -@@ -96,7 +96,7 @@ void BrowserManagementService::TriggerPolicyStatusChan +@@ -107,7 +107,7 @@ void BrowserManagementService::TriggerPolicyStatusChan OnPolicyStatusChanged(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void BrowserManagementService::SetBrowserManagementIconForTesting( const gfx::Image& management_icon) { CHECK_IS_TEST(); -@@ -185,7 +185,7 @@ void BrowserManagementService::SetManagementIconForBro +@@ -196,7 +196,7 @@ void BrowserManagementService::SetManagementIconForBro #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) void BrowserManagementService::OnPolicyStatusChanged() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) NotifyEnterpriseLabelUpdated(); #endif } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc index 3bd8e5944874..29bde1fefd41 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/common.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/enterprise/connectors/common.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/connectors/common.cc -@@ -21,7 +21,7 @@ +@@ -27,7 +27,7 @@ #include "components/user_manager/user.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #include "components/prefs/pref_service.h" #endif -@@ -239,7 +239,7 @@ std::string GetProfileEmail(Profile* profile) { +@@ -150,7 +150,7 @@ std::string GetProfileEmail(Profile* profile) { std::string email = GetProfileEmail(IdentityManagerFactory::GetForProfile(profile)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (email.empty()) { email = profile->GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserEmail); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc index 8a0d4a1faf28..4f7a042c58fb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/connectors/connectors_service.cc -@@ -345,7 +345,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope( +@@ -320,7 +320,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/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc index 317553871f5d..32859bfdb989 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2026-03-15 18:32:51 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2026-08-13 07:41:05 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::DictValue& event, -@@ -328,7 +328,7 @@ std::string RealtimeReportingClient::GetBrowserClientI +@@ -329,7 +329,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) void RealtimeReportingClient::MaybeCollectDeviceSignalsAndReportEvent( Event event, policy::CloudPolicyClient* client, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_user__remote__commands__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_user__remote__commands__factory.cc index 86078b893999..31eaee8d16b6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_user__remote__commands__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_user__remote__commands__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/remote_commands/user_remote_commands_factory.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/enterprise/remote_commands/user_remote_commands_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/remote_commands/user_remote_commands_factory.cc @@ -22,7 +22,7 @@ UserRemoteCommandsFactory::BuildJobForType( switch (type) { case enterprise_management::RemoteCommand_Type_BROWSER_CLEAR_BROWSING_DATA: return std::make_unique(profile_); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - case enterprise_management::RemoteCommand_Type_EXTENSION_UPDATE_CHECK: + case enterprise_management:: + RemoteCommand_Type_BROWSER_EXTENSION_UPDATE_CHECK: return std::make_unique(profile_); - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc index 9015ae37b751..ba64523264d5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc.orig 2026-04-15 11:25:12 UTC +--- chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc @@ -41,7 +41,7 @@ #include "chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.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/enterprise/reporting/browser_launch/browser_launch_event_controller_factory_desktop.h" #include "chrome/browser/enterprise/reporting/saas_usage/saas_usage_reporting_delegate_factory_desktop.h" #include "components/enterprise/browser/reporting/reporting_features.h" - #include "components/enterprise/browser/reporting/saas_usage/saas_usage_report_scheduler.h" -@@ -122,7 +122,7 @@ void CloudProfileReportingService::CreateReportSchedul +@@ -124,7 +124,7 @@ void CloudProfileReportingService::CreateReportSchedul #endif report_scheduler_ = std::make_unique(std::move(params)); -#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(kSaasUsageReporting)) { auto saas_usage_reporting_delegate_factory = SaasUsageReportingDelegateFactoryDesktop::CreateForProfile(profile_); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc index cb0b446ebe61..61219821820e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc @@ -1,20 +1,38 @@ ---- chrome/browser/enterprise/signals/signals_aggregator_factory.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/enterprise/signals/signals_aggregator_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/enterprise/signals/signals_aggregator_factory.cc -@@ -49,7 +49,7 @@ +@@ -54,7 +54,7 @@ #include "components/device_signals/core/browser/settings_client.h" #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) #include "components/device_signals/core/browser/agent_signals_collector.h" #include "components/device_signals/core/browser/crowdstrike_client.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -113,7 +113,7 @@ SignalsAggregatorFactory::BuildServiceInstanceForBrows +@@ -93,7 +93,7 @@ SignalsAggregatorFactory::SignalsAggregatorFactory() + #endif // !BUILDFLAG(IS_ANDROID) + DependsOn(UserPermissionServiceFactory::GetInstance()); + DependsOn(enterprise::ProfileIdServiceFactory::GetInstance()); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DependsOn(ProfileNetworkContextServiceFactory::GetInstance()); + #endif + } +@@ -121,7 +121,7 @@ SignalsAggregatorFactory::BuildServiceInstanceForBrows service_host)); #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) collectors.push_back(std::make_unique( device_signals::CrowdStrikeClient::Create())); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -132,7 +132,7 @@ SignalsAggregatorFactory::BuildServiceInstanceForBrows + CreateSettingsClient())); + #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) + if (enterprise_signals::features::IsCertificateCollectionEnabled()) { + auto* profile_network_service = + ProfileNetworkContextServiceFactory::GetForContext(profile); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn index 6a6264bba20a..0962ab8060ba 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1506,6 +1506,10 @@ source_set("extensions") { +@@ -1525,6 +1525,10 @@ source_set("extensions") { ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_pdf) { deps += [ "//chrome/browser/pdf", diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc index 547ef9bf0bab..e80069aad1e0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ #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 "chrome/browser/extensions/api/web_authentication_proxy/web_authentication_proxy_api.h" #include "chrome/browser/extensions/api/web_authentication_proxy/web_authentication_proxy_service.h" #endif -@@ -150,7 +150,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt +@@ -152,7 +152,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt #endif // BUILDFLAG(ENABLE_EXTENSIONS) // These APIs are intentionally not supported on desktop Android. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extensions::WebAuthenticationProxyAPI::GetFactoryInstance(); extensions::WebAuthenticationProxyRegistrarFactory::GetInstance(); extensions::WebAuthenticationProxyServiceFactory::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc index 69faa31fd7ef..638431e95818 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -1,47 +1,47 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc -@@ -38,7 +38,7 @@ - #include "components/reporting/util/statusor.h" - #endif +@@ -29,7 +29,7 @@ + #include "components/enterprise/connectors/core/reporting_constants.h" + #include "google_apis/gaia/gaia_id.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 #include "base/strings/string_util.h" -@@ -112,7 +112,7 @@ api::enterprise_reporting_private::ContextInfo ToConte +@@ -282,7 +282,7 @@ api::enterprise_reporting_private::ContextInfo ToConte } bool AllowClientCertificateReportingForUsers() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled( enterprise_signals::features::kAllowClientCertificateReportingForUsers); #else -@@ -125,7 +125,7 @@ bool IsProfilePrefManaged(Profile* profile, std::strin +@@ -295,7 +295,7 @@ bool IsProfilePrefManaged(Profile* profile, std::strin return pref && pref->IsManaged(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) device_signals::SignalsAggregationRequest CreateAggregationRequest( device_signals::SignalName signal_name) { -@@ -187,7 +187,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: +@@ -357,7 +357,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: // getPersistentSecret -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) EnterpriseReportingPrivateGetPersistentSecretFunction:: EnterpriseReportingPrivateGetPersistentSecretFunction() = default; -@@ -627,7 +627,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction:: +@@ -674,7 +674,7 @@ void EnterpriseReportingPrivateGetCertificateFunction: + Respond(WithArguments(ret.ToValue())); } - #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // getFileSystemInfo diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h index f14bfd49ce2c..241c4736afd8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-10 11:01:21 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h -@@ -20,7 +20,7 @@ - #include "components/reporting/proto/synced/record.pb.h" - #include "components/reporting/proto/synced/record_constants.pb.h" - #include "components/reporting/util/statusor.h" --#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +@@ -16,7 +16,7 @@ + #include "chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.h" + #include "chrome/common/extensions/api/enterprise_reporting_private.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/time/time.h" #include "components/device_signals/core/browser/signals_types.h" - #endif // BUILDFLAG(IS_CHROMEOS) -@@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : + #endif +@@ -52,7 +52,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : ~EnterpriseReportingPrivateGetDeviceIdFunction() override; }; -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) class EnterpriseReportingPrivateGetPersistentSecretFunction : public ExtensionFunction { -@@ -266,7 +266,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction - - #endif +@@ -211,7 +211,7 @@ class EnterpriseReportingPrivateGetCertificateFunction + client_cert_fetcher_; + }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class EnterpriseReportingPrivateGetFileSystemInfoFunction : public ExtensionFunction { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc index 3fc915daa420..ce9aee9398d9 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc -@@ -663,7 +663,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem +@@ -638,7 +638,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem } void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() { -#if !BUILDFLAG(IS_LINUX) -+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - PasswordsPrivateEventRouter* router = - PasswordsPrivateEventRouterFactory::GetForProfile(profile_); - if (router) { ++#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (event_router_) { + event_router_->OnPasswordManagerAuthTimeout(); + } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index f84dde7bd76d..7f2f57f687bb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -221,7 +221,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -232,7 +232,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] = -@@ -257,7 +257,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -278,7 +278,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 -@@ -276,7 +276,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -300,7 +300,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/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc index b03b9ac06db8..07f28694a673 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/tabs/tabs_api.cc -@@ -1365,7 +1365,7 @@ ExtensionFunction::ResponseValue WindowsCreateFunction +@@ -1381,7 +1381,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(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/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc index be67ab73afec..83fcc0977150 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -1089,7 +1089,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: +@@ -1164,7 +1164,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/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc similarity index 52% rename from www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc rename to www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc index 43e0d06d18e3..93426987dc0d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2026-04-15 11:25:12 UTC -+++ chrome/browser/web_applications/extensions/extension_status_utils.cc -@@ -93,7 +93,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo - return prefs && prefs->IsExternalExtensionUninstalled(extension_id); - } +--- chrome/browser/extensions/chrome_app_deprecation.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/extensions/chrome_app_deprecation.cc +@@ -16,7 +16,7 @@ namespace testing { + bool g_enable_chrome_apps_for_testing = false; + } // namespace testing -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, const std::string& extension_id) { if (testing::g_enable_chrome_apps_for_testing) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h new file mode 100644 index 000000000000..275386d10e3b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/chrome_app_deprecation.h.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/extensions/chrome_app_deprecation.h +@@ -24,7 +24,7 @@ namespace testing { + extern bool g_enable_chrome_apps_for_testing; + } // namespace testing + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether the extension with `extension_id` is an unsupported + // deprecated app (hosted app, legacy packaged app, or platform app) on + // Windows/Mac/Linux. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc index e6541c43eb67..20483cb011f0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/extensions/component_extensions_allowlist/allowlist.cc -@@ -52,7 +52,7 @@ bool IsComponentExtensionAllowlisted(const std::string +@@ -54,7 +54,7 @@ bool IsComponentExtensionAllowlisted(const std::string #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_CHROMEOS) extension_misc::kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extension_misc::kTTSEngineExtensionId, extension_misc::kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index db20af40180b..9deed55f9808 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -412,7 +412,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { +@@ -415,7 +415,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. BlockPath::CreateAbsolute(FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren), diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h index 822105404589..e8f66acc729a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,21 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/flag_descriptions.h -@@ -8592,6 +8592,18 @@ inline constexpr char kAndroidEntraSsoDescription[] = - "Enables native support for Entra SSO on Android provided by selected " - "Authentication Brokers."; +@@ -8555,6 +8555,18 @@ inline constexpr char kAntivirusTelemetryForDownloadsD + "Enables antivirus product info to be included in Safe Browsing download " + "pings."; +#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/ungoogled-chromium/files/patch-chrome_browser_glic_glic__settings__util__desktop.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_glic__settings__util__desktop.cc new file mode 100644 index 000000000000..c024d33ee0ee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_glic_glic__settings__util__desktop.cc @@ -0,0 +1,11 @@ +--- chrome/browser/glic/glic_settings_util_desktop.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/glic/glic_settings_util_desktop.cc +@@ -108,7 +108,7 @@ std::string_view GetPlatformHelpSuffix() { + return "_mac"; + #elif BUILDFLAG(IS_CHROMEOS) + return "_chromeos"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "_linux"; + #else + return ""; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc deleted file mode 100644 index 0efa9263855b..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-06-05 13:45:06 UTC -+++ chrome/browser/glic/host/glic_page_handler.cc -@@ -194,7 +194,7 @@ mojom::FormFactor GetGlicFormFactor(ui::DeviceFormFact - 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/ungoogled-chromium/files/patch-chrome_browser_glic_host_guest__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_host_guest__util.cc new file mode 100644 index 000000000000..6e1c77c1533b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_glic_host_guest__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/glic/host/guest_util.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/glic/host/guest_util.cc +@@ -391,7 +391,7 @@ mojom::Platform GetGlicPlatform() { + return mojom::Platform::kMacOS; + #elif BUILDFLAG(IS_WIN) + return mojom::Platform::kWindows; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return mojom::Platform::kLinux; + #elif BUILDFLAG(IS_CHROMEOS) + return mojom::Platform::kChromeOS; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_glic_public_features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_public_features.cc index 3b9f6839ccec..165f64dd1258 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_glic_public_features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_glic_public_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/glic/public/features.cc.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/glic/public/features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/glic/public/features.cc -@@ -67,7 +67,7 @@ BASE_FEATURE(kGlicCreateTabAdjacent, base::FEATURE_ENA +@@ -65,7 +65,7 @@ BASE_FEATURE(kGlicCreateTabAdjacent, base::FEATURE_ENA // When off, disables both live mode and the glic floating panel. BASE_FEATURE(kGlicLiveMode, -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT #else base::FEATURE_ENABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc index 2ae5c8ec0fff..c2ab463379e1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/glic/service/glic_instance_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/glic/service/glic_instance_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/glic/service/glic_instance_impl.cc -@@ -18,7 +18,7 @@ - #include "chrome/browser/actor/actor_keyed_service_factory.h" - #include "chrome/browser/background/glic/glic_launcher_configuration.h" - #include "chrome/browser/browser_process.h" +@@ -72,7 +72,7 @@ + #include "third_party/abseil-cpp/absl/functional/overload.h" + #include "ui/base/l10n/l10n_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/reporting/saas_usage/saas_usage_reporting_controller_factory.h" #endif - #include "chrome/browser/glic/common/future_browser_features.h" -@@ -141,7 +141,7 @@ EmbedderKey CreateSidePanelEmbedderKey(tabs::TabInterf + +@@ -139,7 +139,7 @@ EmbedderKey CreateSidePanelEmbedderKey(tabs::TabInterf enterprise_reporting::SaasUsageReportingController* GetSaasUsageReportingController(Profile* profile) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return enterprise_reporting::SaasUsageReportingControllerFactory:: GetForProfile(profile); #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc index 76a8126ec6d7..efb800ac022f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc @@ -1,47 +1,47 @@ ---- chrome/browser/glic/widget/glic_widget.cc.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/glic/widget/glic_widget.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/glic/widget/glic_widget.cc -@@ -54,7 +54,7 @@ +@@ -53,7 +53,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" #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" #endif -@@ -109,7 +109,7 @@ class GlicClientView : public views::ClientView { +@@ -108,7 +108,7 @@ class GlicClientView : public views::ClientView { GlicView* glic_view() { return static_cast(contents_view()); } }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class GlicFrameView : public views::NativeFrameView { public: explicit GlicFrameView(views::Widget* widget) -@@ -128,7 +128,7 @@ class GlicFrameView : public views::NativeFrameView { +@@ -127,7 +127,7 @@ class GlicFrameView : public views::NativeFrameView { #if BUILDFLAG(IS_WIN) int resize_border = resize_border = display::win::GetScreenWin()->GetSystemMetricsInDIP(SM_CXSIZEFRAME); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) int resize_border = OpaqueBrowserFrameViewLayout::kFrameBorderThickness; #endif const bool can_resize = GetWidget()->widget_delegate()->CanResize(); -@@ -356,7 +356,7 @@ std::unique_ptr GlicWidget::Cre +@@ -358,7 +358,7 @@ std::unique_ptr GlicWidget::Cre return std::make_unique(widget, contents_view); })); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) delegate->SetFrameViewFactory(base::BindRepeating( [](views::Widget* widget) -> std::unique_ptr { return std::make_unique(widget); -@@ -436,7 +436,7 @@ std::unique_ptr GlicWidget::Create(views:: +@@ -438,7 +438,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/ungoogled-chromium/files/patch-chrome_browser_global__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_global__features.cc index ace250ec692f..62ef67edb419 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_global__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_global__features.cc @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/global_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/global_features.cc -@@ -36,7 +36,7 @@ - #include "chrome/browser/background/glic/glic_background_mode_manager.h" // nogncheck +@@ -40,7 +40,7 @@ + #include "chrome/browser/ui/tabs/tab_drag_api/desktop_tab_drag_impl/tab_drag_session_desktop_injector.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) // 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" -@@ -164,7 +164,7 @@ void GlobalFeatures::PostBrowserProcessInit() { - - void GlobalFeatures::PostBrowserProcessInitCore() { +@@ -184,7 +184,7 @@ void GlobalFeatures::PostBrowserProcessInitCore() { + } + #endif 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(); -@@ -238,7 +238,7 @@ void GlobalFeatures::PostMainMessageLoopRun() { - +@@ -259,7 +259,7 @@ void GlobalFeatures::PostMainMessageLoopRun() { application_advanced_protection_status_detector_.reset(); + tab_drag_session_manager_.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 -@@ -257,7 +257,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -278,7 +278,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/ungoogled-chromium/files/patch-chrome_browser_global__features.h b/www/ungoogled-chromium/files/patch-chrome_browser_global__features.h index 2b60cefb4489..5ec984280489 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_global__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_global__features.h @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/global_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/global_features.h -@@ -19,7 +19,7 @@ class GlobalBrowserCollection; +@@ -25,7 +25,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 -@@ -133,7 +133,7 @@ class GlobalFeatures { +@@ -143,7 +143,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(); } -@@ -205,7 +205,7 @@ class GlobalFeatures { +@@ -219,7 +219,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 virtual std::unique_ptr -@@ -221,7 +221,7 @@ class GlobalFeatures { +@@ -235,7 +235,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/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__init.cc b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__init.cc index cae3373ff146..527ab65d1ded 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__init.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__init.cc @@ -1,29 +1,29 @@ ---- chrome/browser/headless/headless_mode_init.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/headless/headless_mode_init.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/headless/headless_mode_init.cc @@ -11,7 +11,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/command_line.h" -@@ -23,7 +23,7 @@ +@@ -24,7 +24,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 -@@ -92,7 +92,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand +@@ -93,7 +93,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Headless mode on Linux relies on ozone/headless platform. command_line.AppendSwitchASCII(::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn index 9cab129d95e0..80f49071fed8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/media/router/discovery/BUILD.gn -@@ -81,7 +81,7 @@ static_library("discovery") { +@@ -82,7 +82,7 @@ static_library("discovery") { ] configs += [ "//build/config/compiler:wexit_time_destructors" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "discovery_network_list_wifi_linux.cc" ] } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc index e327ff95a4c5..5bc0c79eabe8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc -@@ -100,7 +100,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur +@@ -99,7 +99,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur base::FeatureList::IsEnabled( media::kMacCatapLoopbackAudioForScreenShare)); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (request_source == Params::RequestSource::kCast) { return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); } else { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc index 1286904c6874..ac7bced53c3d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/media/webrtc/webrtc_log_uploader.cc -@@ -95,7 +95,7 @@ std::string GetLogUploadProduct(WebRtcLogUploadSite si +@@ -97,7 +97,7 @@ std::string GetLogUploadProduct(WebRtcLogUploadSite si 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/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc index f6a007d03f2b..0718c8a991b0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.cc @@ -30,7 +30,7 @@ #include "net/base/schemeful_site.h" #include "url/origin.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) || -@@ -330,7 +330,7 @@ WebRtcLoggingController::GetLogMessageCallback() { +@@ -328,7 +328,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/ungoogled-chromium/files/patch-chrome_browser_metrics_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_BUILD.gn index ae4783896010..567ebd3f30d6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_BUILD.gn @@ -1,38 +1,38 @@ ---- chrome/browser/metrics/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/metrics/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/metrics/BUILD.gn -@@ -197,7 +197,7 @@ source_set("metrics") { +@@ -210,7 +210,7 @@ source_set("metrics") { ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { public += [ "bluetooth_metrics_provider.h" ] } -@@ -208,7 +208,7 @@ source_set("metrics") { +@@ -221,7 +221,7 @@ source_set("metrics") { ] } - if (is_win || is_android || is_linux) { + if (!is_bsd && (is_win || is_android || is_linux)) { public += [ "chrome_metrics_service_crash_reporter.h" ] } -@@ -456,7 +456,7 @@ source_set("impl") { +@@ -476,7 +476,7 @@ source_set("impl") { sources += [ "structured/chrome_structured_metrics_delegate.cc" ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "bluetooth_metrics_provider.cc" ] } -@@ -471,7 +471,7 @@ source_set("impl") { +@@ -491,7 +491,7 @@ source_set("impl") { deps += [ "//chrome/browser/updates:update_metrics" ] } - if (is_win || is_android || is_linux) { + if (!is_bsd && (is_win || is_android || is_linux)) { sources += [ "chrome_metrics_service_crash_reporter.cc" ] } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index 431952cb8fb6..3a4a280126fc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -83,7 +83,7 @@ +@@ -84,7 +84,7 @@ #endif #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if defined(__GLIBC__) #include #endif // defined(__GLIBC__) -@@ -109,7 +109,7 @@ +@@ -110,7 +110,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) -@@ -120,7 +120,7 @@ +@@ -121,7 +121,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 -@@ -944,7 +944,7 @@ void RecordStartupMetrics() { +@@ -939,7 +939,7 @@ void RecordStartupMetrics() { // Record whether Chrome is the default browser or not. // Disabled on Linux due to hanging browser tests, see crbug.com/40770414. -#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, -@@ -1186,11 +1186,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt +@@ -1194,11 +1194,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/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index 6fd86347d606..1c3c76002c99 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,83 +1,83 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -210,7 +210,7 @@ +@@ -200,7 +200,7 @@ #include "chrome/browser/metrics/power/power_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 -@@ -222,7 +222,7 @@ +@@ -212,7 +212,7 @@ #include "chrome/browser/metrics/bluetooth_metrics_provider.h" #endif // 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) #include "chrome/browser/updates/update_metrics_provider.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -551,7 +551,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg +@@ -541,7 +541,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) -@@ -748,7 +748,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -738,7 +738,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 -@@ -808,7 +808,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -798,7 +798,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 -@@ -901,7 +901,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -891,7 +891,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) -@@ -1020,7 +1020,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1001,7 +1001,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()); metrics_service_->RegisterMetricsProvider( -@@ -1226,7 +1226,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1207,7 +1207,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( -@@ -1577,7 +1577,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1557,7 +1557,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = 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/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc index 77afcf411b40..6ae46a558a4d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc @@ -1,29 +1,38 @@ ---- chrome/browser/metrics/power/process_monitor.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/metrics/power/process_monitor.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/metrics/power/process_monitor.cc -@@ -66,7 +66,7 @@ ProcessMonitor::Metrics SampleMetrics(base::ProcessMet +@@ -68,7 +68,7 @@ class ProcessMetricsDelegateImpl : public ProcessMetri + } + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + int GetIdleWakeupsPerSecond() override { + return process_metrics_->GetIdleWakeupsPerSecond(); + } +@@ -105,7 +105,7 @@ ProcessMonitor::Metrics SampleMetrics(ProcessMetricsDe process_metrics.GetPlatformIndependentCPUUsage()); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) metrics.idle_wakeups = process_metrics.GetIdleWakeupsPerSecond(); #endif #if BUILDFLAG(IS_MAC) -@@ -84,7 +84,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do +@@ -123,7 +123,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) metrics->idle_wakeups *= factor; #endif -@@ -159,7 +159,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me +@@ -207,7 +207,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) lhs.idle_wakeups += rhs.idle_wakeups; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h index 6f26cf0514c6..8f3d752579c4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h @@ -1,11 +1,20 @@ ---- chrome/browser/metrics/power/process_monitor.h.orig 2026-04-15 11:25:12 UTC +--- chrome/browser/metrics/power/process_monitor.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/metrics/power/process_monitor.h -@@ -88,7 +88,7 @@ class ProcessMonitor : public content::BrowserChildPro +@@ -47,7 +47,7 @@ class ProcessMetricsDelegate { + GetPlatformIndependentCPUUsage() = 0; + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + virtual int GetIdleWakeupsPerSecond() = 0; + #endif + +@@ -109,7 +109,7 @@ class ProcessMonitor : public content::BrowserChildPro std::optional cpu_usage; #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Returns the number of average idle cpu wakeups per second since the last // time the metric was sampled. int idle_wakeups = 0; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_net_profile__network__context__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_net_profile__network__context__service.cc index 6d6477b6de5c..c0eb85a05532 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_net_profile__network__context__service.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/net/profile_network_context_service.cc @@ -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" @@ -320,7 +320,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) { -@@ -1271,7 +1271,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1289,7 +1289,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/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index 3db098015448..4217adfae0c1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -138,7 +138,7 @@ enum class NetworkSandboxState { +@@ -139,7 +139,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; -@@ -146,7 +146,7 @@ bool g_network_service_will_allow_gssapi_library_load +@@ -147,7 +147,7 @@ bool g_network_service_will_allow_gssapi_library_load const char* kGssapiDesiredPref = #if BUILDFLAG(IS_CHROMEOS) ash::prefs::kKerberosEnabled; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) prefs::kReceivedHttpAuthNegotiateHeader; #endif #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -192,7 +192,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -193,7 +193,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) -@@ -207,7 +207,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -208,7 +208,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) -@@ -217,7 +217,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -218,7 +218,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 -@@ -265,11 +265,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -266,11 +266,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 || -@@ -285,7 +285,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -286,7 +286,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) -@@ -590,7 +590,7 @@ void SystemNetworkContextManager::DeleteInstance() { +@@ -591,7 +591,7 @@ void SystemNetworkContextManager::DeleteInstance() { g_system_network_context_manager = nullptr; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SystemNetworkContextManager::GssapiLibraryLoadObserver:: GssapiLibraryLoadObserver(SystemNetworkContextManager* owner) : owner_(owner) {} -@@ -649,7 +649,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -650,7 +650,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 +@@ -664,7 +664,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 +@@ -736,7 +736,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) -@@ -762,11 +762,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -766,11 +766,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) -@@ -823,7 +823,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -827,7 +827,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) -@@ -1069,7 +1069,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1078,7 +1078,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/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc index db658a024648..23f48ed67565 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2026-01-16 13:40:34 UTC +--- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc -@@ -37,7 +37,7 @@ +@@ -38,7 +38,7 @@ #include "services/network/public/cpp/resource_request.h" namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kPlatform[] = "LINUX"; #elif BUILDFLAG(IS_WIN) constexpr char kPlatform[] = "WINDOWS"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc deleted file mode 100644 index 1d700bb2bd03..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2026-04-15 11:25:12 UTC -+++ chrome/browser/new_tab_page/new_tab_page_util.cc -@@ -55,7 +55,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/ungoogled-chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc b/www/ungoogled-chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc index a30ad160e297..3c544f7a705c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_page__load__metrics_page__load__metrics__initialize.cc +++ b/www/ungoogled-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-05-09 18:09:27 UTC +--- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/page_load_metrics/page_load_metrics_initialize.cc @@ -69,7 +69,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) -@@ -361,7 +361,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU +@@ -353,7 +353,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/ungoogled-chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index 2618965f349f..3a0ad253d48f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ b/www/ungoogled-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-06-15 11:54:00 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -698,7 +698,7 @@ void ChromePasswordManagerClient::ContinueShowKeyboard +@@ -719,7 +719,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; } -@@ -983,7 +983,7 @@ void ChromePasswordManagerClient::NotifyUserCredential +@@ -1002,7 +1002,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) { -@@ -2068,7 +2068,7 @@ void ChromePasswordManagerClient::HideFillingUI() { +@@ -2087,7 +2087,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; } -@@ -2107,7 +2107,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement +@@ -2126,7 +2126,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/ungoogled-chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc index 428a100ef87b..73288d76aea4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc -@@ -21,7 +21,7 @@ - #include "ui/gfx/geometry/resize_utils.h" +@@ -23,7 +23,7 @@ #include "ui/gfx/geometry/size.h" + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -587,7 +587,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na +@@ -590,7 +590,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na bool PictureInPictureWindowManager::IsSupportedForDocumentPictureInPicture( const GURL& url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only allow document PiP to be opened if the URL is of a type that we know // how to display in the title bar. Otherwise, the title bar might be // misleading in certain scenarios. See https://crbug.com/40066780 . diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index c92b5a3f29db..e79438419ab5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc @@ -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) @@ -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" -@@ -115,7 +115,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -116,7 +116,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(); -@@ -292,7 +292,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC +@@ -300,7 +300,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(); -@@ -314,7 +314,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD +@@ -322,7 +322,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/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index d43485998930..387b3a770827 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,212 +1,239 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -250,7 +250,7 @@ +@@ -262,7 +262,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" -@@ -609,7 +609,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -272,7 +272,7 @@ + #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) + #include "components/enterprise/network_header_injection/core/http_header_injection_policy_handler.h" + #endif + +@@ -646,7 +646,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 }, -@@ -954,7 +954,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1006,7 +1006,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 }, -@@ -963,7 +963,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1015,7 +1015,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 }, -@@ -1855,7 +1855,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1902,7 +1902,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 }, -@@ -1917,7 +1917,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1967,7 +1967,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 }, -@@ -1937,17 +1937,17 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1987,17 +1987,17 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kTotalMemoryLimitMb, base::Value::Type::INTEGER }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kBackgroundModeEnabled, prefs::kBackgroundModeEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDefaultBrowserSettingEnabled, prefs::kDefaultBrowserSettingEnabled, base::Value::Type::BOOLEAN }, -@@ -1959,7 +1959,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2009,7 +2009,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::kAutomatedPasswordChangeSettings, optimization_guide::prefs::kAutomatedPasswordChangeEnterprisePolicyAllowed, base::Value::Type::INTEGER }, -@@ -2060,7 +2060,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2110,7 +2110,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 }, -@@ -2168,7 +2168,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2218,7 +2218,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAuthNegotiateDelegateByKdcPolicy, prefs::kAuthNegotiateDelegateByKdcPolicy, base::Value::Type::BOOLEAN }, -@@ -2245,7 +2245,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2295,7 +2295,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 }, -@@ -2285,7 +2285,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2335,7 +2335,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kAndroidEntraSSOEnabled, base::Value::Type::INTEGER }, #endif -#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 }, -@@ -2325,7 +2325,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2375,7 +2375,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}, -@@ -2353,7 +2353,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2403,7 +2403,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = optimization_guide::prefs::kFindsEnterprisePolicyAllowed, base::Value::Type::INTEGER}, #endif -#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 }, -@@ -2438,7 +2438,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2493,7 +2493,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 }, -@@ -2449,7 +2449,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - { key::kGeminiActOnWebSettings, - glic::prefs::kGlicActuationOnWeb, +@@ -2504,7 +2504,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kThirdPartyAiChatSettings, + omnibox::kThirdPartyAiChatSettings, base::Value::Type::INTEGER }, -#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 }, -@@ -2624,7 +2624,7 @@ std::unique_ptr BuildH +@@ -2693,7 +2693,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, -@@ -2895,7 +2895,7 @@ std::unique_ptr BuildH +@@ -2847,7 +2847,7 @@ std::unique_ptr BuildH + SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, + SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED)); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + handlers->AddHandler( + std::make_unique< + enterprise_custom_headers::HttpHeaderInjectionPolicyHandler>( +@@ -2972,7 +2972,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()); -@@ -2988,7 +2988,7 @@ std::unique_ptr BuildH +@@ -3065,7 +3065,7 @@ std::unique_ptr BuildH base::Value::Type::BOOLEAN))); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || 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) handlers->AddHandler(std::make_unique( std::make_unique( key::kSecuritySignalsClientCertificatesSelectors, -@@ -3350,7 +3350,7 @@ std::unique_ptr BuildH +@@ -3425,7 +3425,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( -@@ -3358,7 +3358,7 @@ std::unique_ptr BuildH +@@ -3433,7 +3433,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)); -@@ -3411,7 +3411,7 @@ std::unique_ptr BuildH +@@ -3486,7 +3486,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::kHelpMeWriteSettings, optimization_guide::prefs::kComposeEnterprisePolicyAllowed); +@@ -3623,7 +3623,7 @@ std::unique_ptr BuildH + glic::prefs::kGlicActuationOnWebBlockedForURLs)); + + #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::kGeminiEnterpriseSettings, glic::prefs::kGlicGeminiEnterpriseSettings, + chrome_schema, SCHEMA_ALLOW_UNKNOWN, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc index 954c2b4c1c60..a5ffc5071863 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/developer_tools_policy_checker_factory.cc.orig 2025-12-06 13:30:52 UTC +--- chrome/browser/policy/developer_tools_policy_checker_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/policy/developer_tools_policy_checker_factory.cc @@ -58,7 +58,7 @@ void DeveloperToolsPolicyCheckerFactory::RegisterProfi - static_cast(DeveloperToolsPolicyHandler::Availability:: + static_cast(DeveloperToolsAvailability:: kDisallowedForForceInstalledExtensions)); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityAllowlist); registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityBlocklist); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc index 02396dd7dec4..0198cd697cfb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/policy/policy_value_and_status_aggregator.cc -@@ -53,7 +53,7 @@ +@@ -54,7 +54,7 @@ #include "chrome/browser/policy/value_provider/extension_policies_value_provider.h" #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) -#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/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index 455f99542e6f..520e9ed9f494 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,68 +1,68 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -326,7 +326,7 @@ +@@ -339,7 +339,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 -@@ -512,11 +512,11 @@ +@@ -526,11 +526,11 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) #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/40147906 #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 -@@ -544,7 +544,7 @@ +@@ -558,7 +558,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 -@@ -1533,7 +1533,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1511,7 +1511,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 -@@ -1693,7 +1693,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1672,7 +1672,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 -@@ -2095,13 +2095,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2093,13 +2093,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/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc index 8134eacfef5d..daff744248b3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2025-04-15 08:30:07 UTC +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/prefs/pref_service_incognito_allowlist.cc -@@ -203,7 +203,7 @@ const char* const kPersistentPrefNames[] = { +@@ -202,7 +202,7 @@ const char* const kPersistentPrefNames[] = { prefs::kShowFullscreenToolbar, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Toggleing custom frames affects all open windows in the profile, hence // should be written to the regular profile when changed in incognito mode. prefs::kUseCustomChromeFrame, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc index 3522d817ad29..d807247e1ea8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -1,29 +1,29 @@ ---- chrome/browser/printing/print_backend_service_manager.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/printing/print_backend_service_manager.cc @@ -35,7 +35,7 @@ #include "printing/printing_context.h" #include "printing/printing_features.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "content/public/common/content_switches.h" #include "ui/linux/linux_ui.h" #endif -@@ -885,7 +885,7 @@ PrintBackendServiceManager::GetServiceFromBundle( +@@ -871,7 +871,7 @@ PrintBackendServiceManager::GetServiceFromBundle( << remote_id << "`"; std::vector extra_switches; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { extra_switches = linux_ui->GetCmdLineFlagsForCopy(); } -@@ -1071,7 +1071,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate +@@ -1043,7 +1043,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate return kNoClientsRegisteredResetOnIdleTimeout; case ClientType::kQueryWithUi: -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No need to update if there were other query with UI clients. if (HasQueryWithUiClientForRemoteId(remote_id)) { return std::nullopt; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__test__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__test__utils.cc index b2303191d92b..ece3ecf817eb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__test__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__test__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/printing/print_test_utils.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/printing/print_test_utils.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/printing/print_test_utils.cc -@@ -130,7 +130,7 @@ std::unique_ptr MakeUserModifiedPrintSe +@@ -138,7 +138,7 @@ std::unique_ptr MakeUserModifiedPrintSe data.Set(kMacSystemPrintDialogDataPrintSettings, base::Value::BlobStorage({0xB2})); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) data.Set(kLinuxSystemPrintDialogDataPrinter, printer_name); data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings"); data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup"); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 22fa5fd7470a..f3bbeb6e3489 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,210 +1,214 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -33,7 +33,7 @@ - #include "chrome/browser/autofill/autocomplete_history_manager_factory.h" +@@ -321,7 +321,7 @@ + #include "ui/webui/buildflags.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/autofill/at_memory_promo_tracker_factory.h" + #include "components/enterprise/network_header_injection/core/features.h" // nogncheck #endif - -@@ -410,7 +410,7 @@ +@@ -435,7 +435,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" -@@ -460,7 +460,7 @@ + #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" + #endif +@@ -483,7 +483,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" -@@ -471,11 +471,11 @@ + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_service_factory.h" // nogncheck +@@ -498,11 +498,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" -@@ -563,7 +563,7 @@ +@@ -590,7 +590,7 @@ #include "chrome/browser/sessions/session_service_factory.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/gapis/gapis_service_factory.h" #include "components/gapis/features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -704,7 +704,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -737,7 +737,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) AutoPictureInPictureHatsServiceFactory::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) AccountsPolicyManagerFactory::GetInstance(); search_integrity::SearchIntegrityFactory::GetInstance(); #endif -@@ -801,7 +801,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -837,7 +837,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(); -@@ -865,7 +865,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -901,7 +901,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(); -@@ -882,7 +882,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -919,7 +919,7 @@ void ChromeBrowserMainExtraPartsProfiles:: contextual_tasks::ContextualTasksUiServiceFactory::GetInstance(); 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) glic::ContextualCueingServiceFactory::GetInstance(); #endif ContextualSearchServiceFactory::GetInstance(); -@@ -939,11 +939,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -969,7 +969,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif enterprise_connectors::ConnectorsServiceFactory::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 +@@ -978,7 +978,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + enterprise_connectors::ExtensionInstallEventRouterFactory::GetInstance(); + enterprise_connectors::ExtensionTelemetryEventRouterFactory::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(); -@@ -956,7 +956,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -992,7 +992,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + } + #endif + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (enterprise_custom_headers::IsHttpHeaderInjectionEnabled()) { + enterprise_custom_headers::HttpHeaderInjectionServiceFactory::GetInstance(); + } +@@ -1006,7 +1006,7 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_groups::EnterpriseGroupsProfileHandlerFactory::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 -@@ -964,14 +964,14 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1017,14 +1017,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) -@@ -1018,7 +1018,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if !BUILDFLAG(IS_ANDROID) +@@ -1074,7 +1074,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_CHROMEOS) GalleryWatchManager::EnsureFactoryBuilt(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(gapis::kEnableGapis)) { GapisServiceFactory::GetInstance(); } -@@ -1115,7 +1115,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1170,7 +1170,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 - ProfileMetricsServiceFactory::GetInstance(); -@@ -1123,7 +1123,7 @@ void ChromeBrowserMainExtraPartsProfiles:: - MicrosoftAuthServiceFactory::GetInstance(); - #endif - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - multistep_filter::MultistepFilterServiceFactory::GetInstance(); - #endif - #if !BUILDFLAG(IS_ANDROID) -@@ -1209,7 +1209,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + private_insights::PrivateInsightsServiceFactory::GetInstance(); +@@ -1269,7 +1269,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(); -@@ -1255,7 +1255,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1321,7 +1321,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(); -@@ -1265,7 +1265,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1331,7 +1331,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 PredictionServiceFactory::GetInstance(); -@@ -1285,7 +1285,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1353,7 +1353,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 -@@ -1305,7 +1305,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1375,7 +1375,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(); -@@ -1494,7 +1494,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1573,7 +1573,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) autofill::AtMemoryPromoTrackerFactory::GetInstance(); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc index d1ef560d73dc..ba500648f792 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,58 +1,67 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -263,7 +263,7 @@ +@@ -268,7 +268,7 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/gapis/gapis_service_factory.h" #include "components/gapis/gapis_service.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -272,6 +272,10 @@ +@@ -277,6 +277,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; -@@ -608,7 +612,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -638,7 +642,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() -@@ -791,7 +795,7 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) + if (GetTestingCloudPolicyManagerFactory()) { + auto result = GetTestingCloudPolicyManagerFactory().Run(this); + if (std::holds_alternative< +@@ -657,7 +661,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + if (!cloud_policy_manager) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ProfileAttributesEntry* entry = nullptr; + if (g_browser_process->profile_manager()) { + entry = g_browser_process->profile_manager() +@@ -850,7 +854,7 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Bootstrap and initialize the Gapis service. if (gapis::GapisService* gapis_service = GapisServiceFactory::GetForProfile(this)) { -@@ -882,7 +886,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -941,7 +945,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/ungoogled-chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/ungoogled-chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc index 4d0107c2af5a..9a3e4d22be17 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc +++ b/www/ungoogled-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-06-12 07:58:04 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -268,7 +268,7 @@ +@@ -285,7 +285,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) -@@ -5170,7 +5170,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { - #endif // !BUILDFLAG(IS_ANDROID) +@@ -5870,7 +5870,7 @@ void RenderViewContextMenu::AppendRevisedTextSelection + } #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/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc index 9f4d434a0ad9..7bcdce97ec81 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,44 +1,44 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/renderer_preferences_util.cc -@@ -37,12 +37,12 @@ +@@ -36,12 +36,12 @@ #include "ui/base/ui_base_features.h" #include "ui/native_theme/native_theme.h" -#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) +#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -111,7 +111,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -108,7 +108,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc Profile* profile) { const PrefService* pref_service = profile->GetPrefs(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif prefs->focus_ring_color = BUILDFLAG(IS_MAC) ? SkColorSetRGB(0x00, 0x5F, 0xCC) -@@ -125,7 +125,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -122,7 +122,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc prefs->inactive_selection_fg_color = SK_ColorBLACK; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile)) { if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { linux_ui_theme->GetFocusRingColor(&prefs->focus_ring_color); -@@ -142,7 +142,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -139,7 +139,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc #endif // BUILDFLAG(IS_LINUX) #endif // BUILDFLAG(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { prefs->middle_click_paste_allowed = linux_ui->PrimaryPasteEnabled(); } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc index 75e70cf70050..82e1d524bfd0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1315,7 +1315,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1382,7 +1382,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/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc index a54878db307c..9ba0f7735c5b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc @@ -19,7 +19,7 @@ #include "content/public/browser/web_contents.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_window/public/browser_window_features.h" #include "chrome/browser/ui/browser_window/public/browser_window_interface.h" #include "chrome/browser/ui/browser_window/public/profile_browser_collection.h" -@@ -74,7 +74,7 @@ bool SafeBrowsingPrefChangeHandler::SuppressNotificati - void SafeBrowsingPrefChangeHandler:: - MaybeShowEnhancedProtectionSettingChangeNotification() { +@@ -74,7 +74,7 @@ void SafeBrowsingPrefChangeHandler:: + MaybeShowEnhancedProtectionSettingChangeNotification( + content::WebContents* web_contents) { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!profile_ || !base::FeatureList::IsEnabled(safe_browsing::kEsbAsASyncedSetting)) { return; -@@ -249,7 +249,7 @@ void SafeBrowsingPrefChangeHandler:: +@@ -260,7 +260,7 @@ void SafeBrowsingPrefChangeHandler:: } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void SafeBrowsingPrefChangeHandler::SetToastControllerForTesting( ToastController* controller) { toast_controller_for_testing_ = controller; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h index 3cb76364d272..d0672f44ece2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.h @@ -1,29 +1,29 @@ ---- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.h @@ -21,7 +21,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/toasts/toast_controller.h" #endif -@@ -64,7 +64,7 @@ class SafeBrowsingPrefChangeHandler { - virtual void MaybeShowEnhancedProtectionSettingChangeNotification(); +@@ -72,7 +72,7 @@ class SafeBrowsingPrefChangeHandler { + } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void SetToastControllerForTesting(ToastController* controller); #endif -@@ -77,7 +77,7 @@ class SafeBrowsingPrefChangeHandler { +@@ -85,7 +85,7 @@ class SafeBrowsingPrefChangeHandler { raw_ptr profile_; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) raw_ptr toast_controller_for_testing_ = nullptr; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc index d9b929830231..e5b956bf8263 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/safe_browsing/safe_browsing_service.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/safe_browsing/safe_browsing_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/safe_browsing/safe_browsing_service.cc -@@ -80,7 +80,7 @@ +@@ -81,7 +81,7 @@ #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/safe_browsing/security_settings_bundle_toast_helper.h" #endif -@@ -186,7 +186,7 @@ void TriggerSecuritySettingsBundleToastIfNeeded( +@@ -172,7 +172,7 @@ void TriggerSecuritySettingsBundleToastIfNeeded( } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (GetSecurityBundleSetting(*profile->GetPrefs()) == SecuritySettingsBundleSetting::ENHANCED) { SecuritySettingsBundleToastHelper::GetForProfile(profile.get()) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_security__settings__bundle__pref__change__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_security__settings__bundle__pref__change__handler.cc index 1a59b29c0cfc..797ac21b18ab 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_security__settings__bundle__pref__change__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_security__settings__bundle__pref__change__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/safe_browsing/security_settings_bundle_pref_change_handler.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/safe_browsing/security_settings_bundle_pref_change_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/safe_browsing/security_settings_bundle_pref_change_handler.cc @@ -11,7 +11,7 @@ #include "components/safe_browsing/core/common/safe_browsing_prefs.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/safe_browsing/security_settings_bundle_toast_helper.h" - #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window/public/browser_window_features.h" + #include "chrome/browser/ui/browser_window/public/browser_window_interface.h" @@ -33,7 +33,7 @@ SecuritySettingsBundlePrefChangeHandler:: void SecuritySettingsBundlePrefChangeHandler:: MaybeShowEnhancedBundleSettingChangeNotification() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!profile_ || !base::FeatureList::IsEnabled(safe_browsing::kBundledSecuritySettings)) { return; @@ -59,7 +59,7 @@ void SecuritySettingsBundlePrefChangeHandler:: } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void SecuritySettingsBundlePrefChangeHandler::SetToastControllerForTesting( ToastController* controller) { toast_controller_for_testing_ = controller; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc b/www/ungoogled-chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc index d9592817c67b..0c09750a1582 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc @@ -1,11 +1,11 @@ ---- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2025-04-15 08:30:07 UTC +--- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/screen_ai/screen_ai_install_state.cc -@@ -30,7 +30,7 @@ bool IsDeviceCompatible() { - // TODO(crbug.com/381256355): Update when ScreenAI library is compatible with - // older CPUs. +@@ -28,7 +28,7 @@ bool IsDeviceCompatible() { + // Check if the CPU has the required instruction set to run the Screen AI + // library. static const bool device_compatible = base::CPU().has_sse42(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, the library is only built for X86 CPUs. static constexpr bool device_compatible = false; #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sessions_session__restore.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sessions_session__restore.cc index 64d10ca9f41d..341d5b7b06be 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sessions_session__restore.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sessions_session__restore.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sessions/session_restore.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/sessions/session_restore.cc -@@ -117,7 +117,7 @@ +@@ -123,7 +123,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) -@@ -1217,7 +1217,7 @@ class SessionRestoreImpl : public BrowserCollectionObs +@@ -1295,7 +1295,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/ungoogled-chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc index ea4c1e67fdd7..d252d1ff0a33 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc @@ -1,11 +1,11 @@ ---- chrome/browser/signin/chrome_signin_client.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/signin/chrome_signin_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/signin/chrome_signin_client.cc -@@ -141,7 +141,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo +@@ -159,7 +159,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo std::string HatsSurveyTriggerForAccessPoint( signin_metrics::AccessPoint access_point) { switch (access_point) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case signin_metrics::AccessPoint::kAddressBubble: return kHatsSurveyTriggerIdentityAddressBubbleSignin; case signin_metrics::AccessPoint::kAvatarBubbleSignIn: diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__hats__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__hats__util.cc index f07d9a4abd41..19999137f001 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__hats__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__hats__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/signin/signin_hats_util.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/signin/signin_hats_util.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/signin/signin_hats_util.cc @@ -45,7 +45,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"; -@@ -224,7 +224,7 @@ void LaunchHatsSurveyForProfileInternal( +@@ -231,7 +231,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 || !IsSurveyEnabledForHatsTrigger(trigger)) { return; } -@@ -270,7 +270,7 @@ void LaunchHatsSurveyForProfile(const std::string& tri +@@ -277,7 +277,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/ungoogled-chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__util.cc index c885d27ca205..8180c078c4ef 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/signin/signin_util.cc.orig 2026-03-15 18:32:51 UTC +--- chrome/browser/signin/signin_util.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/signin/signin_util.cc -@@ -48,7 +48,7 @@ +@@ -47,7 +47,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_finder.h" #include "chrome/browser/ui/dialogs/browser_dialogs.h" #include "components/strings/grit/components_strings.h" -@@ -373,7 +373,7 @@ bool IsSyncingUserSelectableTypesAllowedByPolicy( + #include "ui/base/interaction/element_identifier.h" +@@ -371,7 +371,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/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc index 5edf35cc482d..6de963709bbe 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2025-12-06 13:30:52 UTC +--- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/supervised_user/supervised_user_browser_utils.cc -@@ -40,7 +40,7 @@ +@@ -38,7 +38,7 @@ #include "chrome/browser/ash/profiles/profile_helper.h" #include "components/user_manager/user.h" #include "components/user_manager/user_type.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_blocked_sites.h" #include "chrome/browser/supervised_user/supervised_user_verification_page_youtube.h" -@@ -157,7 +157,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool +@@ -155,7 +155,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool #endif } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::string CreateReauthenticationInterstitialForYouTube( content::NavigationHandle& navigation_handle) { content::WebContents* web_contents = navigation_handle.GetWebContents(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc index c5d48c0c7fc5..de3ca9355fa4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2026-01-16 13:40:34 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc -@@ -193,7 +193,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte +@@ -249,7 +249,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte return; } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) CHECK(contents.value()); content::WebContents* web_contents = contents.value().get(); // Always invoke the parent permission dialog. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc index 857c1cf50629..3d0c02f594f1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/sync/chrome_sync_controller_builder.cc -@@ -297,7 +297,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService +@@ -327,7 +327,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService #if BUILDFLAG(ENABLE_SPELLCHECK) // Chrome prefers OS provided spell checkers where they exist. So only sync // the custom dictionary on platforms that typically don't provide one. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Dictionary sync is enabled by default. if (spellcheck_service_.value()) { controllers.push_back( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc index 33f3e0308c8b..ee3b3ee4fd64 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/sync/device_info_sync_client_impl.cc -@@ -38,7 +38,7 @@ DeviceInfoSyncClientImpl::~DeviceInfoSyncClientImpl() +@@ -39,7 +39,7 @@ DeviceInfoSyncClientImpl::~DeviceInfoSyncClientImpl() std::string DeviceInfoSyncClientImpl::GetSigninScopedDeviceId() const { // Since the local sync backend is currently only supported on Windows, Mac and // Linux don't even check the pref on other os-es. -#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()); if (prefs.IsLocalSyncEnabled()) { return "local_device"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc index 30ddea229e4a..a2e7b35f71fa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/sync/sync_service_factory.cc -@@ -139,7 +139,7 @@ namespace { +@@ -141,7 +141,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); -@@ -430,7 +430,7 @@ std::unique_ptr BuildSyncService( +@@ -432,7 +432,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/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc index 8a4b81c9dc10..d3b228097fa8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc @@ -1,29 +1,29 @@ ---- chrome/browser/themes/theme_service.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/themes/theme_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/themes/theme_service.cc -@@ -75,7 +75,7 @@ +@@ -77,7 +77,7 @@ #include "extensions/browser/extension_registry_observer.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/time/time.h" #include "ui/linux/linux_ui.h" #include "ui/linux/linux_ui_factory.h" -@@ -260,7 +260,7 @@ std::unique_ptr ThemeService::Creat +@@ -275,7 +275,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 -@@ -391,7 +391,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() +@@ -406,7 +406,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/ungoogled-chromium/files/patch-chrome_browser_ui_accelerator__table.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_accelerator__table.cc index 87ade95a6f9f..78bba36e5a74 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_accelerator__table.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_accelerator__table.cc @@ -1,43 +1,43 @@ ---- chrome/browser/ui/accelerator_table.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/accelerator_table.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/accelerator_table.cc @@ -77,11 +77,11 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_PREVIOUS}, @@ -109,7 +109,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, -@@ -160,7 +160,7 @@ const AcceleratorMapping kAcceleratorMap[] = { - IDC_SHOW_AVATAR_MENU}, +@@ -162,7 +162,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + IDC_TOGGLE_VERTICAL_TABS_COLLAPSE}, // Platform-specific key maps. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, -@@ -315,7 +315,7 @@ std::vector GetAcceleratorList() { +@@ -317,7 +317,7 @@ std::vector GetAcceleratorList() { std::begin(kDevToolsAcceleratorMap), std::end(kDevToolsAcceleratorMap)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) accelerators->emplace_back(AcceleratorMapping( {ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_NEW_SPLIT_TAB})); #elif BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 028c72ccfbcb..f3116a8ecb02 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -542,7 +542,7 @@ +@@ -527,7 +527,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/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc index 55849b3a438a..601e52abb35c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/autofill/chrome_autofill_client.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/autofill/chrome_autofill_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -315,7 +315,7 @@ ChromeAutofillClient::~ChromeAutofillClient() { +@@ -327,7 +327,7 @@ ChromeAutofillClient::~ChromeAutofillClient() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChromeAutofillClient::AtMemoryPromoObserver::AtMemoryPromoObserver( ChromeAutofillClient* client) : content::WebContentsObserver(client->web_contents()), client_(*client) {} diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h index e208298946ee..7cfbb9fda2e5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h @@ -1,20 +1,29 @@ ---- chrome/browser/ui/autofill/chrome_autofill_client.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/autofill/chrome_autofill_client.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/autofill/chrome_autofill_client.h -@@ -121,7 +121,7 @@ class ChromeAutofillClient : public ContentAutofillCli +@@ -125,7 +125,7 @@ class ChromeAutofillClient : public ContentAutofillCli ~ChromeAutofillClient() override; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ShowAutofillAtMemoryPromo(); #endif -@@ -394,7 +394,7 @@ class ChromeAutofillClient : public ContentAutofillCli - std::unique_ptr actor_key_metrics_recorder_; +@@ -346,7 +346,7 @@ class ChromeAutofillClient : public ContentAutofillCli + protected: #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) class AtMemoryPromoObserver : public content::WebContentsObserver { public: explicit AtMemoryPromoObserver(ChromeAutofillClient* client); +@@ -449,7 +449,7 @@ class ChromeAutofillClient : public ContentAutofillCli + std::unique_ptr actor_key_metrics_recorder_; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + AtMemoryPromoObserver at_memory_promo_observer_{this}; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h index 95c675d74538..15568b78d337 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/browser.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser.h -@@ -251,7 +251,7 @@ class Browser : public TabStripModelObserver, +@@ -239,7 +239,7 @@ class Browser : public TabStripModelObserver, std::optional display_id; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When the browser window is shown, the desktop environment is notified // using this ID. In response, the desktop will stop playing the "waiting // for startup" animation (if any). diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__actions.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__actions.cc new file mode 100644 index 000000000000..bc3d9d50d848 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__actions.cc @@ -0,0 +1,47 @@ +--- chrome/browser/ui/browser_actions.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/browser_actions.cc +@@ -223,7 +223,7 @@ + #include "chrome/browser/ui/views/download/bubble/download_toolbar_ui_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/common/pref_names.h" + #include "components/prefs/pref_service.h" + #endif +@@ -2197,7 +2197,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + .Build()); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( +@@ -2292,7 +2292,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + .SetActionId(kActionExit) + .Build()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( +@@ -3226,7 +3226,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + base::BindRepeating( + [](BrowserWindowInterface* bwi, actions::ActionItem* item, + actions::ActionInvocationContext context) { +-#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( + bwi->GetBrowserForMigrationOnly()); + #else +@@ -3867,7 +3867,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + #endif + + #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)) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index f9762168beaa..0fc046ad64d0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,74 +1,90 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -159,7 +159,7 @@ +@@ -170,7 +170,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" -@@ -169,7 +169,7 @@ +@@ -180,7 +180,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) -@@ -463,7 +463,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -484,7 +484,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(); -@@ -778,7 +778,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -817,7 +817,7 @@ void BrowserCommandController::HandleCommandWithDispos break; #endif --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case IDC_MINIMIZE_WINDOW: - browser_->window()->Minimize(); + browser_->GetWindow()->Minimize(); break; -@@ -1018,7 +1018,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -830,7 +830,7 @@ void BrowserCommandController::HandleCommandWithDispos + + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case IDC_USE_SYSTEM_TITLE_BAR: { + PrefService* prefs = profile()->GetPrefs(); + prefs->SetBoolean(prefs::kUseCustomChromeFrame, +@@ -1091,7 +1091,7 @@ void BrowserCommandController::HandleCommandWithDispos 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( -@@ -1215,7 +1215,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1306,7 +1306,7 @@ void BrowserCommandController::HandleCommandWithDispos #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 -@@ -1615,7 +1615,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); +@@ -1736,13 +1736,13 @@ 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) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + command_updater_->UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); + command_updater_->UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); + command_updater_->UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) + -#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); -@@ -2000,7 +2000,7 @@ void BrowserCommandController::UpdateCommandsForTabSta + bool use_system_title_bar = true; + #if BUILDFLAG(IS_OZONE) + use_system_title_bar = ui::OzonePlatform::GetInstance() +@@ -2135,7 +2135,7 @@ void BrowserCommandController::UpdateCommandsForTabSta bool can_create_web_app = web_app::CanCreateWebApp(browser_); - command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); + 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( + command_updater_->UpdateCommandEnabled( IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(current_web_contents)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc index d892a7953959..fc0c8a1835af 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser_commands.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -2435,7 +2435,7 @@ void OpenUpdateChromeDialog(BrowserWindowInterface* br +@@ -2578,7 +2578,7 @@ void OpenUpdateChromeDialog(BrowserWindowInterface* br 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/ungoogled-chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc index 97451cd76c48..57988c0fc0fb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser_ui_prefs.cc @@ -91,7 +91,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, @@ -112,7 +112,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) -@@ -230,7 +230,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -233,7 +233,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/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc index 4eac8d2651e4..68279fd192fb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser_window/internal/browser_window_features.cc -@@ -206,7 +206,7 @@ +@@ -213,7 +213,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 -@@ -540,7 +540,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac - call_to_action_lock_ = - GetUserDataFactory().CreateInstance(*browser, browser); +@@ -460,7 +460,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac + browser); + #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) profile_customization_bubble_sync_controller_ = std::make_unique(browser, profile); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h index 6d2aa699c03f..795bd1666f9c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h @@ -1,29 +1,38 @@ ---- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/browser_window/public/browser_window_features.h -@@ -121,7 +121,7 @@ class PinInfoBarController; - } // namespace default_browser +@@ -102,7 +102,7 @@ class ZoomBubbleManager; + class WindowsTaskbarIconUpdater; #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; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -205,7 +205,7 @@ namespace send_tab_to_self { + class SendTabToSelfToolbarBubbleController; + } // namespace send_tab_to_self + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace session_restore_infobar { class SessionRestoreInfobarController; -@@ -445,7 +445,7 @@ class BrowserWindowFeatures { - return browser_select_file_dialog_controller_.get(); + } // namespace session_restore_infobar +@@ -432,7 +432,7 @@ class BrowserWindowFeatures { + return pinned_toolbar_actions_; } -#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(); -@@ -647,7 +647,7 @@ class BrowserWindowFeatures { - std::unique_ptr - browser_select_file_dialog_controller_; +@@ -740,7 +740,7 @@ class BrowserWindowFeatures { + pin_infobar_controller_; + #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 profile_customization_bubble_sync_controller_; - + std::unique_ptr diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc index a4f44720b8e1..86e2b3cc6247 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,44 +1,20 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/chrome_pages.cc -@@ -85,12 +85,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) -@@ -256,7 +256,7 @@ bool SiteGURLIsValid(const GURL& url) { +@@ -252,7 +252,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) -@@ -403,7 +403,7 @@ void ShowChromeTips(BrowserWindowInterface* browser) { +@@ -397,7 +397,7 @@ void ShowChromeTips(BrowserWindowInterface* 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(BrowserWindowInterface* browser) { ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL)); } -@@ -694,7 +694,7 @@ void ShowSharedTabGroupActivity(Profile* profile) { - GURL(data_sharing::features::kActivityLogsURL.Get())); - } - --#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(BrowserWindowInterface* browser, - Profile* profile, - const std::string& app_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h deleted file mode 100644 index 557d72714c05..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/ui/chrome_pages.h.orig 2026-05-09 18:09:27 UTC -+++ chrome/browser/ui/chrome_pages.h -@@ -37,7 +37,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 -@@ -161,7 +161,7 @@ void ShowSharedTabGroupActivity(Profile* profile); - void ShowEnterpriseManagementPageInTabbedBrowser( - BrowserWindowInterface* browser); - --#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(BrowserWindowInterface* browser, - const std::string& app_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.cc index 3f902015a33d..14f3e9be8ac2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/hats/survey_config.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/hats/survey_config.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/hats/survey_config.cc -@@ -579,7 +579,7 @@ std::vector GetAllSurveyConfigs() +@@ -586,7 +586,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/ungoogled-chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc index e447a5d0af61..759a850f6c05 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2026-04-15 11:25:12 UTC +--- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc -@@ -2002,7 +2002,7 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() { - return omnibox::kShareMacChromeRefreshIcon; - #elif BUILDFLAG(IS_WIN) - return omnibox::kShareWinChromeRefreshIcon; +@@ -2009,7 +2009,7 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() { + return features::IsRoundedIconsEnabled() + ? omnibox::kShareWindowsIcon + : omnibox::kShareWinChromeRefreshOldIcon; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return omnibox::kShareLinuxChromeRefreshIcon; - #else - return omnibox::kShareChromeRefreshIcon; + return features::IsRoundedIconsEnabled() + ? omnibox::kSendIcon + : omnibox::kShareLinuxChromeRefreshOldIcon; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc index 3b34aac20adc..9276ed6828e0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc -@@ -117,7 +117,7 @@ namespace { +@@ -120,7 +120,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; -@@ -623,7 +623,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor +@@ -629,7 +629,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/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc index c55d75d11975..baa6b600786e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -489,7 +489,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -509,7 +509,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) { -@@ -506,7 +506,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -526,7 +526,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/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h index 8a2a06c6d924..abf575180f64 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller.h.orig 2026-03-15 18:32:51 UTC +--- chrome/browser/ui/signin/signin_view_controller.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/signin/signin_view_controller.h -@@ -171,7 +171,7 @@ class SigninViewController { +@@ -177,7 +177,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/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc index 00155561a115..669d8cce9eab 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -114,7 +114,7 @@ const char* const kBadFlags[] = { - extensions::switches::kExtensionsOnExtensionURLs, +@@ -119,7 +119,7 @@ const char* const kBadFlags[] = { + extensions::switches::kAllowlistedExtensionID, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Speech dispatcher is buggy, it can crash and it can make Chrome freeze. // http://crbug.com/40078530 switches::kEnableSpeechDispatcher, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc index 49ab7f5f0549..78ac836426df 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_infobar__utils.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/infobar_utils.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/startup/infobar_utils.cc.orig 2026-08-13 07:41:05 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 -@@ -216,7 +216,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br +@@ -219,7 +219,7 @@ void AddInfoBarsIfNecessary(BrowserWindowInterface* br return; } -#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/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc index 561ecfe25833..8f9d60ce8237 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc -@@ -134,7 +134,7 @@ +@@ -133,7 +133,7 @@ #include "chrome/credential_provider/common/gcp_strings.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_util.h" #include "chrome/browser/ui/startup/web_app_info_recorder_utils.h" #include "components/headless/policy/headless_mode_policy.h" -@@ -980,7 +980,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -979,7 +979,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())) { -@@ -1063,7 +1063,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1062,7 +1062,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) && -@@ -1284,7 +1284,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1283,7 +1283,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/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index 184b0b5d2168..8b367819c6c2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -66,7 +66,7 @@ - #include "content/public/browser/storage_partition.h" +@@ -67,7 +67,7 @@ #include "content/public/common/content_switches.h" + #include "url/origin.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif -@@ -88,7 +88,7 @@ +@@ -89,7 +89,7 @@ #include "chrome/browser/ui/browser_window/public/profile_browser_collection.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" -@@ -160,7 +160,7 @@ Browser* GetExistingBrowserForOpenBehavior( +@@ -162,7 +162,7 @@ Browser* GetExistingBrowserForOpenBehavior( BrowserCollection::Order::kActivation); #endif -#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(); -@@ -247,7 +247,7 @@ void StartupBrowserCreatorImpl::Launch( +@@ -250,7 +250,7 @@ void StartupBrowserCreatorImpl::Launch( DCHECK(profile); profile_ = profile; -#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)) { if (auto* search_integrity_service = -@@ -318,7 +318,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -321,7 +321,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 -@@ -348,7 +348,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -351,7 +351,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 diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_url__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_url__util.cc index 271f369266c9..f2171ef0706c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_url__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_url__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/url_util.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/startup/url_util.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/startup/url_util.cc @@ -13,7 +13,7 @@ #include "url/gurl.h" #include "url/url_constants.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/headless/headless_mode_util.h" #endif -@@ -39,7 +39,7 @@ bool ValidateLaunchUrl(const GURL& url) { +@@ -59,7 +59,7 @@ bool ValidateLaunchUrlWebUnsafe(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/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc index 6d25d54057a3..7b649b3a7dbc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,26 +1,26 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -220,7 +220,7 @@ +@@ -218,7 +218,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" -@@ -755,12 +755,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -752,12 +752,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/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h index e428396ad20a..6238a7ce09b4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h @@ -1,29 +1,28 @@ ---- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/tabs/public/tab_features.h -@@ -155,7 +155,7 @@ class TabContextualizationController; +@@ -153,7 +153,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 -@@ -563,7 +563,7 @@ class TabFeatures { - skills_ui_tab_controller_; +@@ -568,14 +568,14 @@ class TabFeatures { + page_context_eligibility_helper_; #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 -@@ -574,7 +574,7 @@ class TabFeatures { - std::unique_ptr skills_update_observer_; - #endif // !BUILDFLAG(IS_ANDROID) + std::unique_ptr + contextual_tasks_tab_visit_tracker_; -#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/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc index 09ac4ada65f6..c8ac5d98ea36 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/tabs/tab_features.cc -@@ -101,7 +101,7 @@ +@@ -107,7 +107,7 @@ #include "components/multistep_filter/core/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/record_replay/chrome_record_replay_client.h" #include "chrome/browser/ui/views/location_bar/record_replay_page_action_controller.h" -@@ -480,7 +480,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -539,7 +539,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(); -@@ -557,7 +557,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro - std::make_unique(tab); - } +@@ -630,7 +630,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro + GetUserDataFactory().CreateInstance( + tab, tab); -#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( -@@ -566,7 +566,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -639,7 +639,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(multistep_filter::kMultistepFilter)) { filter_ui_controller_ = GetUserDataFactory() diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc deleted file mode 100644 index 0e045980ad84..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2026-06-05 13:45:06 UTC -+++ chrome/browser/ui/tabs/tab_strip_prefs.cc -@@ -29,7 +29,7 @@ namespace tabs { - - bool GetDefaultTabSearchRightAligned() { - // These platforms are all left aligned, the others should be right. --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - return false; - #else - return true; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc index c695e17f826f..60aaba917f0b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/test/popup_browsertest.cc.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/test/popup_browsertest.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/test/popup_browsertest.cc -@@ -76,7 +76,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo +@@ -79,7 +79,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo const display::Display display = GetDisplayNearestBrowser(popup); - gfx::Rect expected(popup->window()->GetBounds().size()); + gfx::Rect expected(popup->GetWindow()->GetBounds().size()); expected.AdjustToFit(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux window bounds are inaccurate. expected.Outset(50); - EXPECT_TRUE(expected.Contains(popup->window()->GetBounds())) -@@ -108,7 +108,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent + EXPECT_TRUE(expected.Contains(popup->GetWindow()->GetBounds())) +@@ -111,7 +111,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent // The popup should be constrained to the opener's available display space. EXPECT_EQ(display, GetDisplayNearestBrowser(popup)); gfx::Rect work_area(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux bounds flakily extend outside the // work area on trybots, when opening with excessive width and height, e.g.: // width=${screen.availWidth+300},height=${screen.availHeight+300} yields: diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc new file mode 100644 index 000000000000..823e13f033c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/toolbar/app_menu_model.cc +@@ -251,7 +251,7 @@ std::u16string GetUpgradeDialogTitleText() { + return l10n_util::GetStringUTF16(IDS_UPGRADE_BUBBLE_MENU_ITEM); + } + #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)) + return l10n_util::GetStringUTF16(IDS_RELAUNCH_TO_UPDATE_ALT); + #else + return l10n_util::GetStringUTF16(IDS_RELAUNCH_TO_UPDATE); +@@ -2208,7 +2208,7 @@ void AppMenuModel::Build() { + + SetAccessibleNameAt(GetIndexOfCommandId(IDC_SHOW_MANAGEMENT_PAGE).value(), + GetManagedUiMenuItemTooltip(browser_->profile())); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (enterprise_util::IsBrowserManaged(browser_->profile()) && + base::FeatureList::IsEnabled(features::kEnterpriseReleaseNotes)) { + AddItemWithStringIdAndVectorIcon( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc index a42d40dca458..ccf41b011d9e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/ui_features.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/ui_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/ui_features.cc -@@ -42,7 +42,7 @@ BASE_FEATURE(kMenuSimplification, base::FEATURE_DISABL - BASE_FEATURE(kTabGroupColorRefresh, base::FEATURE_DISABLED_BY_DEFAULT); - BASE_FEATURE(kWebuiRefresh2026, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -102,7 +102,7 @@ bool IsWebuiRefresh2026Enabled() { + base::FeatureList::IsEnabled(kWebuiRefresh2026); + } -#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. -@@ -231,7 +231,7 @@ BASE_FEATURE(kManagedProfileRequiredInterstitial, +@@ -325,7 +325,7 @@ BASE_FEATURE(kManagedProfileRequiredInterstitial, 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 -@@ -352,7 +352,7 @@ bool IsBookmarkTabGroupConversionEnabled() { +@@ -433,7 +433,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, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.h index d3d82228c72b..90e28ec51f6a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/ui_features.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/ui_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/ui_features.h -@@ -23,7 +23,7 @@ BASE_DECLARE_FEATURE(kAllowEyeDropperWGCScreenCapture) +@@ -30,7 +30,7 @@ BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel - BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel); + BASE_DECLARE_FEATURE(kCtrlTabMru); -#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 -@@ -64,7 +64,7 @@ BASE_DECLARE_FEATURE_PARAM(int, +@@ -83,7 +83,7 @@ BASE_DECLARE_FEATURE_PARAM(int, BASE_DECLARE_FEATURE_PARAM(int, kSeparateDefaultAndPinPromptMessageVersion); #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); -@@ -243,7 +243,7 @@ BASE_DECLARE_FEATURE(kManagedProfileRequiredInterstiti +@@ -276,7 +276,7 @@ BASE_DECLARE_FEATURE(kManagedProfileRequiredInterstiti 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 diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc index 6a71f45d1d25..870f00c0b58d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2025-01-25 09:34:31 UTC +--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc -@@ -19,7 +19,7 @@ - #include "ui/menus/simple_menu_model.h" +@@ -17,7 +17,7 @@ + #include "ui/base/mojom/window_show_state.mojom.h" #include "ui/views/widget/widget.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -49,7 +49,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni +@@ -47,7 +47,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni const AppWindow::CreateParams& create_params, views::Widget::InitParams* init_params, views::Widget* widget) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string app_name = web_app::GenerateApplicationNameFromAppId(app_window()->extension_id()); // Set up a custom WM_CLASS for app windows. This allows task switchers in diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index 2f7fdb13f6e0..d91ef65bec53 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc +++ b/www/ungoogled-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 2026-04-15 11:25:12 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc -@@ -39,7 +39,7 @@ +@@ -50,7 +50,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 -@@ -126,7 +126,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -137,7 +137,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc index 6214246c827b..2fcd8c9a3b7d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2025-05-31 17:16:41 UTC +--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc -@@ -55,7 +55,7 @@ gfx::Insets BrowserFrameViewLayoutLinux::RestoredFrame +@@ -54,7 +54,7 @@ gfx::Insets BrowserFrameViewLayoutLinux::RestoredFrame OpaqueBrowserFrameViewLayout::RestoredFrameBorderInsets()); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = delegate_->IsTiled(); #else const bool tiled = false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index 026eeb49abdb..63fe76254a58 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/ungoogled-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-06-12 07:58:04 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2379,7 +2379,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2425,7 +2425,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) UpdateFastResizeForContentViews(is_dragging); if (!is_dragging) { -@@ -5722,7 +5722,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -5672,7 +5672,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; } -@@ -5733,7 +5733,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -5683,7 +5683,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc index 3d15a32aa1a8..e69fe5c8fb60 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/browser_widget.cc -@@ -52,7 +52,7 @@ +@@ -56,7 +56,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -86,7 +86,7 @@ class ThemeChangedObserver : public views::WidgetObser +@@ -90,7 +90,7 @@ class ThemeChangedObserver : public views::WidgetObser }; bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -205,7 +205,7 @@ void BrowserWidget::InitBrowserWidget() { +@@ -207,7 +207,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()); -@@ -532,7 +532,7 @@ void BrowserWidget::OnMenuClosed() { +@@ -490,7 +490,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(); -@@ -573,7 +573,7 @@ void BrowserWidget::OnTouchUiChanged() { +@@ -531,7 +531,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.cc new file mode 100644 index 000000000000..5441c2b2c73a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/contents_web_view.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/views/frame/contents_web_view.cc +@@ -171,7 +171,7 @@ void ContentsWebView::SetWebContents(content::WebConte + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void ContentsWebView::DidGetUserInteraction(const blink::WebInputEvent& event) { + // If the user interacts with the web contents, ensure it is activated. + // This handles cases where the native window does not receive a focus diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.h new file mode 100644 index 000000000000..ef6669ed7698 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_contents__web__view.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/contents_web_view.h.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/views/frame/contents_web_view.h +@@ -68,7 +68,7 @@ class ContentsWebView : public views::WebView, + // This allows the browser to force focus synchronization in split view even + // when native OS focus gets stuck on a different window (like a permission + // prompt). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void DidGetUserInteraction(const blink::WebInputEvent& event) override; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc index ef94f13759fd..1a5e9e2cc63b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc -@@ -170,7 +170,7 @@ int BrowserViewTabbedLayoutImpl::GetHorizontalTabStrip +@@ -254,7 +254,7 @@ int BrowserViewTabbedLayoutImpl::GetHorizontalTabStrip } bool BrowserViewTabbedLayoutImpl::AvoidCrackingForFractionalDisplay() const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // This is primarily an issue on Linux and Windows; add other platforms here // as needed. if (auto* const widget = views().browser_view->GetWidget()) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc index 5e8cff501271..1a4900157bfe 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc -@@ -35,7 +35,7 @@ static constexpr base::TimeDelta kShowNudgeDelay = bas - static constexpr int kDropTargetHideForOSWidth = +@@ -59,7 +59,7 @@ int MultiContentsViewDropTargetController::DropTargetC + return #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) - 32; + 32; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - 50; + 50; #else - 0; + 0; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index 7aae67c7c5ef..d218945e8a95 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc +++ b/www/ungoogled-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-04-15 11:25:12 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc -@@ -58,7 +58,7 @@ +@@ -60,7 +60,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 -@@ -588,7 +588,7 @@ bool OpaqueBrowserFrameView::IsFrameCondensed() const +@@ -599,7 +599,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; -@@ -607,7 +607,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh +@@ -618,7 +618,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(); } -@@ -848,7 +848,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -862,7 +862,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc index da398771820d..27c02a817ea5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc +++ b/www/ungoogled-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-05-09 18:09:27 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc -@@ -87,7 +87,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM +@@ -133,7 +133,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + } + #endif // BUILDFLAG(IS_WIN) - 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); -@@ -177,7 +177,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + AddItemWithIconMaybe(model, IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU, + views::kChromeMinimizeIcon); + AddItemWithIconMaybe(model, IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU, +@@ -237,7 +237,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) -@@ -252,7 +252,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -321,7 +321,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc index 29a5a3110a78..2fc1fdb47895 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc @@ -31,7 +31,7 @@ #include "chromeos/ui/frame/desks/move_to_desks_menu_model.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/common/pref_names.h" #endif -@@ -43,7 +43,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( +@@ -50,7 +50,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( SystemMenuModelDelegate::~SystemMenuModelDelegate() = default; bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { PrefService* prefs = browser_->profile()->GetPrefs(); return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); -@@ -69,7 +69,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -94,7 +94,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c } bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - bool is_maximized = browser_->window()->IsMaximized(); + bool is_maximized = browser_->GetWindow()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc index 924d3fdce4ee..2d1672a4c8bf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -1922,7 +1922,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup +@@ -1921,7 +1921,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc index 719c3c3621c6..53559b8ec3fa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc -@@ -44,7 +44,7 @@ +@@ -43,7 +43,7 @@ #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/views/controls/button/button.h" -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/passwords/password_relaunch_chrome_view.h" #endif -@@ -161,7 +161,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create +@@ -165,7 +165,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create } else if (model_state == password_manager::ui::NOTIFY_RECEIVED_SHARED_CREDENTIALS) { view = new SharedPasswordsNotificationView(web_contents, anchor_view); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) } else if (model_state == password_manager::ui::KEYCHAIN_ERROR_STATE) { view = new RelaunchChromeView( web_contents, anchor_view, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index 994303b49cec..70bef839ba22 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc -@@ -439,7 +439,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() - state_manager_->MaybeShowProfileSwitchIPH(); +@@ -459,7 +459,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() + state_manager_.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() { - state_manager_->MaybeShowSupervisedUserSignInIPH(); + state_manager_.MaybeShowSupervisedUserSignInIPH(); } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h index 139146a635b2..4a56bed4c19c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -67,7 +67,7 @@ class AvatarToolbarButton : public ToolbarButton, - // void UpdateIcon() also overrides ToolbarButton - void UpdateText() override; +@@ -71,7 +71,7 @@ class AvatarToolbarButton : public ToolbarButton, + void SetAnnounceCallbackForTesting( + base::OnceCallback callback) override; void MaybeShowProfileSwitchIPH() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSupervisedUserSignInIPH() override; void MaybeShowSignInBenefitsIPH() override; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc index e7617f6222e7..3c2e11c6443c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc -@@ -2487,7 +2487,7 @@ void AvatarToolbarButtonStateManager::MaybeShowProfile +@@ -2608,7 +2608,7 @@ void AvatarToolbarButtonStateManager::MaybeShowProfile } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButtonStateManager::MaybeShowSupervisedUserSignInIPH() { if (!base::FeatureList::IsEnabled( feature_engagement::kIPHSupervisedUserProfileSigninFeature)) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h index 23f776746d9d..fedc894430f5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h -@@ -240,7 +240,7 @@ class AvatarToolbarButtonStateManager +@@ -272,7 +272,7 @@ class AvatarToolbarButtonStateManager // Shared IPH methods. 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) void MaybeShowSupervisedUserSignInIPH(); void MaybeShowSignInBenefitsIPH(); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc index b069dcaf72f1..5d2b1895ee98 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/first_run_flow_controller.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/first_run_flow_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/first_run_flow_controller.cc -@@ -61,7 +61,7 @@ +@@ -87,7 +87,7 @@ #include "chrome/installer/util/shell_util.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/check_deref.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/global_features.h" -@@ -637,7 +637,7 @@ std::string FirstRunFlowController::GetHatsSurveyTrigg +@@ -1164,7 +1164,7 @@ bool FirstRunFlowController::AreEffectsEnabled() const } void FirstRunFlowController::MaybeTriggerHatsSurvey() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No variations seed is available on Mac and Linux at the very first run of // Chrome. Check the locale manually to make sure the survey is enabled for // only eligible users. Do the locale check before the feature check to avoid diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc index 944e53926321..46662cde1c7b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -110,7 +110,7 @@ - #include "ui/views/accessibility/view_accessibility.h" - #include "ui/views/widget/widget.h" +@@ -118,7 +118,7 @@ + #include "chrome/browser/signin/cross_device_signin_promo_manager.h" + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#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 -@@ -593,7 +593,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -602,7 +602,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc index fa6e4b949e1a..902f7755dadb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc @@ -1,20 +1,11 @@ ---- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/profile_picker_view.cc -@@ -88,7 +88,7 @@ +@@ -87,7 +87,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 -@@ -113,7 +113,7 @@ class ProfilePickerWidget : public views::Widget { - views::Widget::InitParams params( - views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); - 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/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc new file mode 100644 index 000000000000..4169a4501dbe --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/profile_picker_widget.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/views/profiles/profile_picker_widget.cc +@@ -11,7 +11,7 @@ + #include "chrome/browser/ui/views/profiles/profile_picker_view.h" + #include "content/public/browser/web_contents.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/shell_integration_linux.h" + #endif + +@@ -20,7 +20,7 @@ ProfilePickerWidget::ProfilePickerWidget(ProfilePicker + views::Widget::InitParams params( + views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); + 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/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index 797ec8e55918..790c56bd70c2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/ungoogled-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-03-15 18:32:51 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc @@ -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 -@@ -139,7 +139,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat +@@ -140,7 +140,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, -@@ -242,7 +242,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir +@@ -248,7 +248,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( -@@ -418,7 +418,7 @@ SigninViewControllerDelegateViews::SigninViewControlle +@@ -433,7 +433,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) { -@@ -510,7 +510,7 @@ void SigninViewControllerDelegateViews::DisplayModal() +@@ -525,7 +525,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() -@@ -548,7 +548,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe +@@ -563,7 +563,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( -@@ -610,7 +610,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio +@@ -625,7 +625,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc new file mode 100644 index 000000000000..776d8894e100 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/common/tab_group_header_view.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/views/tabs/common/tab_group_header_view.cc +@@ -329,7 +329,7 @@ void TabGroupHeaderView::OnMouseEntered(const ui::Mous + } + + void TabGroupHeaderView::OnMouseExited(const ui::MouseEvent& event) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux + // Wayland/X11 due to asynchronous cursor updates during mouse exit events. + SetEditorBubbleButtonVisibilityOnHover(/*is_hovered=*/false); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index 5e02cadbe192..ae7744b1acd6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc +++ b/www/ungoogled-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-06-17 19:06:11 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -219,7 +219,7 @@ BrowserView* GetBrowserViewForContext(const TabDragCon +@@ -217,7 +217,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(); -@@ -429,7 +429,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -426,7 +426,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_ = -@@ -1039,7 +1039,7 @@ TabDragController::Liveness TabDragController::DragBro +@@ -1056,7 +1056,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. -@@ -2277,7 +2277,7 @@ void TabDragController::CompleteDrag() { +@@ -2329,7 +2329,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/41321838) Explore doing this // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in -@@ -2705,7 +2705,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2750,7 +2750,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc index 2257e5aa59f6..17f8ad9d302e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc -@@ -674,7 +674,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView( +@@ -663,7 +663,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc index c9698354c02d..fa3fb2b73b48 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc.orig 2026-04-15 11:25:12 UTC +--- chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc -@@ -243,7 +243,7 @@ void ProjectsPanelTabGroupsItemView::OnMouseEntered( +@@ -247,7 +247,7 @@ void ProjectsPanelTabGroupsItemView::OnMouseEntered( void ProjectsPanelTabGroupsItemView::OnMouseExited( const ui::MouseEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux // Wayland/X11 due to asynchronous cursor updates during mouse exit events. UpdateHoverStateForced(/*is_hovered=*/false); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc index 5f33fa1033bb..41e1f25bca41 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc -@@ -116,7 +116,7 @@ void ProjectsPanelThreadItemView::OnMouseEntered(const +@@ -114,7 +114,7 @@ void ProjectsPanelThreadItemView::OnMouseEntered(const } void ProjectsPanelThreadItemView::OnMouseExited(const ui::MouseEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux // Wayland/X11 due to asynchronous cursor updates during mouse exit events. UpdateHoverStateForced(/*is_hovered=*/false); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_shared_drop__arrow.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_shared_drop__arrow.cc index 197ad970befe..8ce74fda5313 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_shared_drop__arrow.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_shared_drop__arrow.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/shared/drop_arrow.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/views/tabs/shared/drop_arrow.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/shared/drop_arrow.cc -@@ -76,7 +76,7 @@ DropArrow::~DropArrow() { +@@ -81,7 +81,7 @@ DropArrow::~DropArrow() { // static void DropArrow::MaybeAdjustDisplayBounds(gfx::Rect& display_bounds) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, `GetBoundsInScreen` returns coordinates relative to the browser // window (plus shadow elevation outsets) rather than the screen. To handle // this, we adjust the display bounds by the difference between the drop arrow diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index 63d7d67c6529..9abb12b5506f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -1262,7 +1262,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -1266,7 +1266,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc index 1b55466ff8d6..e27c2f7bfe12 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -627,7 +627,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -593,7 +593,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())); } TabStyle::TabColors TabStyleViewsImpl::CalculateTargetColors() const { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc deleted file mode 100644 index ae82e44b38cf..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/views/tabs/vertical/vertical_tab_group_header_view.cc.orig 2026-06-05 13:45:06 UTC -+++ chrome/browser/ui/views/tabs/vertical/vertical_tab_group_header_view.cc -@@ -323,7 +323,7 @@ void VerticalTabGroupHeaderView::OnMouseEntered(const - } - - void VerticalTabGroupHeaderView::OnMouseExited(const ui::MouseEvent& event) { --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux - // Wayland/X11 due to asynchronous cursor updates during mouse exit events. - SetEditorBubbleButtonVisibilityOnHover(/*is_hovered=*/false); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc index 1c063f146ce4..4a467ad3d7d5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/task_manager_search_bar_view.cc -@@ -29,7 +29,7 @@ TaskManagerSearchBarView::TaskManagerSearchBarView( - const gfx::Insets& margins, - Delegate& delegate) - : delegate_(delegate) +@@ -28,7 +28,7 @@ namespace task_manager { + namespace { + + ui::ColorId GetTextfieldPlaceholderTextColor() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - , - textfield_placeholder_color_id_(kColorTaskManagerSearchBarPlaceholderText) - #endif + return kColorTaskManagerSearchBarPlaceholderText; + #else + return ui::kColorTextfieldForegroundPlaceholder; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h index 57a79c309c1a..98528d11d1ed 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h -@@ -76,7 +76,7 @@ class AvatarToolbarButtonInterface { +@@ -87,7 +87,7 @@ class AvatarToolbarButtonInterface { // Attempts showing the In-Product-Help for profile Switching. virtual void MaybeShowProfileSwitchIPH() = 0; -#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. virtual void MaybeShowSupervisedUserSignInIPH() = 0; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc index c345c7f5e25c..1815517cb604 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/toolbar_view.cc.orig 2026-06-12 07:58:04 UTC +--- chrome/browser/ui/views/toolbar/toolbar_view.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -396,7 +396,7 @@ void ToolbarView::Init() { +@@ -403,7 +403,7 @@ void ToolbarView::Init() { } std::unique_ptr media_button; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) media_button = std::make_unique( browser_view_, std::make_unique(browser_)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc index 3b7020ea5ea0..184e2a0a1caf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc -@@ -104,7 +104,7 @@ void WebUIAvatarToolbarButton::MaybeShowProfileSwitchI +@@ -216,7 +216,7 @@ void WebUIAvatarToolbarButton::MaybeShowProfileSwitchI } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void WebUIAvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { if (state_manager_ && delegate_->GetView()->GetWidget()) { state_manager_->MaybeShowSupervisedUserSignInIPH(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h index fd9273a5cc4c..b1f656fd8af0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h -@@ -44,7 +44,7 @@ class WebUIAvatarToolbarButton : public AvatarToolbarB - explicit_action) override; +@@ -57,7 +57,7 @@ class WebUIAvatarToolbarButton : public AvatarToolbarB + bool should_announce) override; bool HasExplicitButtonState() const override; void MaybeShowProfileSwitchIPH() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSupervisedUserSignInIPH() override; void MaybeShowSignInBenefitsIPH() override; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc index bfa8dbd1418d..f7e9db4d3086 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -1,20 +1,38 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1259,7 +1259,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -289,7 +289,7 @@ CreateNavigationAction(GURL target) { + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void NavigateToSettingsPage(ContextPtr ctx, + user_education::FeaturePromoHandle promo_handle) { + BrowserWindowInterface* const browser = GetBrowser(ctx); +@@ -1447,7 +1447,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( -@@ -1547,7 +1547,7 @@ void MaybeRegisterChromeFeaturePromos( - "Triggered to inform users of the availability of the " +@@ -1740,7 +1740,7 @@ void MaybeRegisterChromeFeaturePromos( "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) + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( +@@ -2473,7 +2473,7 @@ void MaybeRegisterChromeNewBadges(user_education::NewB + 151, "mtatarski@9oo91e.qjz9zk", + "Show the new badge on Send to Your Devices context menu items."))); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry.RegisterFeature(user_education::NewBadgeSpecification( + switches::kCrossDeviceSigninFromDesktop, + user_education::Metadata( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc index 40fdab6a02cc..7e4e9b213fd4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc -@@ -568,7 +568,7 @@ std::string GetFileExtension(FileExtension file_extens +@@ -570,7 +570,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; -@@ -2261,7 +2261,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2331,7 +2331,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( -@@ -3699,7 +3699,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3773,7 +3773,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 -@@ -3714,7 +3714,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3788,7 +3788,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 -@@ -3724,7 +3724,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3798,7 +3798,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; } -@@ -3740,7 +3740,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3814,7 +3814,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; } -@@ -4540,7 +4540,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4619,7 +4619,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 -@@ -4745,7 +4745,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4824,7 +4824,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); -@@ -4789,7 +4789,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4868,7 +4868,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/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc index a1334fa11b53..d98605a6ebe8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -541,7 +541,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex +@@ -562,7 +562,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/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc index 5523c71a026c..7edf97d84298 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -324,7 +324,7 @@ bool WebAppUiManagerImpl::IsAppMigrationDialogShowing( +@@ -341,7 +341,7 @@ bool WebAppUiManagerImpl::IsAppMigrationDialogShowing( return false; } #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(window); return browser_view && browser_view->GetProperty(kIsPwaUpdateDialogShowingKey) && -@@ -648,7 +648,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); - -@@ -866,7 +866,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( - } +@@ -930,7 +930,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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const base::Feature& GetPromoFeatureEngagementFromBrowser( const BrowserWindowInterface* browser) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h index e0c774cc1d1f..76b645e4db3b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h -@@ -253,7 +253,7 @@ class WebAppUiManagerImpl : public BrowserCollectionOb - UninstallCompleteCallback uninstall_complete_callback, +@@ -264,7 +264,7 @@ class WebAppUiManagerImpl : public BrowserCollectionOb 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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ShowIPHPromoForAppsLaunchedViaLinkCapturing(Browser* browser, const webapps::AppId& app_id, bool is_activated); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc index 7f4771121756..d8253c7c682f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui_browser/webui_browser_window.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/webui_browser/webui_browser_window.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui_browser/webui_browser_window.cc -@@ -62,7 +62,7 @@ const char* const kWebUIBrowserWindowKey = "__WEBUI_BR +@@ -72,7 +72,7 @@ const char* const kWebUIBrowserWindowKey = "__WEBUI_BR // Copied from chrome/browser/ui/views/frame/browser_widget.cc. bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc index 23f41f13e59b..8e51ad35ed88 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc -@@ -63,7 +63,7 @@ +@@ -64,7 +64,7 @@ #include "ui/base/window_open_disposition_utils.h" #include "url/gurl.h" -static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); +static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); using content::WebUI; using extensions::Extension; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc index 4a03f0079315..a36bea14725d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc @@ -1,95 +1,95 @@ ---- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -167,7 +167,7 @@ - #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h" +@@ -173,7 +173,7 @@ + #include "chrome/browser/ui/webui/default_browser/visual_guided_setter_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" -@@ -176,13 +176,13 @@ +@@ -182,13 +182,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" #include "chrome/browser/ui/webui/management/management_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -213,7 +213,7 @@ +@@ -223,7 +223,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) -@@ -230,7 +230,7 @@ +@@ -240,7 +240,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) -@@ -389,7 +389,7 @@ void RegisterChromeWebUIConfigs() { +@@ -404,7 +404,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) -@@ -419,7 +419,7 @@ void RegisterChromeWebUIConfigs() { - map.AddWebUIConfig(std::make_unique()); +@@ -435,7 +435,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()); -@@ -428,19 +428,19 @@ void RegisterChromeWebUIConfigs() { +@@ -444,19 +444,19 @@ 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()); 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) -@@ -483,7 +483,7 @@ void RegisterChromeWebUIConfigs() { +@@ -504,7 +504,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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index e6a253cf1a35..7d5a9b4a99c9 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,50 +1,50 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc @@ -117,17 +117,17 @@ #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) #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 @@ -268,7 +268,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; -@@ -425,7 +425,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -427,7 +427,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:: +@@ -457,7 +457,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() == chrome::kChromeUIContextualTasksHost) { return ContextualTasksUI::GetFaviconResourceBytes(scale_factor); } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc index cfc7fe42c122..a7257da8a12b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc @@ -75,7 +75,7 @@ std::string ConvertPolicyLevelToString(DTCPolicyLevel #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::string GetStringFromTimestamp(base::Time timestamp) { return (timestamp == base::Time()) ? std::string() : base::UnlocalizedTimeFormatWithPattern( -@@ -190,7 +190,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific +@@ -196,7 +196,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific void ConnectorsInternalsPageHandler::GetSignalsReportingState( GetSignalsReportingStateCallback callback) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) auto* profile_prefs = profile_->GetPrefs(); std::string last_upload_attempt_time_string = -@@ -331,7 +331,7 @@ void ConnectorsInternalsPageHandler::OnSignalsCollecte +@@ -337,7 +337,7 @@ void ConnectorsInternalsPageHandler::OnSignalsCollecte #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void ConnectorsInternalsPageHandler::OnReportGenerated( GetSignalsReportingStateCallback callback, connectors_internals::mojom::SignalsReportingStatePtr state, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc index 7a18c238c4f9..09b10645ba38 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-06-17 19:06:11 UTC +--- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -176,7 +176,7 @@ const char* kMacShareIconResourceName = +@@ -219,7 +219,7 @@ constexpr char kMacShareIconResourceName[] = #elif BUILDFLAG(IS_WIN) - const char* kWinShareIconResourceName = - "//resources/cr_components/searchbox/icons/win_share.svg"; + constexpr char kWinShareIconResourceName[] = + "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char* kLinuxShareIconResourceName = - "//resources/cr_components/searchbox/icons/share.svg"; + constexpr char kLinuxShareIconResourceName[] = + "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else -@@ -234,7 +234,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 -@@ -689,7 +689,7 @@ std::string SearchboxHandler::AutocompleteIconToResour - if (icon.name == omnibox::kShareWinChromeRefreshIcon.name) { +@@ -740,7 +740,7 @@ std::string SearchboxHandler::AutocompleteIconToResour + : omnibox::kShareWinChromeRefreshOldIcon.name)) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { - return kLinuxShareIconResourceName; - } + if (icon.name == (features::IsRoundedIconsEnabled() + ? omnibox::kSendIcon.name + : omnibox::kShareLinuxChromeRefreshOldIcon.name)) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc index 59a500d03a50..deacbf0f0ccf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc -@@ -46,7 +46,7 @@ - #include "chrome/browser/win/installer_downloader/installer_downloader_pref_names.h" +@@ -65,7 +65,7 @@ + #include "chrome/browser/ui/cocoa/keystone_infobar_delegate.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" -@@ -76,7 +76,7 @@ void InfoBarInternalsHandler::TriggerInfoBar(InfoBarTy - void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsCallback callback) { - // Please keep the entries in alphabetized order base on the type. - std::vector infobar_list; +@@ -108,7 +108,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC + "The Collected Cookies infobar is shown after the user has changed " + "the allowed/blocked state of a cookie, reminding them to reload " + "the page in order for the new cookies to take effect.")); -#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=*/ -@@ -139,7 +139,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC - bool InfoBarInternalsHandler::TriggerInfoBarInternal(InfoBarType type) { - // Please keep the entries in alphabetized order base on the type. - switch (type) { +@@ -238,7 +238,7 @@ bool InfoBarInternalsHandler::TriggerInfoBarInternal(I + } + return true; + } -#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(); + Profile* profile = bwi ? bwi->GetProfile() : nullptr; + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc index 8738e09e7208..e7c5875e2962 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc @@ -1,16 +1,16 @@ ---- chrome/browser/ui/webui/management/management_ui.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/webui/management/management_ui.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/management/management_ui.cc -@@ -193,11 +193,11 @@ void ManagementUI::GetLocalizedStrings( +@@ -197,11 +197,11 @@ void ManagementUI::GetLocalizedStrings( IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA}, {kManagementReportFileEvents, IDS_MANAGEMENT_REPORT_FILE_EVENTS}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {kManagementScreenCaptureEvent, IDS_MANAGEMENT_SCREEN_CAPTURE_EVENT}, {kManagementScreenCaptureData, IDS_MANAGEMENT_SCREEN_CAPTURE_DATA}, #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {kManagementDeviceSignalsDisclosure, IDS_MANAGEMENT_DEVICE_SIGNALS_DISCLOSURE}, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc index 3392a4cf9bb4..50041ef9607a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc @@ -1,38 +1,47 @@ ---- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.cc @@ -73,7 +73,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) -@@ -385,7 +385,7 @@ void ManagementUIHandler::AddReportingInfo(base::ListV - report_sources->Append(std::move(data)); - } +@@ -196,7 +196,7 @@ void AddThreatProtectionPermission(const char* title, + #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) + bool IsSaasReportingEnabled(content::WebUI* web_ui) { -#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)); -@@ -407,7 +407,7 @@ void ManagementUIHandler::AddReportingInfo(base::ListV - report_sources->Append(std::move(data)); - } + return !Profile::FromWebUI(web_ui) + ->GetPrefs() + ->GetList(enterprise_reporting::kSaasUsageDomainUrlsForProfile) +@@ -397,7 +397,7 @@ void ManagementUIHandler::AddBrowserReportingInfo( + 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)); -@@ -598,7 +598,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS + auto device_signal_data = GetDeviceSignalGrantedMessage(); + if (!device_signal_data.empty()) { + report_sources->Append(std::move(device_signal_data)); +@@ -429,7 +429,7 @@ void ManagementUIHandler::AddProfileReportingInfo( + 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)); +@@ -619,7 +619,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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h index 0df0d0ea94b2..f61898f54f35 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h +++ b/www/ungoogled-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-03-15 18:32:51 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2026-08-13 07:41:05 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 +@@ -91,7 +91,7 @@ class ManagementUIHandler : public content::WebUIMessa 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::DictValue GetDeviceSignalGrantedMessage(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc index 003f174dd85f..5581ad3d79a1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc +++ b/www/ungoogled-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 2026-03-15 18:32:51 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc -@@ -31,7 +31,7 @@ - #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) +@@ -30,7 +30,7 @@ + #endif #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/memory/scoped_refptr.h" #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" @@ -78,7 +78,7 @@ PromoCardsHandler::PromoCardsHandler(Profile* profile) - #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + #endif #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(); @@ -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( @@ -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) { + scoped_refptr encryptor) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h index 25c3848ca8e7..0f22c402c9ef 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards_handler.h.orig 2025-12-06 13:30:52 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.h.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.h -@@ -52,7 +52,7 @@ class PromoCardsHandler : public content::WebUIMessage +@@ -54,7 +54,7 @@ class PromoCardsHandler : public content::WebUIMessage PasswordPromoCardBase* GetPromoToShowAndUpdatePref(); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void OnEncryptorReceived(base::Value callback_id, - os_crypt_async::Encryptor encryptor); + scoped_refptr encryptor); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -60,7 +60,7 @@ class PromoCardsHandler : public content::WebUIMessage - raw_ptr profile_; +@@ -62,7 +62,7 @@ class PromoCardsHandler : public content::WebUIMessage + raw_ptr profile_; std::vector> promo_cards_; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This points into `promo_cards_`, so should be ordered after it. raw_ptr relaunch_chrome_promo_ = nullptr; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc new file mode 100644 index 000000000000..551e40966369 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/policy/policy_ui.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/webui/policy/policy_ui.cc +@@ -149,7 +149,7 @@ void CreateAndAddPolicyUIHtmlSource(Profile* profile) + {"statusFlexOrgNoPolicy", IDS_POLICY_STATUS_FLEX_ORG_NO_POLICY}, + {"statusDevice", IDS_POLICY_STATUS_DEVICE}, + {"statusMachine", IDS_POLICY_STATUS_MACHINE}, +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"statusUpdater", IDS_POLICY_STATUS_UPDATER}, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + {"statusUser", IDS_POLICY_STATUS_USER}, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_sanitized__image_sanitized__image__source.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_sanitized__image_sanitized__image__source.cc index eb094edb6c84..6c1bf6ce0587 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_sanitized__image_sanitized__image__source.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_sanitized__image_sanitized__image__source.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/sanitized_image/sanitized_image_source.cc.orig 2026-05-09 18:09:27 UTC +--- chrome/browser/ui/webui/sanitized_image/sanitized_image_source.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/sanitized_image/sanitized_image_source.cc -@@ -320,7 +320,7 @@ void SanitizedImageSource::OnAnimationDecoded( +@@ -350,7 +350,7 @@ void SanitizedImageSource::OnAnimationDecoded( } #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (mojo_frames.size() > 1) { // The image is animated, re-encode as WebP animated image and send to // requester. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index 34d7f4c1dbff..7b8c4625e678 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -147,7 +147,7 @@ +@@ -155,7 +155,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 -@@ -157,7 +157,7 @@ +@@ -165,7 +165,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 -@@ -282,7 +282,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -290,7 +290,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", -@@ -550,7 +550,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -609,7 +609,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}, -@@ -558,11 +558,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -617,11 +617,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) -@@ -593,7 +593,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht - "showEverythingMenuEnabled", - tab_groups::SavedTabGroupUtils::IsEnabledForProfile(profile)); +@@ -662,7 +662,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + html_source->AddString("configurableSidePanelAlignments", + configurable_alignments_json); -#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; -@@ -1836,7 +1836,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1971,7 +1971,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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc index 938030b486b3..1077502f9e0e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc +++ b/www/ungoogled-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-04-15 11:25:12 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -178,7 +178,7 @@ base::DictValue CreateProfileState(const ProfileAttrib +@@ -218,7 +218,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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc index d7883cdd10f9..c872f1298ae6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc -@@ -49,7 +49,7 @@ +@@ -50,7 +50,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/resource_path.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/ui/navigator/browser_navigator.h" #include "chrome/browser/ui/navigator/browser_navigator_params.h" #include "net/base/url_util.h" -@@ -89,7 +89,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( +@@ -90,7 +90,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( } whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return g_browser_process->GetFeatures()->whats_new_registry(); #else return nullptr; -@@ -920,7 +920,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats +@@ -934,7 +934,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats } void UserEducationInternalsPageHandlerImpl::LaunchWhatsNewStaging() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GURL url = net::AppendQueryParameter(GURL(chrome::kChromeUIWhatsNewURL), "staging", "true"); NavigateParams params(profile_, url, ui::PAGE_TRANSITION_TYPED); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc new file mode 100644 index 000000000000..f1a6bad72345 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/version/version_ui.cc.orig 2026-08-13 07:41:05 UTC ++++ chrome/browser/ui/webui/version/version_ui.cc +@@ -209,7 +209,7 @@ int VersionUI::VersionProcessorVariation() { + return IDS_VERSION_UI_64BIT; + #endif // defined(ARCH_CPU_X86) + #endif // defined(ARCH_CPU_ARM64) +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if defined(ARCH_CPU_X86_64) + return IDS_VERSION_UI_64BIT_INTEL; + #elif defined(ARCH_CPU_ARM64) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc index 763380b23ff0..38901d292fce 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/ui/window_sizer/window_sizer.cc -@@ -225,7 +225,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( +@@ -223,7 +223,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/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h deleted file mode 100644 index 2c2896f03fbb..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/web_applications/extension_status_utils.h.orig 2024-10-01 07:26:23 UTC -+++ chrome/browser/web_applications/extension_status_utils.h -@@ -50,7 +50,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte - bool IsExternalExtensionUninstalled(content::BrowserContext* context, - const std::string& extension_id); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // If this method returns true, then |extension_id| will not be launchable. - // - // The eventual goal is that this method should return true for all hosted apps, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc index 6b967675eec4..a6276b0d0f83 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/web_applications/os_integration/os_integration_manager.cc -@@ -674,7 +674,7 @@ std::unique_ptr OsIntegrationManager::Bu +@@ -673,7 +673,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/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc index 4536c99bf860..082554fcfefb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2026-01-16 13:40:34 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc @@ -66,7 +66,7 @@ namespace { #if BUILDFLAG(IS_MAC) const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512}; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Linux supports icons of any size. FreeDesktop Icon Theme Specification states // that "Minimally you should install a 48x48 icon in the hicolor theme." const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512}; -@@ -248,7 +248,7 @@ std::unique_ptr BuildShortcutInfoWithout +@@ -247,7 +247,7 @@ std::unique_ptr BuildShortcutInfoWithout // TODO(crbug.com/40257107): Implement tests on Linux for using shortcuts_menu // actions. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::vector& shortcuts_menu_item_infos = CreateShortcutsMenuItemInfos(state.shortcut_menus()); DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc index 474e70580935..b280bee19c74 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2026-04-15 11:25:12 UTC +--- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/web_applications/policy/web_app_policy_manager.cc -@@ -124,7 +124,7 @@ GetPreinstalledWebAppsMappingForTesting() { +@@ -125,7 +125,7 @@ GetPreinstalledWebAppsMappingForTesting() { namespace web_app { BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc index ef21d100c517..5493a212ec6a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc -@@ -50,7 +50,7 @@ +@@ -49,7 +49,7 @@ #include "testing/gtest/include/gtest/gtest.h" #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 -@@ -125,7 +125,7 @@ std::vector GetFileExtensionsForProgId( +@@ -123,7 +123,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, -@@ -310,7 +310,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor +@@ -308,7 +308,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; -@@ -357,7 +357,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM +@@ -355,7 +355,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(); -@@ -371,7 +371,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab +@@ -369,7 +369,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"; base::i18n::ReplaceIllegalCharactersInPath(&shortcut_filename, '_'); -@@ -428,7 +428,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan +@@ -426,7 +426,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_) { -@@ -477,7 +477,7 @@ std::optional OsIntegrationTestOverrideImpl: +@@ -475,7 +475,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; -@@ -545,7 +545,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort +@@ -544,7 +544,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::i18n::ReplaceIllegalCharactersInPath(&shortcut_filename, '_'); -@@ -572,7 +572,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( +@@ -571,7 +571,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); -@@ -786,7 +786,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat +@@ -785,7 +785,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(); } -@@ -837,7 +837,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -836,7 +836,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()); -@@ -850,7 +850,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -849,7 +849,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) { -@@ -922,7 +922,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr +@@ -921,7 +921,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/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app.cc index 2b4259e528b6..50ec80a6fee5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/web_app.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/web_applications/web_app.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/web_applications/web_app.cc -@@ -78,7 +78,7 @@ +@@ -76,7 +76,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) -@@ -742,7 +742,7 @@ void WebApp::SetCurrentOsIntegrationStates( +@@ -728,7 +728,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_.value().SchemeIs(webapps::kIsolatedAppScheme)) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc deleted file mode 100644 index f42c04c51671..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2026-06-05 13:45:06 UTC -+++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -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 (std::ranges::contains(pairings_from_extension, - device::CableDiscoveryData::Version::V1, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__web__authentication__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__web__authentication__delegate.cc index 16764f4349a9..d2621dd26933 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__web__authentication__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__web__authentication__delegate.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/chrome_web_authentication_delegate.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/webauthn/chrome_web_authentication_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/webauthn/chrome_web_authentication_delegate.cc @@ -69,7 +69,7 @@ #include "url/url_constants.h" #include "url/url_util.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/extensions/api/web_authentication_proxy/web_authentication_proxy_service.h" #endif -@@ -416,7 +416,7 @@ content::WebAuthenticationRequestProxy* +@@ -379,7 +379,7 @@ content::WebAuthenticationRequestProxy* ChromeWebAuthenticationDelegate::MaybeGetRequestProxy( content::BrowserContext* browser_context, const url::Origin& caller_origin) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The webAuthenticationProxy extension API is supported on Win/Mac/Linux. auto* service = extensions::WebAuthenticationProxyService::GetIfProxyAttached( Profile::FromBrowserContext(browser_context)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc index bb7b69127879..882dde933add 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/enclave_manager.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -750,7 +750,7 @@ base::flat_set GetGaiaIDs( +@@ -746,7 +746,7 @@ base::flat_set GetGaiaIDs( std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return label; #else return std::string("placeholder"); -@@ -760,7 +760,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -756,7 +756,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer std::optional UserVerifyingKeyLabelFromString( std::string saved_label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return saved_label; #else return std::nullopt; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__content__client.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__content__client.cc index f09234b95e04..b99587df9fbb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__content__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__content__client.cc @@ -1,44 +1,44 @@ ---- chrome/common/chrome_content_client.cc.orig 2026-03-15 18:32:51 UTC +--- chrome/common/chrome_content_client.cc.orig 2026-08-13 07:41:05 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[] = +@@ -188,7 +188,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) -@@ -214,7 +214,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes +@@ -213,7 +213,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) -@@ -263,7 +263,7 @@ void ChromeContentClient::AddAdditionalSchemes(Schemes +@@ -262,7 +262,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/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc index 6caf76181dbc..b0bc086493fb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc @@ -1,47 +1,38 @@ ---- chrome/common/chrome_features.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/common/chrome_features.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/common/chrome_features.cc -@@ -85,7 +85,7 @@ BASE_FEATURE(kUseKeychainKeyProvider, base::FEATURE_EN +@@ -72,7 +72,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); -@@ -178,7 +178,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, - // Enables the new reset banner on the settings page. - BASE_FEATURE(kShowResetProfileBannerV2, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -181,7 +181,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, + #endif + -#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/40186761. // 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. -@@ -724,7 +724,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); -@@ -1196,7 +1196,7 @@ BASE_FEATURE(kIsolatedWebAppManagedGuestSessionInstall +@@ -1326,7 +1326,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: -@@ -1207,7 +1207,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1337,7 +1337,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/ungoogled-chromium/files/patch-chrome_common_chrome__features.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h index 11f1fe29b741..a46ecaeeaecd 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h @@ -1,38 +1,38 @@ ---- chrome/common/chrome_features.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/chrome_features.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/chrome_features.h -@@ -81,7 +81,7 @@ BASE_DECLARE_FEATURE(kUseKeychainKeyProvider); +@@ -64,7 +64,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); -@@ -133,7 +133,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); - COMPONENT_EXPORT(CHROME_FEATURES) - BASE_DECLARE_FEATURE(kShowResetProfileBannerV2); +@@ -127,7 +127,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kDocumentPipStandaloneWindow); + -#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); #endif -@@ -861,7 +861,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -939,7 +939,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; -@@ -869,7 +869,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -947,7 +947,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/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc index 374c5be72feb..7c06d56e1c93 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,86 +1,86 @@ ---- chrome/common/chrome_paths.cc.orig 2026-03-15 18:32:51 UTC +--- chrome/common/chrome_paths.cc.orig 2026-08-13 07:41:05 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/ungoogled-chromium/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); + FILE_PATH_LITERAL("/usr/local/share/ungoogled-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) { +@@ -448,7 +448,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) -@@ -480,9 +480,12 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -468,9 +468,12 @@ bool PathProvider(int key, base::FilePath* result) { #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING) cur = base::FilePath(FILE_PATH_LITERAL( "/etc/opt/chrome_for_testing/native-messaging-hosts")); +#elif BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/ungoogled-chromium/native-messaging-hosts")); #else cur = base::FilePath( - FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts")); + FILE_PATH_LITERAL("/etc/ungoogled-chromium/native-messaging-hosts")); #endif #endif // !BUILDFLAG(IS_MAC) break; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h index 2649c4ccbefc..e368617f883a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h @@ -1,29 +1,29 @@ ---- chrome/common/chrome_paths.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/chrome_paths.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/chrome_paths.h @@ -55,7 +55,7 @@ enum { // to set policies for chrome. This directory // contains subdirectories. #endif -#if BUILDFLAG(IS_CHROMEOS) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || BUILDFLAG(IS_MAC) DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions // on Chrome Mac and Chromium Linux. @@ -64,7 +64,7 @@ enum { // create it. #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' // definition manifest files that // describe extensions which are to be -@@ -104,7 +104,7 @@ enum { +@@ -102,7 +102,7 @@ enum { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) DIR_NATIVE_MESSAGING, // System directory where native messaging host // manifest files are stored. DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc index ba3bd1d7f02c..0c119036d3fc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/common/chrome_switches.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/common/chrome_switches.cc -@@ -923,7 +923,7 @@ const char kDebugPrint[] = "debug-print"; +@@ -937,7 +937,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) // Causes the browser to launch directly in guest mode. const char kGuest[] = "guest"; -@@ -967,7 +967,7 @@ const char kGlicGuestUrlPresetStaging[] = "glic-guest- +@@ -984,7 +984,7 @@ const char kGlicGuestUrlPresetStaging[] = "glic-guest- const char kGlicGuestUrlPresetPreprod[] = "glic-guest-url-preset-preprod"; const char kGlicGuestUrlPresetProd[] = "glic-guest-url-preset-prod"; -#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/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h index 307ff79d8db7..2cca22539281 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/chrome_switches.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/chrome_switches.h -@@ -286,7 +286,7 @@ extern const char kDebugPrint[]; +@@ -287,7 +287,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 kGuest[]; #endif -@@ -308,7 +308,7 @@ extern const char kGlicGuestUrlPresetStaging[]; +@@ -310,7 +310,7 @@ extern const char kGlicGuestUrlPresetStaging[]; extern const char kGlicGuestUrlPresetPreprod[]; extern const char kGlicGuestUrlPresetProd[]; -#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/ungoogled-chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc b/www/ungoogled-chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc index 73cff093c5ef..20e747d73595 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_controlled__frame_controlled__frame.cc @@ -1,20 +1,20 @@ ---- chrome/common/controlled_frame/controlled_frame.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/common/controlled_frame/controlled_frame.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/common/controlled_frame/controlled_frame.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "third_party/blink/public/common/features.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -91,7 +91,7 @@ bool AvailabilityCheck(const std::string& api_full_nam +@@ -97,7 +97,7 @@ bool AvailabilityCheck(const std::string& api_full_nam } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Verify that the current context is an Isolated Web App and the API name is // in our expected list. return (extension == nullptr) && url.SchemeIs(webapps::kIsolatedAppScheme) && diff --git a/www/ungoogled-chromium/files/patch-chrome_common_extensions_extension__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_extensions_extension__constants.h index 4958adea82f3..5720c1664705 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_extensions_extension__constants.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_extensions_extension__constants.h @@ -1,20 +1,20 @@ ---- chrome/common/extensions/extension_constants.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/extensions/extension_constants.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/extensions/extension_constants.h -@@ -319,7 +319,7 @@ inline constexpr char kReadingModeGDocsHelperExtension +@@ -213,7 +213,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[] = -@@ -370,7 +370,7 @@ inline constexpr auto kBuiltInFirstPartyExtensionIds = +@@ -264,7 +264,7 @@ inline constexpr auto kBuiltInFirstPartyExtensionIds = kGoogleSpeechSynthesisExtensionId, #endif // BUILDFLAG(IS_CHROMEOS) kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) kTTSEngineExtensionId, kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h index aa5349049113..341ced3e5b5c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h @@ -1,101 +1,101 @@ ---- chrome/common/pref_names.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/pref_names.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/pref_names.h -@@ -792,7 +792,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem +@@ -672,7 +672,7 @@ inline constexpr char kPrefDictationOnboardingComplete 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 -@@ -968,7 +968,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = +@@ -843,7 +843,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"; -@@ -1546,7 +1546,7 @@ inline constexpr char kPinInfoBarTimesShown[] = +@@ -1413,7 +1413,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[] = -@@ -1593,7 +1593,7 @@ inline constexpr char kDownloadDefaultDirectory[] = +@@ -1464,7 +1464,7 @@ static_assert(std::string_view(kDownloadDefaultDirecto 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 -@@ -2033,7 +2033,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -1955,7 +1955,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[] = -@@ -2047,7 +2047,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] +@@ -1969,7 +1969,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"; -@@ -2144,7 +2144,7 @@ inline constexpr char kIsolatedWebAppUserInstallationE +@@ -2071,7 +2071,7 @@ inline constexpr char kIsolatedWebAppUserInstallationE 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[] = -@@ -2444,7 +2444,7 @@ inline constexpr char kDeviceAllowEnterpriseRemoteAcce - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -2344,7 +2344,7 @@ inline constexpr char kHardwareSecureDecryptionDisable + #endif // BUILDFLAG(IS_WIN) #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 -@@ -2885,7 +2885,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -2770,7 +2770,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[] = -@@ -3068,7 +3068,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -2918,7 +2918,7 @@ inline constexpr char kLensRegionSearchEnabled[] = + 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 -@@ -3165,7 +3165,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ - "printing.oauth2_authorization_servers"; - #endif +@@ -3004,7 +3004,7 @@ inline constexpr char + kAccessControlAllowMethodsInCORSPreflightSpecConformant[] = + "access_control_allow_methods_in_cors_preflight_spec_conformant"; -#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/ungoogled-chromium/files/patch-chrome_common_url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h index 5d386f5bfd00..336466178b3b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2026-06-05 14:13:43 UTC +--- chrome/common/url_constants.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/url_constants.h -@@ -728,7 +728,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -734,7 +734,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = "https://support.9oo91e.qjz9zk/chrome?p=ib_outdated_plugin"; #endif -#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.9oo91e.qjz9zk/chrome?p=chrome_app_deprecation"; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc index 637c51a7f212..a28c59440190 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,32 +1,32 @@ ---- chrome/common/webui_url_constants.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/common/webui_url_constants.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/common/webui_url_constants.cc -@@ -188,7 +188,7 @@ base::span ChromeURLHosts() +@@ -189,7 +189,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, -@@ -256,17 +256,17 @@ base::span ChromeURLHosts() +@@ -257,17 +257,17 @@ base::span ChromeURLHosts() ash::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/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h index fa9c1f0e400d..f0a2a0ff6bcc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,40 +1,40 @@ ---- chrome/common/webui_url_constants.h.orig 2026-06-05 13:45:06 UTC +--- chrome/common/webui_url_constants.h.orig 2026-08-13 07:41:05 UTC +++ chrome/common/webui_url_constants.h -@@ -457,12 +457,12 @@ bool IsSystemWebUIHost(std::string_view host); +@@ -480,12 +480,12 @@ bool IsSystemWebUIHost(std::string_view host); #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 kChromeUIDefaultBrowserModalURL[] = "chrome://default-browser-modal/"; inline constexpr char kChromeUIDefaultBrowserModalHost[] = -@@ -478,11 +478,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -508,11 +508,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"; -@@ -514,7 +514,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update +@@ -548,7 +548,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_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc index 7d6ab7cac52e..df86364923f0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__content__renderer__client.cc @@ -1,29 +1,29 @@ ---- chrome/renderer/chrome_content_renderer_client.cc.orig 2026-06-05 13:45:06 UTC +--- chrome/renderer/chrome_content_renderer_client.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/renderer/chrome_content_renderer_client.cc -@@ -185,7 +185,7 @@ +@@ -186,7 +186,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) @@ -425,7 +425,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) || @@ -504,7 +504,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/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc index 7bf2588e9f68..6d8179046183 100644 --- a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -1,47 +1,47 @@ ---- chrome/services/printing/print_backend_service_impl.cc.orig 2026-02-15 10:01:45 UTC +--- chrome/services/printing/print_backend_service_impl.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/services/printing/print_backend_service_impl.cc @@ -49,7 +49,7 @@ #include "printing/backend/cups_connection_pool.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/command_line.h" #include "base/no_destructor.h" #include "components/printing/common/print_dialog_linux_factory.h" -@@ -79,7 +79,7 @@ namespace printing { +@@ -72,7 +72,7 @@ namespace printing { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void InstantiateLinuxUiDelegate() { // TODO(crbug.com/40561724) Until a real UI can be used in a utility process, // need to use the stub version. -@@ -88,7 +88,7 @@ void InstantiateLinuxUiDelegate() { +@@ -81,7 +81,7 @@ void InstantiateLinuxUiDelegate() { #endif scoped_refptr GetPrintingTaskRunner() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use task runner associated with equivalent of UI thread. Needed for calls // made through `PrintDialogLinuxInterface` to properly execute. CHECK(base::SequencedTaskRunner::HasCurrentDefault()); -@@ -471,7 +471,7 @@ void PrintBackendServiceImpl::Init( +@@ -446,7 +446,7 @@ void PrintBackendServiceImpl::Init(const std::string& // `InitCommon()`. InitializeProcessForPrinting(); print_backend_ = PrintBackend::CreateInstance(locale); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Test framework already initializes the UI, so this should not go in // `InitCommon()`. Additionally, low-level Linux UI is not needed when tests // are using `TestPrintingContext`. -@@ -684,7 +684,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( +@@ -642,7 +642,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( crash_keys_ = std::make_unique( *printer_name, print_backend_->GetPrinterDriverInfo(*printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS) // Try to fill in advanced settings based upon basic info options. PrinterBasicInfo basic_info; if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) == diff --git a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.h b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.h index 4223c90a266f..ee3a191b9b6b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.h +++ b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.h @@ -1,20 +1,20 @@ ---- chrome/services/printing/print_backend_service_impl.h.orig 2026-02-15 10:01:45 UTC +--- chrome/services/printing/print_backend_service_impl.h.orig 2026-08-13 07:41:05 UTC +++ chrome/services/printing/print_backend_service_impl.h -@@ -35,7 +35,7 @@ - #include "mojo/public/cpp/bindings/remote.h" - #endif // BUILDFLAG(IS_WIN) +@@ -28,7 +28,7 @@ + #include "printing/printing_context.h" + #include "ui/gfx/native_ui_types.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "printing/printing_context_linux.h" #endif -@@ -270,7 +270,7 @@ class PrintBackendServiceImpl : public mojom::PrintBac +@@ -242,7 +242,7 @@ class PrintBackendServiceImpl : public mojom::PrintBac scoped_refptr print_backend_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr print_dialog_factory_; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_utility_services.cc b/www/ungoogled-chromium/files/patch-chrome_utility_services.cc index 3022de0dc34f..fef405652b94 100644 --- a/www/ungoogled-chromium/files/patch-chrome_utility_services.cc +++ b/www/ungoogled-chromium/files/patch-chrome_utility_services.cc @@ -1,29 +1,29 @@ ---- chrome/utility/services.cc.orig 2026-03-15 18:32:51 UTC +--- chrome/utility/services.cc.orig 2026-08-13 07:41:05 UTC +++ chrome/utility/services.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,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) -@@ -206,7 +206,7 @@ auto RunMacSystemProxyResolver( +@@ -207,7 +207,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& +@@ -468,7 +468,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/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc new file mode 100644 index 000000000000..0693273b254e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc @@ -0,0 +1,20 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel.cc.orig 2026-08-13 07:41:05 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel.cc +@@ -268,7 +268,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 { + +@@ -1317,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_LEGACY_SYSTEM_IMPL_EXPORT bool Channel::SupportsChannelUpgrade() { + return false; diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel.h b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h similarity index 67% copy from www/ungoogled-chromium/files/patch-mojo_core_channel.h copy to www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h index 78639f1f05ee..caa8d305f766 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel.h +++ b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h @@ -1,11 +1,11 @@ ---- mojo/core/channel.h.orig 2025-12-06 13:30:52 UTC -+++ mojo/core/channel.h -@@ -167,7 +167,7 @@ class MOJO_SYSTEM_IMPL_EXPORT Channel +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel.h.orig 2026-08-13 07:41:05 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel.h +@@ -169,7 +169,7 @@ class MOJO_LEGACY_SYSTEM_IMPL_EXPORT Channel } v2; #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)) // On Android for each pair of connected ipcz::Node instances both sides // of the connection run the same version of code. Restricting this // extension of IpczHeader to Android allows to iterate on the wire format diff --git a/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc new file mode 100644 index 000000000000..15f32cf41250 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc @@ -0,0 +1,29 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel_posix.cc.orig 2026-08-13 07:41:05 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel_posix.cc +@@ -30,7 +30,7 @@ + #include "build/build_config.h" + #include "chromeos/ash/components/mojo_proxy/mojo_core/public/cpp/platform/socket_utils_posix.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 "chromeos/ash/components/mojo_proxy/mojo_core/core/channel_linux.h" + #endif + +@@ -600,7 +600,7 @@ scoped_refptr Channel::Create( + ConnectionParams connection_params, + HandlePolicy handle_policy, + scoped_refptr io_task_runner) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + return new ChannelLinux(delegate, std::move(connection_params), handle_policy, + io_task_runner); + #else +@@ -609,7 +609,7 @@ scoped_refptr Channel::Create( + #endif + } + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + // static + bool Channel::SupportsChannelUpgrade() { + return ChannelLinux::KernelSupportsUpgradeRequirements() && diff --git a/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc new file mode 100644 index 000000000000..13e180f572d0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc @@ -0,0 +1,20 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/embedder/embedder.cc.orig 2026-08-13 07:41:05 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/embedder/embedder.cc +@@ -37,7 +37,7 @@ + #include "chromeos/ash/components/mojo_proxy/mojo_core/core/node_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "chromeos/ash/components/mojo_proxy/mojo_core/core/channel_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) +@@ -79,7 +79,7 @@ void InitFeatures() { + CHECK(base::FeatureList::GetInstance()); + + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(MOJO_LEGACY_USE_APPLE_CHANNEL) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + bool shared_mem_enabled = base::FeatureList::IsEnabled(kMojoUseEventFd); + int num_pages = kMojoUseEventFdPages.Get(); + if (num_pages < 0) { diff --git a/www/ungoogled-chromium/files/patch-components_BUILD.gn b/www/ungoogled-chromium/files/patch-components_BUILD.gn index e7fe1ef1c546..974e31a14785 100644 --- a/www/ungoogled-chromium/files/patch-components_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-components_BUILD.gn @@ -1,28 +1,28 @@ ---- components/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- components/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ components/BUILD.gn @@ -226,7 +226,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/critical_actions/core/browser:unit_tests", "//components/cross_device/logging:unit_tests", "//components/crx_file:unit_tests", - "//components/data_sharing:unit_tests", -@@ -650,7 +649,7 @@ test("components_unittests") { +@@ -660,7 +659,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", -@@ -837,7 +836,7 @@ test("components_unittests") { +@@ -850,7 +849,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/ungoogled-chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc index aad474a4ec72..f69d56b6844d 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -862,7 +862,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { +@@ -884,7 +884,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/ungoogled-chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc index 9629e2b5fdb2..525e882a84f2 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc +++ b/www/ungoogled-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-03-15 18:32:51 UTC +--- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc -@@ -207,7 +207,7 @@ void AddOptimizationTypesForBnplIssuers( +@@ -232,7 +232,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 std::ranges::contains(bnpl_issuers, issuer_id, diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc index ecff0ceff9db..249886c85676 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc @@ -1,29 +1,29 @@ ---- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-05-09 18:09:27 UTC +--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/payments/amount_extraction_manager.cc -@@ -284,7 +284,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived +@@ -296,7 +296,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived /*timeout_reached=*/false); } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( - ::autofill::features::kAutofillEnableAmountExtractionTesting)) { + features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The result of amount extraction on domain " -@@ -372,7 +372,7 @@ void AmountExtractionManager::OnTimeoutReached() { +@@ -384,7 +384,7 @@ void AmountExtractionManager::OnTimeoutReached() { } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( - ::autofill::features::kAutofillEnableAmountExtractionTesting)) { + features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The amount extraction on domain " -@@ -392,7 +392,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe +@@ -404,7 +404,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe // Check eligibility of BNPL feature. if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (IsEligibleForBnpl(autofill_manager_->client())) { eligible_features.insert(EligibleFeature::kBnpl); } diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc index bc40efe901e8..4bf34507f31e 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-06-05 13:45:06 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -1052,7 +1052,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp +@@ -1083,7 +1083,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/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_credit__card__suggestion__generator.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_credit__card__suggestion__generator.cc index 2ea2b5e3976e..069136a108d9 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_credit__card__suggestion__generator.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_credit__card__suggestion__generator.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/suggestions/payments/credit_card_suggestion_generator.cc.orig 2026-06-05 13:45:06 UTC +--- components/autofill/core/browser/suggestions/payments/credit_card_suggestion_generator.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/suggestions/payments/credit_card_suggestion_generator.cc -@@ -43,7 +43,7 @@ using SuggestionDataSource = SuggestionGenerator::Sugg +@@ -55,7 +55,7 @@ using SuggestionDataSource = SuggestionGenerator::Sugg bool IsSaveAndFillEnabled() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kAutofillEnableSaveAndFill); #elif BUILDFLAG(IS_IOS) return base::FeatureList::IsEnabled( diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc index 0476ac8fab30..d778de8c0817 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc -@@ -1288,7 +1288,7 @@ bool AreMaskedBankAccountSupported() { +@@ -1289,7 +1289,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/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc index 0ad4799716b4..6d92cd091dcf 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,110 +1,110 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2026-06-12 07:58:04 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2026-08-13 07:41:05 UTC +++ components/autofill/core/common/autofill_payments_features.cc @@ -32,7 +32,7 @@ BASE_FEATURE(kAutofillDisableBnplCountryCheckForTestin // page using server-side AI. BASE_FEATURE(kAutofillEnableAiBasedAmountExtraction, #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); -@@ -43,7 +43,7 @@ BASE_FEATURE(kAutofillEnableAiBasedAmountExtraction, +@@ -48,7 +48,7 @@ BASE_FEATURE(kAutofillEnableAiCardRecommendation, // 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) +- 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); -@@ -66,7 +66,7 @@ BASE_FEATURE(kAutofillEnableBottomSheetScanCardAndFill +@@ -81,7 +81,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) +- 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); -@@ -77,7 +77,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLater, +@@ -92,7 +92,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); -@@ -87,7 +87,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternall +@@ -103,7 +103,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); -@@ -96,7 +96,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, +@@ -113,7 +113,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); -@@ -106,7 +106,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, +@@ -124,7 +124,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) +- 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); -@@ -126,7 +126,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp +@@ -144,7 +144,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); -@@ -170,7 +170,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl +@@ -183,7 +183,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); -@@ -257,7 +257,7 @@ BASE_FEATURE(kAutofillEnableTravelCategoryAndMerchantB +@@ -271,7 +271,7 @@ BASE_FEATURE(kAutofillEnableTravelCategoryAndMerchantB // the card, and FIDO is not. BASE_FEATURE(kAutofillEnableVcn3dsAuthentication, #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); -@@ -286,7 +286,7 @@ BASE_FEATURE(kAutofillEnableWalletBrandingV2, +@@ -307,7 +307,7 @@ BASE_FEATURE(kAutofillIgnoreEmptyCvcsInSyncBridge, // eligibility. BASE_FEATURE(kAutofillPreferBuyNowPayLaterBlocklists, #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); -@@ -341,7 +341,7 @@ const base::FeatureParam kAutofillVcnEnrollStrike - /*default_value=*/180}; +@@ -353,7 +353,7 @@ BASE_FEATURE(kAutofillUpstreamEnforceStrikeDelay, + base::FEATURE_DISABLED_BY_DEFAULT); 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/ungoogled-chromium/files/patch-components_constrained__window_constrained__window__views.cc b/www/ungoogled-chromium/files/patch-components_constrained__window_constrained__window__views.cc index f718cc1bebb4..996e195684d5 100644 --- a/www/ungoogled-chromium/files/patch-components_constrained__window_constrained__window__views.cc +++ b/www/ungoogled-chromium/files/patch-components_constrained__window_constrained__window__views.cc @@ -1,11 +1,11 @@ ---- components/constrained_window/constrained_window_views.cc.orig 2025-09-10 13:22:16 UTC +--- components/constrained_window/constrained_window_views.cc.orig 2026-08-13 07:41:05 UTC +++ components/constrained_window/constrained_window_views.cc -@@ -380,7 +380,7 @@ bool SupportsGlobalScreenCoordinates() { +@@ -419,7 +419,7 @@ bool SupportsGlobalScreenCoordinates() { } bool PlatformClipsChildrenToViewport() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/ungoogled-chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc b/www/ungoogled-chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc index 75ca7c477ffd..69c811ccf41d 100644 --- a/www/ungoogled-chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc +++ b/www/ungoogled-chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc @@ -1,13 +1,13 @@ ---- components/dbus/xdg/file_transfer_portal.cc.orig 2026-05-09 18:09:27 UTC +--- components/dbus/xdg/file_transfer_portal.cc.orig 2026-08-13 07:41:05 UTC +++ components/dbus/xdg/file_transfer_portal.cc -@@ -31,6 +31,10 @@ +@@ -32,6 +32,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); + BASE_FEATURE(kXdgFileTransferPortal, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc deleted file mode 100644 index 6dba62d6dc07..000000000000 --- a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/device_signals/core/common/signals_features.cc.orig 2026-06-05 13:45:06 UTC -+++ components/device_signals/core/common/signals_features.cc -@@ -69,7 +69,7 @@ bool IsContentBindingVersioningEnabled() { - } - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Enables the triggering of device signals consent dialog when conditions met - // This feature also requires UnmanagedDeviceSignalsConsentFlowEnabled policy to - // be enabled diff --git a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h deleted file mode 100644 index ede04fe76f3b..000000000000 --- a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h +++ /dev/null @@ -1,11 +0,0 @@ ---- components/device_signals/core/common/signals_features.h.orig 2026-06-05 13:45:06 UTC -+++ components/device_signals/core/common/signals_features.h -@@ -42,7 +42,7 @@ bool IsCertificateCollectionEnabled(); - bool IsContentBindingVersioningEnabled(); - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - BASE_DECLARE_FEATURE(kDeviceSignalsConsentDialog); - - // Returns true if device signals consent dialog has been enabled for diff --git a/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc index 27c0d74b61ab..e7ecb0fa7035 100644 --- a/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc @@ -1,11 +1,11 @@ ---- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2026-06-05 13:45:06 UTC +--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/discardable_memory/service/discardable_shared_memory_manager.cc -@@ -172,6 +172,8 @@ uint64_t GetDefaultMaxBytes() { +@@ -177,6 +177,8 @@ uint64_t GetDefaultMaxBytes() { #if BUILDFLAG(IS_ANDROID) // Limits the number of FDs used to 32, assuming a 4MB allocation size. uint64_t default_max_bytes = 128 * kMegabyte; +#elif BUILDFLAG(IS_OPENBSD) + uint64_t default_max_bytes = 128 * kMegabyte; #else uint64_t default_max_bytes = 512 * kMegabyte; #endif diff --git a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils.cc b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils.cc index eb8d506a0d21..b9fb04ae1ea1 100644 --- a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils.cc +++ b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils.cc @@ -1,56 +1,56 @@ ---- components/embedder_support/user_agent_utils.cc.orig 2026-06-05 13:45:06 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2026-08-13 07:41:05 UTC +++ components/embedder_support/user_agent_utils.cc @@ -285,7 +285,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; "; @@ -325,7 +325,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 "X11; Linux x86_64"; #elif BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { -@@ -585,7 +585,7 @@ bool GetMobileBitForUAMetadata() { - } +@@ -594,7 +594,7 @@ std::string GetPlatformVersion() { - 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)) { -@@ -639,6 +639,9 @@ std::string GetPlatformForUAMetadata() { + #if BUILDFLAG(IS_WIN) + return GetWindowsPlatformVersion(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return std::string(); + #else + +@@ -631,6 +631,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 -@@ -823,6 +826,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -815,6 +818,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/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc index 4b596fccf090..c52ac0e86f19 100644 --- a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc +++ b/www/ungoogled-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-03-15 18:32:51 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2026-08-13 07:41:05 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"; -@@ -679,7 +679,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { +@@ -659,7 +659,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/ungoogled-chromium/files/patch-components_enterprise_browser_reporting_report__util.cc b/www/ungoogled-chromium/files/patch-components_enterprise_browser_reporting_report__util.cc index 2b989f7c375c..26478087a270 100644 --- a/www/ungoogled-chromium/files/patch-components_enterprise_browser_reporting_report__util.cc +++ b/www/ungoogled-chromium/files/patch-components_enterprise_browser_reporting_report__util.cc @@ -1,11 +1,11 @@ ---- components/enterprise/browser/reporting/report_util.cc.orig 2026-06-05 13:45:06 UTC +--- components/enterprise/browser/reporting/report_util.cc.orig 2026-08-13 07:41:05 UTC +++ components/enterprise/browser/reporting/report_util.cc -@@ -173,7 +173,7 @@ std::string GetSecuritySignalsInReport( +@@ -170,7 +170,7 @@ std::string GetSecuritySignalsInReport( signals_dict.Set("antivirus_info", std::move(anti_virus_list)); signals_dict.Set("hotfixes", RepeatedFieldptrToList(os_report.hotfixes())); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (os_report.has_distribution_version()) { signals_dict.Set("distribution_version", os_report.distribution_version()); diff --git a/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc b/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc index bcfbd8f39ca2..baccb603cd85 100644 --- a/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc +++ b/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc @@ -1,20 +1,20 @@ ---- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2026-04-15 11:25:12 UTC +--- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2026-08-13 07:41:05 UTC +++ components/enterprise/connectors/core/realtime_reporting_client_base.cc @@ -198,7 +198,7 @@ void RealtimeReportingClientBase::ReportEvent( *event.mutable_time() = ToProtoTimestamp(base::Time::Now()); } -#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) MaybeCollectDeviceSignalsAndReportEvent(std::move(event), client, settings); #else // Regardless of collecting device signals or not, upload the security event -@@ -306,7 +306,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes +@@ -320,7 +320,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes if (include_profile_user_name) { event.Set(kKeyProfileUserName, GetProfileUserName()); } -#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) MaybeCollectDeviceSignalsAndReportEventDeprecated(std::move(event), client, name, settings, time); #else diff --git a/www/ungoogled-chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc b/www/ungoogled-chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc index bc8cadb309ca..89bdf642ae03 100644 --- a/www/ungoogled-chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc +++ b/www/ungoogled-chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc @@ -1,20 +1,20 @@ ---- components/enterprise/data_controls/core/browser/rule.cc.orig 2026-05-09 18:09:27 UTC +--- components/enterprise/data_controls/core/browser/rule.cc.orig 2026-08-13 07:41:05 UTC +++ components/enterprise/data_controls/core/browser/rule.cc -@@ -542,7 +542,7 @@ bool Rule::AddUnsupportedAttributeErrors( +@@ -549,7 +549,7 @@ bool Rule::AddUnsupportedAttributeErrors( }, }, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { Restriction::kFileDownload, { -@@ -625,7 +625,7 @@ bool Rule::AddUnsupportedRestrictionErrors( +@@ -632,7 +632,7 @@ bool Rule::AddUnsupportedRestrictionErrors( }, #endif // BUILDFLAG(ENTERPRISE_SCREENSHOT_PROTECTION) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { Restriction::kFileDownload, { diff --git a/www/ungoogled-chromium/files/patch-components_eye__dropper_eye__dropper__view.cc b/www/ungoogled-chromium/files/patch-components_eye__dropper_eye__dropper__view.cc index 5a579f7d627b..d5acc670432a 100644 --- a/www/ungoogled-chromium/files/patch-components_eye__dropper_eye__dropper__view.cc +++ b/www/ungoogled-chromium/files/patch-components_eye__dropper_eye__dropper__view.cc @@ -1,11 +1,11 @@ ---- components/eye_dropper/eye_dropper_view.cc.orig 2026-01-16 13:40:34 UTC +--- components/eye_dropper/eye_dropper_view.cc.orig 2026-08-13 07:41:05 UTC +++ components/eye_dropper/eye_dropper_view.cc -@@ -214,7 +214,7 @@ EyeDropperView::EyeDropperView(gfx::NativeView parent, - // EyeDropper/WidgetDelegate. - set_owned_by_client(OwnedByClientPassKey()); - SetPreferredSize(GetSize()); +@@ -350,7 +350,7 @@ EyeDropperView::EyeDropperView(gfx::NativeView parent, + contents_view->SetPreferredSize(contents_view->GetSize()); + delegate_->SetContentsView(std::move(contents_view)); + -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed // above the color picker. views::Widget::InitParams params( diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc index 7be64a72dd95..0bf7fa1f7a4f 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,30 +1,20 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2026-06-05 13:45:06 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2026-08-13 07:41:05 UTC +++ components/feature_engagement/public/feature_configurations.cc -@@ -101,7 +101,7 @@ std::optional CreateNewUserGestureInPro - +@@ -102,7 +102,7 @@ std::optional CreateNewUserGestureInPro std::optional GetClientSideFeatureConfig( const base::Feature* feature) { --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - - // The IPH bubble for link capturing has a trigger set to ANY so that it - // always shows up. The per app specific guardrails are independently stored -@@ -120,7 +120,7 @@ std::optional GetClientSideFeatureConfi - - #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { FeatureConfig config; config.valid = true; -@@ -2190,7 +2190,8 @@ std::optional GetClientSideFeatureConfi +@@ -2357,7 +2357,7 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ -+ BUILDFLAG(IS_BSD) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { // The credit card benefit IPH appears up to three times over 10 years and diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc index 022c4f6187c6..c3052556ff40 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,30 +1,38 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2026-06-05 13:45:06 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2026-08-13 07:41:05 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", -@@ -896,7 +896,8 @@ BASE_FEATURE(kIPHiOSActiveDaysTrackingFeature, +@@ -955,7 +955,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) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIPHAutofillAtMemoryFeature, "IPH_AutofillAtMemory", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -966,7 +967,7 @@ BASE_FEATURE(kIPHLauncherSearchHelpUiFeature, - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -1029,7 +1029,7 @@ BASE_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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || 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. +@@ -1046,7 +1046,7 @@ BASE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTa + #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) + BASE_FEATURE(kIPHSignInBenefitsFeature, + "IPH_SignInBenefits", + base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h index cfe15d751981..055937d3c235 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,36 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2026-06-05 13:45:06 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2026-08-13 07:41:05 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 -@@ -390,7 +390,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSActiveDaysTra - +@@ -417,7 +417,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) + #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) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillAtMemoryFeature); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature); -@@ -424,7 +424,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHGoogleOneOfferNo - FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHLauncherSearchHelpUiFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE( +@@ -452,13 +452,13 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHLauncherSearchHe #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab); + #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) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsNewSigninFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSupervisedUserProfileSigninFeature); diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc index 2a6dea70c18d..91b59368f1b6 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,29 +1,38 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2026-06-05 13:45:06 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2026-08-13 07:41:05 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -235,7 +235,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -247,7 +247,7 @@ const base::Feature* const kAllFeatures[] = { #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 -@@ -317,7 +317,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -336,7 +336,7 @@ const base::Feature* const kAllFeatures[] = { // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // keep-sorted start case=no &kIPHAutofillAccountNameEmailSuggestionFeature, &kIPHAutofillAiOptInFeature, -@@ -349,7 +349,7 @@ const base::Feature* const kAllFeatures[] = { - +@@ -370,7 +370,7 @@ const base::Feature* const kAllFeatures[] = { #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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // keep-sorted start case=no &kIPHDesktopPWAsLinkCapturingLaunch, &kIPHDesktopPWAsLinkCapturingLaunchAppInTab, +@@ -378,7 +378,7 @@ const base::Feature* const kAllFeatures[] = { + #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) + // keep-sorted start case=no + &kIPHSignInBenefitsFeature, + &kIPHSignInBenefitsNewSigninFeature, diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h index 3ce78cb03a12..f767d8147453 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,56 +1,72 @@ ---- components/feature_engagement/public/feature_list.h.orig 2026-06-05 13:45:06 UTC +--- components/feature_engagement/public/feature_list.h.orig 2026-08-13 07:41:05 UTC +++ components/feature_engagement/public/feature_list.h -@@ -379,7 +379,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSPinMostVisitedSiteFeatur +@@ -401,7 +401,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 -@@ -510,7 +510,7 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -545,7 +545,7 @@ 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(kIPHAutofillAccountNameEmailSuggestionFeature, + "IPH_AutofillAccountNameEmailSuggestion"); DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn"); - DEFINE_VARIATION_PARAM(kIPHAutofillAiValuablesFeature, - "IPH_AutofillAiValuables"); -@@ -553,7 +553,7 @@ DEFINE_VARIATION_PARAM(kIPHLauncherSearchHelpUiFeature - "IPH_LauncherSearchHelpUi"); +@@ -591,7 +591,7 @@ DEFINE_VARIATION_PARAM(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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch, "IPH_DesktopPWAsLinkCapturingLaunch"); DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunchAppInTab, -@@ -782,7 +782,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -599,7 +599,7 @@ DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLau + #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) + DEFINE_VARIATION_PARAM(kIPHSignInBenefitsFeature, "IPH_SignInBenefits"); + DEFINE_VARIATION_PARAM(kIPHSupervisedUserProfileSigninFeature, + "IPH_SupervisedUserProfileSignin"); +@@ -837,7 +837,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHWhatsNewUpdatedFeature), // keep-sorted end #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) #if BUILDFLAG(ENABLE_EXTENSIONS) VARIATION_ENTRY(kIPHExtensionsMenuFeature), VARIATION_ENTRY(kIPHExtensionsRequestAccessButtonFeature), -@@ -849,7 +849,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -910,7 +910,7 @@ 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) // keep-sorted start case=no VARIATION_ENTRY(kIPHAutofillAccountNameEmailSuggestionFeature), VARIATION_ENTRY(kIPHAutofillAiOptInFeature), -@@ -877,7 +877,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -939,13 +939,13 @@ 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) +-#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) VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch), VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunchAppInTab), + #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) VARIATION_ENTRY(kIPHSignInBenefitsFeature), + VARIATION_ENTRY(kIPHSupervisedUserProfileSigninFeature), + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_tracker.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_tracker.h new file mode 100644 index 000000000000..d4516361a5d6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_tracker.h @@ -0,0 +1,11 @@ +--- components/feature_engagement/public/tracker.h.orig 2026-08-13 07:41:05 UTC ++++ components/feature_engagement/public/tracker.h +@@ -260,7 +260,7 @@ class Tracker : public KeyedService, public base::Supp + Dismissed(feature); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(https://crbug.com/511194274): For now, allow calling the base API in + // chromeos-only code; remove the exception for ChromeOS when we've migrated + // those calls. diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc index bfa231a01f12..5321971baa1a 100644 --- a/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2026-05-09 18:09:27 UTC +--- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ components/feed/core/v2/feed_network_impl_unittest.cc -@@ -749,8 +749,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn +@@ -748,8 +748,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, client_info.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, client_info.app_version().build_type()); - EXPECT_EQ(1, client_info.app_version().major()); - EXPECT_EQ(2, client_info.app_version().minor()); + EXPECT_EQ(1, client_info.app_version().gmajor()); + EXPECT_EQ(2, client_info.app_version().gminor()); EXPECT_EQ(3, client_info.app_version().build()); EXPECT_EQ(4, client_info.app_version().revision()); EXPECT_FALSE(client_info.chrome_client_info().start_surface()); diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc index 5db71f7aacfd..906a598cb35e 100644 --- a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc @@ -1,24 +1,24 @@ ---- components/feed/core/v2/proto_util.cc.orig 2025-10-21 16:57:35 UTC +--- components/feed/core/v2/proto_util.cc.orig 2026-08-13 07:41:05 UTC +++ components/feed/core/v2/proto_util.cc -@@ -92,8 +92,8 @@ feedwire::Version GetPlatformVersionMessage() { +@@ -91,8 +91,8 @@ feedwire::Version GetPlatformVersionMessage() { int32_t major, minor, revision; base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision); - result.set_major(major); - result.set_minor(minor); + result.set_gmajor(major); + result.set_gminor(minor); result.set_revision(revision); #if BUILDFLAG(IS_ANDROID) result.set_api_version(base::android::android_info::sdk_int()); -@@ -108,8 +108,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf +@@ -107,8 +107,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH. const std::vector& numbers = chrome_info.version.components(); if (numbers.size() > 3) { - result.set_major(static_cast(numbers[0])); - result.set_minor(static_cast(numbers[1])); + result.set_gmajor(static_cast(numbers[0])); + result.set_gminor(static_cast(numbers[1])); result.set_build(static_cast(numbers[2])); result.set_revision(static_cast(numbers[3])); } diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc index 600d4dc6f5c5..94dcb0d78585 100644 --- a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/proto_util_unittest.cc.orig 2025-09-10 13:22:16 UTC +--- components/feed/core/v2/proto_util_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ components/feed/core/v2/proto_util_unittest.cc -@@ -42,8 +42,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { +@@ -46,8 +46,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { feedwire::ClientInfo result = CreateClientInfo(request_metadata); EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, result.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, result.app_version().build_type()); - EXPECT_EQ(1, result.app_version().major()); - EXPECT_EQ(2, result.app_version().minor()); + EXPECT_EQ(1, result.app_version().gmajor()); + EXPECT_EQ(2, result.app_version().gminor()); EXPECT_EQ(3, result.app_version().build()); EXPECT_EQ(4, result.app_version().revision()); diff --git a/www/ungoogled-chromium/files/patch-components_gwp__asan_client_gwp__asan.cc b/www/ungoogled-chromium/files/patch-components_gwp__asan_client_gwp__asan.cc index 4d9eeafa5390..02d4b13464a6 100644 --- a/www/ungoogled-chromium/files/patch-components_gwp__asan_client_gwp__asan.cc +++ b/www/ungoogled-chromium/files/patch-components_gwp__asan_client_gwp__asan.cc @@ -1,11 +1,11 @@ ---- components/gwp_asan/client/gwp_asan.cc.orig 2025-09-10 13:22:16 UTC +--- components/gwp_asan/client/gwp_asan.cc.orig 2026-08-13 07:41:05 UTC +++ components/gwp_asan/client/gwp_asan.cc -@@ -81,7 +81,7 @@ namespace { +@@ -82,7 +82,7 @@ namespace { // ProcessSamplingBoost is the multiplier to increase the // ProcessSamplingProbability in scenarios where we want to perform additional // testing (e.g., on canary/dev builds). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr int kDefaultMaxAllocations = 50; constexpr int kDefaultMaxMetadata = 210; constexpr int kDefaultTotalPages = kCpuIs64Bit ? 2048 : kDefaultMaxMetadata * 2; diff --git a/www/ungoogled-chromium/files/patch-components_metrics_metrics__log.cc b/www/ungoogled-chromium/files/patch-components_metrics_metrics__log.cc index 9a831582d608..9612eb6838c7 100644 --- a/www/ungoogled-chromium/files/patch-components_metrics_metrics__log.cc +++ b/www/ungoogled-chromium/files/patch-components_metrics_metrics__log.cc @@ -1,38 +1,38 @@ ---- components/metrics/metrics_log.cc.orig 2026-06-05 13:45:06 UTC +--- components/metrics/metrics_log.cc.orig 2026-08-13 07:41:05 UTC +++ components/metrics/metrics_log.cc -@@ -60,7 +60,7 @@ +@@ -61,7 +61,7 @@ #include "base/win/current_module.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif -@@ -156,7 +156,7 @@ void RecordCurrentTime( +@@ -157,7 +157,7 @@ void RecordCurrentTime( } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics::SystemProfileProto::OS::XdgSessionType ToProtoSessionType( base::nix::SessionType session_type) { switch (session_type) { -@@ -444,7 +444,7 @@ void MetricsLog::RecordCoreSystemProfile( +@@ -446,7 +446,7 @@ void MetricsLog::RecordCoreSystemProfile( // OperatingSystemVersion refers to the ChromeOS release version. #if BUILDFLAG(IS_CHROMEOS) os->set_kernel_version(base::SysInfo::KernelVersion()); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux operating system version is copied over into kernel version to be // consistent. os->set_kernel_version(base::SysInfo::OperatingSystemVersion()); -@@ -461,7 +461,7 @@ void MetricsLog::RecordCoreSystemProfile( +@@ -465,7 +465,7 @@ void MetricsLog::RecordCoreSystemProfile( os->set_build_number(base::SysInfo::GetIOSBuildNumber()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr env = base::Environment::Create(); os->set_xdg_session_type(ToProtoSessionType(base::nix::GetSessionType(*env))); os->set_xdg_current_desktop( diff --git a/www/ungoogled-chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc b/www/ungoogled-chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc index 391b5247e7b9..968993d04c08 100644 --- a/www/ungoogled-chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2026-08-13 07:41:05 UTC +++ components/optimization_guide/core/feature_registry/feature_registration.cc -@@ -87,7 +87,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, +@@ -76,7 +76,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/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc index 930625ec7351..62820f41b3f5 100644 --- a/www/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc +++ b/www/ungoogled-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-05-09 18:09:27 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-08-13 07:41:05 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -97,7 +97,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_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/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc index 51855f5e3de0..e834712fcc55 100644 --- a/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-05-09 18:09:27 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ components/paint_preview/player/player_compositor_delegate.cc -@@ -395,8 +395,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT +@@ -397,8 +397,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT auto chrome_version = capture_result_->proto.metadata().chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); if (capture_result_->proto.metadata().has_chrome_version() && - chrome_version.major() == current_chrome_version.components()[0] && - chrome_version.minor() == current_chrome_version.components()[1] && + chrome_version.gmajor() == current_chrome_version.components()[0] && + chrome_version.gminor() == current_chrome_version.components()[1] && chrome_version.build() == current_chrome_version.components()[2] && chrome_version.patch() == current_chrome_version.components()[3]) { paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc index c737bdb61ac7..9c057e47c898 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -1,29 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/features/password_features.cc -@@ -83,7 +83,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, +@@ -80,7 +80,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 -@@ -123,7 +123,7 @@ BASE_FEATURE(kFillChangePasswordFormByTyping, - BASE_FEATURE(kFillOnAccountSelect, - "fill-on-account-select", - // TODO(504600482): Disable the feature again upon fixing the bug. --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -181,7 +181,7 @@ BASE_FEATURE(kProactivelyDownloadModelForPasswordChang - - BASE_FEATURE(kPasswordCheckupPrototype, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -179,7 +179,7 @@ BASE_FEATURE(kPreventAPCOnFederatedLogin, base::FEATUR + BASE_FEATURE(kPreventPasswordManagerOnFederatedLogin, + 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/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.h index 11ac7ed5dec6..c4dfc0b9e78b 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.h +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -207,7 +207,7 @@ BASE_DECLARE_FEATURE(kProactivelyDownloadModelForPassw - // This flag is only for the prototype version. - BASE_DECLARE_FEATURE(kPasswordCheckupPrototype); +@@ -194,7 +194,7 @@ BASE_DECLARE_FEATURE(kPreventAPCOnFederatedLogin); + // Prevents password manager from showing save/update UI on federated login. + BASE_DECLARE_FEATURE(kPreventPasswordManagerOnFederatedLogin); -#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/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc index f521d1967653..e53a4afa1904 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc @@ -1,20 +1,29 @@ ---- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_autofill_manager.cc -@@ -404,7 +404,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( +@@ -392,7 +392,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( + weak_ptr_factory_.GetWeakPtr(), payload); + if (payload.is_cross_domain) { + #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, +@@ -443,7 +443,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, -@@ -662,7 +662,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { +@@ -706,7 +706,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/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h index 92dc1a7660b2..c72551c77fe1 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_autofill_manager.h.orig 2026-06-17 19:06:11 UTC +--- components/password_manager/core/browser/password_autofill_manager.h.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_autofill_manager.h -@@ -299,7 +299,7 @@ class PasswordAutofillManager : public autofill::Autof +@@ -296,7 +296,7 @@ class PasswordAutofillManager : public autofill::Autof // Stores the controller of warning popup UI on cross domain filling. #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) std::unique_ptr cross_domain_confirmation_controller_; #endif diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc index 0f89c0ef7c6c..543f46e3b6b4 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc +++ b/www/ungoogled-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 2026-03-15 18:32:51 UTC +--- components/password_manager/core/browser/password_form_filling.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_form_filling.cc -@@ -176,7 +176,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -178,7 +178,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); - } + url::Origin origin = + base::FeatureList::IsEnabled( diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc index 9e7f328d973c..cb467371c8b7 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_form_manager.cc.orig 2026-05-09 18:09:27 UTC +--- components/password_manager/core/browser/password_form_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_form_manager.cc -@@ -236,7 +236,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest +@@ -239,7 +239,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest return false; } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool ShouldShowKeychainErrorBubble( std::optional backend_error) { if (!backend_error.has_value()) { -@@ -944,7 +944,7 @@ void PasswordFormManager::OnFetchCompleted() { +@@ -948,7 +948,7 @@ void PasswordFormManager::OnFetchCompleted() { error.value().type); } -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ShouldShowKeychainErrorBubble( form_fetcher_->GetProfileStoreBackendError())) { client_->NotifyKeychainError(); diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager.cc index 995f0f5648ab..0dd8e4c7aa71 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -609,12 +609,12 @@ void PasswordManager::RegisterProfilePrefs( +@@ -602,12 +602,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 -@@ -627,7 +627,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -620,7 +620,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 -@@ -657,7 +657,7 @@ void PasswordManager::RegisterLocalPrefs(PrefRegistryS +@@ -650,7 +650,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/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager__client.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager__client.h index bba9af52ae89..cfe0ff41e9f0 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager__client.h +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manager__client.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manager_client.h.orig 2026-05-09 18:09:27 UTC +--- components/password_manager/core/browser/password_manager_client.h.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_manager_client.h -@@ -30,7 +30,7 @@ +@@ -31,7 +31,7 @@ #include "net/cert/cert_status_flags.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/i18n/rtl.h" #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #include "ui/gfx/geometry/rect_f.h" -@@ -551,7 +551,7 @@ class PasswordManagerClient { +@@ -580,7 +580,7 @@ class PasswordManagerClient { virtual void TriggerSignIn(signin_metrics::AccessPoint access_point) const; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Shows the bubble with the details of the `form`. virtual void OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) = 0; diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc index 2d4e1a2b929c..a38828bac976 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.cc -@@ -47,7 +47,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri +@@ -52,7 +52,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 -@@ -316,7 +316,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( +@@ -344,7 +344,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(), -@@ -462,7 +462,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass +@@ -491,7 +491,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/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h index 2189a4ad75dc..edcb64c48a17 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.h @@ -20,7 +20,7 @@ #include "components/password_manager/core/browser/ui/saved_passwords_presenter.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_CHROMEOS) -@@ -188,7 +188,7 @@ class PasswordManualFallbackFlow : public autofill::Au +@@ -185,7 +185,7 @@ class PasswordManualFallbackFlow : public autofill::Au std::unique_ptr authenticator_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr cross_domain_confirmation_popup_controller_; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc index 0085ebe66cc9..2c3fadb0d7f1 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_store/login_database.cc.orig 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_store/login_database.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_store/login_database.cc -@@ -1013,7 +1013,7 @@ bool ShouldDeleteUndecryptablePasswords( +@@ -1015,7 +1015,7 @@ bool ShouldDeleteUndecryptablePasswords( bool is_enabled_by_policy, IsAccountStore is_account_store, const os_crypt_async::Encryptor* encryptor) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr environment(base::Environment::Create()); // On Linux user data directory ca be specified using an env variable. If it // exists, passwords shouldn't be deleted. -@@ -1027,7 +1027,7 @@ bool ShouldDeleteUndecryptablePasswords( +@@ -1029,7 +1029,7 @@ bool ShouldDeleteUndecryptablePasswords( return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch(password_manager::kPasswordStore)) { return false; } diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc index 9e66eb687172..fc29314a108f 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_store/login_database_async_helper.cc -@@ -138,7 +138,7 @@ StoredCredentialsResultOrError LoginDatabaseAsyncHelpe +@@ -140,7 +140,7 @@ StoredCredentialsResultOrError LoginDatabaseAsyncHelpe std::vector matched_credentials; if (!login_db_ || !login_db_->GetLogins(form, include_psl, &matched_credentials)) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return PasswordStoreBackendError( is_encryption_available_ ? PasswordStoreBackendErrorType::kUncategorized diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc index 2a0f1fa5921c..f79d20dd5628 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/password_store/login_database_unittest.cc -@@ -2248,7 +2248,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, +@@ -2249,7 +2249,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/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc index abec354d6062..9c67f9263f97 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2026-05-09 18:09:27 UTC +--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/stub_password_manager_client.cc -@@ -231,7 +231,7 @@ version_info::Channel StubPasswordManagerClient::GetCh +@@ -235,7 +235,7 @@ version_info::Channel StubPasswordManagerClient::GetCh } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void StubPasswordManagerClient::OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) {} void StubPasswordManagerClient::MaybeShowSavePasswordPrimingPromo( diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h index 42069ba9bcf0..7f4e976d409f 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.h.orig 2026-05-09 18:09:27 UTC +--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2026-08-13 07:41:05 UTC +++ components/password_manager/core/browser/stub_password_manager_client.h -@@ -86,7 +86,7 @@ class StubPasswordManagerClient : public PasswordManag +@@ -92,7 +92,7 @@ class StubPasswordManagerClient : public PasswordManag MockPasswordFeatureManager* GetPasswordFeatureManager(); version_info::Channel GetChannel() const override; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) override; - void MaybeShowSavePasswordPrimingPromo(const GURL& current_url) override; + void MaybeShowSavePasswordPrimingPromo(const url::Origin& origin) override; diff --git a/www/ungoogled-chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc b/www/ungoogled-chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc index 667d80d53254..c2e36bbd12dc 100644 --- a/www/ungoogled-chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc +++ b/www/ungoogled-chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc @@ -1,11 +1,11 @@ ---- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2025-12-06 13:30:52 UTC +--- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2026-08-13 07:41:05 UTC +++ components/performance_manager/decorators/process_metrics_decorator.cc -@@ -54,7 +54,7 @@ class ProcessMetricsDecorator::NodeMetricsUpdater { +@@ -53,7 +53,7 @@ class ProcessMetricsDecorator::NodeMetricsUpdater { auto* process_node = ProcessNodeImpl::FromNode(context.GetProcessNode()); process_node->set_private_footprint(memory_summary_->private_footprint); process_node->set_resident_set(memory_summary_->resident_set_size); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) process_node->set_private_swap(memory_summary_->private_swap); #endif } diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc index 32fa08dca343..f286371b52b0 100644 --- a/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc +++ b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc @@ -1,11 +1,11 @@ ---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2025-05-06 12:23:00 UTC +--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2026-08-13 07:41:05 UTC +++ components/policy/core/browser/policy_pref_mapping_test.cc -@@ -432,7 +432,7 @@ class PolicyTestCase { +@@ -434,7 +434,7 @@ class PolicyTestCase { const std::string os("chromeos"); #elif BUILDFLAG(IS_IOS) const std::string os("ios"); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::string os("linux"); #elif BUILDFLAG(IS_MAC) const std::string os("mac"); diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index 27a0bfab0ae5..0da6107166eb 100644 --- a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/ungoogled-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-03-15 18:32:51 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2026-08-13 07:41:05 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -849,11 +849,11 @@ void CloudPolicyClient::FetchPolicyInternal( +@@ -852,11 +852,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/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc index b35e02860205..9c61985b0202 100644 --- a/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc +++ b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_service.cc.orig 2026-04-15 11:25:12 UTC +--- components/regional_capabilities/regional_capabilities_service.cc.orig 2026-08-13 07:41:05 UTC +++ components/regional_capabilities/regional_capabilities_service.cc -@@ -413,7 +413,7 @@ bool RegionalCapabilitiesService::IsInSearchEngineChoi +@@ -420,7 +420,7 @@ bool RegionalCapabilitiesService::IsInAnySearchEngineC .choice_screen_eligibility_config.has_value(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static - bool RegionalCapabilitiesService::IsInSearchEngineChoiceScreenRegion( + bool RegionalCapabilitiesService::IsInAnySearchEngineChoiceScreenRegion( Client& client) { diff --git a/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.h b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.h index 53a2ebb01fe8..c3b77f09c476 100644 --- a/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.h +++ b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__service.h @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_service.h.orig 2026-04-15 11:25:12 UTC +--- components/regional_capabilities/regional_capabilities_service.h.orig 2026-08-13 07:41:05 UTC +++ components/regional_capabilities/regional_capabilities_service.h -@@ -117,7 +117,7 @@ class RegionalCapabilitiesService : public KeyedServic - static bool IsInSearchEngineChoiceScreenRegion( +@@ -123,7 +123,7 @@ class RegionalCapabilitiesService : public KeyedServic + static bool IsInAnySearchEngineChoiceScreenRegion( const country_codes::CountryId& tested_country_id); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the country obtained from the client is associated with // a region in which we can show a search engine choice screen. // diff --git a/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc index b78d796cfeda..2b1fcb42449b 100644 --- a/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc +++ b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-05-09 18:09:27 UTC +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-08-13 07:41:05 UTC +++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc -@@ -114,7 +114,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { +@@ -120,7 +120,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { return RTLookupRequest::OS_TYPE_CHROME_OS; #elif BUILDFLAG(IS_IOS) return RTLookupRequest::OS_TYPE_IOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return RTLookupRequest::OS_TYPE_LINUX; #elif BUILDFLAG(IS_MAC) return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/ungoogled-chromium/files/patch-components_search__engines_template__url__service.cc b/www/ungoogled-chromium/files/patch-components_search__engines_template__url__service.cc index 9f6bfec31e40..6d3aea862664 100644 --- a/www/ungoogled-chromium/files/patch-components_search__engines_template__url__service.cc +++ b/www/ungoogled-chromium/files/patch-components_search__engines_template__url__service.cc @@ -1,11 +1,11 @@ ---- components/search_engines/template_url_service.cc.orig 2026-05-09 18:09:27 UTC +--- components/search_engines/template_url_service.cc.orig 2026-08-13 07:41:05 UTC +++ components/search_engines/template_url_service.cc -@@ -3682,7 +3682,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3736,7 +3736,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/ungoogled-chromium/files/patch-components_signin_internal_identity__manager_account__capabilities__list.h b/www/ungoogled-chromium/files/patch-components_signin_internal_identity__manager_account__capabilities__list.h index af61d09821a4..bbe0b0dc965e 100644 --- a/www/ungoogled-chromium/files/patch-components_signin_internal_identity__manager_account__capabilities__list.h +++ b/www/ungoogled-chromium/files/patch-components_signin_internal_identity__manager_account__capabilities__list.h @@ -1,11 +1,11 @@ ---- components/signin/internal/identity_manager/account_capabilities_list.h.orig 2026-05-09 18:09:27 UTC +--- components/signin/internal/identity_manager/account_capabilities_list.h.orig 2026-08-13 07:41:05 UTC +++ components/signin/internal/identity_manager/account_capabilities_list.h -@@ -71,7 +71,7 @@ ACCOUNT_CAPABILITY( - CAN_SHOW_HISTORY_SYNC_OPT_INS_WITHOUT_MINOR_MODE_RESTRICTIONS_CAPABILITY_NAME, +@@ -72,7 +72,7 @@ ACCOUNT_CAPABILITY( "accountcapabilities/gi2tklldmfya") --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) ACCOUNT_CAPABILITY(kCanSubmitFeedbackInChromeCapabilityName, CAN_SUBMIT_FEEDBACK_IN_CHROME_CAPABILITY_NAME, "accountcapabilities/gizdqmrnmnqxa") diff --git a/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.cc b/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.cc index 4493bd929213..4b00bafad4ac 100644 --- a/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.cc +++ b/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.cc @@ -1,115 +1,136 @@ ---- components/signin/public/base/signin_switches.cc.orig 2026-06-05 13:45:06 UTC +--- components/signin/public/base/signin_switches.cc.orig 2026-08-13 07:41:05 UTC +++ components/signin/public/base/signin_switches.cc -@@ -27,7 +27,7 @@ const char kForceFreDefaultBrowserStep[] = "force-fre- +@@ -32,7 +32,7 @@ const char kForceFreFeatureShowcaseSteps[] = "force-fr #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Feature param to pass probability for identity surveys. constexpr char kHatsSurveyProbabilityName[] = "probability"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -75,7 +75,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA - #endif - } +@@ -83,7 +83,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA + BASE_FEATURE(kAvoidAutoTriggerListAccountsOnStale, + 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(kBeforeFirstRunDesktopRefreshSurvey, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -142,7 +142,7 @@ BASE_FEATURE_PARAM(double, +@@ -159,7 +159,7 @@ BASE_FEATURE_PARAM(double, 0.42); #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) constexpr double kMediumSurveyProbability = 0.08; constexpr double kLowSurveyProbability = 0.008; BASE_FEATURE(kChromeIdentitySurveyAddressBubbleSignin, -@@ -234,7 +234,7 @@ BASE_FEATURE_PARAM( +@@ -251,7 +251,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, -@@ -250,7 +250,7 @@ const base::FeatureParam kCrossDeviceSign +@@ -266,7 +266,7 @@ BASE_FEATURE(kChromeOsUseConsentLevelSigninForNewUsers + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kCrossDeviceSignin, base::FEATURE_DISABLED_BY_DEFAULT); + const base::FeatureParam kCrossDeviceSigninUrl{&kCrossDeviceSignin, "url", ""}; - #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) +@@ -276,7 +276,7 @@ const base::FeatureParam kCrossDeviceSign + BASE_FEATURE(kDiceLinkedAccounts, 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(kCrossDeviceSigninFromDesktop, base::FEATURE_DISABLED_BY_DEFAULT); + const base::FeatureParam kCrossDeviceSigninFromDesktopUrl{ + &kCrossDeviceSigninFromDesktop, "url", +@@ -285,7 +285,7 @@ const base::FeatureParam kCrossDeviceSigninFromD + &kCrossDeviceSigninFromDesktop, "show_new_badge", true}; + #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(kDisableU18FeedbackDesktop, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -429,7 +429,7 @@ const base::FeatureParam - base::Hours(8)}; - #endif +@@ -519,7 +519,7 @@ const base::FeatureParam + + BASE_FEATURE(kFetchAccountInfoOnRestart, 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(kFirstRunDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kFirstRunDesktopChoiceScreenRefresh, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -457,11 +457,11 @@ constexpr base::FeatureParam::Option - kProfilePickerVariations[] = { -@@ -571,7 +571,7 @@ BASE_FEATURE(kRestrictDeviceManagementServiceOAuthScop - base::FEATURE_ENABLED_BY_DEFAULT); - #endif // !BUILDFLAG(IS_ANDROID) + BASE_FEATURE(kFirstRunDesktopRevampSurvey, base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -647,12 +647,12 @@ BASE_FEATURE(kNoAccountWebSignin, base::FEATURE_DISABL + BASE_FEATURE(kNonDefaultGaiaOriginCheck, base::FEATURE_ENABLED_BY_DEFAULT); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kPasswordUploadUiUpdate, base::FEATURE_ENABLED_BY_DEFAULT); + #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) - BASE_FEATURE(kShowProfilePickerToAllUsersExperiment, - base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kProfileCreationDeclineSigninCTAExperiment, + base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -592,7 +592,7 @@ const base::FeatureParam kContextualSigninPromoDi +@@ -694,7 +694,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) -@@ -662,7 +662,7 @@ BASE_FEATURE(kStableDeviceId, base::FEATURE_DISABLED_B +@@ -764,7 +764,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/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.h b/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.h index 7eea42be2450..65e44223cdd6 100644 --- a/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.h +++ b/www/ungoogled-chromium/files/patch-components_signin_public_base_signin__switches.h @@ -1,101 +1,128 @@ ---- components/signin/public/base/signin_switches.h.orig 2026-06-05 13:45:06 UTC +--- components/signin/public/base/signin_switches.h.orig 2026-08-13 07:41:05 UTC +++ components/signin/public/base/signin_switches.h -@@ -55,7 +55,7 @@ bool IsAvatarSyncPromoFeatureEnabled(); +@@ -61,7 +61,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA COMPONENT_EXPORT(SIGNIN_SWITCHES) - base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeAgeParam(); + BASE_DECLARE_FEATURE(kAvoidAutoTriggerListAccountsOnStale); -#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. // -@@ -124,7 +124,7 @@ BASE_DECLARE_FEATURE_PARAM( +@@ -135,7 +135,7 @@ BASE_DECLARE_FEATURE_PARAM( kChromeAndroidIdentitySurveyBookmarkPromoProbability); #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. -@@ -201,7 +201,7 @@ BASE_DECLARE_FEATURE_PARAM( +@@ -212,7 +212,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); -@@ -219,7 +219,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) - extern const base::FeatureParam kCrossDeviceSigninUrl; - #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) +@@ -243,7 +243,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kDiceLinkedAccounts); + #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) + // Feature flag to enable cross-device sign-in promo. + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kCrossDeviceSigninFromDesktop); +@@ -255,7 +255,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + extern const base::FeatureParam kCrossDeviceSigninFromDesktopNewBadge; + #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) // If enabled, disables feedback for U18 users on desktop platforms. - // The iOS version is kDisableU18FeedbackIos flag. + // The iOS version is kDisableFeedbackForIneligibleUsers flag. COMPONENT_EXPORT(SIGNIN_SWITCHES) -@@ -349,7 +349,7 @@ extern const base::FeatureParam - kPolicyDisclaimerRegistrationRetryDelay; - #endif +@@ -425,7 +425,7 @@ extern const base::FeatureParam + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kFetchAccountInfoOnRestart); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This feature controls running visually refreshed first run and profile // creation flows for users outside of the search engine choice regions. To // enable the refresh in search engine choice screen regions, -@@ -403,7 +403,7 @@ extern const base::FeatureParam kContextualSignin +@@ -689,7 +689,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); -@@ -635,7 +635,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -744,7 +744,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/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc b/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc index 043f51687480..e37afba5d92a 100644 --- a/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc +++ b/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc @@ -1,11 +1,11 @@ ---- components/signin/public/identity_manager/account_capabilities.cc.orig 2026-05-09 18:09:27 UTC +--- components/signin/public/identity_manager/account_capabilities.cc.orig 2026-08-13 07:41:05 UTC +++ components/signin/public/identity_manager/account_capabilities.cc -@@ -145,7 +145,7 @@ signin::Tribool AccountCapabilities::can_sign_in_to_ch - } +@@ -192,7 +192,7 @@ signin::Tribool AccountCapabilities::can_sign_in_to_ch #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) signin::Tribool AccountCapabilities::can_submit_feedback() const { return GetCapabilityByName(kCanSubmitFeedbackInChromeCapabilityName); } diff --git a/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h b/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h index d351e9c7d9bc..301d4ad5b8d5 100644 --- a/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h +++ b/www/ungoogled-chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h @@ -1,11 +1,11 @@ ---- components/signin/public/identity_manager/account_capabilities.h.orig 2026-05-09 18:09:27 UTC +--- components/signin/public/identity_manager/account_capabilities.h.orig 2026-08-13 07:41:05 UTC +++ components/signin/public/identity_manager/account_capabilities.h -@@ -88,7 +88,7 @@ class AccountCapabilities { - signin::Tribool can_sign_in_to_chrome() const; +@@ -93,7 +93,7 @@ class AccountCapabilities { #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) // Whether the account can submit feedback. For iOS, this is implemented by // Aloha FeedbackKit. For Android, this is implemented by GMS Core. signin::Tribool can_submit_feedback() const; diff --git a/www/ungoogled-chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/www/ungoogled-chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc index 206840c6ba20..9d534bdde02a 100644 --- a/www/ungoogled-chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc +++ b/www/ungoogled-chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc @@ -1,11 +1,11 @@ ---- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2025-09-10 13:22:16 UTC +--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2026-08-13 07:41:05 UTC +++ components/startup_metric_utils/common/startup_metric_utils.cc -@@ -95,7 +95,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi +@@ -99,7 +99,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi // Enabling this logic on OS X causes a significant performance regression. // TODO(crbug.com/40464036): Remove IS_APPLE ifdef once utility processes // set their desired main thread priority. -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) static bool statics_initialized = false; if (!statics_initialized) { statics_initialized = true; diff --git a/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc b/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc index 7ed49a727253..5305a1b024fb 100644 --- a/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc +++ b/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/child_account_service.cc.orig 2025-09-10 13:22:16 UTC +--- components/supervised_user/core/browser/child_account_service.cc.orig 2026-08-13 07:41:05 UTC +++ components/supervised_user/core/browser/child_account_service.cc -@@ -170,7 +170,7 @@ void ChildAccountService::OnPrimaryAccountChanged( +@@ -174,7 +174,7 @@ void ChildAccountService::OnPrimaryAccountChanged( void ChildAccountService::UpdateForceGoogleSafeSearch() { // On platforms without web sign-out (where the primary account is always // authenticated), there's no need to force SafeSearch. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool is_subject_to_parental_controls = IsPrimaryAccountSubjectToParentalControls(identity_manager_) == signin::Tribool::kTrue; diff --git a/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc b/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc similarity index 68% rename from www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc rename to www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc index 23362cb8d426..e055b8d88cd3 100644 --- a/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc +++ b/www/ungoogled-chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc.orig 2026-03-15 18:32:51 UTC -+++ components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc +--- components/supervised_user/core/browser/supervised_user_url_checker_client.cc.orig 2026-08-13 07:41:05 UTC ++++ components/supervised_user/core/browser/supervised_user_url_checker_client.cc @@ -65,7 +65,7 @@ void OnResponse( 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/ungoogled-chromium/files/patch-components_supervised__user_core_common_features.cc b/www/ungoogled-chromium/files/patch-components_supervised__user_core_common_features.cc index 8c776727d08f..099c2b94949b 100644 --- a/www/ungoogled-chromium/files/patch-components_supervised__user_core_common_features.cc +++ b/www/ungoogled-chromium/files/patch-components_supervised__user_core_common_features.cc @@ -1,20 +1,20 @@ ---- components/supervised_user/core/common/features.cc.orig 2026-06-05 13:45:06 UTC +--- components/supervised_user/core/common/features.cc.orig 2026-08-13 07:41:05 UTC +++ components/supervised_user/core/common/features.cc @@ -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{ -@@ -75,7 +75,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() { +@@ -68,7 +68,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/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc index 13d8de100e15..ac8783b26d23 100644 --- a/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc +++ b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc @@ -1,20 +1,20 @@ ---- components/sync_device_info/local_device_info_util.cc.orig 2026-05-09 18:09:27 UTC +--- components/sync_device_info/local_device_info_util.cc.orig 2026-08-13 07:41:05 UTC +++ components/sync_device_info/local_device_info_util.cc -@@ -84,7 +84,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na +@@ -91,7 +91,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na DeviceInfo::DeviceType GetLocalDeviceType() { #if BUILDFLAG(IS_CHROMEOS) return DeviceInfo::DeviceType::kChromeOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return DeviceInfo::DeviceType::kLinux; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) switch (ui::GetDeviceFormFactor()) { -@@ -107,7 +107,7 @@ DeviceInfo::DeviceType GetLocalDeviceType() { +@@ -114,7 +114,7 @@ DeviceInfo::DeviceType GetLocalDeviceType() { DeviceInfo::OsType GetLocalDeviceOSType() { #if BUILDFLAG(IS_CHROMEOS) return DeviceInfo::OsType::kChromeOsAsh; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return DeviceInfo::OsType::kLinux; #elif BUILDFLAG(IS_ANDROID) return DeviceInfo::OsType::kAndroid; diff --git a/www/ungoogled-chromium/files/patch-components_sync_service_sync__prefs.cc b/www/ungoogled-chromium/files/patch-components_sync_service_sync__prefs.cc index ee73fe83d665..7fe25053c2fa 100644 --- a/www/ungoogled-chromium/files/patch-components_sync_service_sync__prefs.cc +++ b/www/ungoogled-chromium/files/patch-components_sync_service_sync__prefs.cc @@ -1,11 +1,11 @@ ---- components/sync/service/sync_prefs.cc.orig 2026-06-05 13:45:06 UTC +--- components/sync/service/sync_prefs.cc.orig 2026-08-13 07:41:05 UTC +++ components/sync/service/sync_prefs.cc -@@ -838,7 +838,7 @@ bool SyncPrefs::MaybeMigratePrefsForSyncToSigninPart1( +@@ -851,7 +851,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/ungoogled-chromium/files/patch-components_sync_service_sync__service__impl.cc b/www/ungoogled-chromium/files/patch-components_sync_service_sync__service__impl.cc deleted file mode 100644 index ea2cfb91f38e..000000000000 --- a/www/ungoogled-chromium/files/patch-components_sync_service_sync__service__impl.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/sync/service/sync_service_impl.cc.orig 2026-03-15 18:32:51 UTC -+++ components/sync/service/sync_service_impl.cc -@@ -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/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__view.cc b/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__view.cc index 5383acec36a1..73f2c11f08e7 100644 --- a/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__view.cc +++ b/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__view.cc @@ -1,29 +1,29 @@ ---- components/user_education/views/help_bubble_view.cc.orig 2026-05-09 18:09:27 UTC +--- components/user_education/views/help_bubble_view.cc.orig 2026-08-13 07:41:05 UTC +++ components/user_education/views/help_bubble_view.cc -@@ -269,7 +269,7 @@ DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(HelpBubbleView, +@@ -272,7 +272,7 @@ DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(HelpBubbleView, // TODO(https://crbug.com/382611284): Temporarily handle the case when the // primary window is minimized by closing the help bubble. Remove this code when // the issue is solved at the Views framework level. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) class HelpBubbleView::PrimaryWidgetObserver : public views::WidgetObserver { public: explicit PrimaryWidgetObserver(HelpBubbleView& help_bubble) -@@ -748,7 +748,7 @@ void HelpBubbleView::InitializeAndShow(bool visible_ar +@@ -751,7 +751,7 @@ void HelpBubbleView::InitializeAndShow(bool visible_ar event_relay_->Init(this); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) primary_widget_observer_ = std::make_unique(*this); #endif -@@ -865,7 +865,7 @@ gfx::Rect HelpBubbleView::GetAnchorRect() const { +@@ -868,7 +868,7 @@ gfx::Rect HelpBubbleView::GetAnchorRect() const { void HelpBubbleView::OnBeforeBubbleWidgetInit(views::Widget::InitParams* params, views::Widget* widget) const { BubbleDialogDelegateView::OnBeforeBubbleWidgetInit(params, widget); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_BSD) // Help bubbles anchored to menus may be clipped to their anchors' bounds, // resulting in visual errors, unless they use accelerated rendering. See // crbug.com/1445770 for details. This also applies to bubbles anchored to diff --git a/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__views.cc b/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__views.cc new file mode 100644 index 000000000000..21d0aabc64d4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_user__education_views_help__bubble__views.cc @@ -0,0 +1,20 @@ +--- components/user_education/views/help_bubble_views.cc.orig 2026-08-13 07:41:05 UTC ++++ components/user_education/views/help_bubble_views.cc +@@ -127,7 +127,7 @@ bool HelpBubbleViews::ToggleFocusForAccessibility() { + + if (auto* const anchor = GetAnchorView()) { + if (anchor->GetViewAccessibility().IsAccessibilityFocusable()) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Mac and Linux do not automatically pass activation on focus, so we have + // to do it manually. + anchor->GetWidget()->Activate(); +@@ -143,7 +143,7 @@ bool HelpBubbleViews::ToggleFocusForAccessibility() { + // An AccessiblePaneView can receive focus, but is not necessarily itself + // accessibility focusable. Use the built-in functionality for focusing + // elements of AccessiblePaneView instead. +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Mac and Linux do not automatically pass activation on focus, so we have + // to do it manually. + anchor->GetWidget()->Activate(); diff --git a/www/ungoogled-chromium/files/patch-components_variations_service_variations__service.cc b/www/ungoogled-chromium/files/patch-components_variations_service_variations__service.cc index 3e0c7d63bad1..f3e46727faa7 100644 --- a/www/ungoogled-chromium/files/patch-components_variations_service_variations__service.cc +++ b/www/ungoogled-chromium/files/patch-components_variations_service_variations__service.cc @@ -1,11 +1,11 @@ ---- components/variations/service/variations_service.cc.orig 2026-06-05 13:45:06 UTC +--- components/variations/service/variations_service.cc.orig 2026-08-13 07:41:05 UTC +++ components/variations/service/variations_service.cc -@@ -101,7 +101,7 @@ std::string GetPlatformString() { +@@ -102,7 +102,7 @@ std::string GetPlatformString() { return "android"; #elif BUILDFLAG(IS_FUCHSIA) return "fuchsia"; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_BSD) // Default BSD and SOLARIS to Linux to not break those builds, although these // platforms are not officially supported by Chrome. return "linux"; diff --git a/www/ungoogled-chromium/files/patch-components_viz_host_gpu__host__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_host_gpu__host__impl.cc index 80901319e274..97b0547d0c04 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_host_gpu__host__impl.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_host_gpu__host__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/host/gpu_host_impl.cc.orig 2026-02-15 10:01:45 UTC +--- components/viz/host/gpu_host_impl.cc.orig 2026-08-13 07:41:05 UTC +++ components/viz/host/gpu_host_impl.cc -@@ -159,7 +159,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, +@@ -176,7 +176,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, mojom::GpuServiceCreationParams::New(); #if BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has an issue when running in single-process mode wherein // GetPlatformRuntimeProperties() browser-side calls can have a data race with // in-process GPU service initialization. The call to diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index a3c0e6f2f9f1..26b6a048e121 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-06-05 13:45:06 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-08-13 07:41:05 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1537,7 +1537,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1530,7 +1530,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor VK_IMAGE_TILING_OPTIMAL, vk_format, si_format, image_context->color_space(), image_context->ycbcr_info()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Textures that were allocated _on linux_ with ycbcr info came from // VaapiVideoDecoder, which exports using DRM format modifiers. return GrBackendFormats::MakeVk(gr_ycbcr_info, diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc index 92387403d0a9..3d7588b7f103 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display/skia_renderer.cc.orig 2026-06-05 13:45:06 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2026-08-13 07:41:05 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1340,7 +1340,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1414,7 +1414,7 @@ void SkiaRenderer::ClearFramebuffer() { if (current_frame()->current_render_pass->has_transparent_background) { ClearCanvas(SkColors::kTransparent); } else { -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On DEBUG builds, opaque render passes are cleared to blue // to easily see regions that were not drawn on the screen. // ClearCavas() call causes slight pixel difference, so linux-ref and diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index ab2e15ba9aad..64221dca8d86 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2026-08-13 07:41:05 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(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); -@@ -932,7 +932,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -946,7 +946,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw if (display_client_ && enable_swap_completion_callback_) { display_client_->DidCompleteSwapWithSize(pixel_size); } -#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/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index c17d0aadca29..85694ec7ffed 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/ungoogled-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 2026-06-05 13:45:06 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2026-08-13 07:41:05 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -222,7 +222,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -221,7 +221,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl base::TimeDelta display_frame_interval_ = BeginFrameArgs::DefaultInterval(); base::TimeDelta preferred_frame_interval_; -#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(SUPPORTS_OZONE_X11) diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc index 235c6a2f100c..f9d829fe7084 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2026-08-13 07:41:05 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -460,7 +460,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -489,7 +489,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 -@@ -1250,7 +1250,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1286,7 +1286,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/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.h b/www/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.h index 57812799cbe5..03b6ea775925 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_gl_gpu__service__impl.h +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2026-08-13 07:41:05 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -441,7 +441,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -444,7 +444,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/ungoogled-chromium/files/patch-components_webui_flags_flags__state.cc b/www/ungoogled-chromium/files/patch-components_webui_flags_flags__state.cc index 40469ea5d671..eeabb4f89c23 100644 --- a/www/ungoogled-chromium/files/patch-components_webui_flags_flags__state.cc +++ b/www/ungoogled-chromium/files/patch-components_webui_flags_flags__state.cc @@ -1,11 +1,11 @@ ---- components/webui/flags/flags_state.cc.orig 2026-05-09 18:09:27 UTC +--- components/webui/flags/flags_state.cc.orig 2026-08-13 07:41:05 UTC +++ components/webui/flags/flags_state.cc -@@ -783,7 +783,7 @@ unsigned short FlagsState::GetCurrentPlatform() { +@@ -800,7 +800,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/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc index 87ce98da50c0..2e7d8d96710e 100644 --- a/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc @@ -1,154 +1,154 @@ ---- content/app/content_main_runner_impl.cc.orig 2026-06-05 14:13:43 UTC +--- content/app/content_main_runner_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/app/content_main_runner_impl.cc -@@ -152,19 +152,22 @@ +@@ -153,19 +153,22 @@ #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/environment.h" #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 -@@ -188,6 +191,10 @@ +@@ -189,6 +192,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" -@@ -367,7 +374,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -368,7 +375,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 -@@ -386,7 +393,10 @@ void PreloadLibraryCdms() { +@@ -387,7 +394,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. -@@ -398,9 +408,16 @@ void PreSandboxInit() { +@@ -399,9 +409,16 @@ void PreSandboxInit() { // https://boringssl.9oo91esource.qjz9zk/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. -@@ -629,7 +646,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* +@@ -630,7 +647,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); -@@ -733,7 +750,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( +@@ -734,7 +751,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. -@@ -854,11 +871,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -855,11 +872,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam base::GlobalDescriptors::kBaseDescriptor); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) g_fds->Set(kCrashDumpSignal, kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_OPENBSD) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_WIN) -@@ -992,7 +1008,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -993,7 +1009,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam delegate_->PreSandboxStartup(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Set environment variables for fontconfig fontations indexing and before // creating threads. if (process_type.empty()) { -@@ -1027,7 +1043,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1028,7 +1044,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 -@@ -1041,6 +1057,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1042,6 +1058,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) -@@ -1157,6 +1183,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1158,6 +1184,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/ungoogled-chromium/files/patch-content_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn index 0ad0f1524399..637435f504c9 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn @@ -1,33 +1,33 @@ ---- content/browser/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- content/browser/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ content/browser/BUILD.gn -@@ -2655,6 +2655,14 @@ source_set("browser") { +@@ -2703,6 +2703,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" ] -@@ -2704,6 +2712,15 @@ source_set("browser") { +@@ -2752,6 +2760,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_p2p_enabled) { diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc index 2c84f0d8bd20..52ad23c65a6a 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -1,19 +1,19 @@ ---- content/browser/browser_child_process_host_impl.cc.orig 2026-04-15 11:25:12 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/browser_child_process_host_impl.cc -@@ -292,6 +292,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo - switches::kIPCConnectionTimeout, +@@ -293,6 +293,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kLogBestEffortTasks, + switches::kPartitionAllocSchedulerLoopQuarantine, switches::kPerfettoDisableInterning, + switches::kDisableUnveil, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); -@@ -653,7 +654,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() +@@ -654,7 +655,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() ->child_process()); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(process.Pid()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc index d4f51f62a4bc..578d17f8ecdc 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc @@ -1,29 +1,29 @@ ---- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/browser_child_process_host_impl_receiver_bindings.cc @@ -38,7 +38,7 @@ #include "content/public/common/font_cache_win.mojom.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/services/font_data/font_data_service_impl.h" #endif @@ -69,7 +69,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; -@@ -114,7 +114,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( +@@ -120,7 +120,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (features::IsFontDataServiceEnabled()) { if (auto font_data_receiver = receiver.As()) { diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc index 26b7ebcd9dda..7da5dafdbc2d 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2026-05-09 18:09:27 UTC +--- content/browser/browser_main_loop.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/browser_main_loop.cc -@@ -250,6 +250,12 @@ +@@ -253,6 +253,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 -@@ -536,6 +542,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -539,6 +545,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 -@@ -567,7 +579,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -570,7 +582,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/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc b/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc index 07eb56a95c87..cf8df1b79340 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc @@ -1,37 +1,28 @@ ---- content/browser/child_thread_type_switcher_linux.cc.orig 2026-03-15 18:32:51 UTC +--- content/browser/child_thread_type_switcher_linux.cc.orig 2026-08-13 07:41:05 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/metrics/histogram_macros.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 +@@ -21,6 +22,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); -@@ -41,6 +45,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee +@@ -42,6 +46,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::PlatformThread::SetThreadType( peer_pid, base::PlatformThreadId(peer_tid), thread_type); +#endif } - } // namespace -@@ -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)); + void SetThreadTypesOnLauncherThread( diff --git a/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.h b/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.h deleted file mode 100644 index df67bddf828d..000000000000 --- a/www/ungoogled-chromium/files/patch-content_browser_child__thread__type__switcher__linux.h +++ /dev/null @@ -1,11 +0,0 @@ ---- content/browser/child_thread_type_switcher_linux.h.orig 2025-04-15 08:30:07 UTC -+++ content/browser/child_thread_type_switcher_linux.h -@@ -36,7 +36,7 @@ class ChildThreadTypeSwitcher : public mojom::ThreadTy - void SetPid(base::ProcessId child_pid); - - // mojom::ThreadTypeSwitcher: -- void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override; -+ void SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) override; - - private: - base::ProcessId child_pid_ = base::kNullProcessHandle; diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc index b67771955d36..aff0646cc234 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/gpu/gpu_data_manager_impl.cc -@@ -432,7 +432,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( +@@ -416,7 +416,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( private_->OnDisplayMetricsChanged(display, changed_metrics); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() { base::AutoLock auto_lock(lock_); return private_->IsGpuMemoryBufferNV12Supported(); diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h index ce3e9b823a47..ca5cd460f293 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.h.orig 2026-06-05 13:45:06 UTC +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2026-08-13 07:41:05 UTC +++ content/browser/gpu/gpu_data_manager_impl.h -@@ -234,7 +234,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa +@@ -227,7 +227,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index bf86c285b6c2..08bc372ca375 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1761,7 +1761,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1715,7 +1715,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { return gpu_extra_info_.is_gmb_nv12_supported; } diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h index c11b515c0eb4..7020607bd1db 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h @@ -1,20 +1,20 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2026-06-05 13:45:06 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2026-08-13 07:41:05 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.h -@@ -152,7 +152,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -148,7 +148,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) -@@ -316,7 +316,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -308,7 +308,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool application_is_visible_ = true; bool disable_gpu_compositing_ = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_gpu_memory_buffer_NV12_supported_ = false; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc index 44cb35dcbec7..254d6c244df6 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -1,19 +1,19 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -286,6 +286,7 @@ static const char* const kSwitchNames[] = { +@@ -289,6 +289,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, -@@ -310,7 +311,7 @@ static const char* const kSwitchNames[] = { +@@ -313,7 +314,7 @@ static const char* const kSwitchNames[] = { switches::kEnableNativeGpuMemoryBuffers, switches::kRenderNodeOverride, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switches::kX11Display, switches::kNoXshm, #endif diff --git a/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc index b44bc652b370..53879729fe65 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/media/media_keys_listener_manager_impl.cc.orig 2025-02-20 09:59:21 UTC +--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/media/media_keys_listener_manager_impl.cc -@@ -332,7 +332,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe +@@ -326,7 +326,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Create SystemMediaControls with the SingletonHwnd. browser_system_media_controls_ = system_media_controls::SystemMediaControls::Create( diff --git a/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc index b61729b9a72f..43ef8cfab78c 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/network_service_instance_impl.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/network_service_instance_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/network_service_instance_impl.cc -@@ -94,7 +94,7 @@ +@@ -96,7 +96,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 -@@ -459,7 +459,7 @@ void CreateInProcessNetworkService( +@@ -355,7 +355,7 @@ void CreateInProcessNetworkService( })); } -#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( -@@ -525,7 +525,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -421,7 +421,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/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc index a1bfa662bfb7..fd5e19c36e5e 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/delegated_frame_host.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -353,7 +353,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -347,7 +347,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // On Windows, Linux, and macOS, we would like to produce new content as // soon as possible or the OS will create an additional black gutter. // Until we can block resize on surface synchronization on these diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index b01c344964ba..b77995611ab9 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -228,7 +228,7 @@ +@@ -231,7 +231,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 -@@ -1191,7 +1191,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1197,7 +1197,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; -@@ -1451,7 +1451,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1457,7 +1457,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) } -@@ -3783,7 +3783,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3816,7 +3816,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() && -@@ -3841,6 +3841,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3874,6 +3874,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDomAutomationController, -@@ -5803,7 +5804,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5863,7 +5864,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/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h index 954a59c6e8ee..a067be76fce1 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -107,7 +107,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 -@@ -1043,7 +1043,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1042,7 +1042,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 }; -@@ -1299,7 +1299,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1298,7 +1298,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/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc index d739c52d312b..ef9b6b43987d 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc +++ b/www/ungoogled-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-04-15 11:25:12 UTC +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc @@ -56,7 +56,7 @@ #include "content/browser/renderer_host/p2p/socket_dispatcher_host.h" #endif // BUILDFLAG(IS_P2P_ENABLED) -#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 @@ -78,7 +78,7 @@ #include "content/public/common/font_cache_win.mojom.h" #endif -#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/services/font_data/font_data_service_impl.h" #endif -@@ -345,7 +345,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -350,7 +350,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (features::IsFontDataServiceEnabled()) { if (auto font_data_receiver = receiver.As()) { -@@ -356,7 +356,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -361,7 +361,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; -@@ -384,7 +384,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -389,7 +389,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/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc index c0a3596fefa7..da3695814769 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_view_host_impl.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -266,7 +266,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -265,7 +265,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( GetFontInfo(gfx::win::SystemFont::kStatus, &prefs->status_font_family_name, &prefs->status_font_height); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (command_line->HasSwitch(switches::kSystemFontFamily)) { prefs->system_font_family_name = diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 184164e238b5..e7fad2929e75 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/ungoogled-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-06-15 11:54:00 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -132,7 +132,7 @@ +@@ -133,7 +133,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" -@@ -578,7 +578,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -579,7 +579,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()) -@@ -2052,7 +2052,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -2044,7 +2044,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) { -@@ -3099,7 +3099,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -3123,7 +3123,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3311,7 +3311,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3351,7 +3351,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/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h index b600c1c48331..2e5d05fd72ca 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-06-05 13:45:06 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h -@@ -291,7 +291,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -299,7 +299,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc index 0099b9334ebb..c73bc42815b9 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc -@@ -617,7 +617,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand +@@ -630,7 +630,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand if (event->type() == ui::EventType::kMouseExited) { if (mouse_locked || selection_popup) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Don't forward the mouse leave message which is received when the context // menu is displayed by the page. This confuses the page and causes state // changes. diff --git a/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__process__host.cc b/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__process__host.cc index eeb88dabb178..845624af4545 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__process__host.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/service_host/utility_process_host.cc @@ -65,7 +65,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" @@ -99,7 +99,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; -@@ -522,7 +522,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -528,7 +528,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) { -@@ -540,7 +540,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -546,7 +546,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/ungoogled-chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc b/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc index 0b6fd55097f8..9c0a61942ee5 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc @@ -1,57 +1,57 @@ ---- content/browser/service_host/utility_sandbox_delegate.cc.orig 2026-06-05 13:45:06 UTC +--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/service_host/utility_sandbox_delegate.cc @@ -24,7 +24,7 @@ #include "sandbox/policy/sandbox_type.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "media/gpu/buildflags.h" #include "media/media_buildflags.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -73,10 +73,10 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -75,10 +75,10 @@ UtilitySandboxedProcessLauncherDelegate:: sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceModelExecution || sandbox_type_ == sandbox::mojom::Sandbox::kCdm || sandbox_type_ == sandbox::mojom::Sandbox::kPrintCompositor || -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kShapeDetection || #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || -@@ -91,11 +91,11 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -93,11 +93,11 @@ UtilitySandboxedProcessLauncherDelegate:: sandbox_type_ == sandbox::mojom::Sandbox::kNearby || #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -@@ -152,15 +152,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe +@@ -154,15 +154,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe sandbox_type_ == sandbox::mojom::Sandbox::kNearby || #endif // BUILDFLAG(IS_CHROMEOS) sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kShapeDetection || #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend || sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) sandbox_type_ == sandbox::mojom::Sandbox::kSpeechRecognition) { diff --git a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index f3ff020cb10b..c11192e8f8bc 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2026-08-13 07:41:05 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, @@ -268,7 +268,7 @@ void PrepareDragData(RenderFrameHost& source_rfh, PrepareDragForDownload(source_rfh, drop_data, provider); } #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. -@@ -1444,7 +1444,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1470,7 +1470,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/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc index 6bf284d3231d..b4e133472721 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc +++ b/www/ungoogled-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 2026-03-15 18:32:51 UTC +--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ content/browser/web_contents/web_contents_view_aura_unittest.cc -@@ -42,7 +42,7 @@ +@@ -45,7 +45,7 @@ #include "ui/base/dragdrop/os_exchange_data_provider_win.h" #endif -#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); +@@ -103,7 +103,7 @@ class TestDragDropClient : public aura::client::DragDr + last_source_ = source; 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 +@@ -249,7 +249,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) { +@@ -315,7 +315,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) { +@@ -355,7 +355,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 +@@ -413,7 +413,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 +@@ -445,7 +445,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 +@@ -477,7 +477,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro auto data = std::make_unique(); -#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/ungoogled-chromium/files/patch-content_child_child__process.cc b/www/ungoogled-chromium/files/patch-content_child_child__process.cc index fdae8651441c..1626afa17c47 100644 --- a/www/ungoogled-chromium/files/patch-content_child_child__process.cc +++ b/www/ungoogled-chromium/files/patch-content_child_child__process.cc @@ -1,20 +1,20 @@ ---- content/child/child_process.cc.orig 2026-03-15 18:32:51 UTC +--- content/child/child_process.cc.orig 2026-08-13 07:41:05 UTC +++ content/child/child_process.cc -@@ -36,7 +36,7 @@ +@@ -37,7 +37,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 @@ -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/ungoogled-chromium/files/patch-content_common_BUILD.gn b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn index 993e8880d96b..87f0426fed8d 100644 --- a/www/ungoogled-chromium/files/patch-content_common_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn @@ -1,36 +1,36 @@ ---- content/common/BUILD.gn.orig 2026-05-09 18:09:27 UTC +--- content/common/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ content/common/BUILD.gn -@@ -371,19 +371,28 @@ source_set("common") { +@@ -367,19 +367,28 @@ source_set("common") { } if (is_linux || is_chromeos) { - sources += [ - "gpu_pre_sandbox_hook_linux.cc", - "gpu_pre_sandbox_hook_linux.h", - ] + if (is_bsd) { + sources += [ + "gpu_pre_sandbox_hook_bsd.cc", + "gpu_pre_sandbox_hook_bsd.h", + ] + } else { + sources += [ + "gpu_pre_sandbox_hook_linux.cc", + "gpu_pre_sandbox_hook_linux.h", + ] + } public_deps += [ "//sandbox/policy" ] deps += [ ":sandbox_support_linux", "//media/gpu:buildflags", "//sandbox/linux:sandbox_services", - "//sandbox/linux:seccomp_bpf", "//sandbox/policy:chromecast_sandbox_allowlist_buildflags", "//third_party/fontconfig", ] + if (use_seccomp_bpf) { + deps += [ "//sandbox/linux:seccomp_bpf" ] + } if (use_v4l2_codec) { deps += [ "//media/gpu/v4l2" ] } diff --git a/www/ungoogled-chromium/files/patch-content_common_features.cc b/www/ungoogled-chromium/files/patch-content_common_features.cc index 461adbd734b4..11c52fe59fcb 100644 --- a/www/ungoogled-chromium/files/patch-content_common_features.cc +++ b/www/ungoogled-chromium/files/patch-content_common_features.cc @@ -1,40 +1,40 @@ ---- content/common/features.cc.orig 2026-06-05 13:45:06 UTC +--- content/common/features.cc.orig 2026-08-13 07:41:05 UTC +++ content/common/features.cc -@@ -215,7 +215,7 @@ BASE_FEATURE(kDumpOnUnexpectedOriginHeader, base::FEAT +@@ -209,7 +209,7 @@ BASE_FEATURE(kKillOnUnexpectedOriginHeader, base::FEAT 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) -@@ -326,12 +326,12 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -320,12 +320,12 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, FontDataServiceTypefaceType::kDwrite, &font_data_service_typeface); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const base::FeatureParam::Option font_data_service_typeface[] = { {FontDataServiceTypefaceType::kFreetype, "Freetype"}, {FontDataServiceTypefaceType::kFontations, "Fontations"}}; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kFontDataServiceLinux, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, kFontDataServiceTypefaceType, -@@ -350,11 +350,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, - #endif // BUILDFLAG(IS_LINUX) - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -348,11 +348,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, + BASE_FEATURE(kFontDataServiceForCSSLocalFonts, + base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || 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); #elif BUILDFLAG(IS_CHROMEOS) return base::FeatureList::IsEnabled(features::kFontDataServiceChromeOS); diff --git a/www/ungoogled-chromium/files/patch-content_common_features.h b/www/ungoogled-chromium/files/patch-content_common_features.h index d8a8a359dd2c..9056e5ff268b 100644 --- a/www/ungoogled-chromium/files/patch-content_common_features.h +++ b/www/ungoogled-chromium/files/patch-content_common_features.h @@ -1,31 +1,31 @@ ---- content/common/features.h.orig 2026-06-05 13:45:06 UTC +--- content/common/features.h.orig 2026-08-13 07:41:05 UTC +++ content/common/features.h @@ -82,7 +82,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE( CONTENT_EXPORT BASE_DECLARE_FEATURE(kDocumentPolicyNegotiation); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kDumpOnOriginHeaderMismatch); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kDumpOnUnexpectedOriginHeader); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEditContextSelectionSync); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kKillOnUnexpectedOriginHeader); -#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); -@@ -121,8 +121,8 @@ enum class FontDataServiceTypefaceType { +@@ -122,8 +122,8 @@ enum class FontDataServiceTypefaceType { CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServiceTypefaceType, kFontDataServiceTypefaceType); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceLinux); #else CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceChromeOS); -@@ -135,7 +135,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ - kFontDataServiceTypefaceType); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -138,7 +138,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ + + CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceForCSSLocalFonts); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool IsFontDataServiceEnabled(); #endif diff --git a/www/ungoogled-chromium/files/patch-content_common_thread__type__switcher.mojom b/www/ungoogled-chromium/files/patch-content_common_thread__type__switcher.mojom index 0d91925507b2..3d77a59979c3 100644 --- a/www/ungoogled-chromium/files/patch-content_common_thread__type__switcher.mojom +++ b/www/ungoogled-chromium/files/patch-content_common_thread__type__switcher.mojom @@ -1,10 +1,11 @@ ---- content/common/thread_type_switcher.mojom.orig 2025-04-15 08:30:07 UTC +--- content/common/thread_type_switcher.mojom.orig 2026-08-13 07:41:05 UTC +++ content/common/thread_type_switcher.mojom -@@ -10,6 +10,6 @@ import "mojo/public/mojom/base/thread_type.mojom"; - // occur in a child process due to its sandbox, e.g. on Linux and ChromeOS. - interface ThreadTypeSwitcher { - // Asks the browser to change the type of thread. -- SetThreadType(int32 platform_thread_id, -+ SetThreadType(uint64 platform_thread_id, - mojo_base.mojom.ThreadType thread_type); +@@ -8,7 +8,7 @@ import "mojo/public/mojom/base/thread_type.mojom"; + + // A single thread type change request. + struct ThreadTypeChange { +- int32 platform_thread_id; ++ uint64 platform_thread_id; + mojo_base.mojom.ThreadType thread_type; }; + diff --git a/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc b/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc index 07725ad090b0..9488ad3db2f5 100644 --- a/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc @@ -1,73 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2026-05-09 18:09:27 UTC +--- content/gpu/gpu_main.cc.orig 2026-08-13 07:41:05 UTC +++ content/gpu/gpu_main.cc -@@ -108,10 +108,14 @@ - #include "sandbox/win/src/sandbox.h" +@@ -112,10 +112,14 @@ + #include "services/webnn/public/cpp/webnn_sandbox_init.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 { +@@ -133,7 +137,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&); -@@ -196,7 +200,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel +@@ -201,7 +205,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_); -@@ -312,7 +316,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -317,7 +321,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 -@@ -337,7 +341,8 @@ int GpuMain(MainFunctionParams parameters) { - base::PlatformThread::SetName("CrGpuMain"); +@@ -343,7 +347,8 @@ int GpuMain(MainFunctionParams parameters) { mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain"); + base::MessagePumpWakeupCounter::InitializeForCurrentThread("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. -@@ -489,7 +494,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -495,7 +500,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) { -@@ -537,7 +542,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo +@@ -543,7 +548,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/ungoogled-chromium/files/patch-content_public_browser_content__browser__client.cc b/www/ungoogled-chromium/files/patch-content_public_browser_content__browser__client.cc index 9715d7ba6941..418ad5160898 100644 --- a/www/ungoogled-chromium/files/patch-content_public_browser_content__browser__client.cc +++ b/www/ungoogled-chromium/files/patch-content_public_browser_content__browser__client.cc @@ -1,11 +1,11 @@ ---- content/public/browser/content_browser_client.cc.orig 2026-06-05 13:45:06 UTC +--- content/public/browser/content_browser_client.cc.orig 2026-08-13 07:41:05 UTC +++ content/public/browser/content_browser_client.cc -@@ -1419,7 +1419,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1452,7 +1452,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/ungoogled-chromium/files/patch-content_public_common_content__features.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc index 5c1863da609a..489b3641ab75 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc @@ -1,45 +1,45 @@ ---- content/public/common/content_features.cc.orig 2026-06-05 13:45:06 UTC +--- content/public/common/content_features.cc.orig 2026-08-13 07:41:05 UTC +++ content/public/common/content_features.cc -@@ -144,7 +144,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU +@@ -147,7 +147,7 @@ BASE_FEATURE(kAttachUnownedInnerWebContents, base::FEA // 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 -@@ -154,7 +154,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, +@@ -157,7 +157,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, // Enables the audio-service sandbox. This feature has an effect only when the // kAudioServiceOutOfProcess feature is enabled. BASE_FEATURE(kAudioServiceSandbox, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1186,10 +1186,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE +@@ -1251,10 +1251,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 -@@ -1250,7 +1250,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, +@@ -1315,7 +1315,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/ungoogled-chromium/files/patch-content_public_common_content__switches.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc index 98a32930ab44..b55df99f9ffc 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc @@ -1,20 +1,20 @@ ---- content/public/common/content_switches.cc.orig 2026-06-05 13:45:06 UTC +--- content/public/common/content_switches.cc.orig 2026-08-13 07:41:05 UTC +++ content/public/common/content_switches.cc @@ -349,6 +349,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. -@@ -947,7 +949,7 @@ const char kPreventResizingContentsForTesting[] = +@@ -949,7 +951,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/ungoogled-chromium/files/patch-content_public_common_content__switches.h b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h index 7677606f57e5..e10ad83ed347 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h @@ -1,19 +1,19 @@ ---- content/public/common/content_switches.h.orig 2026-06-05 13:45:06 UTC +--- content/public/common/content_switches.h.orig 2026-08-13 07:41:05 UTC +++ content/public/common/content_switches.h @@ -108,6 +108,7 @@ CONTENT_EXPORT extern const char kEnableGpuMemoryBuffe CONTENT_EXPORT extern const char kEnableIsolatedWebAppsInRenderer[]; CONTENT_EXPORT extern const char kEnableLCDText[]; CONTENT_EXPORT extern const char kEnableLogging[]; +CONTENT_EXPORT extern const char kDisableUnveil[]; CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[]; -@@ -258,7 +259,7 @@ CONTENT_EXPORT extern const char kJavalessRenderers[]; +@@ -259,7 +260,7 @@ CONTENT_EXPORT extern const char kJavalessRenderers[]; CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[]; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc index 04682d2c3503..888a334d7ccc 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2026-06-05 13:45:06 UTC +--- content/renderer/render_thread_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/renderer/render_thread_impl.cc -@@ -205,6 +205,8 @@ +@@ -206,6 +206,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -984,7 +986,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: - viz::command_buffer_metrics::ContextType::MEDIA); +@@ -979,7 +981,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + viz::command_buffer_metrics::ContextType::MEDIA); 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) && -@@ -993,7 +995,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -988,7 +990,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) && -@@ -1741,7 +1743,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1730,7 +1732,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/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc index 9ad9d6c1aa4f..804220b0d8e8 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -1,62 +1,62 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2026-06-05 13:45:06 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -121,14 +121,14 @@ +@@ -122,14 +122,14 @@ #include "third_party/blink/public/web/win/web_font_rendering.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/font_data/font_data_manager.h" #include "skia/ext/font_utils.h" #endif #if BUILDFLAG(IS_MAC) #include "content/child/child_process_sandbox_support_impl_mac.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/child_process_sandbox_support_impl_linux.h" #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -204,13 +204,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -203,13 +203,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( is_locked_to_site_(false), main_thread_scheduler_(main_thread_scheduler), next_frame_sink_id_(uint32_t{std::numeric_limits::max()} + 1) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sk_sp font_loader; #endif // RenderThread may not exist in some tests. if (RenderThreadImpl::current()) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::PendingRemote font_service; RenderThreadImpl::current()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); -@@ -218,7 +218,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -217,7 +217,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( SkFontConfigInterface::SetGlobal(font_loader); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Create a FontDataManager if it's enabled, and if we're not in a // single-process environment. In single process, the SkFontMgr is already // installed by browser process code at this point. -@@ -232,7 +232,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -231,7 +231,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (sandboxEnabled()) { #if BUILDFLAG(IS_MAC) sandbox_support_ = std::make_unique(); -@@ -305,7 +305,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes +@@ -304,7 +304,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return sandbox_support_.get(); #else // These platforms do not require sandbox support. diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h index c0af40e338f5..200dddcdda05 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,11 +1,11 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2026-05-09 18:09:27 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2026-08-13 07:41:05 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -285,7 +285,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -289,7 +289,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi const gpu::GPUInfo& gpu_info) const; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__main.cc b/www/ungoogled-chromium/files/patch-content_renderer_renderer__main.cc index bef5231524b5..5d872ee94462 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_renderer__main.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__main.cc @@ -1,11 +1,11 @@ ---- content/renderer/renderer_main.cc.orig 2026-05-09 18:09:27 UTC +--- content/renderer/renderer_main.cc.orig 2026-08-13 07:41:05 UTC +++ content/renderer/renderer_main.cc -@@ -179,7 +179,7 @@ int RendererMain(MainFunctionParams parameters) { +@@ -180,7 +180,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/ungoogled-chromium/files/patch-content_shell_BUILD.gn b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn index 902cdab7ce49..6203058ac137 100644 --- a/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- content/shell/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ content/shell/BUILD.gn -@@ -1129,7 +1129,7 @@ group("content_shell_crash_test") { +@@ -1150,7 +1150,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/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc index ef00c07907cb..b4202d1011d4 100644 --- a/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc +++ b/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc @@ -1,11 +1,11 @@ ---- content/shell/app/shell_main_delegate.cc.orig 2026-01-16 13:40:34 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ content/shell/app/shell_main_delegate.cc -@@ -300,7 +300,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -305,7 +305,7 @@ void ShellMainDelegate::PreSandboxStartup() { // Reporting for sub-processes will be initialized in ZygoteForked. if (process_type != switches::kZygoteProcess) { crash_reporter::InitializeCrashpad(process_type.empty(), process_type); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) crash_reporter::SetFirstChanceExceptionHandler( v8::TryHandleWebAssemblyTrapPosix); #endif diff --git a/www/ungoogled-chromium/files/patch-content_utility_services.cc b/www/ungoogled-chromium/files/patch-content_utility_services.cc index df0669e02acc..3b1ace60fca2 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_services.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_services.cc @@ -1,46 +1,46 @@ ---- content/utility/services.cc.orig 2026-05-09 18:09:27 UTC +--- content/utility/services.cc.orig 2026-08-13 07:41:05 UTC +++ content/utility/services.cc -@@ -69,14 +69,14 @@ +@@ -72,14 +72,14 @@ extern sandbox::TargetServices* g_utility_target_services; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "sandbox/linux/services/libc_interceptor.h" #include "sandbox/policy/mojom/sandbox.mojom.h" #include "sandbox/policy/sandbox_type.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) #include "services/shape_detection/public/mojom/shape_detection_service.mojom.h" // nogncheck #include "services/shape_detection/shape_detection_service.h" // nogncheck #endif // BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && -@@ -230,7 +230,7 @@ auto RunAudio(mojo::PendingReceiver receiver) { -@@ -409,7 +409,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -417,7 +417,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& } #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) services.Add(RunShapeDetectionService); #endif diff --git a/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h index 5c4b55739572..10507b9ba922 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -1,11 +1,11 @@ ---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2025-03-09 21:38:10 UTC +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2026-08-13 07:41:05 UTC +++ content/utility/utility_blink_platform_with_sandbox_support_impl.h -@@ -34,7 +34,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub +@@ -38,7 +38,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub private: #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif }; diff --git a/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc index 03a92f37b355..26f90cde989a 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc @@ -1,111 +1,111 @@ ---- content/utility/utility_main.cc.orig 2026-03-15 18:32:51 UTC +--- content/utility/utility_main.cc.orig 2026-08-13 07:41:05 UTC +++ content/utility/utility_main.cc -@@ -38,22 +38,31 @@ - #include "services/on_device_model/public/mojom/on_device_model_service.mojom.h" +@@ -44,22 +44,31 @@ #include "services/tracing/public/cpp/trace_startup.h" + #include "services/video_capture/public/mojom/video_capture_service.mojom.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 +@@ -118,7 +127,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 { +@@ -127,7 +136,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( -@@ -276,7 +285,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -286,7 +295,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 -@@ -291,7 +300,10 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -301,7 +310,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 -@@ -324,7 +336,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -334,7 +346,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); -@@ -341,7 +353,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -351,7 +363,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); -@@ -370,6 +382,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -380,6 +392,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 = -@@ -377,6 +390,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -387,6 +400,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/ungoogled-chromium/files/patch-content_utility_utility__thread__impl.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__thread__impl.cc index fa3ac2c704d7..1f846c2662f6 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_utility__thread__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__thread__impl.cc @@ -1,21 +1,21 @@ ---- content/utility/utility_thread_impl.cc.orig 2024-05-23 20:04:36 UTC +--- content/utility/utility_thread_impl.cc.orig 2026-08-13 07:41:05 UTC +++ content/utility/utility_thread_impl.cc -@@ -31,7 +31,7 @@ +@@ -30,7 +30,7 @@ #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/service_factory.h" -#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 -@@ -251,7 +251,8 @@ void UtilityThreadImpl::Init() { +@@ -250,7 +250,8 @@ void UtilityThreadImpl::Init() { GetContentClient()->utility()->UtilityThreadStarted(); -#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/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc b/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc index f87cac1dba2c..24e778f263c3 100644 --- a/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc +++ b/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc @@ -1,15 +1,15 @@ ---- content/zygote/zygote_linux.cc.orig 2026-03-15 18:32:51 UTC +--- content/zygote/zygote_linux.cc.orig 2026-08-13 07:41:05 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" -@@ -714,3 +715,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi +@@ -707,3 +708,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi } } // namespace content +#endif diff --git a/www/ungoogled-chromium/files/patch-device_fido_public_features.cc b/www/ungoogled-chromium/files/patch-device_fido_public_features.cc index 9fe3d221ce2e..ba222ac442c0 100644 --- a/www/ungoogled-chromium/files/patch-device_fido_public_features.cc +++ b/www/ungoogled-chromium/files/patch-device_fido_public_features.cc @@ -1,11 +1,11 @@ ---- device/fido/public/features.cc.orig 2026-05-09 18:09:27 UTC +--- device/fido/public/features.cc.orig 2026-08-13 07:41:05 UTC +++ device/fido/public/features.cc @@ -46,7 +46,7 @@ namespace device { // comment. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Enabled in M146. Remove in or after M149. - BASE_FEATURE(kPasskeyUnlockManager, base::FEATURE_ENABLED_BY_DEFAULT); + // Not yet enabled by default. + BASE_FEATURE(kPasskeyUnlockErrorUi, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-device_fido_public_features.h b/www/ungoogled-chromium/files/patch-device_fido_public_features.h index 02d4c0974471..91475b1af101 100644 --- a/www/ungoogled-chromium/files/patch-device_fido_public_features.h +++ b/www/ungoogled-chromium/files/patch-device_fido_public_features.h @@ -1,11 +1,11 @@ ---- device/fido/public/features.h.orig 2026-02-15 10:01:45 UTC +--- device/fido/public/features.h.orig 2026-08-13 07:41:05 UTC +++ device/fido/public/features.h -@@ -13,7 +13,7 @@ +@@ -14,7 +14,7 @@ namespace device { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Enables the Passkey Unlock Manager. + // Allows the passkey unlock error UI to be shown. COMPONENT_EXPORT(FIDO_PUBLIC) - BASE_DECLARE_FEATURE(kPasskeyUnlockManager); + BASE_DECLARE_FEATURE(kPasskeyUnlockErrorUi); diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc b/www/ungoogled-chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc index aec877e0a529..6d8511540517 100644 --- a/www/ungoogled-chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc +++ b/www/ungoogled-chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc @@ -1,11 +1,11 @@ ---- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2026-06-05 13:45:06 UTC +--- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2026-08-13 07:41:05 UTC +++ extensions/browser/api/api_browser_context_keyed_service_factories.cc -@@ -133,7 +133,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt +@@ -135,7 +135,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt MediaPerceptionAPIManager::GetFactoryInstance(); #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) NetworkingPrivateEventRouterFactory::GetInstance(); #endif PrinterProviderAPIFactory::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc index 0924eb389ae2..50cb1afa4ecb 100644 --- a/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc +++ b/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -1,20 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2026-04-15 11:25:12 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2026-08-13 07:41:05 UTC +++ extensions/browser/api/messaging/message_service.cc @@ -89,7 +89,7 @@ const char kReceivingEndIncompatibleMessageSerializati "Could not establish connection. Receiving end uses different message " "serialization format."; #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[] = -@@ -707,7 +707,7 @@ void MessageService::OpenChannelToNativeAppImpl( +@@ -714,7 +714,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/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json index a6f8dedb0487..d7847023b3db 100644 --- a/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json +++ b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json @@ -1,139 +1,130 @@ ---- extensions/common/api/_permission_features.json.orig 2026-06-05 13:45:06 UTC +--- extensions/common/api/_permission_features.json.orig 2026-08-13 07:41:05 UTC +++ extensions/common/api/_permission_features.json @@ -61,7 +61,7 @@ "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "app.window.ime": { "channel": "stable", @@ -97,13 +97,13 @@ "channel": "dev", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, { "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": [ "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578", "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB", @@ -141,7 +141,7 @@ { "channel": "stable", "extension_types": ["platform_app"], - "platforms": ["chromeos", "win", "mac", "linux"], + "platforms": ["chromeos", "win", "mac", "linux", "openbsd", "freebsd"], "allowlist": [ "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169 "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169 @@ -216,7 +216,7 @@ "extension_types": ["extension", "legacy_packaged_app"], "max_manifest_version": 2, // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "devtools": { "channel": "stable", @@ -265,7 +265,7 @@ "channel": "stable", "extension_types": ["extension", "platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": [ "7910EAFDAF64B947E1CB31B333A9BD14CA556B6C", // Feedback UI. "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 @@ -287,12 +287,12 @@ "extension_types": ["platform_app"], "default_parent": true, // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] },{ "channel": "stable", "extension_types": ["extension"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal @@ -329,13 +329,13 @@ "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, { "channel": "stable", "extension_types": ["extension"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": [ "D7CD4B3956B1F6E970E4AFCBCD4094B1EF4D07B9", // http://crbug.com/710541 "D4EFCCC0CC612380762758BB96C7997224BD6395", // http://crbug.com/710541 @@ -445,7 +445,7 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "mac", "win", "linux"], + "platforms": ["chromeos", "mac", "win", "linux", "openbsd", "freebsd"], "allowlist": [ "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 @@ -484,7 +484,7 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "mac", "win", "linux"], + "platforms": ["chromeos", "mac", "win", "linux", "openbsd", "freebsd"], "allowlist": [ // DO NOT ADD ANY MORE ENTRIES HERE. // networkingPrivate is being migrated to networking.onc. @@ -564,7 +564,7 @@ "channel": "stable", "extension_types": ["extension", "platform_app" ], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, // Note: runtime is not actually a permission, but some systems check these // values to verify restrictions. @@ -581,7 +581,7 @@ "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "storage": [ { @@ -651,7 +651,7 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "system.display": { "channel": "stable", -@@ -747,7 +747,7 @@ - "channel": "stable", - "extension_types": ["platform_app"], - // "desktop_android" is not supported. -- "platforms": ["chromeos", "linux", "mac", "win"] -+ "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] - }, - "webRequest": [ - { diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc deleted file mode 100644 index 05e61eea95dd..000000000000 --- a/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- extensions/shell/app/shell_main_delegate.cc.orig 2026-01-16 13:40:34 UTC -+++ extensions/shell/app/shell_main_delegate.cc -@@ -32,7 +32,7 @@ - #if BUILDFLAG(IS_WIN) - #include "base/base_paths_win.h" - #include "base/process/process_info.h" --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "base/nix/xdg_util.h" - #elif BUILDFLAG(IS_MAC) - #include "base/base_paths_mac.h" -@@ -52,7 +52,7 @@ base::FilePath GetDataPath() { - } - - base::FilePath data_dir; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - std::unique_ptr env(base::Environment::Create()); - data_dir = base::nix::GetXDGDirectory( - env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc deleted file mode 100644 index ab6c88130216..000000000000 --- a/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2025-01-25 09:34:31 UTC -+++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc -@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin - bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { - #if BUILDFLAG(IS_CHROMEOS) - info->os = api::runtime::PlatformOs::kCros; --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - info->os = api::runtime::PlatformOs::kLinux; - #endif - return true; diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc deleted file mode 100644 index a7a99b547e52..000000000000 --- a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- extensions/shell/browser/shell_browser_main_parts.cc.orig 2026-04-15 11:25:12 UTC -+++ extensions/shell/browser/shell_browser_main_parts.cc -@@ -126,7 +126,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( - switches::kAppShellAllowRoaming)) { - network_controller_->SetCellularAllowRoaming(true); - } --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // app_shell doesn't need GTK, so the fake input method context can work. - // See crbug.com/40369323 and revision fb69f142. - // TODO(michaelpg): Verify this works for target environments. diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc deleted file mode 100644 index 96bacd391fb6..000000000000 --- a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2026-06-05 13:45:06 UTC -+++ extensions/shell/browser/shell_extensions_api_client.cc -@@ -17,7 +17,7 @@ - #include "extensions/shell/browser/shell_display_info_provider.h" - #include "extensions/shell/browser/shell_extension_web_contents_observer.h" - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h" - #endif - -@@ -85,7 +85,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() - return std::make_unique(); - } - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { - if (!file_system_delegate_) - file_system_delegate_ = std::make_unique(); diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h deleted file mode 100644 index 141dfe1b9252..000000000000 --- a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h +++ /dev/null @@ -1,19 +0,0 @@ ---- extensions/shell/browser/shell_extensions_api_client.h.orig 2026-06-05 13:45:06 UTC -+++ extensions/shell/browser/shell_extensions_api_client.h -@@ -46,14 +46,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC - #endif - std::unique_ptr CreateDisplayInfoProvider() - const override; --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - FileSystemDelegate* GetFileSystemDelegate() override; - #endif - MessagingDelegate* GetMessagingDelegate() override; - FeedbackPrivateDelegate* GetFeedbackPrivateDelegate() override; - - private: --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - std::unique_ptr file_system_delegate_; - #endif - std::unique_ptr messaging_delegate_; diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc new file mode 100644 index 000000000000..15096b1b23e3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/client/internal/mappable_buffer_native_pixmap.cc.orig 2026-08-13 07:41:05 UTC ++++ gpu/command_buffer/client/internal/mappable_buffer_native_pixmap.cc +@@ -64,7 +64,7 @@ MappableBufferNativePixmap::CreateFromHandle( + viz::SharedImageFormat format, + gfx::BufferUsage usage) { + const bool supports_zero_copy_webgpu_import = +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + handle.native_pixmap_handle().supports_zero_copy_webgpu_import; + #else + false; diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc index 83f679af44e7..2fdf17aadf0e 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/dawn_context_provider.cc -@@ -447,7 +447,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke +@@ -454,7 +454,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/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index efe4be18b366..35376b67d96f 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-06-24 09:29:46 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -3019,7 +3019,7 @@ std::unique_ptr GLES2Decoder::Create( +@@ -3011,7 +3011,7 @@ std::unique_ptr GLES2Decoder::Create( } // Allow linux to run fuzzers. -#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(client, command_buffer_service, outputter, group); #else diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc index 7ada6c3a6f5e..143cafdd592c 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2026-04-15 11:25:12 UTC +--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc @@ -20,7 +20,7 @@ namespace { // TODO(penghuang): verify the scanout is the right usage for video playback. // crbug.com/1280798 constexpr SharedImageUsageSet kSupportedUsage = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SHARED_IMAGE_USAGE_SCANOUT | #endif SHARED_IMAGE_USAGE_GLES2_READ | SHARED_IMAGE_USAGE_GLES2_WRITE | -@@ -124,7 +124,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported( +@@ -103,7 +103,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported( // usage? case gfx::EMPTY_BUFFER: return HasGLES2ReadOrWriteUsage(usage); -#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: { auto* vulkan_implementation = context_state_->vk_context_provider()->GetVulkanImplementation(); diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_dawn__ozone__image__representation.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_dawn__ozone__image__representation.cc index c2ecedf737f0..9c579691af6e 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_dawn__ozone__image__representation.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_dawn__ozone__image__representation.cc @@ -1,23 +1,23 @@ ---- gpu/command_buffer/service/shared_image/dawn_ozone_image_representation.cc.orig 2026-05-09 18:09:27 UTC +--- gpu/command_buffer/service/shared_image/dawn_ozone_image_representation.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/dawn_ozone_image_representation.cc -@@ -193,6 +193,7 @@ void DawnOzoneImageRepresentation::EndAccess() { +@@ -194,6 +194,7 @@ void DawnOzoneImageRepresentation::EndAccess() { if (!texture_) { return; } +#if 0 wgpu::SharedTextureMemoryEndAccessState end_access_desc = {}; wgpu::SharedTextureMemoryVkImageLayoutEndState end_layout{}; end_access_desc.nextInChain = &end_layout; -@@ -240,6 +241,12 @@ void DawnOzoneImageRepresentation::EndAccess() { +@@ -243,6 +244,12 @@ void DawnOzoneImageRepresentation::EndAccess() { texture_.Destroy(); texture_ = nullptr; +#else + LOG(ERROR) << "Failed to end access for DawnOzoneImageRepresentation"; + texture_.Destroy(); + texture_ = nullptr; + return; +#endif } } // namespace gpu diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc index 674bb06a8d45..784515ab0f08 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2026-06-05 13:45:06 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/scoped_binders.h" -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" #if BUILDFLAG(DAWN_ENABLE_BACKEND_OPENGLES) #include "gpu/command_buffer/service/shared_image/dawn_gl_texture_representation.h" -@@ -773,7 +773,7 @@ std::unique_ptr ExternalVkIma +@@ -742,7 +742,7 @@ std::unique_ptr ExternalVkIma wgpu::BackendType backend_type, std::vector view_formats, scoped_refptr context_state) { -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) auto wgpu_format = ToDawnFormat(format()); if (wgpu_format == wgpu::TextureFormat::Undefined) { diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc index a03c3512fa0b..ea079b0a3ae0 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2026-05-09 18:09:27 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc -@@ -148,7 +148,7 @@ bool IsFormatSupported(viz::SharedImageFormat format, +@@ -152,7 +152,7 @@ bool IsFormatSupported(viz::SharedImageFormat format, SharedImageUsageSet SupportedUsage() { SharedImageUsageSet supported_usage = -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) SHARED_IMAGE_USAGE_WEBGPU_READ | SHARED_IMAGE_USAGE_WEBGPU_WRITE | SHARED_IMAGE_USAGE_WEBGPU_SWAP_CHAIN_TEXTURE | SHARED_IMAGE_USAGE_WEBGPU_STORAGE_TEXTURE | diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_ozone__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_ozone__image__backing.cc new file mode 100644 index 000000000000..7100f5f4fda5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_ozone__image__backing.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/ozone_image_backing.cc.orig 2026-08-13 07:41:05 UTC ++++ gpu/command_buffer/service/shared_image/ozone_image_backing.cc +@@ -497,7 +497,7 @@ std::unique_ptr OzoneImageB + native_pixmap_handle.planes[1].offset = image_size.GetArea(); + native_pixmap_handle.planes[1].size = image_size.GetArea() / 2; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::CheckedNumeric checked_required = + native_pixmap_handle.planes[1].offset; + checked_required += native_pixmap_handle.planes[1].size; diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index a5be7a427f9e..0dbece0f83ca 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -1,47 +1,47 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-06-05 13:45:06 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc -@@ -55,7 +55,7 @@ +@@ -56,7 +56,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 -@@ -123,7 +123,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -124,7 +124,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 -@@ -144,7 +144,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -145,7 +145,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; -@@ -322,7 +322,7 @@ SharedImageFactory::SharedImageFactory( +@@ -323,7 +323,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).*/ -@@ -1043,7 +1043,7 @@ void SharedImageFactory::LogGetFactoryFailed(gpu::Shar +@@ -1053,7 +1053,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/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc index 53d9edcb425f..380868ae061e 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2024-03-22 14:16:19 UTC +--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc -@@ -214,7 +214,7 @@ bool WrappedSkImageBacking::Initialize(const std::stri +@@ -204,7 +204,7 @@ bool WrappedSkImageBacking::Initialize(const std::stri constexpr GrRenderable is_renderable = GrRenderable::kYes; constexpr GrProtected is_protected = GrProtected::kNo; -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // Blue for single-planar and magenta-ish for multi-planar. SkColor4f fallback_color = format().is_single_plane() ? SkColors::kBlue : SkColors::kWhite; diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index 24d83cc3fb03..4685de1125c2 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/ungoogled-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-05-09 18:09:27 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1775,7 +1775,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1780,7 +1780,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()) { -@@ -2101,7 +2101,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -2106,7 +2106,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/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc index b0b0f0d69fa6..a26108aaf5a2 100644 --- a/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_control_list.cc.orig 2026-02-15 10:01:45 UTC +--- gpu/config/gpu_control_list.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/config/gpu_control_list.cc -@@ -854,7 +854,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { +@@ -837,7 +837,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { return kOsAndroid; #elif BUILDFLAG(IS_FUCHSIA) return kOsFuchsia; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_MAC) return kOsMacosx; diff --git a/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.cc index 6a5efffde572..1e956012f61c 100644 --- a/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.cc +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.cc @@ -1,29 +1,29 @@ ---- gpu/config/gpu_finch_features.cc.orig 2026-06-05 13:45:06 UTC +--- gpu/config/gpu_finch_features.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/config/gpu_finch_features.cc -@@ -110,7 +110,7 @@ const base::FeatureParam +@@ -176,7 +176,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); -@@ -119,7 +119,7 @@ BASE_FEATURE(kSharedImageStubHighPriority, base::FEATU +@@ -185,7 +185,7 @@ BASE_FEATURE(kSharedImageStubHighPriority, base::FEATU // Disables hardware YUV conversion on NVIDIA + Wayland to workaround a driver // bug. BASE_FEATURE(kNvidiaWaylandYuvHardwareConversionWorkaround, -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -470,7 +470,7 @@ BASE_FEATURE(kGPUDriverBugListTestGroup, base::FEATURE +@@ -515,7 +515,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/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.h b/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.h index 240d12f214c5..dafd5f4e2535 100644 --- a/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.h +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__finch__features.h @@ -1,11 +1,11 @@ ---- gpu/config/gpu_finch_features.h.orig 2026-06-05 13:45:06 UTC +--- gpu/config/gpu_finch_features.h.orig 2026-08-13 07:41:05 UTC +++ gpu/config/gpu_finch_features.h -@@ -105,7 +105,7 @@ GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kPruneOldTransf +@@ -179,7 +179,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/ungoogled-chromium/files/patch-gpu_config_gpu__info__collector.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__info__collector.cc index b237480d0053..5abddd618d3b 100644 --- a/www/ungoogled-chromium/files/patch-gpu_config_gpu__info__collector.cc +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__info__collector.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_info_collector.cc.orig 2026-04-15 11:25:12 UTC +--- gpu/config/gpu_info_collector.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/config/gpu_info_collector.cc -@@ -366,7 +366,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance +@@ -364,7 +364,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/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc index 4d083d091263..86ef116174d3 100644 --- a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2026-06-05 13:45:06 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -165,7 +165,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -170,7 +170,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; -@@ -429,7 +429,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -432,7 +432,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 -@@ -468,7 +468,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -471,7 +471,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. -@@ -562,7 +562,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - gpu_preferences_.gr_context_type = GrContextType::kGL; +@@ -514,7 +514,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The ContentSandboxHelper is currently the only one implementation of // GpuSandboxHelper and it has no dependency. Except on Linux where // VaapiWrapper checks the GL implementation to determine which display -@@ -621,7 +621,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -573,7 +573,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; -@@ -829,7 +829,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -794,7 +794,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } -#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. -@@ -904,7 +904,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -869,7 +869,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 -@@ -1103,7 +1103,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1099,7 +1099,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 -@@ -1159,7 +1159,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1155,7 +1155,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/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc index c87a9f134fab..f4cca1d6110e 100644 --- a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc @@ -1,11 +1,11 @@ ---- gpu/vulkan/vulkan_util.cc.orig 2026-06-05 13:45:06 UTC +--- gpu/vulkan/vulkan_util.cc.orig 2026-08-13 07:41:05 UTC +++ gpu/vulkan/vulkan_util.cc -@@ -468,7 +468,7 @@ bool CheckVulkanCompatibilities( +@@ -278,7 +278,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/ungoogled-chromium/files/patch-headless_BUILD.gn b/www/ungoogled-chromium/files/patch-headless_BUILD.gn index 016c91248bc7..dfecc3295793 100644 --- a/www/ungoogled-chromium/files/patch-headless_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-headless_BUILD.gn @@ -1,11 +1,11 @@ ---- headless/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- headless/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ headless/BUILD.gn -@@ -848,7 +848,7 @@ component("headless_shell_lib") { +@@ -812,7 +812,7 @@ component("headless_shell_lib") { "//v8", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/core/app" ] } diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__impl.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__impl.cc index 11f71145d43a..14bf2a851640 100644 --- a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__impl.cc +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__impl.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_browser_impl.cc.orig 2026-06-05 13:45:06 UTC +--- headless/lib/browser/headless_browser_impl.cc.orig 2026-08-13 07:41:05 UTC +++ headless/lib/browser/headless_browser_impl.cc @@ -37,7 +37,7 @@ #include "components/os_crypt/async/browser/keychain_key_provider.h" #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) #include "base/command_line.h" #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h" #include "components/password_manager/core/browser/password_manager_switches.h" // nogncheck -@@ -411,7 +411,7 @@ void HeadlessBrowserImpl::CreateOSCryptAsync() { +@@ -363,7 +363,7 @@ void HeadlessBrowserImpl::CreateOSCryptAsync() { providers.emplace_back(std::make_pair( /*precedence=*/10u, std::make_unique())); -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#elif (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); diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc index 319735d116b9..4dd2e737bf50 100644 --- a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_web_contents_impl.cc.orig 2026-03-15 18:32:51 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2026-08-13 07:41:05 UTC +++ headless/lib/browser/headless_web_contents_impl.cc -@@ -74,7 +74,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ +@@ -76,7 +76,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/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc index 94936286352f..519c86f2c4d8 100644 --- a/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2026-05-09 18:09:27 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2026-08-13 07:41:05 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -404,7 +404,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -407,7 +407,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) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-media_BUILD.gn b/www/ungoogled-chromium/files/patch-media_BUILD.gn index 0c50bcd5b160..6a5f03694cdc 100644 --- a/www/ungoogled-chromium/files/patch-media_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2026-03-15 18:32:51 UTC +--- media/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ media/BUILD.gn -@@ -103,6 +103,9 @@ config("media_config") { +@@ -105,6 +105,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/ungoogled-chromium/files/patch-media_audio_BUILD.gn b/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn index 8f60fb2aa1f9..4d956d399e77 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn @@ -1,27 +1,27 @@ ---- media/audio/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- media/audio/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ media/audio/BUILD.gn -@@ -289,9 +289,23 @@ source_set("audio") { +@@ -290,9 +290,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/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc index e0522e798386..85c5e8f183f3 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ b/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -1,54 +1,54 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2026-03-15 18:32:51 UTC +--- media/audio/alsa/audio_manager_alsa.cc.orig 2026-08-13 07:41:05 UTC +++ media/audio/alsa/audio_manager_alsa.cc -@@ -102,7 +102,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType - int card = -1; - +@@ -106,7 +106,9 @@ bool AudioManagerAlsa::GetAlsaAudioDevices(StreamType // Loop through the physical sound cards to get ALSA device hints. -+#if !BUILDFLAG(IS_BSD) - while (!wrapper_->CardNext(&card) && card >= 0) { + bool had_error = false; + int card_next_result = 0; ++#if !BUILDFLAG(IS_BSD) + while ((card_next_result = wrapper_->CardNext(&card)) == 0 && card >= 0) { +#endif void** hints = nullptr; - int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); - if (!error) { -@@ -114,7 +116,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + int hint_result = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); + if (!hint_result) { +@@ -119,7 +121,9 @@ bool AudioManagerAlsa::GetAlsaAudioDevices(StreamType DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " - << wrapper_->StrError(error); + << wrapper_->StrError(hint_result); } -+#if !BUILDFLAG(IS_BSD) ++#if !BUILDFLAG(IS_BSD) } +#endif - } - void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type, -@@ -198,7 +202,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(AudioMana + if (card_next_result != 0) { + had_error = true; +@@ -211,7 +215,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); } -@@ -249,7 +257,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( +@@ -262,7 +270,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 = -@@ -278,7 +288,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( +@@ -291,7 +301,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/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc index 893ec8c52597..6b7581fcd1a3 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -1,218 +1,220 @@ ---- media/audio/sndio/audio_manager_sndio.cc.orig 2025-09-10 13:22:16 UTC +--- media/audio/sndio/audio_manager_sndio.cc.orig 2026-08-13 07:41:05 UTC +++ media/audio/sndio/audio_manager_sndio.cc -@@ -0,0 +1,215 @@ +@@ -0,0 +1,217 @@ +// 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 "base/command_line.h" +#include "base/metrics/histogram_macros.h" +#include "base/memory/ptr_util.h" + +#include "base/logging.h" + +#include "media/audio/sndio/audio_manager_sndio.h" + +#include "media/audio/audio_device_description.h" +#include "media/audio/audio_output_dispatcher.h" +#if defined(USE_SNDIO) +#include "media/audio/sndio/sndio_input.h" +#include "media/audio/sndio/sndio_output.h" +#endif +#if defined(USE_PULSEAUDIO) +#include "media/audio/pulse/audio_manager_pulse.h" +#include "media/audio/pulse/pulse_util.h" +#endif +#if defined(USE_ALSA) +#include "media/audio/alsa/audio_manager_alsa.h" +#endif +#include "media/audio/fake_audio_manager.h" +#include "media/base/limits.h" +#include "media/base/media_switches.h" + +namespace media { + +#if defined(USE_SNDIO) +// Maximum number of output streams that can be open simultaneously. +static const int kMaxOutputStreams = 50; + +// Default sample rate for input and output streams. +static const int kDefaultSampleRate = 48000; + +void AddDefaultDevice(AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + device_names->push_front(AudioDeviceName::CreateDefault()); +} + +bool AudioManagerSndio::HasAudioOutputDevices() { + return true; +} + +bool AudioManagerSndio::HasAudioInputDevices() { + return true; +} + -+void AudioManagerSndio::GetAudioInputDeviceNames( ++bool AudioManagerSndio::GetAudioInputDeviceNames( + AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + AddDefaultDevice(device_names); ++ return true; +} + -+void AudioManagerSndio::GetAudioOutputDeviceNames( ++bool AudioManagerSndio::GetAudioOutputDeviceNames( + AudioDeviceNames* device_names) { + AddDefaultDevice(device_names); ++ return true; +} + +#if defined(USE_SNDIO) +const std::string_view AudioManagerSndio::GetName() { + return "SNDIO"; +} +#endif + +AudioParameters AudioManagerSndio::GetInputStreamParameters( + const std::string& device_id) { + static const int kDefaultInputBufferSize = 1024; + + int user_buffer_size = GetUserBufferSize(); + int buffer_size = user_buffer_size ? + user_buffer_size : kDefaultInputBufferSize; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, ChannelLayoutConfig::Stereo(), + kDefaultSampleRate, buffer_size); +} + +AudioManagerSndio::AudioManagerSndio(std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) + : AudioManagerBase(std::move(audio_thread), + audio_log_factory) { + DLOG(WARNING) << "AudioManagerSndio"; + SetMaxOutputStreamsAllowed(kMaxOutputStreams); +} + +AudioManagerSndio::~AudioManagerSndio() = default; + +AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeOutputStream(params); +} + +AudioOutputStream* AudioManagerSndio::MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeOutputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeInputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeInputStream(params); +} + +AudioParameters AudioManagerSndio::GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) { + // TODO(tommi): Support |output_device_id|. + DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; + static const int kDefaultOutputBufferSize = 2048; + + ChannelLayoutConfig channel_layout_config = ChannelLayoutConfig::Stereo(); + int sample_rate = kDefaultSampleRate; + int buffer_size = kDefaultOutputBufferSize; + if (input_params.IsValid()) { + sample_rate = input_params.sample_rate(); + channel_layout_config = input_params.channel_layout_config(); + buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); + } + + int user_buffer_size = GetUserBufferSize(); + if (user_buffer_size) + buffer_size = user_buffer_size; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, + channel_layout_config, sample_rate, buffer_size); +} + +AudioInputStream* AudioManagerSndio::MakeInputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeInputStream"; + return new SndioAudioInputStream(this, + AudioDeviceDescription::kDefaultDeviceId, params); +} + +AudioOutputStream* AudioManagerSndio::MakeOutputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeOutputStream"; + return new SndioAudioOutputStream(params, this); +} +#endif + +std::unique_ptr CreateAudioManager( + std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) { + DLOG(WARNING) << "CreateAudioManager"; + + auto _ab = kAudioBackendParam.Get(); + + // For testing allow audio output to be disabled. + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioOutput) || + !base::FeatureList::IsEnabled(media::kAudioBackend)) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } + +#if defined(USE_PULSEAUDIO) + pa_threaded_mainloop* pa_mainloop = nullptr; + pa_context* pa_context = nullptr; + if (_ab != AudioBackend::kSndio && _ab != AudioBackend::kAlsa && + pulse::InitPulse(&pa_mainloop, &pa_context)) { + return std::make_unique( + std::move(audio_thread), audio_log_factory, pa_mainloop, pa_context); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to SNDIO for audio output. PulseAudio is not " + "available or could not be initialized."; + } +#endif + +#if defined(USE_SNDIO) + if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kAlsa) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to ALSA audio output. SNDIO is not " + "available or could not be initialized."; + } +#endif + +#if defined(USE_ALSA) + if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kSndio) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to fake audio output. ALSA is not " + "available or could not be initialized."; + } +#endif + + return std::make_unique(std::move(audio_thread), + audio_log_factory); +} + +} // namespace media diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h index 0b7f6fe5185a..e4d1eb3b793e 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h @@ -1,69 +1,69 @@ ---- media/audio/sndio/audio_manager_sndio.h.orig 2025-09-10 13:22:16 UTC +--- media/audio/sndio/audio_manager_sndio.h.orig 2026-08-13 07:41:05 UTC +++ media/audio/sndio/audio_manager_sndio.h @@ -0,0 +1,66 @@ +// 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. + +#ifndef MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ +#define MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ + +#include + +#include "base/compiler_specific.h" +#include "base/memory/ref_counted.h" +#include "base/threading/thread.h" +#include "media/audio/audio_manager_base.h" + +namespace media { + +class MEDIA_EXPORT AudioManagerSndio : public AudioManagerBase { + public: + AudioManagerSndio(std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory); + + AudioManagerSndio(const AudioManagerSndio&) = delete; + AudioManagerSndio& operator=(const AudioManagerSndio&) = delete; + + ~AudioManagerSndio() override; + + // Implementation of AudioManager. + bool HasAudioOutputDevices() override; + bool HasAudioInputDevices() override; -+ void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; -+ void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; ++ bool GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; ++ bool GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; + AudioParameters GetInputStreamParameters( + const std::string& device_id) override; + const std::string_view GetName() override; + + // Implementation of AudioManagerBase. + AudioOutputStream* MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) override; + AudioOutputStream* MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + + protected: + AudioParameters GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) override; + + private: + // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. + AudioOutputStream* MakeOutputStream(const AudioParameters& params); + AudioInputStream* MakeInputStream(const AudioParameters& params); +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ diff --git a/www/ungoogled-chromium/files/patch-media_base_audio__bus.h b/www/ungoogled-chromium/files/patch-media_base_audio__bus.h new file mode 100644 index 000000000000..f5e65d539ace --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_audio__bus.h @@ -0,0 +1,233 @@ +--- media/base/audio_bus.h.orig 2026-08-13 07:41:05 UTC ++++ media/base/audio_bus.h +@@ -110,6 +110,23 @@ class MEDIA_EXPORT AudioBus { + // Returns the currently used bitstream data. + BitstreamData bitstream_data() const { return bitstream_data_; } + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Overwrites the sample values stored in this AudioBus instance with values ++ // from a given interleaved `source_buffer` with expected layout ++ // [ch0, ch1, ..., chN, ch0, ch1, ...] and sample values in the format ++ // corresponding to the given SourceSampleTypeTraits. ++ // The sample values are converted to float values by means of the method ++ // convert_to_float32() provided by the SourceSampleTypeTraits. For a list of ++ // ready-to-use SampleTypeTraits, see file audio_sample_types.h. ++ // If `num_frames_to_write` is less than frames(), the remaining frames are ++ // zeroed out. If `num_frames_to_write` is more than frames(), this results in ++ // undefined behavior. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void FromInterleaved( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int num_frames_to_write); ++ + // Overwrites every sample stored in this AudioBus instance with values + // from a given interleaved `source` with expected layout + // [ch0, ch1, ..., chN, ch0, ch1, ...]. The sample values are converted to +@@ -122,13 +139,36 @@ class MEDIA_EXPORT AudioBus { + base::span source, + bool zero_remaining_frames = false); + ++ // Note: DEPRECATED, prefer spanified version instead. + // Similar to FromInterleaved...(), but overwrites the frames starting at a ++ // given offset `write_offset_in_frames` and does not zero out frames that are ++ // not overwritten. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void FromInterleavedPartial( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write); ++ ++ // Similar to FromInterleaved...(), but overwrites the frames starting at a + // given offset `write_offset`, without zero'ing other frames. + template + void FromInterleavedPartial( + base::span source, + size_t write_offset); + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Reads the sample values stored in this AudioBus instance and places them ++ // into the given `dest_buffer` in interleaved format using the sample format ++ // specified by TargetSampleTypeTraits. For a list of ready-to-use ++ // SampleTypeTraits, see file audio_sample_types.h. If `num_frames_to_read` is ++ // larger than frames(), this results in undefined behavior. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void ToInterleaved( ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const; ++ + // Fills `dest` with the sample values in this AudioBus instance. Converts the + // samples to the format specified by `TargetSampleTypeTraits` and places them + // in interleaved format. +@@ -138,6 +178,16 @@ class MEDIA_EXPORT AudioBus { + void ToInterleaved( + base::span dest) const; + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Similar to ToInterleaved(), but reads the frames starting at a given ++ // offset `read_offset_in_frames`. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void ToInterleavedPartial( ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const; ++ + // Similar to ToInterleaved...(), but reads the frames starting at a given + // `read_offset`. + // Note: `dest` must have a multiple of `channels()` elements, but it does not +@@ -243,6 +293,12 @@ class MEDIA_EXPORT AudioBus { + + template + static void CopyConvertFromInterleavedSourceToAudioBus( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write, ++ AudioBus* dest); ++ template ++ static void CopyConvertFromInterleavedSourceToAudioBus( + base::span source, + size_t write_offset, + AudioBus* dest); +@@ -250,6 +306,12 @@ class MEDIA_EXPORT AudioBus { + template + static void CopyConvertFromAudioBusToInterleavedTarget( + const AudioBus* source, ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer); ++ template ++ static void CopyConvertFromAudioBusToInterleavedTarget( ++ const AudioBus* source, + size_t read_offset, + base::span dest); + +@@ -298,6 +360,17 @@ class MEDIA_EXPORT AudioBus { + // Delegates to FromInterleavedPartial() + template + void AudioBus::FromInterleaved( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int num_frames_to_write) { ++ FromInterleavedPartial(source_buffer, 0, ++ num_frames_to_write); ++ // Zero any remaining frames. ++ ZeroFramesPartial(num_frames_to_write, frames_ - num_frames_to_write); ++} ++ ++// Delegates to FromInterleavedPartial() ++template ++void AudioBus::FromInterleaved( + base::span source, + bool zero_remaining_frames) { + const size_t source_frame_count = get_frame_count(source, channels()); +@@ -318,6 +391,16 @@ void AudioBus::FromInterleaved( + + template + void AudioBus::FromInterleavedPartial( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write) { ++ CheckOverflow(write_offset_in_frames, num_frames_to_write, frames_); ++ CopyConvertFromInterleavedSourceToAudioBus( ++ source_buffer, write_offset_in_frames, num_frames_to_write, this); ++} ++ ++template ++void AudioBus::FromInterleavedPartial( + base::span source, + size_t write_offset) { + const size_t frame_count = get_frame_count(source, channels()); +@@ -332,6 +415,15 @@ void AudioBus::FromInterleavedPartial( + // Delegates to ToInterleavedPartial() + template + void AudioBus::ToInterleaved( ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const { ++ ToInterleavedPartial(0, num_frames_to_read, ++ dest_buffer); ++} ++ ++// Delegates to ToInterleavedPartial() ++template ++void AudioBus::ToInterleaved( + base::span dest) const { + const size_t frames_count = get_frame_count(dest, channels()); + CHECK_EQ(frames_count, frames_); +@@ -340,6 +432,16 @@ void AudioBus::ToInterleaved( + + template + void AudioBus::ToInterleavedPartial( ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest) const { ++ CheckOverflow(read_offset_in_frames, num_frames_to_read, frames_); ++ CopyConvertFromAudioBusToInterleavedTarget( ++ this, read_offset_in_frames, num_frames_to_read, dest); ++} ++ ++template ++void AudioBus::ToInterleavedPartial( + size_t read_offset, + base::span dest) const { + const size_t frame_count = get_frame_count(dest, channels()); +@@ -350,8 +452,30 @@ void AudioBus::ToInterleavedPartial( + this, read_offset, dest); + } + ++// TODO(chfremer): Consider using vector instructions to speed this up, ++// https://crbug.com/619628 + template + void AudioBus::CopyConvertFromInterleavedSourceToAudioBus( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write, ++ AudioBus* dest) { ++ const int channels = dest->channels(); ++ for (int ch = 0; ch < channels; ++ch) { ++ AudioBus::Channel channel_data = dest->channel(ch); ++ for (int target_frame_index = write_offset_in_frames, ++ read_pos_in_source = ch; ++ target_frame_index < write_offset_in_frames + num_frames_to_write; ++ ++target_frame_index, read_pos_in_source += channels) { ++ auto source_value = UNSAFE_TODO(source_buffer[read_pos_in_source]); ++ channel_data[target_frame_index] = ++ SourceSampleTypeTraits::ToFloat(source_value); ++ } ++ } ++} ++ ++template ++void AudioBus::CopyConvertFromInterleavedSourceToAudioBus( + base::span source, + size_t write_offset, + AudioBus* dest) { +@@ -368,6 +492,27 @@ void AudioBus::CopyConvertFromInterleavedSourceToAudio + ++dest_idx, src_idx += channels) { + auto source_sample = source[src_idx]; + channel_data[dest_idx] = SourceSampleTypeTraits::ToFloat(source_sample); ++ } ++ } ++} ++ ++// TODO(chfremer): Consider using vector instructions to speed this up, ++// https://crbug.com/619628 ++template ++void AudioBus::CopyConvertFromAudioBusToInterleavedTarget( ++ const AudioBus* source, ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) { ++ const int channels = source->channels(); ++ for (int ch = 0; ch < channels; ++ch) { ++ AudioBus::ConstChannel channel_data = source->channel(ch); ++ for (int source_frame_index = read_offset_in_frames, write_pos_in_dest = ch; ++ source_frame_index < read_offset_in_frames + num_frames_to_read; ++ ++source_frame_index, write_pos_in_dest += channels) { ++ float sourceSampleValue = channel_data[source_frame_index]; ++ UNSAFE_TODO(dest_buffer[write_pos_in_dest]) = ++ TargetSampleTypeTraits::FromFloat(sourceSampleValue); + } + } + } diff --git a/www/ungoogled-chromium/files/patch-media_base_media__switches.cc b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc index f0bb286037fc..0407112cfd14 100644 --- a/www/ungoogled-chromium/files/patch-media_base_media__switches.cc +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc @@ -1,111 +1,129 @@ ---- media/base/media_switches.cc.orig 2026-06-17 19:06:11 UTC +--- media/base/media_switches.cc.orig 2026-08-13 07:41:05 UTC +++ media/base/media_switches.cc @@ -20,7 +20,7 @@ #include "ui/gl/gl_features.h" #include "ui/gl/gl_utils.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/cpu.h" #include "components/system_media_controls/linux/buildflags/buildflags.h" #endif -@@ -434,13 +434,35 @@ BASE_FEATURE(kApplicationAudioCaptureMac, base::FEATUR +@@ -469,13 +469,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 -@@ -721,7 +743,7 @@ BASE_FEATURE(kMediaCodecColorSpaceCleanup, base::FEATU +@@ -647,7 +669,7 @@ BASE_FEATURE(kRevokeMediaSourceObjectURLOnAttach, + // Android / Fuchsia are expected to launch in M150. + BASE_FEATURE(kSymphoniaAudioDecoding, + #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 +@@ -657,7 +679,7 @@ BASE_FEATURE(kSymphoniaAudioDecoding, + // Android / Fuchsia are expected to launch in M150. + BASE_FEATURE(kSymphoniaMp3Decoding, + #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 +@@ -768,7 +790,7 @@ BASE_FEATURE(kMediaCodecColorSpaceCleanup, base::FEATU #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 -@@ -744,7 +766,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU +@@ -791,7 +813,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, -@@ -812,7 +834,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E +@@ -869,7 +891,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); -@@ -1007,7 +1029,7 @@ BASE_FEATURE(kMediaFoundationMultiGpuAdapterSelection, +@@ -1074,7 +1096,7 @@ BASE_FEATURE(kMediaFoundationMultiGpuAdapterSelection, BASE_FEATURE(kHardwareMediaKeyHandling, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) base::FEATURE_ENABLED_BY_DEFAULT -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if BUILDFLAG(USE_MPRIS) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1383,7 +1405,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, +@@ -1436,7 +1458,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawn utility processes to perform hardware encode acceleration instead of // using the GPU process. BASE_FEATURE(kUseOutOfProcessVideoEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1445,7 +1467,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU +@@ -1498,7 +1520,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. -@@ -1772,7 +1794,7 @@ bool IsSystemLoopbackCaptureSupported() { +@@ -1823,7 +1845,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/ungoogled-chromium/files/patch-media_base_media__switches.h b/www/ungoogled-chromium/files/patch-media_base_media__switches.h index 460568887a54..f3b01bd2d30c 100644 --- a/www/ungoogled-chromium/files/patch-media_base_media__switches.h +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.h @@ -1,57 +1,57 @@ ---- media/base/media_switches.h.orig 2026-06-17 19:06:11 UTC +--- media/base/media_switches.h.orig 2026-08-13 07:41:05 UTC +++ media/base/media_switches.h -@@ -322,13 +322,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -331,13 +331,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); -@@ -347,7 +359,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -356,7 +368,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); -@@ -364,7 +376,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -373,7 +385,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); -@@ -473,7 +485,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide +@@ -484,7 +496,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/ungoogled-chromium/files/patch-media_base_video__frame.h b/www/ungoogled-chromium/files/patch-media_base_video__frame.h index a747504a4a07..d88b0048c348 100644 --- a/www/ungoogled-chromium/files/patch-media_base_video__frame.h +++ b/www/ungoogled-chromium/files/patch-media_base_video__frame.h @@ -1,47 +1,47 @@ ---- media/base/video_frame.h.orig 2026-06-05 13:45:06 UTC +--- media/base/video_frame.h.orig 2026-08-13 07:41:05 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) -@@ -91,7 +91,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -87,7 +87,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, -@@ -312,7 +312,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -308,7 +308,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 -@@ -631,7 +631,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -616,7 +616,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // wait for the included sync point. scoped_refptr shared_image() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The number of DmaBufs will be equal or less than the number of planes of // the frame. If there are less, this means that the last FD contains the // remaining planes. Should be > 0 for STORAGE_DMABUFS. -@@ -836,7 +836,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -821,7 +821,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/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc index b2e659f17706..2bc4ff0e9e29 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc +++ b/www/ungoogled-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 2026-05-09 18:09:27 UTC +--- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2026-08-13 07:41:05 UTC +++ media/capture/video/linux/video_capture_device_factory_v4l2.cc -@@ -42,6 +42,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; -@@ -74,11 +75,24 @@ std::string ExtractFileNameFromDeviceId(const std::str +@@ -72,11 +73,24 @@ std::string ExtractFileNameFromDeviceId(const std::str DCHECK(base::StartsWith(device_id, kDevDir, base::CompareCase::SENSITIVE)); - return device_id.substr(UNSAFE_TODO(strlen(kDevDir)), device_id.length()); + return device_id.substr(kDevDir.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*"); -@@ -86,9 +100,13 @@ class DevVideoFilePathsDeviceProvider +@@ -84,9 +98,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 = -@@ -105,9 +123,13 @@ class DevVideoFilePathsDeviceProvider +@@ -103,9 +121,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()); -@@ -118,6 +140,7 @@ class DevVideoFilePathsDeviceProvider +@@ -116,6 +138,7 @@ class DevVideoFilePathsDeviceProvider return std::string(); } return display_name; +#endif } }; -@@ -223,7 +246,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo( +@@ -221,7 +244,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/ungoogled-chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/www/ungoogled-chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py index 2f2a15d2698b..264c3040a08c 100644 --- a/www/ungoogled-chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py +++ b/www/ungoogled-chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py @@ -1,66 +1,74 @@ ---- media/ffmpeg/scripts/build_ffmpeg.py.orig 2026-05-09 18:09:27 UTC +--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2026-08-13 07:41:05 UTC +++ media/ffmpeg/scripts/build_ffmpeg.py @@ -33,7 +33,7 @@ NDK_ROOT_DIR = os.path.abspath( SUCCESS_TOKEN = 'THIS_BUILD_WORKED' sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build')) -import gn_helpers +#import gn_helpers BRANDINGS = [ 'Chrome', @@ -43,6 +43,8 @@ BRANDINGS = [ ARCH_MAP = { 'android': ['ia32', 'x64', 'arm-neon', 'arm64'], 'linux': ['ia32', 'x64', 'noasm-x64', 'arm-neon', 'arm64', 'riscv64'], + 'openbsd': ['x64', 'arm64', 'ia32'], + 'freebsd': ['x64', 'arm64', 'ia32'], 'mac': ['x64', 'arm64'], 'win': ['ia32', 'x64', 'arm64'], } @@ -124,7 +126,7 @@ def PrintAndCheckCall(argv, *args, **kwargs): def GetDsoName(target_os, dso_name, dso_version): - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): return 'lib%s.so.%s' % (dso_name, dso_version) elif target_os == 'mac': return 'lib%s.%s.dylib' % (dso_name, dso_version) @@ -475,7 +477,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ # removing soon, so this is needed to silence a deprecation # #warning which will be converted to an error via -Werror. # There is also no prctl.h - if target_os in ['linux', 'linux-noasm']: + if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']: pre_make_rewrites += [ (r'(#define HAVE_SYSCTL [01])', r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'), -@@ -598,7 +600,7 @@ def main(argv): +@@ -604,7 +606,7 @@ def main(argv): configure_args = args[2:] if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', - 'all'): + 'all', 'openbsd', 'freebsd'): parser.print_help() return 1 -@@ -712,7 +714,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -678,7 +680,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, + '--disable-faan', + '--disable-alsa', + '--disable-iamf', +- '--disable-checkasm', + + + # Disable automatically detected external libraries. This prevents +@@ -720,7 +721,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, '--optflags="-O2"', ]) - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): if target_arch == 'x64': if target_os == 'android': configure_flags['Common'].extend([ -@@ -808,9 +810,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -816,9 +817,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, configure_flags['Common'].extend([ '--target-os=linux', - '--sysroot=' + - os.path.join(CHROMIUM_ROOT_DIR, - 'build/linux/debian_bullseye_arm64-sysroot'), # See crbug.com/1467681. These could be removed eventually '--disable-dotprod', '--disable-i8mm', diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc index aa7227eaaa4f..e59921666acd 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,29 +1,38 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-03-15 18:32:51 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-08-13 07:41:05 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1134,7 +1134,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -682,7 +682,7 @@ void VideoDecoderPipeline::InitializeTask(const VideoD + &OOPVideoDecoder::GetOriginalFrame, + base::Unretained(static_cast(decoder_.get()))); + } else { +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) + if (!main_frame_pool_) { + get_original_frame_cb = base::NullCallback(); + } else +@@ -1141,7 +1141,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()); -@@ -1143,7 +1143,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1150,7 +1150,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 -@@ -1317,7 +1317,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1324,7 +1324,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/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc index ce07cb5ccb36..e15e43831b82 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc @@ -1,44 +1,44 @@ ---- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2025-09-10 13:22:16 UTC +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2026-08-13 07:41:05 UTC +++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc @@ -17,7 +17,9 @@ #include "media/gpu/vaapi/vaapi_wrapper.h" #endif +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; +#endif // TODO(b/195769334): the hardware video decoding sandbox is really only useful // when building with VA-API or V4L2 (otherwise, we're not really doing hardware @@ -33,6 +35,7 @@ using sandbox::syscall_broker::BrokerFilePermission; namespace media { namespace { +#if !BUILDFLAG(IS_BSD) void AllowAccessToRenderNodes(std::vector& permissions, bool include_sys_dev_char, bool read_write) { -@@ -180,6 +183,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( +@@ -207,6 +210,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( NOTREACHED(); #endif // BUILDFLAG(USE_V4L2_CODEC) } +#endif } // namespace -@@ -195,6 +199,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( +@@ -222,6 +226,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( // (at least). bool HardwareVideoDecodingPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) using HardwareVideoDecodingProcessPolicy = sandbox::policy::HardwareVideoDecodingProcessPolicy; using PolicyType = -@@ -240,6 +245,7 @@ bool HardwareVideoDecodingPreSandboxHook( +@@ -267,6 +272,7 @@ bool HardwareVideoDecodingPreSandboxHook( // |permissions| is empty? sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( command_set, permissions, options); +#endif return true; } diff --git a/www/ungoogled-chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc b/www/ungoogled-chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc index cccd61c84438..87e8db460c35 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/v4l2/v4l2_utils.cc.orig 2026-05-09 18:09:27 UTC +--- media/gpu/v4l2/v4l2_utils.cc.orig 2026-08-13 07:41:05 UTC +++ media/gpu/v4l2/v4l2_utils.cc @@ -15,7 +15,7 @@ #include "base/compiler_specific.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif @@ -240,7 +240,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; - } + } else { diff --git a/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc index 38a14a4032b2..5f9a329d71e9 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2026-05-09 18:09:27 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2026-08-13 07:41:05 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -790,7 +790,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -800,7 +800,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree const gfx::Size decoder_natural_size = aspect_ratio_.GetNaturalSize(decoder_visible_rect); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::optional allocator = base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); std::vector candidates = { diff --git a/www/ungoogled-chromium/files/patch-media_media__options.gni b/www/ungoogled-chromium/files/patch-media_media__options.gni index 4bb91785b91f..8712cafbff85 100644 --- a/www/ungoogled-chromium/files/patch-media_media__options.gni +++ b/www/ungoogled-chromium/files/patch-media_media__options.gni @@ -1,19 +1,19 @@ ---- media/media_options.gni.orig 2026-05-09 18:09:27 UTC +--- media/media_options.gni.orig 2026-08-13 07:41:05 UTC +++ media/media_options.gni -@@ -209,12 +209,15 @@ declare_args() { +@@ -217,12 +217,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)) { + (!is_castos || (target_cpu == "x86" || target_cpu == "x64"))) { use_alsa = true + diff --git a/www/ungoogled-chromium/files/patch-media_mojo_mojom_BUILD.gn b/www/ungoogled-chromium/files/patch-media_mojo_mojom_BUILD.gn index aaccba7e5772..e48a8c1ac0eb 100644 --- a/www/ungoogled-chromium/files/patch-media_mojo_mojom_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-media_mojo_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- media/mojo/mojom/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- media/mojo/mojom/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ media/mojo/mojom/BUILD.gn -@@ -1058,7 +1058,7 @@ source_set("test_support") { +@@ -1101,7 +1101,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/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc index 62d8273c35b7..a8f521f370b3 100644 --- a/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc +++ b/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,47 +1,47 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-06-05 13:45:06 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-08-13 07:41:05 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -23,7 +23,7 @@ +@@ -24,7 +24,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) -@@ -158,7 +158,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -145,7 +145,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. -@@ -189,7 +189,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -189,7 +189,7 @@ std::string PlanesToString(const std::vector struct StructTraits { diff --git a/www/ungoogled-chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc b/www/ungoogled-chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc index e9da667301f1..f82457aef3b1 100644 --- a/www/ungoogled-chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc +++ b/www/ungoogled-chromium/files/patch-media_video_mappable__shared__image__video__frame__pool.cc @@ -1,20 +1,20 @@ ---- media/video/mappable_shared_image_video_frame_pool.cc.orig 2026-06-05 13:45:06 UTC +--- media/video/mappable_shared_image_video_frame_pool.cc.orig 2026-08-13 07:41:05 UTC +++ media/video/mappable_shared_image_video_frame_pool.cc -@@ -690,7 +690,7 @@ void MappableSharedImageVideoFramePool::PoolImpl::Crea +@@ -689,7 +689,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 -@@ -1118,7 +1118,7 @@ scoped_refptr MappableSharedImageVideoFram +@@ -1117,7 +1117,7 @@ scoped_refptr MappableSharedImageVideoFram gpu::SHARED_IMAGE_USAGE_WEBGPU_READ); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Gate this on SharedImage usage as ScopedAccess now CHECKs for it. // TOOD(crbug.com/425634684, crbug.com/413659843): Check for webgpu support // from SharedImageCapabilities, once this metadata is compatible. diff --git a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc index 5e1053faa1ef..ddb3efe519ac 100644 --- a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2026-06-05 13:45:06 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2026-08-13 07:41:05 UTC +++ media/video/video_encode_accelerator_adapter.cc -@@ -513,7 +513,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele +@@ -514,7 +514,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) 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/ungoogled-chromium/files/patch-mojo_core_BUILD.gn b/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn index 1a945b3450d6..48161b0befd6 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn @@ -1,11 +1,11 @@ ---- mojo/core/BUILD.gn.orig 2026-01-16 13:40:34 UTC +--- mojo/core/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ mojo/core/BUILD.gn -@@ -163,7 +163,7 @@ source_set("impl_for_embedder") { +@@ -162,7 +162,7 @@ source_set("impl_for_embedder") { "channel_posix.h", ] - if (is_linux || is_chromeos || is_android) { + if ((is_linux || is_chromeos || is_android) && !is_bsd) { sources += [ "channel_linux.cc", "channel_linux.h", diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc index 77e578f5cbd1..8b3468297755 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc @@ -1,32 +1,32 @@ ---- mojo/core/channel.cc.orig 2026-06-30 11:13:46 UTC +--- mojo/core/channel.cc.orig 2026-08-13 07:41:05 UTC +++ mojo/core/channel.cc @@ -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 -@@ -267,7 +271,7 @@ bool ShouldRecordSubsampledHistograms() { +@@ -268,7 +272,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 +@@ -1316,7 +1320,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/ungoogled-chromium/files/patch-mojo_core_channel.h b/www/ungoogled-chromium/files/patch-mojo_core_channel.h index 78639f1f05ee..032e2562e6ed 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel.h +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.h @@ -1,11 +1,11 @@ ---- mojo/core/channel.h.orig 2025-12-06 13:30:52 UTC +--- mojo/core/channel.h.orig 2026-08-13 07:41:05 UTC +++ mojo/core/channel.h -@@ -167,7 +167,7 @@ class MOJO_SYSTEM_IMPL_EXPORT Channel +@@ -169,7 +169,7 @@ class MOJO_SYSTEM_IMPL_EXPORT Channel } v2; #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)) // On Android for each pair of connected ipcz::Node instances both sides // of the connection run the same version of code. Restricting this // extension of IpczHeader to Android allows to iterate on the wire format diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel__posix.cc b/www/ungoogled-chromium/files/patch-mojo_core_channel__posix.cc index 40bc442fef5f..d6d2f310c314 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel__posix.cc +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel__posix.cc @@ -1,16 +1,16 @@ ---- mojo/core/channel_posix.cc.orig 2026-06-30 11:13:46 UTC +--- mojo/core/channel_posix.cc.orig 2026-08-13 07:41:05 UTC +++ mojo/core/channel_posix.cc -@@ -613,6 +613,13 @@ void Channel::OfferChannelUpgrade() { +@@ -627,6 +627,13 @@ void Channel::OfferChannelUpgrade() { } static_cast(this)->OfferSharedMemUpgrade(); } +#elif BUILDFLAG(IS_BSD) +// static +bool Channel::SupportsChannelUpgrade() { + return false; +} +void Channel::OfferChannelUpgrade() { +} #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni index 1480d45a8ac2..158ae218edf3 100644 --- a/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni +++ b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -1,19 +1,19 @@ ---- mojo/public/tools/bindings/mojom.gni.orig 2026-05-09 18:09:27 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2026-08-13 07:41:05 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -750,6 +750,16 @@ template("mojom") { +@@ -751,6 +751,16 @@ template("mojom") { enabled_features += [ "is_apple" ] } + if (is_openbsd) { + enabled_features += [ "is_openbsd" ] + enabled_features += [ "is_bsd" ] + } + + if (is_freebsd) { + enabled_features += [ "is_freebsd" ] + enabled_features += [ "is_bsd" ] + } + action_outputs = [] foreach(base_path, output_file_base_paths) { filename = get_path_info(base_path, "file") diff --git a/www/ungoogled-chromium/files/patch-net_BUILD.gn b/www/ungoogled-chromium/files/patch-net_BUILD.gn index 083e94ad9853..1781ef73ca65 100644 --- a/www/ungoogled-chromium/files/patch-net_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-net_BUILD.gn @@ -1,95 +1,95 @@ ---- net/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- net/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ net/BUILD.gn @@ -115,7 +115,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" ] } -@@ -1418,6 +1418,19 @@ component("net") { +@@ -1422,6 +1422,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", -@@ -1592,7 +1605,7 @@ component("net") { +@@ -1596,7 +1609,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", -@@ -2354,7 +2367,7 @@ static_library("test_support") { +@@ -2363,7 +2376,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", -@@ -3189,14 +3202,14 @@ target(_test_target_type, "net_unittests") { +@@ -3205,14 +3218,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", -@@ -3310,6 +3323,10 @@ target(_test_target_type, "net_unittests") { +@@ -3337,6 +3350,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3366,7 +3383,7 @@ target(_test_target_type, "net_unittests") { +@@ -3395,7 +3412,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" ] } -@@ -3499,7 +3516,7 @@ target(_test_target_type, "net_unittests") { +@@ -3528,7 +3545,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/ungoogled-chromium/files/patch-net_base_features.cc b/www/ungoogled-chromium/files/patch-net_base_features.cc index 717f6f7d337a..d5816dd7b202 100644 --- a/www/ungoogled-chromium/files/patch-net_base_features.cc +++ b/www/ungoogled-chromium/files/patch-net_base_features.cc @@ -1,29 +1,29 @@ ---- net/base/features.cc.orig 2026-06-05 13:45:06 UTC +--- net/base/features.cc.orig 2026-08-13 07:41:05 UTC +++ net/base/features.cc -@@ -38,7 +38,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, +@@ -43,7 +43,7 @@ BASE_FEATURE(kDeriveConnectionTypeFromCapabilities, 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 -@@ -311,7 +311,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV +@@ -323,7 +323,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) -@@ -432,7 +432,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues +@@ -435,7 +435,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 diff --git a/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn b/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn index 77a1bed6408e..b9d7a10c17e5 100644 --- a/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn @@ -1,39 +1,39 @@ ---- net/dns/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- net/dns/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ net/dns/BUILD.gn -@@ -169,7 +169,7 @@ source_set("dns") { +@@ -167,7 +167,7 @@ source_set("dns") { "dns_config_service_android.cc", "dns_config_service_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", -@@ -203,6 +203,7 @@ source_set("dns") { +@@ -201,6 +201,7 @@ source_set("dns") { } deps = [ "//net:net_deps" ] + deps += [ "//services/screen_ai/buildflags" ] public_deps = [ ":dns_client", -@@ -281,6 +282,7 @@ source_set("host_resolver") { +@@ -279,6 +280,7 @@ source_set("host_resolver") { deps = [ "//net:net_deps", "//net/dns/public", + "//printing/buildflags", ] public_deps = [ "//net:net_public_deps" ] -@@ -484,9 +486,9 @@ source_set("tests") { +@@ -481,9 +483,9 @@ source_set("tests") { "mock_dns_platform_android_attempt_delegate.cc", "mock_dns_platform_android_attempt_delegate.h", ] - } 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/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc b/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc index 596279f6928d..c158437ebfb9 100644 --- a/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc +++ b/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc @@ -1,10 +1,10 @@ ---- net/dns/address_sorter_posix.cc.orig 2026-01-16 13:40:34 UTC +--- net/dns/address_sorter_posix.cc.orig 2026-08-13 07:41:05 UTC +++ net/dns/address_sorter_posix.cc -@@ -29,6 +29,7 @@ +@@ -27,6 +27,7 @@ #include "net/dns/netinet_in_var_ios.h" #else #include +#include #endif // BUILDFLAG(IS_IOS) #endif - #include + diff --git a/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc b/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc index 28e78689140e..752737b7fd1e 100644 --- a/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc +++ b/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc @@ -1,11 +1,11 @@ ---- net/dns/dns_util.cc.orig 2026-05-09 18:09:27 UTC +--- net/dns/dns_util.cc.orig 2026-08-13 07:41:05 UTC +++ net/dns/dns_util.cc @@ -27,6 +27,8 @@ - #include "net/dns/public/util.h" #include "net/third_party/uri_template/uri_template.h" + #include "third_party/abseil-cpp/absl/container/flat_hash_map.h" +#include + #if BUILDFLAG(IS_POSIX) #include #include diff --git a/www/ungoogled-chromium/files/patch-net_http_http__auth__handler__negotiate.cc b/www/ungoogled-chromium/files/patch-net_http_http__auth__handler__negotiate.cc index bebb9f1eb1a5..d6a97cbc3e82 100644 --- a/www/ungoogled-chromium/files/patch-net_http_http__auth__handler__negotiate.cc +++ b/www/ungoogled-chromium/files/patch-net_http_http__auth__handler__negotiate.cc @@ -1,11 +1,11 @@ ---- net/http/http_auth_handler_negotiate.cc.orig 2025-04-15 08:30:07 UTC +--- net/http/http_auth_handler_negotiate.cc.orig 2026-08-13 07:41:05 UTC +++ net/http/http_auth_handler_negotiate.cc -@@ -119,7 +119,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl +@@ -120,7 +120,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl #elif BUILDFLAG(IS_POSIX) if (is_unsupported_) return ERR_UNSUPPORTED_AUTH_SCHEME; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Note: Don't set is_unsupported_ = true here. AllowGssapiLibraryLoad() // might change to true during a session. if (!http_auth_preferences() || diff --git a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc index b6bbd66d5d51..ab02878a58c3 100644 --- a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc +++ b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc @@ -1,79 +1,126 @@ ---- net/socket/udp_socket_posix.cc.orig 2026-04-15 11:25:12 UTC +--- net/socket/udp_socket_posix.cc.orig 2026-08-13 07:41:05 UTC +++ net/socket/udp_socket_posix.cc -@@ -135,7 +135,7 @@ uint32_t GetInterfaceForDestination(const IPAddress& d +@@ -77,6 +77,10 @@ + #include "base/mac/mac_util.h" + #endif // BUILDFLAG(IS_MAC) + ++#if !defined(CMSG_ALIGN) ++#define CMSG_ALIGN(n) _ALIGN(n) ++#endif ++ + namespace net { + + namespace { +@@ -84,7 +88,7 @@ namespace { + constexpr int kBindRetries = 10; + constexpr int kPortStart = 1024; + constexpr int kPortEnd = 65535; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Maximum number of UDP packets that can be read at a time from recvmmsg. + constexpr size_t kMaxMmsgMessages = 128; + #endif +@@ -181,7 +185,7 @@ uint32_t GetInterfaceForDestination(const IPAddress& d } #endif // BUILDFLAG(IS_MAC) -#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_FUCHSIA) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) // Helper for IPv4 SSM. Sets sin_len on macOS, no-op on Linux. group_source_req CreateIPv4SourceGroupRequest(const IPAddress& group_address, const IPAddress& source_address, -@@ -674,12 +674,17 @@ int UDPSocketPosix::SetRecvTos() { +@@ -495,7 +499,7 @@ base::expected UDPSocketPosi + CHECK_GT(maximum_packet_size, 0u); + CHECK_GE(buf_len, maximum_packet_size); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected nread = + InternalReadMultiple(buffer, buf_len, maximum_packet_size); + if (nread.has_value() || nread.error() != ERR_IO_PENDING) { +@@ -777,12 +781,17 @@ int UDPSocketPosix::SetRecvTos() { #endif // BUILDFLAG(IS_APPLE) } +#ifdef IP_RECVTOS int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn)); +#else + int rv = -1; + errno = EOPNOTSUPP; +#endif return rv == 0 ? OK : MapSystemError(errno); } void UDPSocketPosix::SetMsgConfirm(bool confirm) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) if (confirm) { sendto_flags_ |= MSG_CONFIRM; } else { -@@ -700,7 +705,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { +@@ -803,7 +812,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); int value = broadcast ? 1 : 0; int rv; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // SO_REUSEPORT on OSX permits multiple processes to each receive // UDP multicast or broadcast datagrams destined for the bound // port. -@@ -1074,7 +1079,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) +@@ -1011,7 +1020,7 @@ base::expected UDPSocketPosi + // This read API currently only supports connected UDP sockets. + CHECK(is_connected_); + CHECK(remote_address_); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + return InternalRecvMmsg(buffer, buf_len / maximum_packet_size, + maximum_packet_size); + #else +@@ -1019,7 +1028,7 @@ base::expected UDPSocketPosi + #endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected UDPSocketPosix::InternalRecvMmsg( + IOBuffer* buffer, + size_t num_messages, +@@ -1315,7 +1324,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) #if BUILDFLAG(IS_CHROMEOS) if (last_error == EINVAL) return ERR_ADDRESS_IN_USE; -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) if (last_error == EADDRNOTAVAIL) return ERR_ADDRESS_IN_USE; #endif -@@ -1174,7 +1179,7 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ +@@ -1415,7 +1424,7 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ int UDPSocketPosix::SetSourceGroupMembership(const IPAddress& group_address, const IPAddress& source_address, int option) const { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return ERR_NOT_IMPLEMENTED; #else uint32_t interface_index = multicast_interface_; -@@ -1200,6 +1205,10 @@ int UDPSocketPosix::SetSourceGroupMembership(const IPA +@@ -1441,6 +1450,10 @@ int UDPSocketPosix::SetSourceGroupMembership(const IPA #endif } +#if !defined(MCAST_JOIN_SOURCE_GROUP) +#define MCAST_JOIN_SOURCE_GROUP 0 +#endif + int UDPSocketPosix::JoinSourceGroup(const IPAddress& group_address, const IPAddress& source_address) const { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); -@@ -1215,6 +1224,10 @@ int UDPSocketPosix::JoinSourceGroup(const IPAddress& g +@@ -1456,6 +1469,10 @@ int UDPSocketPosix::JoinSourceGroup(const IPAddress& g return SetSourceGroupMembership(group_address, source_address, MCAST_JOIN_SOURCE_GROUP); } + +#if !defined(MCAST_LEAVE_SOURCE_GROUP) +#define MCAST_LEAVE_SOURCE_GROUP 0 +#endif int UDPSocketPosix::LeaveSourceGroup(const IPAddress& group_address, const IPAddress& source_address) const { diff --git a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.h b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.h new file mode 100644 index 000000000000..8061e8afed22 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.h @@ -0,0 +1,11 @@ +--- net/socket/udp_socket_posix.h.orig 2026-08-13 07:41:05 UTC ++++ net/socket/udp_socket_posix.h +@@ -409,7 +409,7 @@ class NET_EXPORT UDPSocketPosix { + size_t buf_len, + size_t maximum_packet_size); + // recvmmsg() is only available on Linux, ChromeOS, and Android. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected InternalRecvMmsg( + IOBuffer* buffer, + size_t num_messages, diff --git a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc index 7739bfc69e2c..0538e44ad353 100644 --- a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc +++ b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc @@ -1,47 +1,47 @@ ---- net/socket/udp_socket_unittest.cc.orig 2026-04-15 11:25:12 UTC +--- net/socket/udp_socket_unittest.cc.orig 2026-08-13 07:41:05 UTC +++ net/socket/udp_socket_unittest.cc -@@ -409,7 +409,7 @@ TEST_F(UDPSocketTest, PartialRecv) { +@@ -455,7 +455,7 @@ TEST_F(UDPSocketTest, PartialRecv) { EXPECT_EQ(second_packet, received); } -#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // - MacOS: requires root permissions on OSX 10.7+. // - Android: devices attached to testbots don't have default network, so // broadcasting to 255.255.255.255 returns error -109 (Address not reachable). -@@ -720,7 +720,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { +@@ -767,7 +767,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = client.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else -@@ -742,7 +742,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { +@@ -789,7 +789,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = server.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else -@@ -808,7 +808,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { +@@ -855,7 +855,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { // TODO(crbug.com/40620614): failing on device on iOS 12.2. // TODO(crbug.com/40189274): flaky on Mac 11. -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #define MAYBE_SharedMulticastAddress DISABLED_SharedMulticastAddress #else #define MAYBE_SharedMulticastAddress SharedMulticastAddress -@@ -859,7 +859,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { - NetLogSource()); +@@ -906,7 +906,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { + NetLogSource(), handles::kInvalidNetworkHandle); ASSERT_THAT(client_socket.Connect(send_address), IsOk()); -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // Send a message via the multicast group. That message is expected be be // received by both receving sockets. // diff --git a/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc index 0bbc1565d797..5a5be5351d6f 100644 --- a/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc +++ b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -1,20 +1,20 @@ ---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2026-01-16 13:40:34 UTC +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2026-08-13 07:41:05 UTC +++ net/tools/cert_verify_tool/cert_verify_tool.cc -@@ -36,7 +36,7 @@ +@@ -37,7 +37,7 @@ #include "third_party/boringssl/src/pki/trust_store.h" #include "third_party/boringssl/src/pki/trust_store_collection.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "net/proxy_resolution/proxy_config.h" #include "net/proxy_resolution/proxy_config_service_fixed.h" #endif -@@ -68,7 +68,7 @@ void SetUpOnNetworkThread( +@@ -69,7 +69,7 @@ void SetUpOnNetworkThread( base::WaitableEvent* initialization_complete_event) { net::URLRequestContextBuilder url_request_context_builder; url_request_context_builder.set_user_agent(GetUserAgent()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, use a fixed ProxyConfigService, since the default one // depends on glib. // diff --git a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc index ad874bc9ab2c..84207eede3ec 100644 --- a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- net/url_request/url_request_context_builder.cc.orig 2026-08-13 07:41:05 UTC +++ net/url_request/url_request_context_builder.cc -@@ -449,7 +449,7 @@ std::unique_ptr URLRequestContextBu +@@ -455,7 +455,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/ungoogled-chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc b/www/ungoogled-chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc index 0b080961f05e..d2bbe9ca9777 100644 --- a/www/ungoogled-chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc +++ b/www/ungoogled-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-05-09 18:09:27 UTC +--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2026-08-13 07:41:05 UTC +++ net/websockets/websocket_basic_stream_adapters_test.cc -@@ -1102,10 +1102,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, +@@ -1104,10 +1104,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/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 5bc060a9ff0b..74f73f9e35e0 100644 --- a/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2026-06-05 13:45:06 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2026-08-13 07:41:05 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -128,7 +128,7 @@ +@@ -132,7 +132,7 @@ #include "ui/accessibility/ax_features.mojom-features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "pdf/pdfium/pdfium_font_linux.h" #endif -@@ -707,7 +707,7 @@ void InitializeSDK(bool enable_v8, +@@ -786,7 +786,7 @@ void InitializeSDK(bool enable_v8, FPDF_InitLibraryWithConfig(&config); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) g_font_mapping_mode = font_mapping_mode; InitializeLinuxFontMapper(); #endif diff --git a/www/ungoogled-chromium/files/patch-printing_backend_cups__helper.cc b/www/ungoogled-chromium/files/patch-printing_backend_cups__helper.cc index 7475849fa22c..7dc504815c83 100644 --- a/www/ungoogled-chromium/files/patch-printing_backend_cups__helper.cc +++ b/www/ungoogled-chromium/files/patch-printing_backend_cups__helper.cc @@ -1,52 +1,52 @@ ---- printing/backend/cups_helper.cc.orig 2026-01-16 13:40:34 UTC +--- printing/backend/cups_helper.cc.orig 2026-08-13 07:41:05 UTC +++ printing/backend/cups_helper.cc @@ -8,7 +8,7 @@ #include "base/time/time.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include @@ -38,11 +38,11 @@ #include "url/gurl.h" #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "printing/backend/cups_weak_functions.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) using base::EqualsCaseInsensitiveASCII; #endif // BUILDFLAG(IS_LINUX) @@ -55,7 +55,7 @@ namespace { // able to start and respond on all systems within this duration. constexpr base::TimeDelta kCupsTimeout = base::Seconds(5); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute). constexpr int32_t kDefaultMaxCopies = 9999; constexpr char kCupsMaxCopies[] = "cupsMaxCopies"; @@ -761,7 +761,7 @@ const int kDefaultIPPServerPort = 631; } // namespace -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Helper wrapper around http_t structure, with connection and cleanup // functionality. HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url, -@@ -966,7 +966,7 @@ ScopedHttpPtr HttpConnect2(const char* host, +@@ -970,7 +970,7 @@ ScopedHttpPtr HttpConnect2(const char* host, int blocking, int msec, int* cancel) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ScopedHttpPtr http; if (httpConnect2) { http.reset(httpConnect2(host, port, diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings.h b/www/ungoogled-chromium/files/patch-printing_print__settings.h index 4c90b871976e..e40589d4c62b 100644 --- a/www/ungoogled-chromium/files/patch-printing_print__settings.h +++ b/www/ungoogled-chromium/files/patch-printing_print__settings.h @@ -1,47 +1,47 @@ ---- printing/print_settings.h.orig 2026-06-05 13:45:06 UTC +--- printing/print_settings.h.orig 2026-08-13 07:41:05 UTC +++ printing/print_settings.h @@ -25,7 +25,7 @@ #include "base/values.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/values.h" @@ -52,7 +52,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe "print_settings"; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used by PrintDialogGtk inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name"; inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] = @@ -112,7 +112,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting std::string vendor_id; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) using AdvancedSettings = std::map; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -298,7 +298,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting pages_per_sheet_ = pages_per_sheet; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) AdvancedSettings& advanced_settings() { return advanced_settings_; } const AdvancedSettings& advanced_settings() const { return advanced_settings_; -@@ -459,7 +459,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -458,7 +458,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting // Number of pages per sheet. int pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-printing_printing__features.cc b/www/ungoogled-chromium/files/patch-printing_printing__features.cc index d6c76826b8a6..a0b0351ae031 100644 --- a/www/ungoogled-chromium/files/patch-printing_printing__features.cc +++ b/www/ungoogled-chromium/files/patch-printing_printing__features.cc @@ -1,20 +1,20 @@ ---- printing/printing_features.cc.orig 2026-06-05 13:45:06 UTC +--- printing/printing_features.cc.orig 2026-08-13 07:41:05 UTC +++ printing/printing_features.cc @@ -17,7 +17,7 @@ namespace printing::features { BASE_FEATURE(kAlignPdfDefaultPrintSettingsWithHTML, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the CUPS IPP printing backend instead of the original CUPS backend that // calls the deprecated PPD API. BASE_FEATURE(kCupsIppPrintingBackend, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -52,7 +52,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf, base::FEATURE_ +@@ -40,7 +40,7 @@ BASE_FEATURE(kPrintWithReducedRasterization, base::FEA // Enables printing interactions with the operating system to be performed // out-of-process. BASE_FEATURE(kEnableOopPrintDrivers, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc b/www/ungoogled-chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc index ded62c1d7a04..93b9276c2cf3 100644 --- a/www/ungoogled-chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc +++ b/www/ungoogled-chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc @@ -1,47 +1,47 @@ ---- remoting/base/crash/crashpad_database_manager.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/base/crash/crashpad_database_manager.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/base/crash/crashpad_database_manager.cc @@ -24,7 +24,7 @@ #if BUILDFLAG(IS_WIN) #include "base/base_paths.h" #include "base/strings/utf_string_conversions.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include @@ -39,7 +39,7 @@ namespace remoting { namespace { -#if !BUILDFLAG(IS_LINUX) -+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) ++#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::FilePath::CharType kChromotingCrashpadDatabasePath[] = FILE_PATH_LITERAL("crashpad"); #endif @@ -56,7 +56,7 @@ const size_t kMaxReportsToRetain = 20; // Maximum number of days to keep reports around in the local database. const size_t kMaxReportAgeDays = 7; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline base::FilePath GetDaemonProcessCrashpadDatabasePath() { return GetVarLibDir().Append("crashpad.daemon"); -@@ -131,7 +131,7 @@ base::FilePath GetCrashpadDatabasePath() { +@@ -138,7 +138,7 @@ base::FilePath GetCrashpadDatabasePath() { base::FilePath path; base::PathService::Get(base::BasePathKey::DIR_ASSETS, &path); return path.Append(kChromotingCrashpadDatabasePath); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (getuid() == 0) { return GetDaemonProcessCrashpadDatabasePath(); } -@@ -186,7 +186,7 @@ CrashpadDatabaseManager::CrashpadDatabaseManager(Logge +@@ -196,7 +196,7 @@ CrashpadDatabaseManager::CrashpadDatabaseManager(Logge CrashpadDatabaseManager::~CrashpadDatabaseManager() = default; bool CrashpadDatabaseManager::InitializeCrashpadDatabase() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SetupCrashpadDirectories(); #endif diff --git a/www/ungoogled-chromium/files/patch-remoting_base_username.h b/www/ungoogled-chromium/files/patch-remoting_base_username.h index 9a3374ea3abc..6f8604014713 100644 --- a/www/ungoogled-chromium/files/patch-remoting_base_username.h +++ b/www/ungoogled-chromium/files/patch-remoting_base_username.h @@ -1,11 +1,11 @@ ---- remoting/base/username.h.orig 2026-04-15 11:25:12 UTC +--- remoting/base/username.h.orig 2026-08-13 07:41:05 UTC +++ remoting/base/username.h @@ -16,7 +16,7 @@ namespace remoting { // error or if not implemented. std::string GetUsername(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns the username that the network process is run as. base::cstring_view GetNetworkProcessUsername(); - #endif // BUILDFLAG(IS_LINUX) + diff --git a/www/ungoogled-chromium/files/patch-remoting_host_audio__injector.cc b/www/ungoogled-chromium/files/patch-remoting_host_audio__injector.cc index 2ffe1779abb0..3753f8d16464 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_audio__injector.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_audio__injector.cc @@ -1,20 +1,29 @@ ---- remoting/host/audio_injector.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/audio_injector.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/audio_injector.cc -@@ -8,7 +8,7 @@ +@@ -7,7 +7,7 @@ #include "build/build_config.h" - #include "remoting/proto/audio.pb.h" + #include "remoting/base/fifo_buffer.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/linux/pipewire_audio_injector.h" #endif -@@ -26,7 +26,7 @@ void AudioInjector::ProcessAudioPacket(std::unique_ptr +@@ -19,7 +19,7 @@ AudioInjector::~AudioInjector() = default; // static bool AudioInjector::IsSupported() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, we check if PipeWire is available and can be initialized. // Note that in multi-process mode, this may return true in the network // process because the libraries are loadable, even though the virtual audio +@@ -34,7 +34,7 @@ bool AudioInjector::IsSupported() { + // static + std::unique_ptr AudioInjector::Create( + std::unique_ptr audio_reader) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return PipewireAudioInjector::Create(std::move(audio_reader)); + #else + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc index 807ba1115578..7c9c83de7bd5 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc @@ -1,11 +1,11 @@ ---- remoting/host/base/desktop_environment_options.cc.orig 2025-05-06 12:23:00 UTC +--- remoting/host/base/desktop_environment_options.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/base/desktop_environment_options.cc -@@ -109,7 +109,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic +@@ -117,7 +117,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic // TODO(joedow): Determine whether we can migrate additional platforms to // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then // clean up DesktopCapturerProxy::Core::CreateCapturer(). -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return capture_video_on_dedicated_thread_; #else return false; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc index 4d3b174dfdde..8e7061276219 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.cc.orig 2026-05-09 18:09:27 UTC +--- remoting/host/base/switches.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/base/switches.cc -@@ -24,13 +24,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat +@@ -25,13 +25,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/ungoogled-chromium/files/patch-remoting_host_base_switches.h b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h index 8333a82dbc36..7b37748f121a 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.h.orig 2026-05-09 18:09:27 UTC +--- remoting/host/base/switches.h.orig 2026-08-13 07:41:05 UTC +++ remoting/host/base/switches.h -@@ -36,13 +36,13 @@ extern const char kProcessTypeRdpDesktopSession[]; +@@ -37,13 +37,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/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc index f65a7768ee3f..1a64f4d27932 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc @@ -1,20 +1,20 @@ ---- remoting/host/chromoting_host_services_client.cc.orig 2026-05-09 18:09:27 UTC +--- remoting/host/chromoting_host_services_client.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/chromoting_host_services_client.cc -@@ -74,7 +74,7 @@ mojo::PendingRemote Con +@@ -78,7 +78,7 @@ mojo::PendingRemote Con ChromotingHostServicesClient::ChromotingHostServicesClient() : ChromotingHostServicesClient( -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::vector{GetChromotingHostServicesServerName(), GetLegacyChromotingHostServicesServerName()} #else -@@ -163,7 +163,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic +@@ -147,7 +147,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic if (session_services_remote_.is_bound()) { return true; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!environment_->HasVar(kChromeRemoteDesktopSessionEnvVar)) { LOG(WARNING) << "Current desktop environment is not remotable."; return false; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__server.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__server.cc index cebe4b00bbc1..4615d746d940 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__server.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__server.cc @@ -1,29 +1,29 @@ ---- remoting/host/chromoting_host_services_server.cc.orig 2026-05-09 18:09:27 UTC +--- remoting/host/chromoting_host_services_server.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/chromoting_host_services_server.cc @@ -16,7 +16,7 @@ #include "remoting/host/mojo_caller_security_checker.h" #include "remoting/host/mojom/chromoting_host_services.mojom.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif -@@ -44,7 +44,7 @@ named_mojo_ipc_server::EndpointOptions CreateEndpointO - options.security_descriptor = - base::StrCat({L"O:", user_sid, L"G:", user_sid, L"D:(A;;GA;;;AU)"}); +@@ -47,7 +47,7 @@ named_mojo_ipc_server::EndpointOptions CreateEndpointO options.include_peer_process_info = true; + options.extra_send_invitation_flags = + MOJO_SEND_INVITATION_FLAG_UNTRUSTED_PROCESS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Allow the endpoint to be connected by any users iff the server is run as // root. options.require_same_peer_user = (getuid() != 0); -@@ -57,7 +57,7 @@ named_mojo_ipc_server::EndpointOptions CreateEndpointO +@@ -60,7 +60,7 @@ named_mojo_ipc_server::EndpointOptions CreateEndpointO ChromotingHostServicesServer::ChromotingHostServicesServer( BindChromotingHostServicesCallback bind_chromoting_host_services) : ChromotingHostServicesServer( -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For the multi-process host, the server is run as root; for the // legacy single-process host, the server is run as the login user. (getuid() == 0) ? GetChromotingHostServicesServerName() diff --git a/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc b/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc index b51c288e7be7..641209324709 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc @@ -1,11 +1,11 @@ ---- remoting/host/client_session.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/client_session.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/client_session.cc -@@ -218,7 +218,7 @@ void ClientSession::NotifyClientResolution( +@@ -225,7 +225,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/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.cc b/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.cc index 216d023eef6d..98ffb3ef28dc 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.cc @@ -1,20 +1,20 @@ ---- remoting/host/desktop_session_proxy.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/desktop_session_proxy.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/desktop_session_proxy.cc -@@ -165,7 +165,7 @@ DesktopSessionProxy::CreateRemoteWebAuthnStateChangeNo +@@ -169,7 +169,7 @@ DesktopSessionProxy::CreateRemoteWebAuthnStateChangeNo base::BindRepeating(&DesktopSessionProxy::SignalWebAuthnExtension, this)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void DesktopSessionProxy::OnSessionServicesClientConnected( mojo::PendingReceiver receiver) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -205,7 +205,7 @@ std::string DesktopSessionProxy::GetCapabilities() con +@@ -209,7 +209,7 @@ std::string DesktopSessionProxy::GetCapabilities() con result += protocol::kRemoteWebAuthnCapability; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) result += " "; result += protocol::kClientControlledLayoutCapability; #endif diff --git a/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.h b/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.h index 0316ef3c60b4..ff3d5115d3d7 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.h +++ b/www/ungoogled-chromium/files/patch-remoting_host_desktop__session__proxy.h @@ -1,11 +1,11 @@ ---- remoting/host/desktop_session_proxy.h.orig 2026-06-05 13:45:06 UTC +--- remoting/host/desktop_session_proxy.h.orig 2026-08-13 07:41:05 UTC +++ remoting/host/desktop_session_proxy.h -@@ -107,7 +107,7 @@ class DesktopSessionProxy +@@ -108,7 +108,7 @@ class DesktopSessionProxy std::unique_ptr CreateUrlForwarderConfigurator(); std::unique_ptr CreateRemoteWebAuthnStateChangeNotifier(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void OnSessionServicesClientConnected( mojo::PendingReceiver receiver); #endif diff --git a/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc index 5c2d611864c5..8ed9d46de547 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc @@ -1,90 +1,63 @@ ---- remoting/host/host_main.cc.orig 2026-05-09 18:09:27 UTC +--- remoting/host/host_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/host_main.cc -@@ -23,7 +23,7 @@ +@@ -24,7 +24,7 @@ #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/base/logging.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include -@@ -57,7 +57,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 -@@ -66,13 +66,13 @@ int FileChooserMain(); +@@ -69,13 +69,13 @@ 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) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) int XSessionChooserMain(); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #endif // BUILDFLAG(IS_LINUX) namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void EnsureVarLibDirectory() { if (getuid() != 0) { // Only do this in the daemon process, which is always run as root. -@@ -109,7 +109,7 @@ void Usage(const base::FilePath& program_name) { +@@ -112,7 +112,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) -@@ -189,7 +189,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) { -@@ -203,7 +203,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro +@@ -208,7 +208,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) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) } else if (process_type == kProcessTypeXSessionChooser) { main_routine = &XSessionChooserMain; - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -264,7 +264,7 @@ int HostMain(int argc, char** argv) { + #endif // BUILDFLAG(IS_LINUX) +@@ -272,7 +272,7 @@ int HostMain(int argc, char** argv) { // Enable debug logs. InitHostLogging(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EnsureVarLibDirectory(); #endif // BUILDFLAG(IS_LINUX) -@@ -275,7 +275,7 @@ int HostMain(int argc, char** argv) { +@@ -283,7 +283,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. -@@ -319,7 +319,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/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.cc b/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.cc index 9fff458d4fd5..450b350506f0 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.cc @@ -1,11 +1,11 @@ ---- remoting/host/ipc_desktop_environment.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/ipc_desktop_environment.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/ipc_desktop_environment.cc -@@ -367,7 +367,7 @@ void IpcDesktopEnvironmentFactory::OnTerminalDisconnec +@@ -371,7 +371,7 @@ void IpcDesktopEnvironmentFactory::OnTerminalDisconnec } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void IpcDesktopEnvironmentFactory::OnSessionServicesClientConnected( int terminal_id, mojo::PendingReceiver receiver) { diff --git a/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.h b/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.h index 2909132fb4c3..9a1947e37be5 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.h +++ b/www/ungoogled-chromium/files/patch-remoting_host_ipc__desktop__environment.h @@ -1,20 +1,20 @@ ---- remoting/host/ipc_desktop_environment.h.orig 2026-06-05 13:45:06 UTC +--- remoting/host/ipc_desktop_environment.h.orig 2026-08-13 07:41:05 UTC +++ remoting/host/ipc_desktop_environment.h -@@ -128,7 +128,7 @@ class IpcDesktopEnvironmentFactory : public DesktopEnv +@@ -130,7 +130,7 @@ class IpcDesktopEnvironmentFactory : public DesktopEnv int terminal_id, mojo::ScopedMessagePipeHandle desktop_pipe) override; void OnTerminalDisconnected(int terminal_id) override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void OnSessionServicesClientConnected( int terminal_id, mojo::PendingReceiver receiver) -@@ -170,7 +170,7 @@ class IpcDesktopEnvironmentFactory : public DesktopEnv +@@ -172,7 +172,7 @@ class IpcDesktopEnvironmentFactory : public DesktopEnv // the same email address reconnects, the desktop session will be reused and // the desktop process will be requested to send a new desktop pipe. // TODO: yuweih - see if it makes sense to enable it on Windows. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool persist_desktop_sessions_ = true; #else bool persist_desktop_sessions_ = false; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc index 1b1961596a4d..e63b7709496a 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -1,65 +1,65 @@ ---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2025-09-10 13:22:16 UTC +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/it2me/it2me_native_messaging_host_main.cc -@@ -29,7 +29,7 @@ +@@ -30,7 +30,7 @@ #include "remoting/host/resources.h" #include "remoting/host/usage_stats_consent.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) #include #include "base/linux_util.h" -@@ -43,7 +43,7 @@ +@@ -44,7 +44,7 @@ #include "remoting/host/mac/permission_utils.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #endif // BUILDFLAG(IS_LINUX) -@@ -79,7 +79,7 @@ bool CurrentProcessHasUiAccess() { - // Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and - // runs the task executor until It2MeNativeMessagingHost signals shutdown. - int It2MeNativeMessagingHostMain(int argc, char** argv) { +@@ -83,7 +83,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + base::ScopedMemoryConsumerRegistry + memory_consumer_registry; + -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) x11::InitXlib(); -@@ -104,7 +104,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -108,7 +108,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // needs to be initialized first, so that the preference for crash-reporting // can be looked up in the config file. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); -@@ -129,7 +129,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -133,7 +133,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv remoting::LoadResources(""); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Required for any calls into GTK functions, such as the Disconnect and // Continue windows. Calling with nullptr arguments because we don't have // any command line arguments for gtk to consume. -@@ -257,7 +257,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -262,7 +262,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(), context->management_service()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) scoped_refptr input_task_runner; // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. -@@ -281,7 +281,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -286,7 +286,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // Run the loop until channel is alive. run_loop.Run(); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_mojo__caller__security__checker.cc b/www/ungoogled-chromium/files/patch-remoting_host_mojo__caller__security__checker.cc index 91115eb644c4..c769a0f718af 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_mojo__caller__security__checker.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_mojo__caller__security__checker.cc @@ -1,29 +1,29 @@ ---- remoting/host/mojo_caller_security_checker.cc.orig 2026-05-09 18:09:27 UTC +--- remoting/host/mojo_caller_security_checker.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/mojo_caller_security_checker.cc -@@ -32,7 +32,7 @@ +@@ -40,7 +40,7 @@ namespace remoting { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr auto kAllowedCallerProgramNames = base::MakeFixedFlatSet({ "remote-open-url", -@@ -62,7 +62,7 @@ bool IsTrustedMojoEndpoint( +@@ -136,7 +136,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) static base::NoDestructor current_process_image_path( GetProcessImagePath(base::GetCurrentProcId())); -@@ -99,7 +99,7 @@ bool IsTrustedMojoEndpoint( +@@ -173,7 +173,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/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc index 9fd0a9fda2b0..0d43ad5b997b 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__main.cc @@ -1,20 +1,20 @@ ---- remoting/host/remote_open_url/remote_open_url_main.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/remote_open_url/remote_open_url_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/remote_open_url/remote_open_url_main.cc -@@ -23,7 +23,7 @@ +@@ -22,7 +22,7 @@ #include "remoting/host/usage_stats_consent.h" #include "ui/base/l10n/l10n_util.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #endif // BUILDFLAG(IS_LINUX) -@@ -47,7 +47,7 @@ int RemoteOpenUrlMain(int argc, char** argv) { +@@ -46,7 +46,7 @@ int RemoteOpenUrlMain(int argc, char** argv) { #if defined(REMOTING_ENABLE_CRASH_REPORTING) if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc index 8fbdcf7e15f1..635090323a37 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,182 +1,164 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -149,7 +149,7 @@ +@@ -153,7 +153,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 -@@ -161,7 +161,7 @@ +@@ -165,7 +165,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/certificate_watcher.h" #include "remoting/host/linux/pulse_audio_capturer.h" -@@ -176,7 +176,7 @@ +@@ -180,7 +180,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) -@@ -202,7 +202,7 @@ const char kApplicationName[] = "chromoting"; +@@ -206,7 +206,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"; -@@ -426,7 +426,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) -@@ -457,7 +457,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -468,7 +468,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) -@@ -525,7 +525,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -534,7 +534,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_; -@@ -854,7 +854,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -867,7 +867,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) } -@@ -938,7 +938,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -951,7 +951,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, -@@ -1087,7 +1087,7 @@ void HostProcess::StartOnUiThread() { +@@ -1098,7 +1098,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 // PulseAudioCapturer to capture from it. base::FilePath audio_pipe_name = -@@ -1162,7 +1162,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1184,7 +1184,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. -@@ -1170,7 +1170,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1192,7 +1192,7 @@ void HostProcess::ShutdownOnUiThread() { PulseAudioCapturer::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(); })); -@@ -1267,7 +1267,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)); -@@ -1825,7 +1825,7 @@ void HostProcess::InitializeSignaling() { +@@ -1834,7 +1834,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)) { -@@ -1920,7 +1920,7 @@ void HostProcess::StartHost() { +@@ -1929,7 +1929,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( -@@ -2022,7 +2022,7 @@ void HostProcess::StartHost() { +@@ -2027,7 +2027,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_ = -@@ -2057,7 +2057,7 @@ void HostProcess::StartHost() { +@@ -2065,7 +2065,7 @@ void HostProcess::StartHost() { // addresses. host_->Start(*host_owner_emails_.begin()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For Multi-process hosts and Mac, ChromotingHostServices connections are // handled by another process, then the message pipe is forwarded to the // network process. -@@ -2209,7 +2209,7 @@ int HostProcessMain(bool multi_process) { +@@ -2219,7 +2219,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) // For the multi-process host, screen capturing and UI rendering should be // done by the desktop process. if (!multi_process) { -@@ -2260,7 +2260,7 @@ int HostProcessMain(bool multi_process) { +@@ -2271,7 +2271,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. -@@ -2280,7 +2280,7 @@ int HostProcessMain(bool multi_process) { +@@ -2291,7 +2291,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/ungoogled-chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc index 5fcae1a43ef5..86f40abc56b1 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_security__key_remote__security__key__main.cc @@ -1,20 +1,20 @@ ---- remoting/host/security_key/remote_security_key_main.cc.orig 2025-09-10 13:22:16 UTC +--- remoting/host/security_key/remote_security_key_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/security_key/remote_security_key_main.cc -@@ -24,7 +24,7 @@ +@@ -23,7 +23,7 @@ #include "remoting/host/security_key/security_key_message_handler.h" #include "remoting/host/usage_stats_consent.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #endif // BUILDFLAG(IS_LINUX) -@@ -96,7 +96,7 @@ int RemoteSecurityKeyMain(int argc, char** argv) { +@@ -90,7 +90,7 @@ int RemoteSecurityKeyMain(int argc, char** argv) { #if defined(REMOTING_ENABLE_CRASH_REPORTING) if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_session__policies__from__dict.cc b/www/ungoogled-chromium/files/patch-remoting_host_session__policies__from__dict.cc index fa382ccebca4..7c31524a08c0 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_session__policies__from__dict.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_session__policies__from__dict.cc @@ -1,11 +1,11 @@ ---- remoting/host/session_policies_from_dict.cc.orig 2025-05-06 12:23:00 UTC +--- remoting/host/session_policies_from_dict.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/session_policies_from_dict.cc -@@ -75,7 +75,7 @@ std::optional SessionPoliciesFromDict +@@ -77,7 +77,7 @@ std::optional SessionPoliciesFromDict session_policies.curtain_required = dict.FindBool(policy::key::kRemoteAccessHostRequireCurtain); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) session_policies.host_username_match_required = dict.FindBool(policy::key::kRemoteAccessHostMatchUsername); #endif diff --git a/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host.cc new file mode 100644 index 000000000000..d9d3c506bef2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host.cc @@ -0,0 +1,11 @@ +--- remoting/host/setup/me2me_native_messaging_host.cc.orig 2026-08-13 07:41:05 UTC ++++ remoting/host/setup/me2me_native_messaging_host.cc +@@ -331,7 +331,7 @@ void Me2MeNativeMessagingHost::ProcessStartDaemon(base + base::DictValue response) { + DCHECK(task_runner()->BelongsToCurrentThread()); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // See: b/215406223, crbug.com/514525547 + // TODO: yuweih - consider re-enabling starting host via native messaging once + // the GDM-managed host becomes the default. diff --git a/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc index d8de8cbf3e18..9ad43f9df968 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc @@ -1,29 +1,29 @@ ---- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/setup/me2me_native_messaging_host_main.cc -@@ -41,7 +41,7 @@ +@@ -42,7 +42,7 @@ #include "base/apple/scoped_nsautorelease_pool.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/base/file_path_util_linux.h" #include "remoting/host/pairing_registry_delegate_linux.h" -@@ -101,7 +101,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv +@@ -105,7 +105,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv // needs to be initialized first, so that the preference for crash-reporting // can be looked up in the config file. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); -@@ -268,7 +268,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv +@@ -273,7 +273,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv pairing_registry = new PairingRegistry(io_thread.task_runner(), std::move(delegate)); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (daemon_controller->is_multi_process()) { pairing_registry = base::MakeRefCounted( io_thread.task_runner(), diff --git a/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc index 0d29f087f6dc..827568b43241 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -1,47 +1,83 @@ ---- remoting/host/setup/start_host_main.cc.orig 2026-06-05 13:45:06 UTC +--- remoting/host/setup/start_host_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/setup/start_host_main.cc -@@ -44,7 +44,7 @@ +@@ -45,7 +45,7 @@ #include #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/host/linux/host_types.h" #include "remoting/host/setup/daemon_controller_delegate_linux_single_process.h" -@@ -91,7 +91,7 @@ constexpr char kDisableCrashReportingSwitchName[] = "d +@@ -92,7 +92,7 @@ constexpr char kDisableCrashReportingSwitchName[] = "d constexpr char kInvalidPinErrorMessage[] = "Please provide a numeric PIN consisting of at least six digits.\n"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The host type to use. constexpr char kHostTypeSwitchName[] = "host-type"; #endif -@@ -118,7 +118,7 @@ void PrintDefaultHelpMessage(const char* process_name) +@@ -119,7 +119,7 @@ void PrintDefaultHelpMessage(const char* process_name) process_name, kAuthCodeSwitchName, kRedirectUrlSwitchName, kDisplayNameSwitchName, kPinSwitchName, kDisableCrashReportingSwitchName); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) << "\n\n"; HostType::PrintHostTypeHelp(); -@@ -424,7 +424,7 @@ int StartHostMain(int argc, char** argv) { +@@ -135,7 +135,7 @@ void PrintCorpUserHelpMessage(const char* process_name + "Example usage:\n%s --%s= [--%s=corp-machine-name]", + process_name, kCorpUserSwitchName, kDisplayNameSwitchName); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) + << "\n\n"; + HostType::PrintHostTypeHelp(); +@@ -159,7 +159,7 @@ void PrintCloudUserHelpMessage(const char* process_nam + process_name, kCloudUserSwitchName, kCloudApiKeySwitchName, + kDisplayNameSwitchName, kDisableCrashReportingSwitchName); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) + << "\n\n"; + HostType::PrintHostTypeHelp(); +@@ -339,7 +339,7 @@ bool InitializeCorpMachineParams(HostStarter::Params& + params.name = command_line->GetSwitchValueASCII(kDisplayNameSwitchName); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(kHostTypeSwitchName)) { + corp_arg_count++; + } +@@ -388,7 +388,7 @@ bool InitializeCloudMachineParams(HostStarter::Params& + cloud_arg_count++; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(kHostTypeSwitchName)) { + cloud_arg_count++; + } +@@ -454,7 +454,7 @@ int StartHostMain(int argc, char** argv) { } #endif // defined(REMOTING_ENABLE_CRASH_REPORTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const HostType* host_type = nullptr; if (command_line->HasSwitch(kHostTypeSwitchName)) { std::string host_type_name = -@@ -473,7 +473,7 @@ int StartHostMain(int argc, char** argv) { +@@ -503,7 +503,7 @@ int StartHostMain(int argc, char** argv) { } #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch("no-start")) { // On Linux, registering the host with systemd and starting it is the only // reason start_host requires root. The --no-start options skips that final diff --git a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc index 397f3f05f940..6879d887b575 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc @@ -1,29 +1,34 @@ ---- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2025-05-31 17:16:41 UTC +--- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/webauthn/remote_webauthn_caller_security_utils.cc -@@ -14,7 +14,7 @@ - #include "base/strings/utf_string_conversions.h" +@@ -13,11 +13,11 @@ + #include "base/process/process_handle.h" #include "build/build_config.h" +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/containers/fixed_flat_set.h" + #endif + -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #include "base/containers/fixed_flat_set.h" #include "base/files/file_path.h" #include "remoting/host/base/process_util.h" -@@ -48,7 +48,7 @@ namespace { + #endif +@@ -46,7 +46,7 @@ namespace { // No static variables needed for debug builds. -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr auto kAllowedCallerPrograms = base::MakeFixedFlatSet({ -@@ -99,7 +99,7 @@ bool IsLaunchedByTrustedProcess() { +@@ -105,7 +105,7 @@ bool IsLaunchedByTrustedProcess() { #if !defined(NDEBUG) // Just return true on debug builds for the convenience of development. return true; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::ProcessId parent_pid = base::GetParentProcessId(base::GetCurrentProcessHandle()); // Note that on Linux the process image may no longer exist in its original diff --git a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc index 5be4f7c3d06a..8655f1e46141 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__main.cc @@ -1,20 +1,20 @@ ---- remoting/host/webauthn/remote_webauthn_main.cc.orig 2025-09-10 13:22:16 UTC +--- remoting/host/webauthn/remote_webauthn_main.cc.orig 2026-08-13 07:41:05 UTC +++ remoting/host/webauthn/remote_webauthn_main.cc -@@ -27,7 +27,7 @@ +@@ -26,7 +26,7 @@ #include "remoting/host/webauthn/remote_webauthn_caller_security_utils.h" #include "remoting/host/webauthn/remote_webauthn_native_messaging_host.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #endif // BUILDFLAG(IS_LINUX) -@@ -50,7 +50,7 @@ int RemoteWebAuthnMain(int argc, char** argv) { +@@ -49,7 +49,7 @@ int RemoteWebAuthnMain(int argc, char** argv) { #if defined(REMOTING_ENABLE_CRASH_REPORTING) if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc index 808178bfcccf..4b1c73303624 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc @@ -1,23 +1,23 @@ ---- sandbox/policy/features.cc.orig 2026-06-05 13:45:06 UTC +--- sandbox/policy/features.cc.orig 2026-08-13 07:41:05 UTC +++ sandbox/policy/features.cc @@ -17,7 +17,11 @@ namespace sandbox::policy::features { #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA) // Enables network service sandbox. // (Only causes an effect when feature kNetworkServiceInProcess is disabled.) +#if BUILDFLAG(IS_BSD) +BASE_FEATURE(kNetworkServiceSandbox, base::FEATURE_ENABLED_BY_DEFAULT); +#else BASE_FEATURE(kNetworkServiceSandbox, base::FEATURE_DISABLED_BY_DEFAULT); +#endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) // Enables a fine-grained seccomp-BPF syscall filter for the network service. -@@ -110,7 +114,7 @@ BASE_FEATURE(kWinSboxModuleTamperingProtection, +@@ -115,7 +119,7 @@ BASE_FEATURE(kWinSboxModuleTamperingProtection, BASE_FEATURE(kSpectreVariant2Mitigation, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Increase the renderer sandbox memory limit. As of 2023, there are no limits // on macOS, and a 1TiB limit on Windows. There are reports of users bumping // into the limit. This increases the limit by 2x compared to the default diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_features.h b/www/ungoogled-chromium/files/patch-sandbox_policy_features.h index cf90c92f96da..ab4dcaa278ad 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_features.h +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_features.h @@ -1,11 +1,11 @@ ---- sandbox/policy/features.h.orig 2026-06-05 13:45:06 UTC +--- sandbox/policy/features.h.orig 2026-08-13 07:41:05 UTC +++ sandbox/policy/features.h -@@ -45,7 +45,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE( +@@ -46,7 +46,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE( SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kSpectreVariant2Mitigation); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kHigherRendererMemoryLimit); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc index 6864b9168a18..e4fc05e750c7 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -1,213 +1,213 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2025-12-12 07:44:27 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2026-08-13 07:41:05 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.cc @@ -0,0 +1,210 @@ +// 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/freebsd/sandbox_freebsd.h" + +#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/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 "ui/gfx/font_util.h" + +namespace sandbox { +namespace policy { + +SandboxLinux::SandboxLinux() + : sandbox_status_flags_(kInvalid), + pre_initialized_(false), + initialize_sandbox_ran_(false), + broker_process_(nullptr) { +} + +SandboxLinux::~SandboxLinux() { + if (pre_initialized_) { + CHECK(initialize_sandbox_ran_); + } +} + +SandboxLinux* SandboxLinux::GetInstance() { + SandboxLinux* instance = base::Singleton::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::AmountOfTotalPhysicalMemory(); + 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(); + + 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("ungoogled-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: + gfx::InitializeFonts(); + break; + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << 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)); + + return true; +} + +bool SandboxLinux::LimitAddressSpace(int* error) { +#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ + !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { + return false; + } + + // Unfortunately, it does not appear possible to set RLIMIT_AS such that it + // will both (a) be high enough to support V8's and WebAssembly's address + // space requirements while also (b) being low enough to mitigate exploits + // using integer overflows that require large allocations, heap spray, or + // other memory-hungry attack modes. + + *error = sandbox::ResourceLimits::Lower( + RLIMIT_DATA, static_cast(sandbox::kDataSizeLimit)); + + // Cache the resource limit before turning on the sandbox. + base::SysInfo::AmountOfVirtualMemory(); + base::SysInfo::MaxSharedMemorySize(); + + return *error == 0; +#else + base::SysInfo::AmountOfVirtualMemory(); + return false; +#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && + // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) +} + +} // namespace policy +} // namespace sandbox diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index 8f42b6b912f7..46792faf4b3f 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,448 +1,448 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-05-09 18:09:27 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-08-13 07:41:05 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/ungoogled-chromium/unveil.main"; +#define _UNVEIL_GPU "/etc/ungoogled-chromium/unveil.gpu"; +#define _UNVEIL_UTILITY_NETWORK "/etc/ungoogled-chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/ungoogled-chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/ungoogled-chromium/unveil.utility_video"; +#define _UNVEIL_CDM "/etc/ungoogled-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::AmountOfTotalPhysicalMemory(); + 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("ungoogled-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", "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/ungoogled-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 unix", NULL); + break; + case sandbox::mojom::Sandbox::kAudio: + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: + SetPledge(NULL, "/etc/ungoogled-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(); ++ base::SysInfo::AmountOfTotalPhysicalMemory().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/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc index c3e5e1cf4a82..3acd24889217 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2026-02-15 10:01:45 UTC +--- sandbox/policy/sandbox.cc.orig 2026-08-13 07:41:05 UTC +++ sandbox/policy/sandbox.cc -@@ -20,6 +20,10 @@ +@@ -22,6 +22,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif // BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) #include "sandbox/mac/seatbelt.h" #endif // BUILDFLAG(IS_MAC) -@@ -36,7 +40,7 @@ +@@ -38,7 +42,7 @@ namespace sandbox { namespace policy { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options) { diff --git a/www/ungoogled-chromium/files/patch-services_device_device__service.cc b/www/ungoogled-chromium/files/patch-services_device_device__service.cc new file mode 100644 index 000000000000..3f1a3e03bb5a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_device__service.cc @@ -0,0 +1,20 @@ +--- services/device/device_service.cc.orig 2026-08-13 07:41:05 UTC ++++ services/device/device_service.cc +@@ -6,6 +6,8 @@ + + #include + ++#include "base/notimplemented.h" ++ + #include "base/functional/bind.h" + #include "base/memory/weak_ptr.h" + #include "base/task/single_thread_task_runner.h" +@@ -310,7 +312,7 @@ void DeviceService::BindSerialPortManager( + serial_port_manager_.AsyncCall(&SerialPortManagerImpl::Bind, FROM_HERE) + .WithArgs(std::move(receiver)); + #else // defined(IS_SERIAL_ENABLED_PLATFORM) +- NOTREACHED() << "Serial devices not supported on this platform."; ++ NOTIMPLEMENTED() << "Serial devices not supported on this platform."; + #endif // defined(IS_SERIAL_ENABLED_PLATFORM) + } + diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h index 8653d7496d4d..913c510f0500 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h @@ -1,68 +1,59 @@ ---- services/device/hid/hid_service_fido.h.orig 2022-10-29 17:50:56 UTC +--- services/device/hid/hid_service_fido.h.orig 2026-08-13 07:41:05 UTC +++ services/device/hid/hid_service_fido.h -@@ -0,0 +1,65 @@ +@@ -0,0 +1,56 @@ +// 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. + +#ifndef SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ +#define SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ + +#include + +#include "base/compiler_specific.h" +#include "base/files/scoped_file.h" +#include "base/memory/weak_ptr.h" +#include "base/task/sequenced_task_runner.h" +#include "build/build_config.h" +#include "build/chromeos_buildflags.h" +#include "services/device/hid/hid_device_info.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidServiceFido : public HidService { + public: + HidServiceFido(); + HidServiceFido(HidServiceFido&) = delete; + HidServiceFido& operator=(HidServiceFido&) = delete; + ~HidServiceFido() override; + + // HidService: + void Connect(const std::string& device_id, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) override; + base::WeakPtr GetWeakPtr() override; + + private: + struct ConnectParams; + class BlockingTaskRunnerHelper; + +// These functions implement the process of locating, requesting access to and +// opening a device. Because this operation crosses multiple threads these +// functions are static and the necessary parameters are passed as a single +// struct. -+#if BUILDFLAG(IS_CHROMEOS_ASH) -+ static void OnPathOpenComplete(std::unique_ptr params, -+ base::ScopedFD fd); -+ static void OnPathOpenError(const std::string& device_path, -+ ConnectCallback callback, -+ const std::string& error_name, -+ const std::string& error_message); -+#else + static void OpenOnBlockingThread(std::unique_ptr params); -+#endif + static void FinishOpen(std::unique_ptr params); + + const scoped_refptr blocking_task_runner_; + + // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds + // a weak reference back to the service that owns it. + std::unique_ptr helper_; + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc index c8bd9a547133..d6ee22250898 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -1,398 +1,397 @@ ---- services/device/hid/hid_service_freebsd.cc.orig 2025-01-25 09:34:31 UTC +--- services/device/hid/hid_service_freebsd.cc.orig 2026-08-13 07:41:05 UTC +++ services/device/hid/hid_service_freebsd.cc -@@ -0,0 +1,395 @@ +@@ -0,0 +1,394 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/hid/hid_service_freebsd.h" + +#include +#include +#include +#include + +#include +#include +#include + +#include "base/files/file_descriptor_watcher_posix.h" +#include "base/files/file_enumerator.h" +#include "base/files/file_util.h" +#include "base/files/file.h" +#include "base/location.h" +#include "base/logging.h" +#include "base/posix/eintr_wrapper.h" +#include "base/stl_util.h" +#include "base/strings/pattern.h" +#include "base/strings/stringprintf.h" +#include "base/strings/sys_string_conversions.h" +#include "base/strings/string_util.h" +#include "base/strings/string_split.h" +#include "base/task/single_thread_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "base/threading/thread_restrictions.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/hid/hid_connection_freebsd.h" + +const int kMaxPermissionChecks = 5; + +namespace device { + +struct HidServiceFreeBSD::ConnectParams { + ConnectParams(scoped_refptr device_info, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) + : device_info(std::move(device_info)), + allow_protected_reports(allow_protected_reports), + allow_fido_reports(allow_fido_reports), + callback(std::move(callback)), + task_runner(base::SequencedTaskRunner::GetCurrentDefault()), + blocking_task_runner( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} + ~ConnectParams() {} + + scoped_refptr device_info; + bool allow_protected_reports; + bool allow_fido_reports; + ConnectCallback callback; + scoped_refptr task_runner; + scoped_refptr blocking_task_runner; + base::ScopedFD fd; +}; + +class HidServiceFreeBSD::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::WeakPtr service) + : service_(std::move(service)), + task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + DETACH_FROM_SEQUENCE(sequence_checker_); + + timer_.reset(new base::RepeatingTimer()); + devd_buffer_ = new net::IOBufferWithSize(1024); + } + + BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; + BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; + + ~BlockingTaskRunnerHelper() { + } + + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const base::FilePath kDevRoot("/dev"); + const std::string kUHIDPattern("/dev/uhid*"); + + base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES); + do { + const base::FilePath next_device_path(enumerator.Next()); + const std::string next_device = next_device_path.value(); + if (next_device.empty()) + break; + + if (base::MatchPattern(next_device, kUHIDPattern)) + OnDeviceAdded(next_device.substr(5)); + } while (true); + + SetupDevdMonitor(); + + task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&HidServiceFreeBSD::FirstEnumerationComplete, service_)); + } + + bool HaveReadWritePermissions(std::string device_id) { + std::string device_node = "/dev/" + device_id; + base::AssertBlockingAllowed(); + + base::FilePath device_path(device_node); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) + return false; + + return true; + } + + void OnDeviceAdded(std::string device_id) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + std::string device_node = "/dev/" + device_id; + uint16_t vendor_id = 0xffff; + uint16_t product_id = 0xffff; + std::string product_name = ""; + std::string serial_number = ""; + + std::vector report_descriptor; + + base::AssertBlockingAllowed(); + + base::FilePath device_path(device_node); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) { + HID_LOG(ERROR) << "Failed to open '" << device_node + << "': " + << base::File::ErrorToString(device_file.error_details()); + return; + } + + base::ScopedFD fd; + fd.reset(device_file.TakePlatformFile()); + + struct usb_gen_descriptor ugd; + ugd.ugd_data = NULL; + ugd.ugd_maxlen = 0xffff; + int result = HANDLE_EINTR( + ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); + + if (result < 0) { + HID_LOG(ERROR) << "Failed to get report descriptor size"; + return; + } + + report_descriptor.resize(ugd.ugd_actlen); + + ugd.ugd_data = report_descriptor.data(); + ugd.ugd_maxlen = ugd.ugd_actlen; + result = HANDLE_EINTR( + ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); + + if (result < 0) { + HID_LOG(ERROR) << "Failed to get report descriptor"; + return; + } + + scoped_refptr device_info(new HidDeviceInfo( + device_id, + /*physical_device_id*/"", + vendor_id, + product_id, + product_name, + serial_number, + device::mojom::HidBusType::kHIDBusTypeUSB, + report_descriptor, + device_node)); + + task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice, + service_, device_info)); + } + + void OnDeviceRemoved(std::string device_id) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + task_runner_->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFreeBSD::RemoveDevice, service_, + device_id)); + } + + private: + + void CheckPendingPermissionChange() { + base::AssertBlockingAllowed(); + std::map::iterator it; + for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) { + std::string device_name = it->first; + bool keep = true; + if (HaveReadWritePermissions(device_name)) { + OnDeviceAdded(device_name); + keep = false; + } + else if (it->second-- <= 0) { + HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name + << "' after " << kMaxPermissionChecks << " attempts"; + keep = false; + } + + if (keep) + ++it; + else + permissions_checks_attempts_.erase(it++); + } + + if (permissions_checks_attempts_.empty()) + timer_->Stop(); + } + + void SetupDevdMonitor() { + base::AssertBlockingAllowed(); + + int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0); + if (devd_fd < 0) + return; + + struct sockaddr_un sa; + + sa.sun_family = AF_UNIX; + strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path)); + if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { + close(devd_fd); + return; + } + + devd_fd_.reset(devd_fd); + file_watcher_ = base::FileDescriptorWatcher::WatchReadable( + devd_fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead, + base::Unretained(this))); + } + + void OnDevdMessageCanBeRead() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(), + devd_buffer_->size() - 1, MSG_WAITALL)); + if (bytes_read < 0) { + if (errno != EAGAIN) { + HID_LOG(ERROR) << "Read failed"; + file_watcher_.reset(); + } + return; + } + + devd_buffer_->data()[bytes_read] = 0; + char *data = devd_buffer_->data(); + // It may take some time for devd to change permissions + // on /dev/uhidX node. So do not fail immediately if + // open fail. Retry each second for kMaxPermissionChecks + // times before giving up entirely + if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) { + std::vector parts = base::SplitString( + data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + if (!parts.empty()) { + std::string device_name = parts[0].substr(1); // skip '+' + if (HaveReadWritePermissions(device_name)) + OnDeviceAdded(parts[0].substr(1)); + else { + // Do not re-add to checks + if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) { + permissions_checks_attempts_.insert(std::pair(device_name, kMaxPermissionChecks)); + timer_->Start(FROM_HERE, base::Seconds(1), + this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange); + } + } + } + } + + if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) { + std::vector parts = base::SplitString( + data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + if (!parts.empty()) { + std::string device_name = parts[0].substr(1); // skip '-' + auto it = permissions_checks_attempts_.find(device_name); + if (it != permissions_checks_attempts_.end()) { + permissions_checks_attempts_.erase(it); + if (permissions_checks_attempts_.empty()) + timer_->Stop(); + } + OnDeviceRemoved(parts[0].substr(1)); + } + } + } + + SEQUENCE_CHECKER(sequence_checker_); + + // This weak pointer is only valid when checked on this task runner. + base::WeakPtr service_; + scoped_refptr task_runner_; + std::unique_ptr file_watcher_; + std::unique_ptr timer_; + base::ScopedFD devd_fd_; + scoped_refptr devd_buffer_; + std::map permissions_checks_attempts_; +}; + +HidServiceFreeBSD::HidServiceFreeBSD() + : blocking_task_runner_( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { + helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get()))); +} + +HidServiceFreeBSD::~HidServiceFreeBSD() { + blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); +} + +base::WeakPtr HidServiceFreeBSD::GetWeakPtr() { + return weak_factory_.GetWeakPtr(); +} + +// static +void HidServiceFreeBSD::OpenOnBlockingThread( + std::unique_ptr params) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + scoped_refptr task_runner = params->task_runner; + + base::FilePath device_path(params->device_info->device_node()); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) { + HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node() + << "': " + << base::File::ErrorToString(device_file.error_details()); + task_runner->PostTask(FROM_HERE, + base::BindOnce(std::move(params->callback), nullptr)); + return; + } + params->fd.reset(device_file.TakePlatformFile()); + task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen, + std::move(params))); +} + +void HidServiceFreeBSD::Connect(const std::string& device_guid, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const auto& map_entry = devices().find(device_guid); + if (map_entry == devices().end()) { + base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(callback), nullptr)); + return; + } + + scoped_refptr device_info = map_entry->second; + + auto params = std::make_unique(device_info, + allow_protected_reports, + allow_fido_reports, + std::move(callback)); + scoped_refptr blocking_task_runner = + params->blocking_task_runner; + + blocking_task_runner->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread, + std::move(params))); +} + +// static +void HidServiceFreeBSD::FinishOpen(std::unique_ptr params) { + DCHECK(params->fd.is_valid()); + + if (!base::SetNonBlocking(params->fd.get())) { + HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd"; -+ std::move(params->callback).Run(nullptr); + } + + std::move(params->callback).Run(base::MakeRefCounted( + std::move(params->device_info), + std::move(params->fd), + std::move(params->blocking_task_runner), + params->allow_protected_reports, + params->allow_fido_reports + )); +} + +} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc index 603f629cbe6a..7f7121b177a9 100644 --- a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc +++ b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc @@ -1,16 +1,16 @@ ---- services/device/public/cpp/device_features.cc.orig 2026-06-17 19:06:11 UTC +--- services/device/public/cpp/device_features.cc.orig 2026-08-13 07:41:05 UTC +++ services/device/public/cpp/device_features.cc -@@ -161,11 +161,11 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { +@@ -174,11 +174,11 @@ 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) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Controls whether we report the product name (like macOS and Win) // over the HID_NAME in the WebHID API. BASE_FEATURE(kProductNameOverHidName, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h index 57e7548d3772..bf7f5733d33d 100644 --- a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h +++ b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h @@ -1,16 +1,16 @@ ---- services/device/public/cpp/device_features.h.orig 2026-06-17 19:06:11 UTC +--- services/device/public/cpp/device_features.h.orig 2026-08-13 07:41:05 UTC +++ services/device/public/cpp/device_features.h -@@ -60,11 +60,11 @@ extern const DEVICE_FEATURES_EXPORT +@@ -64,11 +64,11 @@ 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) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kProductNameOverHidName); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc b/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc index 30f5bc58c638..9e4a4f44e040 100644 --- a/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc +++ b/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.cc @@ -1,47 +1,47 @@ ---- services/device/usb/usb_device_handle_usbfs.cc.orig 2026-02-15 10:01:45 UTC +--- services/device/usb/usb_device_handle_usbfs.cc.orig 2026-08-13 07:41:05 UTC +++ services/device/usb/usb_device_handle_usbfs.cc @@ -33,7 +33,7 @@ #include "chromeos/dbus/permission_broker/permission_broker_client.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/metrics/histogram_macros.h" #include "services/device/public/cpp/device_features.h" #include "services/device/usb/usb_interface_detach_allowlist.h" @@ -50,7 +50,7 @@ using mojom::UsbTransferType; namespace { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Outcome of detaching a kernel driver before ClaimInterface(). // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. @@ -292,7 +292,7 @@ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::R return true; } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::DetachInterface( int interface_number, const CombinedInterfaceInfo& interface_info) { @@ -629,7 +629,7 @@ void UsbDeviceHandleUsbfs::ClaimInterface(int interfac return; } #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { const mojom::UsbConfigurationInfo* config = device_->GetActiveConfiguration(); -@@ -975,7 +975,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in +@@ -982,7 +982,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in return; } #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { helper_.AsyncCall(&BlockingTaskRunnerHelper::ReattachInterface) .WithArgs(interface_number) diff --git a/www/ungoogled-chromium/files/patch-services_network_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn index 73cd254ce8d3..4e30fc734b7a 100644 --- a/www/ungoogled-chromium/files/patch-services_network_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- services/network/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ services/network/BUILD.gn -@@ -453,7 +453,6 @@ if (is_linux || is_chromeos) { +@@ -457,7 +457,6 @@ if (is_linux || is_chromeos) { deps = [ "//base", "//components/vrp_flags:buildflags", - "//sandbox/linux:sandbox_services", "//sandbox/policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/ungoogled-chromium/files/patch-services_network_network__context.cc b/www/ungoogled-chromium/files/patch-services_network_network__context.cc index 67388d20e108..f2c3492bc8eb 100644 --- a/www/ungoogled-chromium/files/patch-services_network_network__context.cc +++ b/www/ungoogled-chromium/files/patch-services_network_network__context.cc @@ -1,20 +1,20 @@ ---- services/network/network_context.cc.orig 2026-06-05 13:45:06 UTC +--- services/network/network_context.cc.orig 2026-08-13 07:41:05 UTC +++ services/network/network_context.cc -@@ -650,7 +650,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: +@@ -670,7 +670,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_) { -@@ -2723,7 +2723,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2800,7 +2800,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/ungoogled-chromium/files/patch-services_network_network__context.h b/www/ungoogled-chromium/files/patch-services_network_network__context.h index 15046e20b27b..b9519b6030e2 100644 --- a/www/ungoogled-chromium/files/patch-services_network_network__context.h +++ b/www/ungoogled-chromium/files/patch-services_network_network__context.h @@ -1,11 +1,11 @@ ---- services/network/network_context.h.orig 2026-06-05 13:45:06 UTC +--- services/network/network_context.h.orig 2026-08-13 07:41:05 UTC +++ services/network/network_context.h -@@ -769,7 +769,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -782,7 +782,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/ungoogled-chromium/files/patch-services_network_network__service.cc b/www/ungoogled-chromium/files/patch-services_network_network__service.cc index e691238a53de..992fc3e181b0 100644 --- a/www/ungoogled-chromium/files/patch-services_network_network__service.cc +++ b/www/ungoogled-chromium/files/patch-services_network_network__service.cc @@ -1,29 +1,29 @@ ---- services/network/network_service.cc.orig 2026-06-05 13:45:06 UTC +--- services/network/network_service.cc.orig 2026-08-13 07:41:05 UTC +++ services/network/network_service.cc -@@ -104,7 +104,7 @@ +@@ -105,7 +105,7 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "services/network/network_change_notifier_passive_factory.h" #endif -@@ -1038,7 +1038,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1073,7 +1073,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) { -@@ -1178,7 +1178,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1213,7 +1213,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/ungoogled-chromium/files/patch-services_network_network__service.h b/www/ungoogled-chromium/files/patch-services_network_network__service.h index 13766bda8be2..aa4140cb492d 100644 --- a/www/ungoogled-chromium/files/patch-services_network_network__service.h +++ b/www/ungoogled-chromium/files/patch-services_network_network__service.h @@ -1,29 +1,29 @@ ---- services/network/network_service.h.orig 2026-06-05 13:45:06 UTC +--- services/network/network_service.h.orig 2026-08-13 07:41:05 UTC +++ services/network/network_service.h -@@ -233,7 +233,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -241,7 +241,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService void SetFirstPartySets(net::GlobalFirstPartySets sets) 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; -@@ -300,7 +300,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -308,7 +308,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) -@@ -572,7 +572,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -595,7 +595,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/ungoogled-chromium/files/patch-services_network_public_cpp_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_public_cpp_BUILD.gn index c3615c9f7d56..cb74c56a5dd5 100644 --- a/www/ungoogled-chromium/files/patch-services_network_public_cpp_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-services_network_public_cpp_BUILD.gn @@ -1,11 +1,11 @@ ---- services/network/public/cpp/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- services/network/public/cpp/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ services/network/public/cpp/BUILD.gn -@@ -751,7 +751,7 @@ component("cpp_base") { +@@ -758,7 +758,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/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn index ce95a834f1cd..97517bf56f08 100644 --- a/www/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn @@ -1,34 +1,34 @@ ---- services/network/public/mojom/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- services/network/public/mojom/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ services/network/public/mojom/BUILD.gn -@@ -726,11 +726,11 @@ mojom("url_loader_base") { +@@ -739,11 +739,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" ] -@@ -1111,7 +1111,7 @@ mojom("url_loader_base") { +@@ -1137,7 +1137,7 @@ mojom("url_loader_base") { }, ] - if (is_linux) { + if (is_linux && !is_bsd) { cpp_typemaps += [ { types = [ -@@ -2064,7 +2064,7 @@ mojom("mojom") { +@@ -2096,7 +2096,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/ungoogled-chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc b/www/ungoogled-chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc index 3d7a07ab1bf1..e56bc77909cd 100644 --- a/www/ungoogled-chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc +++ b/www/ungoogled-chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc @@ -1,11 +1,11 @@ ---- services/on_device_model/ml/gpu_blocklist.cc.orig 2025-12-06 13:30:52 UTC +--- services/on_device_model/ml/gpu_blocklist.cc.orig 2026-08-13 07:41:05 UTC +++ services/on_device_model/ml/gpu_blocklist.cc -@@ -24,7 +24,7 @@ const base::FeatureParam kGpuBlockList{ +@@ -23,7 +23,7 @@ namespace { + const base::FeatureParam kGpuBlockList{ &optimization_guide::features::kOnDeviceModelPerformanceParams, "on_device_model_gpu_block_list", - // These devices are nearly always crashing or have very low performance. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "8086:64a0|8086:e20b|" // TODO(b/456603738): Remove when fixed. #endif // BUILDFLAG(IS_LINUX) - "8086:412|8086:a16|8086:41e|8086:416|8086:402|8086:166|8086:1616|8086:22b1|" + // These devices are nearly always crashing or have very low performance. diff --git a/www/ungoogled-chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc index 916ae3a02020..d8d6c2fde316 100644 --- a/www/ungoogled-chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc +++ b/www/ungoogled-chromium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -1,18 +1,18 @@ ---- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2026-05-09 18:09:27 UTC +--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2026-08-13 07:41:05 UTC +++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc -@@ -71,6 +71,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path +@@ -59,6 +59,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path } } +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); std::vector permissions{ -@@ -92,6 +93,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path +@@ -80,6 +81,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path sandbox::syscall_broker::COMMAND_OPEN}), permissions, options); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/ungoogled-chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc b/www/ungoogled-chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc index 9c4eeb00e8a4..e0ab69f28ac0 100644 --- a/www/ungoogled-chromium/files/patch-services_screen__ai_screen__ai__service__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- services/screen_ai/screen_ai_service_impl.cc.orig 2026-08-13 07:41:05 UTC +++ services/screen_ai/screen_ai_service_impl.cc -@@ -34,7 +34,7 @@ +@@ -32,7 +32,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(USE_PARTITION_ALLOC_AS_MALLOC) -@@ -211,7 +211,7 @@ ScreenAIService::ScreenAIService( +@@ -209,7 +209,7 @@ ScreenAIService::ScreenAIService( : factory_receiver_(this, std::move(receiver)), ocr_receiver_(this), main_content_extraction_receiver_(this) { -#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/ungoogled-chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc b/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc index 37dcb5427d4e..3f3a8060855f 100644 --- a/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc +++ b/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc @@ -1,11 +1,11 @@ ---- services/tracing/public/cpp/perfetto/track_name_recorder.cc.orig 2026-06-05 13:45:06 UTC +--- services/tracing/public/cpp/perfetto/track_name_recorder.cc.orig 2026-08-13 07:41:05 UTC +++ services/tracing/public/cpp/perfetto/track_name_recorder.cc -@@ -54,7 +54,7 @@ void FillThreadTrack(const perfetto::ThreadTrack& trac +@@ -53,7 +53,7 @@ void FillThreadTrack(const perfetto::ThreadTrack& trac desc.mutable_chrome_thread()->set_thread_type( static_cast(thread_type)); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - if (base::GetCurrentProcId() != - base::trace_event::TraceLog::GetInstance()->process_id()) { + if (base::GetCurrentProcId() != perfetto::Platform::GetCurrentProcessId()) { desc.mutable_chrome_thread()->set_is_sandboxed_tid(true); + } diff --git a/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc index e3e58e4e1879..d18ac8779cfc 100644 --- a/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc +++ b/www/ungoogled-chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc @@ -1,38 +1,38 @@ ---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2026-06-05 13:45:06 UTC +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2026-08-13 07:41:05 UTC +++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc @@ -42,7 +42,7 @@ #include "third_party/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h" #include "third_party/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h" -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) #include "base/profiler/thread_delegate_posix.h" #define INITIALIZE_THREAD_DELEGATE_POSIX 1 #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) @@ -264,7 +264,7 @@ struct FrameDetails { ANDROID_ARM64_UNWINDING_SUPPORTED || ANDROID_CFI_UNWINDING_SUPPORTED || \ (BUILDFLAG(IS_CHROMEOS) && \ (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64))) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether stack sampling is supported on the current platform. bool IsStackSamplingSupported() { return base::StackSamplingProfiler::IsSupportedForCurrentPlatform(); @@ -384,7 +384,7 @@ void TracingSamplerProfiler::TracingProfileBuilder::Wr thread_descriptor->set_reference_timestamp_us( last_timestamp_.since_origin().InMicroseconds()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - if (base::GetCurrentProcId() != - base::trace_event::TraceLog::GetInstance()->process_id()) { + if (base::GetCurrentProcId() != perfetto::Platform::GetCurrentProcessId()) { auto* chrome_thread = track_descriptor->set_chrome_thread(); -@@ -656,7 +656,7 @@ bool TracingSamplerProfiler::IsStackUnwindingSupported + chrome_thread->set_is_sandboxed_tid(true); +@@ -655,7 +655,7 @@ bool TracingSamplerProfiler::IsStackUnwindingSupported ANDROID_ARM64_UNWINDING_SUPPORTED || ANDROID_CFI_UNWINDING_SUPPORTED || \ (BUILDFLAG(IS_CHROMEOS) && \ (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64))) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return IsStackSamplingSupported(); #else return false; diff --git a/www/ungoogled-chromium/files/patch-services_webnn_features.gni b/www/ungoogled-chromium/files/patch-services_webnn_features.gni index b033a4324c6f..106e7dc01d2f 100644 --- a/www/ungoogled-chromium/files/patch-services_webnn_features.gni +++ b/www/ungoogled-chromium/files/patch-services_webnn_features.gni @@ -1,11 +1,11 @@ ---- services/webnn/features.gni.orig 2026-05-09 18:09:27 UTC +--- services/webnn/features.gni.orig 2026-08-13 07:41:05 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) - # LiteRT matches TFLite except for arm. - # TODO(b/454732289): Add arm support once APK size issue is resolved. + # LiteRT matches TFLite. + webnn_use_litert = is_android || is_chromeos || is_linux || is_apple || is_win diff --git a/www/ungoogled-chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc b/www/ungoogled-chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc index cd95e788b817..80f605f6ac8b 100644 --- a/www/ungoogled-chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc +++ b/www/ungoogled-chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc @@ -1,20 +1,20 @@ ---- services/webnn/webnn_graph_impl_fuzzer.cc.orig 2026-06-05 14:13:43 UTC +--- services/webnn/webnn_graph_impl_fuzzer.cc.orig 2026-08-13 07:41:05 UTC +++ services/webnn/webnn_graph_impl_fuzzer.cc -@@ -850,7 +850,7 @@ std::optional SetUpConv2dDescriptor +@@ -1613,7 +1613,7 @@ std::optional SetUpConv2dDescriptor params.groups = params.input_channels; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (params.conv2d_kind == mojom::Conv2d::Kind::kTransposed) { // ConvTranspose2d does not support dilation and groups for TFLite backend: // https://source.ch40m1um.qjz9zk/chromium/chromium/src/+/db6bda50f023057ffa82845f232852dea0f271e1:services/webnn/tflite/graph_builder_tflite.cc;l=4125 -@@ -979,7 +979,7 @@ std::optional SetUpPool2dDescriptor +@@ -1950,7 +1950,7 @@ std::optional SetUpPool2dDescriptor Pool2dParams& params) { InputOperandLayout input_layout = context_properties.input_operand_layout; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Pool2d does not support dilation for TFLite backend: // https://source.ch40m1um.qjz9zk/chromium/chromium/src/+/4c1aaa2f981951e7e6f636df92fb89e48b642aa6:services/webnn/tflite/graph_builder_tflite.cc;l=7203 // TODO(crbug.com/498987226): Remove this restriction to increase test diff --git a/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp index 2884921d4162..73d589ac5e83 100644 --- a/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp +++ b/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -1,20 +1,20 @@ ---- skia/ext/SkMemory_new_handler.cpp.orig 2026-04-15 11:25:12 UTC +--- skia/ext/SkMemory_new_handler.cpp.orig 2026-08-13 07:41:05 UTC +++ skia/ext/SkMemory_new_handler.cpp -@@ -22,7 +22,7 @@ +@@ -21,7 +21,7 @@ #include #elif BUILDFLAG(IS_APPLE) #include -#else +#elif !BUILDFLAG(IS_BSD) #include #endif -@@ -108,7 +108,7 @@ static void* malloc_nothrow(size_t size, int debug_sen +@@ -107,7 +107,7 @@ static void* malloc_nothrow(size_t size, int debug_sen // TODO(b.kelemen): we should always use UncheckedMalloc but currently it // doesn't work as intended everywhere. void* result; -#if BUILDFLAG(IS_IOS) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) result = malloc(size); #else // It's the responsibility of the caller to check the return value. diff --git a/www/ungoogled-chromium/files/patch-sql_database.cc b/www/ungoogled-chromium/files/patch-sql_database.cc deleted file mode 100644 index 16d4fb5d23c9..000000000000 --- a/www/ungoogled-chromium/files/patch-sql_database.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- sql/database.cc.orig 2026-06-05 13:45:06 UTC -+++ sql/database.cc -@@ -113,7 +113,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/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn index 82ec94499c00..20743c89de7f 100644 --- a/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn @@ -1,29 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2026-05-09 18:09:27 UTC +--- third_party/angle/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/angle/BUILD.gn -@@ -373,7 +373,6 @@ config("extra_warnings") { +@@ -392,7 +392,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", -@@ -558,7 +557,7 @@ template("angle_common_lib") { +@@ -582,7 +581,7 @@ template("angle_common_lib") { all_dependent_configs = [ ":angle_disable_pool_alloc" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs = [ "dl" ] } -@@ -721,6 +720,9 @@ angle_static_library("angle_gpu_info_util") { +@@ -745,6 +744,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", ] + if (is_bsd) { + libs += [ "GL" ] + } } if (angle_use_wayland && angle_has_build) { diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp index f6d5218afab9..6e02c480bc04 100644 --- a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -1,56 +1,56 @@ ---- third_party/angle/src/libANGLE/Display.cpp.orig 2026-02-15 10:01:45 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2026-08-13 07:41:05 UTC +++ third_party/angle/src/libANGLE/Display.cpp @@ -64,7 +64,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_X11) # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" -@@ -427,7 +427,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -447,7 +447,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = new rx::DisplayCGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { -@@ -478,7 +478,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -505,7 +505,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di #if defined(ANGLE_ENABLE_OPENGL) # if defined(ANGLE_PLATFORM_WINDOWS) impl = new rx::DisplayWGL(state); -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { -@@ -534,7 +534,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -568,7 +568,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) { -@@ -2185,7 +2185,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2216,7 +2216,7 @@ static ClientExtensions GenerateClientExtensions() extensions.platformWaylandEXT = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) +#if (defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) extensions.platformSurfacelessMESA = true; #endif -@@ -2232,7 +2232,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2263,7 +2263,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn index 980020db3774..39cc3b60c926 100644 --- a/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/angle/util/BUILD.gn.orig 2025-09-10 13:22:16 UTC +--- third_party/angle/util/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/angle/util/BUILD.gn -@@ -334,7 +334,7 @@ foreach(is_shared_library, +@@ -343,7 +343,7 @@ foreach(is_shared_library, ] libs = [] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs += [ "rt", "dl", diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_common_features.cc b/www/ungoogled-chromium/files/patch-third__party_blink_common_features.cc index 37f3516b0ac8..2382249f454e 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_common_features.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_common_features.cc @@ -1,20 +1,20 @@ ---- third_party/blink/common/features.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/common/features.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/common/features.cc -@@ -693,7 +693,7 @@ BASE_FEATURE(kDevToolsWebMCPSupport, base::FEATURE_DIS +@@ -710,7 +710,7 @@ BASE_FEATURE(kDevToolsAdsPanel, base::FEATURE_DISABLED 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 -@@ -2072,7 +2072,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, +@@ -2073,7 +2073,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/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index 0cd5bafd8d90..5f384913abdf 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/ungoogled-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-04-15 11:25:12 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -85,12 +85,12 @@ - #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" +@@ -87,12 +87,12 @@ + #include "third_party/blink/renderer/platform/fonts/font_cache.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 -@@ -257,7 +257,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -266,7 +266,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread_task_runner); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) binders.Add( ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), -@@ -310,7 +310,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform +@@ -319,7 +319,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/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index f7587278afdf..e0e2fae8d460 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -398,7 +398,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' -@@ -3474,7 +3474,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3631,7 +3631,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); WebFontRenderStyle::SetSubpixelPositioning( renderer_preferences_.use_subpixel_positioning); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUtf8( renderer_preferences_.system_font_family_name)); -@@ -3623,7 +3623,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3781,7 +3781,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/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc index ceb17216dda1..8577f5bda69f 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6320,7 +6320,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6333,7 +6333,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 \ -@@ -6729,7 +6729,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc +@@ -6743,7 +6743,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/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc index a4d7b2cb3f90..570fef459d58 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/core/layout/layout_view.cc @@ -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 -@@ -862,7 +862,7 @@ void LayoutView::LayoutRoot() { +@@ -851,7 +851,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/ungoogled-chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc index 691dcdd750d5..2b8980738be8 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -660,7 +660,7 @@ bool ContextMenuController::ShowContextMenu( +@@ -692,7 +692,7 @@ bool ContextMenuController::ShowContextMenu( if (potential_image_node != nullptr && IsA(potential_image_node)) { data.media_type = mojom::blink::ContextMenuDataMediaType::kCanvas; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40902474): Support reading from the WebGPU front buffer // on Linux and remove the below code, which results in "Copy Image" and // "Save Image To" being grayed out in the context menu. diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc similarity index 52% rename from www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc rename to www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc index 98f80ddad714..35398ba0cda7 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc.orig 2026-04-15 11:25:12 UTC -+++ third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc -@@ -45,7 +45,7 @@ scoped_refptr MakeAccelerated( +--- third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc.orig 2026-08-13 07:41:05 UTC ++++ third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc +@@ -59,7 +59,7 @@ scoped_refptr ImageBitmapRenderingC return source; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(b/330865436): On Linux, CanvasResourceProvider doesn't always check // for SCANOUT support correctly on X11 and it's never supported in // practice. Therefore, don't include it until this flow is reworked. diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc index 2dccb112cc12..4f845f195b28 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -384,7 +384,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar +@@ -393,7 +393,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar SetupRenderer(kDefaultOutputDeviceId); renderer_proxy_->Start(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) static const int kExpectedBufferSize = kHardwareSampleRate / 100; #elif BUILDFLAG(IS_ANDROID) static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 476051672018..4086cdf10936 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/ungoogled-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-06-05 13:45:06 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6605,7 +6605,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid - params.function_id == kTexImage2D || - (params.function_id == kTexSubImage2D && - base::FeatureList::IsEnabled(kAllowGpuUploadForTexSubImageOnAndroid)); --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +@@ -6688,7 +6688,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid + // unmultiply has been requested or we need to never premultiply for Image + // creation from a VideoFrame. + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/1181562): TexSubImage2D via the GPU path performs poorly on // Linux when used with frames backed by SharedImages holding shared memory. // We don't have a way to differentiate this case from that of true texture diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc similarity index 60% rename from www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc rename to www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc index 0c79b290b4fa..e499f52ae819 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2026-06-05 13:45:06 UTC -+++ third_party/blink/renderer/modules/webgpu/gpu_queue.cc -@@ -1022,7 +1022,7 @@ bool GPUQueue::CopyFromCanvasSourceImage( +--- third_party/blink/renderer/modules/webgpu/external_image_utils.cc.orig 2026-08-13 07:41:05 UTC ++++ third_party/blink/renderer/modules/webgpu/external_image_utils.cc +@@ -423,7 +423,7 @@ bool CopyStaticImagBitmapToWGPUTexture( // on linux platform. // TODO(crbug.com/1424119): using a webgpu mailbox texture on the OpenGLES // backend is failing for unknown reasons. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool forceReadback = true; #elif BUILDFLAG(IS_ANDROID) // TODO(crbug.com/dawn/1969): Some Android devices don't fail to copy from diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc index 97ba88a90368..bc5b65120560 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc.orig 2026-05-09 18:09:27 UTC +--- third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc -@@ -270,7 +270,7 @@ GPUCanvasContext::PaintRenderingResultsToSnapshot( +@@ -274,7 +274,7 @@ GPUCanvasContext::PaintRenderingResultsToSnapshot( scoped_refptr front_buffer_texture; if (source_buffer == kFrontBuffer) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // By returning false here the canvas will show up as black in the scenarios // that copy the front buffer, such as printing. // TODO(crbug.com/40902474): Support concurrent SharedImage reads via Dawn -@@ -486,7 +486,7 @@ void GPUCanvasContext::configure(const GPUCanvasConfig +@@ -494,7 +494,7 @@ void GPUCanvasContext::configure(const GPUCanvasConfig } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (texture_descriptor_.format == wgpu::TextureFormat::BGRA8Unorm) { // WebGPU on vulkan with GL interop cannot support BGRA due to bugs in // mesa. See anglebug.com/40644739 diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn index 8cdb722a6582..6ccd694fffcc 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/platform/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/BUILD.gn -@@ -2086,7 +2086,7 @@ static_library("test_support") { +@@ -2092,7 +2092,7 @@ static_library("test_support") { ] # fuzzed_data_provider may not work with a custom toolchain. - if (custom_toolchain == "" && is_clang) { + if ((custom_toolchain == "" && is_clang) && !is_bsd) { sources += [ "testing/fuzzed_data_provider.cc", "testing/fuzzed_data_provider.h", diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc index d604a3d6409f..8dfa8f6d1d10 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2026-02-15 10:01:45 UTC +--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/fonts/font_cache.cc -@@ -80,7 +80,7 @@ const char kMonoEmojiLocale[] = "und-Zsym"; +@@ -86,7 +86,7 @@ const char kMonoEmojiLocale[] = "und-Zsym"; extern const char kNotoColorEmojiCompat[] = "Noto Color Emoji Compat"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) float FontCache::device_scale_factor_ = 1.0; #endif -@@ -112,7 +112,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD +@@ -141,7 +141,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD const FontDescription& font_description) { const AtomicString& family = FontCache::SystemFontFamily(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) if (family.empty() || family == font_family_names::kSystemUi) return nullptr; #else diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h index df57e182a9c8..c97bb33ace8d 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h @@ -1,38 +1,38 @@ ---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2026-02-15 10:01:45 UTC +--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/fonts/font_cache.h -@@ -53,7 +53,7 @@ +@@ -54,7 +54,7 @@ #include "third_party/skia/include/core/SkFontMgr.h" #include "third_party/skia/include/core/SkRefCnt.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/gfx/font_fallback_linux.h" #endif -@@ -150,7 +150,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -148,7 +148,7 @@ class PLATFORM_EXPORT FontCache final { static void MaybePreloadSystemFonts(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // These are needed for calling QueryRenderStyleForStrike, since // gfx::GetFontRenderParams makes distinctions based on DSF. static float DeviceScaleFactor() { return device_scale_factor_; } @@ -226,7 +226,7 @@ class PLATFORM_EXPORT FontCache final { const char* locale_family_name); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static bool GetFontForCharacter(UChar32, const char* preferred_locale, gfx::FallbackFontData*); -@@ -311,7 +311,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -323,7 +323,7 @@ class PLATFORM_EXPORT FontCache final { static int32_t status_font_height_; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static float device_scale_factor_; #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc index f4d8a465fc91..17c46026f89b 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2025-11-01 06:40:37 UTC +--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/fonts/font_description.cc @@ -45,7 +45,7 @@ #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" #include "third_party/blink/renderer/platform/wtf/text/string_hasher.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -316,7 +316,7 @@ FontCacheKey FontDescription::CacheKey( +@@ -319,7 +319,7 @@ FontCacheKey FontDescription::CacheKey( static_cast(fields_.orientation_) << 1 | // bit 2-3 static_cast(fields_.subpixel_text_position_); // bit 1 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) float device_scale_factor_for_key = FontCache::DeviceScaleFactor(); #else float device_scale_factor_for_key = 1.0f; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc index c074f036b372..c10790089755 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc @@ -1,29 +1,29 @@ ---- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2025-10-21 16:57:35 UTC +--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/fonts/font_metrics.cc -@@ -40,7 +40,7 @@ +@@ -42,7 +42,7 @@ namespace blink { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // This is the largest VDMX table which we'll try to load and parse. static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB #endif -@@ -68,7 +68,7 @@ void FontMetrics::AscentDescentWithHacks( +@@ -70,7 +70,7 @@ void FontMetrics::AscentDescentWithHacks( bool is_vdmx_valid = false; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Manually digging up VDMX metrics is only applicable when bytecode hinting // using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever // done. This code should be pushed into FreeType (hinted font metrics). -@@ -112,7 +112,7 @@ void FontMetrics::AscentDescentWithHacks( +@@ -118,7 +118,7 @@ void FontMetrics::AscentDescentWithHacks( descent = SkScalarRoundToScalar(metrics.fDescent); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // When subpixel positioning is enabled, if the descent is rounded down, // the descent part of the glyph may be truncated when displayed in a // 'overflow: hidden' container. To avoid that, borrow 1 unit from the diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc index 9c73708278c5..15c158a67a8c 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc -@@ -303,7 +303,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD +@@ -304,7 +304,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD std::string name; sk_sp typeface; -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool noto_color_emoji_from_gmscore = false; #if BUILDFLAG(IS_ANDROID) // Use the unique local matching pathway for fetching Noto Color Emoji Compat diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc index a7d03f673e7f..d01e53f2bfe3 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc @@ -1,11 +1,20 @@ ---- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc -@@ -1547,7 +1547,7 @@ std::unique_ptr CanvasResourceProvider::CreateShare +@@ -1713,7 +1713,7 @@ Canvas2DResourceProviderSharedImage::CreateWithClear( + gpu::SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // WebGpu preferred canvas on linux is RGBA and interop (vk on gl) is + // dependent on canvas copies being RGBA (not BGRA). + should_force_bgra8_to_rgba = true; +@@ -1871,7 +1871,7 @@ CanvasNon2DResourceProviderSharedImage::Create( gpu::SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // WebGpu preferred canvas on linux is RGBA and interop (vk on gl) is // dependent on canvas copies being RGBA (not BGRA). should_force_bgra8_to_rgba = true; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc index bdc789ccafbc..b94c09513d7f 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/graphics/video_frame_submitter.cc -@@ -382,7 +382,7 @@ void VideoFrameSubmitter::OnBeginFrame( +@@ -410,7 +410,7 @@ void VideoFrameSubmitter::OnBeginFrame( auto& details = timing_details.find(frame_token)->value; auto& feedback = details.presentation_feedback; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO: On Linux failure flag is unreliable, and perfectly rendered frames // are reported as failures all the time. bool presentation_failure = false; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 index 34b0378756fa..2ac8536ff364 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 @@ -1,128 +1,119 @@ ---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-06-05 13:45:06 UTC +--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-08-13 07:41:05 UTC +++ third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -418,7 +418,7 @@ - name: "AIPromptAPILegacyParams", - public: true, - origin_trial_feature_name: "AIPromptAPIParams", -- origin_trial_os: ["win", "mac", "linux", "chromeos"], -+ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], - origin_trial_allows_third_party: true, - implied_by: ["AIPromptAPIParams"], - }, -@@ -444,7 +444,7 @@ +@@ -449,7 +449,7 @@ "default": "", }, origin_trial_feature_name: "AIPromptAPIParams", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { -@@ -476,7 +476,7 @@ +@@ -481,7 +481,7 @@ "default": "", }, origin_trial_feature_name: "AIProofreaderAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -491,7 +491,7 @@ +@@ -496,7 +496,7 @@ "default": "", }, origin_trial_feature_name: "AIRewriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -528,7 +528,7 @@ +@@ -532,7 +532,7 @@ "default": "", }, origin_trial_feature_name: "AIWriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -665,7 +665,7 @@ +@@ -688,7 +688,7 @@ name: "AppTitle", status: "experimental", origin_trial_feature_name: "AppTitle", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "WebAppEnableAppTitle", }, { -@@ -1426,7 +1426,7 @@ +@@ -1489,7 +1489,7 @@ name: "CSPHashesV1", base_feature: "none", origin_trial_feature_name: "CSPExtendedScriptSrcHashes", - origin_trial_os: ["win", "linux", "mac", "android", "chromeos"], + origin_trial_os: ["win", "linux", "mac", "android", "chromeos", "openbsd", "freebsd"], status: "experimental", public: true, }, -@@ -2318,7 +2318,7 @@ +@@ -2437,7 +2437,7 @@ name: "DocumentIsolationPolicy", status: "experimental", origin_trial_feature_name: "DocumentIsolationPolicy", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "none", }, { -@@ -2650,7 +2650,7 @@ +@@ -2625,7 +2625,7 @@ + public: true, + origin_trial_feature_name: "EmailVerificationProtocol", + origin_trial_allows_third_party: true, +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + status: { + "Win": "experimental", + "Mac": "experimental", +@@ -2802,7 +2802,7 @@ base_feature: "none", public: true, origin_trial_feature_name: "FedCmMultipleIdentityProviders", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { -@@ -3463,7 +3463,7 @@ +@@ -3671,7 +3671,7 @@ name: "InstallElement", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "InstallElement", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6131,7 +6131,7 @@ +@@ -6509,7 +6509,7 @@ name: "UnrestrictedSharedArrayBuffer", base_feature: "none", origin_trial_feature_name: "UnrestrictedSharedArrayBuffer", - origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], }, // Enables using policy-controlled feature "usb-unrestricted" to allow // isolated context to access protected USB interface classes and to -@@ -6229,7 +6229,7 @@ - status: "experimental", - origin_trial_feature_name: "UserMediaElement", - public: true, -- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android"], -+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android", "openbsd", "freebsd"], - base_feature_status: "enabled", - copied_from_base_feature_if: "overridden", - }, -@@ -6344,7 +6344,7 @@ +@@ -6734,7 +6734,7 @@ name: "WebAppInstallation", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "WebAppInstallation", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6358,7 +6358,7 @@ +@@ -6748,7 +6748,7 @@ { name: "WebAppScopeExtensions", origin_trial_feature_name: "WebAppScopeExtensions", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], status: "experimental", base_feature: "none", }, diff --git a/www/ungoogled-chromium/files/patch-third__party_cpuinfo_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_cpuinfo_BUILD.gn index 9fadb9942619..f53500b11d58 100644 --- a/www/ungoogled-chromium/files/patch-third__party_cpuinfo_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_cpuinfo_BUILD.gn @@ -1,47 +1,47 @@ ---- third_party/cpuinfo/BUILD.gn.orig 2026-05-09 18:09:27 UTC +--- third_party/cpuinfo/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/cpuinfo/BUILD.gn -@@ -67,7 +67,7 @@ source_set("cpuinfo") { +@@ -87,7 +87,7 @@ target(_cpuinfo_target_type, "cpuinfo") { } source_set("os_specific") { - if (is_chromeos || is_linux || is_android) { + if (!is_bsd && (is_chromeos || is_linux || is_android)) { sources = [ "src/src/linux/cpulist.c", "src/src/linux/multiline.c", -@@ -149,7 +149,7 @@ source_set("x86_cache") { +@@ -169,7 +169,7 @@ source_set("x86_cache") { } source_set("cpu_and_os_specific") { - if ((is_linux || is_chromeos) && + if (!is_bsd && (is_linux || is_chromeos) && (current_cpu == "x86" || current_cpu == "x64")) { sources = [ "src/src/x86/linux/cpuinfo.c", -@@ -157,7 +157,7 @@ source_set("cpu_and_os_specific") { +@@ -177,7 +177,7 @@ source_set("cpu_and_os_specific") { ] } - if ((is_linux || is_chromeos) && current_cpu == "arm") { + if (!is_bsd && (is_linux || is_chromeos) && current_cpu == "arm") { sources = [ "src/src/arm/linux/aarch32-isa.c", "src/src/arm/linux/api.h", -@@ -170,7 +170,7 @@ source_set("cpu_and_os_specific") { +@@ -190,7 +190,7 @@ source_set("cpu_and_os_specific") { ] } - if ((is_linux || is_chromeos) && current_cpu == "arm64") { + if (!is_bsd && (is_linux || is_chromeos) && current_cpu == "arm64") { sources = [ "src/src/arm/linux/aarch64-isa.c", "src/src/arm/linux/api.h", -@@ -183,7 +183,7 @@ source_set("cpu_and_os_specific") { +@@ -203,7 +203,7 @@ source_set("cpu_and_os_specific") { ] } - if ((is_linux || is_chromeos) && current_cpu == "riscv64") { + if (!is_bsd && (is_linux || is_chromeos) && current_cpu == "riscv64") { sources = [ "src/src/riscv/linux/init.c", "src/src/riscv/linux/riscv-hw.c", diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp index fc977ca337e0..213cd4232d10 100644 --- a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp @@ -1,11 +1,11 @@ ---- third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp.orig 2026-06-05 13:45:06 UTC +--- third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp.orig 2026-08-13 07:41:05 UTC +++ third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp -@@ -62,7 +62,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha +@@ -58,7 +58,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha #endif #if DAWN_PLATFORM_IS(LINUX) -#if DAWN_PLATFORM_IS(ANDROID) +#if DAWN_PLATFORM_IS(ANDROID) || DAWN_PLATFORM_IS(BSD) constexpr char kVulkanLibName[] = "libvulkan.so"; #else constexpr char kVulkanLibName[] = "libvulkan.so.1"; diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h b/www/ungoogled-chromium/files/patch-third__party_dawn_src_utils_platform.h similarity index 71% rename from www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h rename to www/ungoogled-chromium/files/patch-third__party_dawn_src_utils_platform.h index d859fb165f9e..6852ef6a8bfc 100644 --- a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_src_utils_platform.h @@ -1,14 +1,14 @@ ---- third_party/dawn/src/dawn/common/Platform.h.orig 2025-04-15 08:30:07 UTC -+++ third_party/dawn/src/dawn/common/Platform.h +--- third_party/dawn/src/utils/platform.h.orig 2026-08-13 07:41:05 UTC ++++ third_party/dawn/src/utils/platform.h @@ -60,6 +60,11 @@ #error "Unsupported Windows platform." #endif +#elif defined(__OpenBSD__) || defined(__FreeBSD__) +#define DAWN_PLATFORM_IS_LINUX 1 +#define DAWN_PLATFORM_IS_BSD 1 +#define DAWN_PLATFORM_IS_POSIX 1 + #elif defined(__linux__) #define DAWN_PLATFORM_IS_LINUX 1 #define DAWN_PLATFORM_IS_POSIX 1 diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py b/www/ungoogled-chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py new file mode 100644 index 000000000000..9ff17f589699 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py @@ -0,0 +1,12 @@ +--- third_party/dawn/tools/generate-sources-gn.py.orig 2026-08-13 07:41:05 UTC ++++ third_party/dawn/tools/generate-sources-gn.py +@@ -40,8 +40,7 @@ from tools.python import cipd_deps + + + def main() -> int: +- go_binary = os.path.join(DAWN_ROOT, 'tools', 'golang', +- cipd_deps.get_cipd_platform(), 'bin', 'go') ++ go_binary = "go" + if sys.platform == 'win32': + go_binary += '.exe' + diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py b/www/ungoogled-chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py new file mode 100644 index 000000000000..752d4fd2c086 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py @@ -0,0 +1,11 @@ +--- third_party/dawn/tools/python/cipd_deps.py.orig 2026-08-13 07:41:05 UTC ++++ third_party/dawn/tools/python/cipd_deps.py +@@ -49,7 +49,7 @@ def get_cipd_compatible_current_os() -> str: + The returned string is compatible with CIPD's package naming scheme. + """ + current_platform = sys.platform +- if current_platform in ('linux', 'cygwin'): ++ if syscurrent_platform.startswith(('linux', 'cygwin', 'openbsd', 'freebsd')): + return 'linux' + if current_platform == 'win32': + return 'windows' diff --git a/www/ungoogled-chromium/files/patch-third__party_devtools-frontend_src_node__modules_rollup_dist_native.js b/www/ungoogled-chromium/files/patch-third__party_devtools-frontend_src_node__modules_rollup_dist_native.js index 01e9598904a7..7c318b384ee5 100644 --- a/www/ungoogled-chromium/files/patch-third__party_devtools-frontend_src_node__modules_rollup_dist_native.js +++ b/www/ungoogled-chromium/files/patch-third__party_devtools-frontend_src_node__modules_rollup_dist_native.js @@ -1,17 +1,28 @@ ---- third_party/devtools-frontend/src/node_modules/rollup/dist/native.js.orig 2026-02-15 10:01:45 UTC +--- third_party/devtools-frontend/src/node_modules/rollup/dist/native.js.orig 2026-08-13 07:41:05 UTC +++ third_party/devtools-frontend/src/node_modules/rollup/dist/native.js -@@ -13,6 +13,14 @@ const bindingsByPlatformAndArch = { - arm64: { base: 'darwin-arm64' }, +@@ -57,9 +57,13 @@ const bindingsByPlatformAndArch = { x64: { base: 'darwin-x64' } }, -+ freebsd: { + freebsd: { +- arm64: { base: 'freebsd-arm64' }, +- x64: { base: 'freebsd-x64' } + arm64: { base: 'freebsd' }, + x64: { base: 'freebsd' } -+ }, + }, + openbsd: { + arm64: { base: 'openbsd' }, + x64: { base: 'openbsd' } + }, linux: { arm: { base: 'linux-arm-gnueabihf', musl: 'linux-arm-musleabihf' }, arm64: { base: 'linux-arm64-gnu', musl: 'linux-arm64-musl' }, +@@ -68,9 +72,6 @@ const bindingsByPlatformAndArch = { + riscv64: { base: 'linux-riscv64-gnu', musl: 'linux-riscv64-musl' }, + s390x: { base: 'linux-s390x-gnu', musl: null }, + x64: { base: 'linux-x64-gnu', musl: 'linux-x64-musl' } +- }, +- openbsd: { +- x64: { base: 'openbsd-x64' } + }, + openharmony: { + arm64: { base: 'openharmony-arm64' } diff --git a/www/ungoogled-chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc b/www/ungoogled-chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc new file mode 100644 index 000000000000..b7317179b737 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc @@ -0,0 +1,10 @@ +--- third_party/federated_compute/src/fcp/client/opstats/pds_backed_opstats_db.cc.orig 2026-08-13 07:41:05 UTC ++++ third_party/federated_compute/src/fcp/client/opstats/pds_backed_opstats_db.cc +@@ -17,6 +17,7 @@ + + #include + #include ++#include + + #include + #include diff --git a/www/ungoogled-chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc b/www/ungoogled-chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc new file mode 100644 index 000000000000..492a1975b516 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc @@ -0,0 +1,11 @@ +--- third_party/federated_compute/third_party/protodatastore-cpp/src/protostore/file-storage.cc.orig 2026-08-13 07:41:05 UTC ++++ third_party/federated_compute/third_party/protodatastore-cpp/src/protostore/file-storage.cc +@@ -130,7 +130,7 @@ absl::Status IOError(absl::string_view context) { + case ENETUNREACH: // Network unreachable + case ENOLCK: // No locks available + case ENOLINK: // Link has been severed +-#if !(defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32)) ++#if !(defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__OpenBSD__)) + case ENONET: // Machine is not on the network + #endif + return absl::UnavailableError(message); diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_configure b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_configure index 0af06be6d891..70280b1a9f1b 100644 --- a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_configure +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_configure @@ -1,13 +1,13 @@ ---- third_party/ffmpeg/configure.orig 2026-05-09 18:09:27 UTC +--- third_party/ffmpeg/configure.orig 2026-08-13 07:41:05 UTC +++ third_party/ffmpeg/configure -@@ -7198,8 +7198,8 @@ if ! disabled pthreads && ! enabled w32threads && ! en +@@ -7256,8 +7256,8 @@ if ! disabled pthreads && ! enabled w32threads && ! en if enabled pthread_np_h; then hdrs="$hdrs pthread_np.h" fi - check_lib pthread_set_name_np "$hdrs" pthread_set_name_np -lpthread - check_lib pthread_setname_np "$hdrs" pthread_setname_np -lpthread + check_lib pthread_set_name_np pthread_np.h pthread_set_name_np -lpthread + check_lib pthread_setname_np pthread_np.h pthread_setname_np -lpthread fi fi diff --git a/www/ungoogled-chromium/files/patch-third__party_libaom_source_config_linux_arm64-cpu-detect_config_av1__rtcd.h b/www/ungoogled-chromium/files/patch-third__party_libaom_source_config_linux_arm64-cpu-detect_config_av1__rtcd.h index be15388e1843..e45c9b0e0728 100644 --- a/www/ungoogled-chromium/files/patch-third__party_libaom_source_config_linux_arm64-cpu-detect_config_av1__rtcd.h +++ b/www/ungoogled-chromium/files/patch-third__party_libaom_source_config_linux_arm64-cpu-detect_config_av1__rtcd.h @@ -1,24 +1,24 @@ ---- third_party/libaom/source/config/linux/arm64-cpu-detect/config/av1_rtcd.h.orig 2026-04-15 11:25:12 UTC +--- third_party/libaom/source/config/linux/arm64-cpu-detect/config/av1_rtcd.h.orig 2026-08-13 07:41:05 UTC +++ third_party/libaom/source/config/linux/arm64-cpu-detect/config/av1_rtcd.h @@ -194,8 +194,10 @@ RTCD_EXTERN void (*av1_dist_wtd_convolve_x)(const uint void av1_dist_wtd_convolve_y_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); void av1_dist_wtd_convolve_y_neon(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); +#if (VERSION_PACKED > 199937) void av1_dist_wtd_convolve_y_neon_dotprod(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); void av1_dist_wtd_convolve_y_neon_i8mm(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); +#endif RTCD_EXTERN void (*av1_dist_wtd_convolve_y)(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params); void av1_dr_prediction_z1_c(uint8_t *dst, ptrdiff_t stride, int bw, int bh, const uint8_t *above, const uint8_t *left, int upsample_above, int dx, int dy); -@@ -531,8 +533,10 @@ static void setup_rtcd_internal(void) +@@ -534,8 +536,10 @@ static void setup_rtcd_internal(void) if (flags & HAS_NEON_DOTPROD) av1_dist_wtd_convolve_x = av1_dist_wtd_convolve_x_neon_dotprod; if (flags & HAS_NEON_I8MM) av1_dist_wtd_convolve_x = av1_dist_wtd_convolve_x_neon_i8mm; av1_dist_wtd_convolve_y = av1_dist_wtd_convolve_y_neon; +#if (VERSION_PACKED > 199937) if (flags & HAS_NEON_DOTPROD) av1_dist_wtd_convolve_y = av1_dist_wtd_convolve_y_neon_dotprod; if (flags & HAS_NEON_I8MM) av1_dist_wtd_convolve_y = av1_dist_wtd_convolve_y_neon_i8mm; +#endif av1_filter_intra_predictor = av1_filter_intra_predictor_neon; if (flags & HAS_NEON_I8MM) av1_filter_intra_predictor = av1_filter_intra_predictor_neon_i8mm; av1_get_crc32c_value = av1_get_crc32c_value_c; diff --git a/www/ungoogled-chromium/files/patch-third__party_libsync_src_include_ndk_sync.h b/www/ungoogled-chromium/files/patch-third__party_libsync_src_include_ndk_sync.h index 2db0a2ba6214..0e0b5908658d 100644 --- a/www/ungoogled-chromium/files/patch-third__party_libsync_src_include_ndk_sync.h +++ b/www/ungoogled-chromium/files/patch-third__party_libsync_src_include_ndk_sync.h @@ -1,19 +1,19 @@ ---- third_party/libsync/src/include/ndk/sync.h.orig 2026-05-09 18:09:27 UTC +--- third_party/libsync/src/include/ndk/sync.h.orig 2026-08-13 07:41:05 UTC +++ third_party/libsync/src/include/ndk/sync.h -@@ -28,6 +28,7 @@ - +@@ -29,6 +29,7 @@ #include + #include +#if 0 #include __BEGIN_DECLS -@@ -93,7 +94,7 @@ void sync_file_info_free(struct sync_file_info *info); - #endif // __ANDROID_API__ >= __ANDROID_API_O__ +@@ -100,7 +101,7 @@ static inline struct sync_fence_info* sync_get_fence_i + void sync_file_info_free(struct sync_file_info* info) __INTRODUCED_IN(26); __END_DECLS - +#endif #endif /* ANDROID_SYNC_H */ /** @} */ diff --git a/www/ungoogled-chromium/files/patch-third__party_libusb_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_libusb_BUILD.gn index 48e077eca6fa..28496e2d0f82 100644 --- a/www/ungoogled-chromium/files/patch-third__party_libusb_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_libusb_BUILD.gn @@ -1,52 +1,52 @@ ---- third_party/libusb/BUILD.gn.orig 2023-09-17 07:59:53 UTC +--- third_party/libusb/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/libusb/BUILD.gn @@ -3,7 +3,7 @@ # found in the LICENSE file. # libusb is only used by //services/device/usb on macOS. -assert(is_mac) +assert(is_mac || is_bsd) - import("//build/config/chromeos/ui_mode.gni") import("//build/config/features.gni") -@@ -103,7 +103,7 @@ static_library("libusb") { + +@@ -102,7 +102,7 @@ static_library("libusb") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/libusb/os/linux_usbfs.c", "src/libusb/os/linux_usbfs.h", -@@ -114,11 +114,21 @@ static_library("libusb") { +@@ -113,11 +113,21 @@ static_library("libusb") { ] } + if (is_openbsd) { + sources += [ + "src/libusb/os/openbsd_usb.c", + ] + defines += [ + "OS_OPENBSD=1", + "_GNU_SOURCE=1", + ] + } + - if (is_chromeos_ash) { + if (is_chromeos) { defines += [ "USBI_TIMERFD_AVAILABLE" ] } - if (use_udev) { + if (use_udev && !is_bsd) { sources += [ "src/libusb/os/linux_udev.cc" ] defines += [ "HAVE_LIBUDEV=1", -@@ -127,7 +137,7 @@ static_library("libusb") { +@@ -126,7 +136,7 @@ static_library("libusb") { deps += [ "//build/linux/libudev" ] } - if ((is_linux || is_chromeos) && !use_udev) { + if ((is_linux || is_chromeos) && !use_udev && !is_bsd) { sources += [ "src/libusb/os/linux_netlink.c" ] defines += [ "HAVE_LINUX_NETLINK_H" ] } diff --git a/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp index eedd7ea9cb45..75492fb14dbe 100644 --- a/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp +++ b/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp @@ -1,11 +1,11 @@ ---- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2026-05-09 18:09:27 UTC +--- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2026-08-13 07:41:05 UTC +++ third_party/pdfium/core/fxge/cfx_fontmapper.cpp -@@ -159,7 +159,7 @@ constexpr AltFontFamily kAltFontFamilies[] = { +@@ -41,7 +41,7 @@ constexpr AltFontFamily kAltFontFamilies[] = { {"ForteMT", "Forte"}, }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) || BUILDFLAG(IS_BSD) const char kNarrowFamily[] = "LiberationSansNarrow"; #elif BUILDFLAG(IS_ANDROID) const char kNarrowFamily[] = "RobotoCondensed"; diff --git a/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp b/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp index 0ee47d2b05ee..f770eac10e7e 100644 --- a/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp +++ b/www/ungoogled-chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp @@ -1,23 +1,23 @@ ---- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2026-04-15 11:25:12 UTC +--- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2026-08-13 07:41:05 UTC +++ third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp @@ -19,7 +19,7 @@ #include "core/fxge/fx_font.h" #include "core/fxge/systemfontinfo_iface.h" -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) && !BUILDFLAG(IS_BSD) #error "Included on the wrong platform" #endif -@@ -180,9 +180,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf +@@ -182,9 +182,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf std::unique_ptr CreateDefaultSystemFontInfo() override { auto pInfo = std::make_unique(); if (!pInfo->ParseFontCfg(CFX_GEModule::Get()->GetUserFontPaths())) { - pInfo->AddPath("/usr/share/fonts"); - pInfo->AddPath("/usr/share/X11/fonts/Type1"); - pInfo->AddPath("/usr/share/X11/fonts/TTF"); + pInfo->AddPath("/usr/X11R6/lib/X11/fonts/Type1"); + pInfo->AddPath("/usr/X11R6/lib/X11/fonts/TTF"); pInfo->AddPath("/usr/local/share/fonts"); } return pInfo; diff --git a/www/ungoogled-chromium/files/patch-third__party_pdfium_pdfium.gni b/www/ungoogled-chromium/files/patch-third__party_pdfium_pdfium.gni index d6381d33d027..03909d27b543 100644 --- a/www/ungoogled-chromium/files/patch-third__party_pdfium_pdfium.gni +++ b/www/ungoogled-chromium/files/patch-third__party_pdfium_pdfium.gni @@ -1,11 +1,11 @@ ---- third_party/pdfium/pdfium.gni.orig 2026-04-15 11:25:12 UTC +--- third_party/pdfium/pdfium.gni.orig 2026-08-13 07:41:05 UTC +++ third_party/pdfium/pdfium.gni -@@ -42,7 +42,7 @@ declare_args() { +@@ -45,7 +45,7 @@ declare_args() { # PDFium will use PartitionAlloc partitions to separate strings, scalars, # etc. from other allocations. However, the use of PartitionAlloc for new or # malloc is controlled by args in build_overrides/partition_alloc.gni. - pdf_use_partition_alloc = pdf_use_partition_alloc_override + pdf_use_partition_alloc = pdf_use_partition_alloc_override && use_partition_alloc_as_malloc # Build PDFium to use AGG (fully supported). pdf_use_agg = true diff --git a/www/ungoogled-chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h b/www/ungoogled-chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h index f95f0db8403b..685211dbc7db 100644 --- a/www/ungoogled-chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h +++ b/www/ungoogled-chromium/files/patch-third__party_perfetto_include_perfetto_base_time.h @@ -1,11 +1,11 @@ ---- third_party/perfetto/include/perfetto/base/time.h.orig 2026-01-16 13:40:34 UTC +--- third_party/perfetto/include/perfetto/base/time.h.orig 2026-08-13 07:41:05 UTC +++ third_party/perfetto/include/perfetto/base/time.h -@@ -242,7 +242,7 @@ inline TimeNanos GetWallTimeNs() { +@@ -294,7 +294,7 @@ inline TimeNanos GetWallTimeNs() { } inline TimeNanos GetWallTimeRawNs() { -#if (PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) || PERFETTO_BUILDFLAG(PERFETTO_OS_OPENBSD)) // Note: CLOCK_MONOTONIC_RAW is a Linux extension. // FreeBSD doesn't implement it and its CLOCK_MONOTONIC_FAST // doesnt implement the same semantics as CLOCK_MONOTONIC_RAW. diff --git a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_file__utils.cc b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_file__utils.cc index b7be274021fa..c28601cd2ebb 100644 --- a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_file__utils.cc +++ b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_file__utils.cc @@ -1,28 +1,28 @@ ---- third_party/perfetto/src/base/file_utils.cc.orig 2026-06-05 13:45:06 UTC +--- third_party/perfetto/src/base/file_utils.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/perfetto/src/base/file_utils.cc @@ -60,8 +60,10 @@ #include #endif -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_OPENBSD) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) // For inotify. QNX doesn't have full support for inotify_init1(). #include #endif -@@ -640,8 +642,10 @@ std::optional GetFileSize(PlatformHandle fd) +@@ -649,8 +651,10 @@ std::optional GetFileSize(PlatformHandle fd) // LinuxFileWatch -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_OPENBSD) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) namespace { diff --git a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_utils.cc b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_utils.cc index 51a96192e643..06707a16f6fe 100644 --- a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_utils.cc +++ b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_base_utils.cc @@ -1,47 +1,47 @@ ---- third_party/perfetto/src/base/utils.cc.orig 2026-01-16 13:40:34 UTC +--- third_party/perfetto/src/base/utils.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/perfetto/src/base/utils.cc @@ -43,7 +43,8 @@ #include #endif -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) #include -@@ -294,14 +295,22 @@ void Daemonize(std::function parent_cb) { +@@ -293,14 +294,22 @@ void Daemonize(std::function parent_cb) { std::string GetCurExecutablePath() { std::string self_path; -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA) + PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) char buf[PATH_MAX]; ssize_t size = readlink("/proc/self/exe", buf, sizeof(buf)); PERFETTO_CHECK(size != -1); // readlink does not null terminate. self_path = std::string(buf, static_cast(size)); +#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + char *buf; + const char *cpath = "/usr/local/chrome/chrome"; + if ((buf = getenv("CHROME_EXE_PATH")) != NULL) + self_path = std::string(buf); + else + self_path = std::string(cpath); #elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) uint32_t size = 0; PERFETTO_CHECK(_NSGetExecutablePath(nullptr, &size)); -@@ -365,7 +374,8 @@ void AlignedFree(void* ptr) { +@@ -364,7 +373,8 @@ void AlignedFree(void* ptr) { } bool IsSyncMemoryTaggingEnabled() { -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) // Compute only once per lifetime of the process. static bool cached_value = [] { diff --git a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_tracing_track.cc b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_tracing_track.cc index 7dc2f5128864..c325dd79cc73 100644 --- a/www/ungoogled-chromium/files/patch-third__party_perfetto_src_tracing_track.cc +++ b/www/ungoogled-chromium/files/patch-third__party_perfetto_src_tracing_track.cc @@ -1,23 +1,23 @@ ---- third_party/perfetto/src/tracing/track.cc.orig 2025-10-21 16:57:35 UTC +--- third_party/perfetto/src/tracing/track.cc.orig 2026-08-13 07:41:05 UTC +++ third_party/perfetto/src/tracing/track.cc @@ -60,8 +60,9 @@ protos::gen::TrackDescriptor ProcessTrack::Serialize() auto desc = Track::Serialize(); auto pd = desc.mutable_process(); pd->set_pid(static_cast(pid)); -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) std::string cmdline; if (base::ReadFile("/proc/self/cmdline", &cmdline)) { // Since cmdline is a zero-terminated list of arguments, this ends up -@@ -179,7 +180,7 @@ namespace internal { +@@ -176,7 +177,7 @@ namespace internal { namespace { uint64_t GetProcessStartTime() { -#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) +#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) std::string stat; if (!base::ReadFile("/proc/self/stat", &stat)) return 0u; diff --git a/www/ungoogled-chromium/files/patch-third__party_skia_rust_png_FFI.rs b/www/ungoogled-chromium/files/patch-third__party_skia_rust_png_FFI.rs index 8700cc1c325c..9b9d99c60798 100644 --- a/www/ungoogled-chromium/files/patch-third__party_skia_rust_png_FFI.rs +++ b/www/ungoogled-chromium/files/patch-third__party_skia_rust_png_FFI.rs @@ -1,23 +1,23 @@ ---- third_party/skia/rust/png/FFI.rs.orig 2026-02-15 10:01:45 UTC +--- third_party/skia/rust/png/FFI.rs.orig 2026-08-13 07:41:05 UTC +++ third_party/skia/rust/png/FFI.rs -@@ -222,6 +222,7 @@ mod ffi { +@@ -230,6 +230,7 @@ mod ffi { type StreamWriter; fn write(self: &mut StreamWriter, data: &[u8]) -> EncodingResult; fn finish_encoding(stream_writer: Box) -> EncodingResult; + fn initialize_cpudetect(); } } -@@ -940,4 +941,12 @@ fn new_writer( +@@ -1151,4 +1152,12 @@ fn new_writer( /// See also https://docs.rs/png/latest/png/struct.StreamWriter.html#method.finish fn finish_encoding(stream_writer: Box) -> ffi::EncodingResult { stream_writer.0.finish().as_ref().err().into() +} + +#[allow(unused_variables)] +fn initialize_cpudetect() { + #[cfg(any(target_arch = "aarch64", target_arch = "arm64ec"))] + let a = std::arch::is_aarch64_feature_detected!("crc"); + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + let a = std::arch::is_x86_feature_detected!("sse2"); } diff --git a/www/ungoogled-chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h b/www/ungoogled-chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h index 9395e1502eab..4cae60164dda 100644 --- a/www/ungoogled-chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h +++ b/www/ungoogled-chromium/files/patch-third__party_speech-dispatcher_libspeechd__version.h @@ -1,32 +1,32 @@ ---- third_party/speech-dispatcher/libspeechd_version.h.orig 2026-06-05 14:13:43 UTC +--- third_party/speech-dispatcher/libspeechd_version.h.orig 2026-08-13 07:41:05 UTC +++ third_party/speech-dispatcher/libspeechd_version.h @@ -0,0 +1,29 @@ +/* + * libspeechd_version.h - Shared library for easy access to Speech Dispatcher functions (header) + * + * Copyright (C) 2001, 2002, 2003, 2004 Brailcom, o.p.s. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1, or (at your option) + * any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * -+ * $Id: patch-third_party_speech-dispatcher_libspeechd_version_h,v 1.30 2026/06/05 13:41:55 robert Exp $ ++ * $Id: patch-third_party_speech-dispatcher_libspeechd_version_h,v 1.32 2026/08/04 11:13:16 robert Exp $ + */ + +#ifndef _LIBSPEECHD_VERSION_H +#define _LIBSPEECHD_VERSION_H + +#define LIBSPEECHD_MAJOR_VERSION 0 +#define LIBSPEECHD_MINOR_VERSION 11 +#define LIBSPEECHD_MICRO_VERSION 5 + +#endif /* ifndef _LIBSPEECHD_VERSION_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_sqlite_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_sqlite_BUILD.gn index 3261732a101b..e9e7901f30b8 100644 --- a/www/ungoogled-chromium/files/patch-third__party_sqlite_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_sqlite_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/sqlite/BUILD.gn.orig 2025-03-09 21:38:10 UTC +--- third_party/sqlite/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/sqlite/BUILD.gn -@@ -155,7 +155,7 @@ config("sqlite_warnings") { +@@ -159,7 +159,7 @@ config("sqlite_warnings") { ] } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { cflags += [ # SQLite doesn't believe in compiler warnings, preferring testing. # http://www.sqlite.org/faq.html#q17 diff --git a/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c b/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c index 8f1c6b335186..30891645fd49 100644 --- a/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c +++ b/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation__dev_sqlite3.c @@ -1,11 +1,11 @@ ---- third_party/sqlite/src/amalgamation_dev/sqlite3.c.orig 2026-05-09 18:09:27 UTC +--- third_party/sqlite/src/amalgamation_dev/sqlite3.c.orig 2026-08-13 07:41:05 UTC +++ third_party/sqlite/src/amalgamation_dev/sqlite3.c -@@ -14770,7 +14770,7 @@ struct fts5_api { +@@ -15161,7 +15161,7 @@ struct fts5_api { ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit ** it. */ -#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) +#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__FreeBSD__) # define _XOPEN_SOURCE 600 #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c b/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c index 28e4844d507f..6fbcfb0f32ad 100644 --- a/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c +++ b/www/ungoogled-chromium/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c @@ -1,32 +1,32 @@ ---- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2026-05-09 18:09:27 UTC +--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2026-08-13 07:41:05 UTC +++ third_party/sqlite/src/amalgamation/sqlite3.c -@@ -14770,7 +14770,7 @@ struct fts5_api { +@@ -15161,7 +15161,7 @@ struct fts5_api { ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit ** it. */ -#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) +#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__FreeBSD__) # define _XOPEN_SOURCE 600 #endif -@@ -46304,7 +46304,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB +@@ -47271,7 +47271,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB memset(zBuf, 0, nBuf); randomnessPid = osGetpid(0); #if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS) +#if defined(__OpenBSD__) { + arc4random_buf(zBuf, nBuf); + } +#else + { int fd, got; fd = robust_open("/dev/urandom", O_RDONLY, 0); if( fd<0 ){ -@@ -46319,6 +46324,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB +@@ -47286,6 +47291,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB robust_close(0, fd, __LINE__); } } +#endif #endif return nBuf; } diff --git a/www/ungoogled-chromium/files/patch-third__party_tflite_features.gni b/www/ungoogled-chromium/files/patch-third__party_tflite_features.gni index 1c1f20980b1a..c0eb3f9dfdd6 100644 --- a/www/ungoogled-chromium/files/patch-third__party_tflite_features.gni +++ b/www/ungoogled-chromium/files/patch-third__party_tflite_features.gni @@ -1,11 +1,11 @@ ---- third_party/tflite/features.gni.orig 2026-06-05 13:45:06 UTC +--- third_party/tflite/features.gni.orig 2026-08-13 07:41:05 UTC +++ third_party/tflite/features.gni -@@ -14,7 +14,7 @@ declare_args() { +@@ -15,7 +15,7 @@ declare_args() { use_litert_tflite = false # This enables building TFLite with XNNPACK. - build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia + build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia && !is_bsd # Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp. build_tflite_with_ruy = true diff --git a/www/ungoogled-chromium/files/patch-third__party_webrtc_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_webrtc_BUILD.gn index ae8278aff34a..3c50eb751683 100644 --- a/www/ungoogled-chromium/files/patch-third__party_webrtc_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_webrtc_BUILD.gn @@ -1,12 +1,12 @@ ---- third_party/webrtc/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- third_party/webrtc/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/webrtc/BUILD.gn -@@ -242,6 +242,9 @@ config("common_inherited_config") { +@@ -256,6 +256,9 @@ config("common_inherited_config") { if (is_linux || is_chromeos) { defines += [ "WEBRTC_LINUX" ] } + if (is_bsd) { + defines += [ "WEBRTC_BSD" ] + } if (is_mac) { defines += [ "WEBRTC_MAC" ] } diff --git a/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn index b3d1c6526290..61afb2870dd4 100644 --- a/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/webrtc/modules/desktop_capture/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- third_party/webrtc/modules/desktop_capture/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ third_party/webrtc/modules/desktop_capture/BUILD.gn -@@ -429,6 +429,8 @@ rtc_library("desktop_capture") { +@@ -712,6 +712,8 @@ rtc_library("desktop_capture") { "Xrender", "Xtst", + "X11-xcb", + "xcb-shm" ] } diff --git a/www/ungoogled-chromium/files/patch-third__party_widevine_cdm_widevine.gni b/www/ungoogled-chromium/files/patch-third__party_widevine_cdm_widevine.gni index 02d7f45f10ef..a7dd0eb58e5a 100644 --- a/www/ungoogled-chromium/files/patch-third__party_widevine_cdm_widevine.gni +++ b/www/ungoogled-chromium/files/patch-third__party_widevine_cdm_widevine.gni @@ -1,11 +1,11 @@ ---- third_party/widevine/cdm/widevine.gni.orig 2026-06-05 13:45:06 UTC +--- third_party/widevine/cdm/widevine.gni.orig 2026-08-13 07:41:05 UTC +++ third_party/widevine/cdm/widevine.gni -@@ -28,6 +28,8 @@ library_widevine_cdm_available = +@@ -27,6 +27,8 @@ library_widevine_cdm_available = (is_chromeos && (target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) || (target_os == "linux" && (target_cpu == "x64" || target_cpu == "arm64")) || + (target_os == "openbsd" && target_cpu == "x64") || + (target_os == "freebsd" && target_cpu == "x64") || (target_os == "mac" && (target_cpu == "x64" || target_cpu == "arm64")) || (target_os == "win" && (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64")) diff --git a/www/ungoogled-chromium/files/patch-tools_gn_build_gen.py b/www/ungoogled-chromium/files/patch-tools_gn_build_gen.py index 5729e0d1f598..cb08703fdf7b 100644 --- a/www/ungoogled-chromium/files/patch-tools_gn_build_gen.py +++ b/www/ungoogled-chromium/files/patch-tools_gn_build_gen.py @@ -1,34 +1,34 @@ ---- tools/gn/build/gen.py.orig 2026-05-09 18:09:27 UTC +--- tools/gn/build/gen.py.orig 2026-08-13 07:41:05 UTC +++ tools/gn/build/gen.py -@@ -94,6 +94,12 @@ class Platform(object): +@@ -90,6 +90,12 @@ class Platform(object): def is_solaris(self): return self._platform == 'solaris' + def is_openbsd(self): + return self._platform == 'openbsd' + + def is_freebsd(self): + return self._platform == 'freebsd' + def is_posix(self): return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd', 'serenity'] -@@ -314,7 +320,7 @@ def WriteGenericNinja(path, static_libraries, executab +@@ -318,7 +324,7 @@ def WriteGenericNinja(path, static_libraries, executab 'linux': 'build_linux.ninja.template', 'freebsd': 'build_linux.ninja.template', 'aix': 'build_aix.ninja.template', - 'openbsd': 'build_openbsd.ninja.template', + 'openbsd': 'build_linux.ninja.template', 'haiku': 'build_haiku.ninja.template', 'solaris': 'build_linux.ninja.template', 'netbsd': 'build_linux.ninja.template', -@@ -560,6 +566,9 @@ def WriteGNNinja(path, platform, host, options, args_l +@@ -582,6 +588,9 @@ def WriteGNNinja(path, platform, host, options, args_l if platform.is_posix() and not platform.is_haiku(): ldflags.append('-pthread') + + if platform.is_openbsd(): + libs.append('-lkvm') if platform.is_mingw() or platform.is_msys(): cflags.extend(['-DUNICODE', diff --git a/www/ungoogled-chromium/files/patch-tools_metrics_BUILD.gn b/www/ungoogled-chromium/files/patch-tools_metrics_BUILD.gn new file mode 100644 index 000000000000..1b8928cd5033 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-tools_metrics_BUILD.gn @@ -0,0 +1,19 @@ +--- tools/metrics/BUILD.gn.orig 2026-08-13 07:41:05 UTC ++++ tools/metrics/BUILD.gn +@@ -41,11 +41,11 @@ group("metrics_metadata") { + ] + + # Only include histograms_xml if we have access to dirmd data, which +- # is used to populate ownership information. This is only set to false +- # for non-git checkouts. +- # TODO(crbug.com/329080012): Remove this once dirmd works in non-git +- # checkouts. +- if (generate_location_tags) { ++ # is used to populate ownership information. This is disabled ++ # for non-git checkouts, as dirmd doesn't work on non-git checkout. ++ # TODO(crbug.com/329080012): Remove this condition once dirmd works ++ # in non-git checkouts. ++ if (path_exists("//.git")) { + deps += [ ":histograms_xml" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/www/ungoogled-chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn index 713445e155a1..f7c6309d7fab 100644 --- a/www/ungoogled-chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn @@ -1,20 +1,20 @@ ---- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2026-04-15 11:25:12 UTC +--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ tools/perf/chrome_telemetry_build/BUILD.gn @@ -56,7 +56,7 @@ group("telemetry_chrome_test") { data_deps += [ "//chrome:reorder_imports" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms" ] # CrOS currently has issues with the locally compiled version of -@@ -199,7 +199,7 @@ group("telemetry_chrome_test_without_chrome") { +@@ -200,7 +200,7 @@ group("telemetry_chrome_test_without_chrome") { ] # Cr-Fuchsia doesn't support breakpad. - if (!is_win && !is_fuchsia) { + if (!is_win && !is_fuchsia && !is_bsd) { data_deps += [ # This is defined for Windows, but is unused by Telemetry on # Windows, and including it can have issues when cross-compiling diff --git a/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.cc b/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.cc index 56e207008e1a..185980588c28 100644 --- a/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.cc +++ b/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.cc @@ -1,20 +1,20 @@ ---- ui/accessibility/accessibility_features.cc.orig 2026-06-05 13:45:06 UTC +--- ui/accessibility/accessibility_features.cc.orig 2026-08-13 07:41:05 UTC +++ ui/accessibility/accessibility_features.cc -@@ -458,7 +458,7 @@ bool IsScreenAITestModeEnabled() { +@@ -480,7 +480,7 @@ bool IsScreenAITestModeEnabled() { return base::FeatureList::IsEnabled(::features::kScreenAITestMode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kScreenAIPartitionAllocAdvancedChecksEnabled, base::FEATURE_DISABLED_BY_DEFAULT); #endif -@@ -499,7 +499,7 @@ bool IsMacAccessibilityTextOperationEnabled() { +@@ -521,7 +521,7 @@ bool IsMacAccessibilityTextOperationEnabled() { } #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) BASE_FEATURE(kWasmTtsEngineAutoInstallDisabled, base::FEATURE_DISABLED_BY_DEFAULT); bool IsWasmTtsEngineAutoInstallDisabled() { diff --git a/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.h b/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.h index 98d565f353e8..0542732e1ced 100644 --- a/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.h +++ b/www/ungoogled-chromium/files/patch-ui_accessibility_accessibility__features.h @@ -1,20 +1,20 @@ ---- ui/accessibility/accessibility_features.h.orig 2026-06-05 13:45:06 UTC +--- ui/accessibility/accessibility_features.h.orig 2026-08-13 07:41:05 UTC +++ ui/accessibility/accessibility_features.h -@@ -361,7 +361,7 @@ AX_BASE_EXPORT bool IsScreenAIOCREnabled(); +@@ -376,7 +376,7 @@ AX_BASE_EXPORT bool IsScreenAIOCREnabled(); AX_BASE_EXPORT BASE_DECLARE_FEATURE(kScreenAITestMode); AX_BASE_EXPORT bool IsScreenAITestModeEnabled(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables advanced partition allocation checks in ScreenAI service. // TODO(crbug.com/418199684): Remove when the bug is fixed. AX_BASE_EXPORT BASE_DECLARE_FEATURE( -@@ -393,7 +393,7 @@ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kMacAccessibilityT +@@ -408,7 +408,7 @@ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kMacAccessibilityT AX_BASE_EXPORT bool IsMacAccessibilityTextOperationEnabled(); #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) // Disable the wasm tts engine component to use dev version local extension // files. AX_BASE_EXPORT BASE_DECLARE_FEATURE(kWasmTtsEngineAutoInstallDisabled); diff --git a/www/ungoogled-chromium/files/patch-ui_accessibility_ax__node.h b/www/ungoogled-chromium/files/patch-ui_accessibility_ax__node.h index 64f6902411d5..7820f7b28723 100644 --- a/www/ungoogled-chromium/files/patch-ui_accessibility_ax__node.h +++ b/www/ungoogled-chromium/files/patch-ui_accessibility_ax__node.h @@ -1,11 +1,11 @@ ---- ui/accessibility/ax_node.h.orig 2026-05-09 18:09:27 UTC +--- ui/accessibility/ax_node.h.orig 2026-08-13 07:41:05 UTC +++ ui/accessibility/ax_node.h -@@ -580,7 +580,7 @@ class AX_EXPORT AXNode final { +@@ -584,7 +584,7 @@ class AX_EXPORT AXNode final { const std::vector>* GetExtraMacNodes() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AXNode* GetExtraAnnouncementNode( ax::mojom::AriaNotificationPriority priority_property) const; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-ui_base_accelerators_accelerator.cc b/www/ungoogled-chromium/files/patch-ui_base_accelerators_accelerator.cc index 2018df94898b..063b43886cfa 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_accelerators_accelerator.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_accelerators_accelerator.cc @@ -1,11 +1,11 @@ ---- ui/base/accelerators/accelerator.cc.orig 2025-09-10 13:22:16 UTC +--- ui/base/accelerators/accelerator.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/accelerators/accelerator.cc -@@ -335,7 +335,7 @@ std::vector Accelerator::GetLongFormMo +@@ -402,7 +402,7 @@ std::vector Accelerator::GetLongFormMo modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SEARCH_KEY)); #elif BUILDFLAG(IS_WIN) modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_WINDOWS_KEY)); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SUPER_KEY)); #else NOTREACHED(); diff --git a/www/ungoogled-chromium/files/patch-ui_base_accelerators_command.cc b/www/ungoogled-chromium/files/patch-ui_base_accelerators_command.cc index b3a7ba7207c5..39aa276c2544 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_accelerators_command.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_accelerators_command.cc @@ -1,11 +1,11 @@ ---- ui/base/accelerators/command.cc.orig 2026-01-16 13:40:34 UTC +--- ui/base/accelerators/command.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/accelerators/command.cc -@@ -80,7 +80,7 @@ std::string Command::CommandPlatform() { +@@ -81,7 +81,7 @@ std::string Command::CommandPlatform() { return ui::kKeybindingPlatformMac; #elif BUILDFLAG(IS_CHROMEOS) return ui::kKeybindingPlatformChromeOs; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ui::kKeybindingPlatformLinux; #elif BUILDFLAG(IS_FUCHSIA) // TODO(crbug.com/40220501): Change this once we decide what string should be diff --git a/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.cc b/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.cc index ed69ec5233df..3da24f9f7bc3 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.cc @@ -1,11 +1,11 @@ ---- ui/base/cursor/cursor_factory.cc.orig 2025-09-10 13:22:16 UTC +--- ui/base/cursor/cursor_factory.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/cursor/cursor_factory.cc -@@ -97,7 +97,7 @@ void CursorFactory::ObserveThemeChanges() { +@@ -98,7 +98,7 @@ void CursorFactory::ObserveThemeChanges() { NOTIMPLEMENTED(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Returns a cursor name compatible with either X11 or the FreeDesktop.org - // cursor spec ([1] and [2]), followed by fallbacks that can work as + bool IsValidCursorThemeName(std::string_view name) { + if (name.empty() || name == ".") { diff --git a/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.h b/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.h index ec848a4ff413..d3252ca265a1 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.h +++ b/www/ungoogled-chromium/files/patch-ui_base_cursor_cursor__factory.h @@ -1,11 +1,11 @@ ---- ui/base/cursor/cursor_factory.h.orig 2023-09-17 07:59:53 UTC +--- ui/base/cursor/cursor_factory.h.orig 2026-08-13 07:41:05 UTC +++ ui/base/cursor/cursor_factory.h -@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory { +@@ -94,7 +94,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory { base::ObserverList::Unchecked observers_; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(UI_BASE_CURSOR) std::vector CursorNamesFromType(mojom::CursorType type); - #endif + diff --git a/www/ungoogled-chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc b/www/ungoogled-chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc index 7c0a36b137c2..626a2e007a0a 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc @@ -1,11 +1,11 @@ ---- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2026-02-15 10:01:45 UTC +--- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/dragdrop/os_exchange_data_provider_non_backed.cc -@@ -104,7 +104,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData( +@@ -105,7 +105,7 @@ void OSExchangeDataProviderNonBacked::SetPickledData( std::optional OSExchangeDataProviderNonBacked::GetString() const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (HasFile()) { // Various Linux file managers both pass a list of file:// URIs and set the // string representation to the URI. We explicitly don't want to return use diff --git a/www/ungoogled-chromium/files/patch-ui_base_ime_text__input__client.h b/www/ungoogled-chromium/files/patch-ui_base_ime_text__input__client.h index c582eb725c88..54ebaeb45086 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_ime_text__input__client.h +++ b/www/ungoogled-chromium/files/patch-ui_base_ime_text__input__client.h @@ -1,11 +1,11 @@ ---- ui/base/ime/text_input_client.h.orig 2025-03-09 21:38:10 UTC +--- ui/base/ime/text_input_client.h.orig 2026-08-13 07:41:05 UTC +++ ui/base/ime/text_input_client.h -@@ -337,7 +337,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient { - // fields that are considered 'private' (e.g. in incognito tabs). - virtual bool ShouldDoLearning() = 0; +@@ -342,7 +342,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient { + virtual bool SupportsAutoFill() const; + #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Start composition over a given UTF-16 code range from existing text. This // should only be used for composition scenario when IME wants to start // composition on existing text. Returns whether the operation was successful. diff --git a/www/ungoogled-chromium/files/patch-ui_base_resource_resource__bundle.cc b/www/ungoogled-chromium/files/patch-ui_base_resource_resource__bundle.cc index 365edfad1515..ea48fba62d6e 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_resource_resource__bundle.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_resource_resource__bundle.cc @@ -1,11 +1,11 @@ ---- ui/base/resource/resource_bundle.cc.orig 2026-06-05 13:45:06 UTC +--- ui/base/resource/resource_bundle.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/resource/resource_bundle.cc -@@ -995,7 +995,7 @@ void ResourceBundle::ReloadFonts() { +@@ -999,7 +999,7 @@ void ResourceBundle::ReloadFonts() { } ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return max_scale_factor_; #else return GetMaxSupportedResourceScaleFactor(); diff --git a/www/ungoogled-chromium/files/patch-ui_base_test_ui__controls.h b/www/ungoogled-chromium/files/patch-ui_base_test_ui__controls.h index 0eb0d9eff10a..365660ccd577 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_test_ui__controls.h +++ b/www/ungoogled-chromium/files/patch-ui_base_test_ui__controls.h @@ -1,11 +1,11 @@ ---- ui/base/test/ui_controls.h.orig 2026-04-15 11:25:12 UTC +--- ui/base/test/ui_controls.h.orig 2026-08-13 07:41:05 UTC +++ ui/base/test/ui_controls.h -@@ -196,7 +196,7 @@ bool SendTouchEventsNotifyWhenDone(int action, +@@ -191,7 +191,7 @@ bool SendTouchEventsNotifyWhenDone(int action, base::OnceClosure task); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Forces the platform implementation to use screen coordinates, even if they're // not really available, the next time that ui_controls::SendMouseMove() or // ui_controls::SendMouseMoveNotifyWhenDone() is called, or some other method diff --git a/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.cc b/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.cc index b2c11a6ef2a8..22792a3b3941 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.cc @@ -1,29 +1,29 @@ ---- ui/base/ui_base_features.cc.orig 2026-06-05 13:45:06 UTC +--- ui/base/ui_base_features.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/ui_base_features.cc -@@ -119,7 +119,7 @@ BASE_FEATURE(kWaylandTextInputV3, base::FEATURE_ENABLE - BASE_FEATURE(kWaylandSessionManagement, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -142,7 +142,7 @@ BASE_FEATURE(kWaylandExternalBeginFrameSource, + base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kGlobalShortcutsPortalPreferredTrigger, base::FEATURE_DISABLED_BY_DEFAULT); #endif -@@ -175,7 +175,7 @@ BASE_FEATURE(kUiCompositorUsesLayerLists, base::FEATUR +@@ -198,7 +198,7 @@ BASE_FEATURE(kUiCompositorUsesLayerLists, base::FEATUR // Enables the use of a touch fling curve that is based on the behavior of // native apps on Windows. BASE_FEATURE(kExperimentalFlingAnimation, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -264,7 +264,7 @@ bool IsForcedColorsEnabled() { +@@ -293,7 +293,7 @@ bool IsForcedColorsEnabled() { // milestones. BASE_FEATURE(kEyeDropper, #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/ungoogled-chromium/files/patch-ui_base_ui__base__features.h b/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.h index ef7bc1430f89..77ab848021ef 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.h +++ b/www/ungoogled-chromium/files/patch-ui_base_ui__base__features.h @@ -1,11 +1,11 @@ ---- ui/base/ui_base_features.h.orig 2026-06-05 13:45:06 UTC +--- ui/base/ui_base_features.h.orig 2026-08-13 07:41:05 UTC +++ ui/base/ui_base_features.h -@@ -134,7 +134,7 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kWaylandSessionManagement); +@@ -147,7 +147,7 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) + BASE_DECLARE_FEATURE(kWaylandExternalBeginFrameSource); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kGlobalShortcutsPortalPreferredTrigger); #endif diff --git a/www/ungoogled-chromium/files/patch-ui_base_webui_web__ui__util.cc b/www/ungoogled-chromium/files/patch-ui_base_webui_web__ui__util.cc index 62e03a6852af..49cdc3cbc375 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_webui_web__ui__util.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_webui_web__ui__util.cc @@ -1,20 +1,20 @@ ---- ui/base/webui/web_ui_util.cc.orig 2025-09-10 13:22:16 UTC +--- ui/base/webui/web_ui_util.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/webui/web_ui_util.cc -@@ -42,7 +42,7 @@ namespace { +@@ -43,7 +43,7 @@ namespace { constexpr float kMaxScaleFactor = 1000.0f; std::string GetFontFamilyMd() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "Roboto, " + GetFontFamily(); #else return GetFontFamily(); -@@ -217,7 +217,7 @@ void AppendWebUiCssTextDefaults(std::string* html) { +@@ -223,7 +223,7 @@ void AppendWebUiCssTextDefaults(std::string* html) { std::string GetFontFamily() { std::string font_family = l10n_util::GetStringUTF8(IDS_WEB_FONT_FAMILY); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string font_name = ui::ResourceBundle::GetSharedInstance() .GetFont(ui::ResourceBundle::BaseFont) .GetFontName(); diff --git a/www/ungoogled-chromium/files/patch-ui_base_x_selection__owner.cc b/www/ungoogled-chromium/files/patch-ui_base_x_selection__owner.cc index 70d3eb809856..3acd67b683f3 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_x_selection__owner.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_x_selection__owner.cc @@ -1,38 +1,38 @@ ---- ui/base/x/selection_owner.cc.orig 2026-05-09 18:09:27 UTC +--- ui/base/x/selection_owner.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/x/selection_owner.cc -@@ -18,7 +18,7 @@ +@@ -19,7 +19,7 @@ #include "ui/gfx/x/window_event_manager.h" #include "ui/gfx/x/xproto.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/strings/string_view_util.h" #include "ui/base/clipboard/clipboard_constants.h" #include "ui/base/clipboard/clipboard_util_linux.h" -@@ -117,7 +117,7 @@ void SelectionOwner::RetrieveTargets(std::vectorSendEvent(reply, requestor, x11::EventMask::NoEvent); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SelectionOwner::OnPortalPathsRegistered(x11::SelectionRequestEvent request, std::string key) { x11::SelectionNotifyEvent reply{ diff --git a/www/ungoogled-chromium/files/patch-ui_base_x_x11__cursor__loader.cc b/www/ungoogled-chromium/files/patch-ui_base_x_x11__cursor__loader.cc index 0024be3b2ec6..c41e5a9b17a5 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_x_x11__cursor__loader.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_x_x11__cursor__loader.cc @@ -1,41 +1,41 @@ ---- ui/base/x/x11_cursor_loader.cc.orig 2026-06-12 07:58:04 UTC +--- ui/base/x/x11_cursor_loader.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/x/x11_cursor_loader.cc -@@ -37,7 +37,7 @@ +@@ -39,7 +39,7 @@ #include "ui/gfx/x/connection.h" #include "ui/gfx/x/xproto.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -79,7 +79,11 @@ std::string CursorPathFromLibXcursor() { +@@ -81,7 +81,11 @@ std::string CursorPathFromLibXcursor() { void operator()(void* ptr) const { dlclose(ptr); } }; +#if BUILDFLAG(IS_BSD) + std::unique_ptr lib(dlopen("libXcursor.so", RTLD_LAZY)); +#else std::unique_ptr lib(dlopen("libXcursor.so.1", RTLD_LAZY)); +#endif if (!lib) return ""; @@ -234,7 +238,7 @@ scoped_refptr ReadCursorFile( const std::string& rm_xcursor_theme) { constexpr const char kDefaultTheme[] = "default"; std::string themes[] = { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The toolkit theme has the highest priority. LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName() : std::string(), @@ -428,7 +432,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const return size; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Let the toolkit have the next say. auto* linux_ui = LinuxUi::instance(); size = linux_ui ? linux_ui->GetCursorThemeSize() : 0; diff --git a/www/ungoogled-chromium/files/patch-ui_base_x_x11__shm__image__pool.cc b/www/ungoogled-chromium/files/patch-ui_base_x_x11__shm__image__pool.cc index 145854891b17..852ca4bcb6ba 100644 --- a/www/ungoogled-chromium/files/patch-ui_base_x_x11__shm__image__pool.cc +++ b/www/ungoogled-chromium/files/patch-ui_base_x_x11__shm__image__pool.cc @@ -1,71 +1,71 @@ ---- ui/base/x/x11_shm_image_pool.cc.orig 2025-01-25 09:34:31 UTC +--- ui/base/x/x11_shm_image_pool.cc.orig 2026-08-13 07:41:05 UTC +++ ui/base/x/x11_shm_image_pool.cc @@ -16,6 +16,7 @@ #include "base/functional/callback.h" #include "base/location.h" #include "base/strings/string_util.h" +#include "base/system/sys_info.h" #include "build/build_config.h" #include "net/base/url_util.h" #include "ui/events/platform/platform_event_dispatcher.h" @@ -44,10 +45,14 @@ constexpr float kShmResizeShrinkThreshold = 1.0f / (kShmResizeThreshold * kShmResizeThreshold); std::size_t MaxShmSegmentSizeImpl() { +#if BUILDFLAG(IS_BSD) + return base::SysInfo::MaxSharedMemorySize(); +#else struct shminfo info; if (shmctl(0, IPC_INFO, reinterpret_cast(&info)) == -1) return 0; return info.shmmax; +#endif } std::size_t MaxShmSegmentSize() { @@ -56,14 +61,19 @@ std::size_t MaxShmSegmentSize() { } #if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_BSD) bool IsRemoteHost(const std::string& name) { if (name.empty()) return false; return !net::HostStringIsLocalhost(name); } +#endif bool ShouldUseMitShm(x11::Connection* connection) { +#if BUILDFLAG(IS_BSD) + return false; +#else // MIT-SHM may be available on remote connetions, but it will be unusable. Do // a best-effort check to see if the host is remote to disable the SHM // codepath. It may be possible in contrived cases for there to be a @@ -92,6 +102,7 @@ bool ShouldUseMitShm(x11::Connection* connection) { return false; return true; +#endif } #endif // !BUILDFLAG(IS_CHROMEOS) -@@ -182,7 +193,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size +@@ -191,7 +202,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size shmctl(state.shmid, IPC_RMID, nullptr); return false; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, a shmid can still be attached after IPC_RMID if otherwise // kept alive. Detach before XShmAttach to prevent a memory leak in case // the process dies. -@@ -201,7 +212,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size +@@ -210,7 +221,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size return false; state.shmseg = shmseg; state.shmem_attached_to_server = true; -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // The Linux-specific shmctl behavior above may not be portable, so we're // forced to do IPC_RMID after the server has attached to the segment. shmctl(state.shmid, IPC_RMID, nullptr); diff --git a/www/ungoogled-chromium/files/patch-ui_color_color__id.h b/www/ungoogled-chromium/files/patch-ui_color_color__id.h index a4caf4e5e023..620c0ad2cba9 100644 --- a/www/ungoogled-chromium/files/patch-ui_color_color__id.h +++ b/www/ungoogled-chromium/files/patch-ui_color_color__id.h @@ -1,11 +1,11 @@ ---- ui/color/color_id.h.orig 2026-06-05 13:45:06 UTC +--- ui/color/color_id.h.orig 2026-08-13 07:41:05 UTC +++ ui/color/color_id.h -@@ -664,7 +664,7 @@ +@@ -669,7 +669,7 @@ E_CPONLY(kColorCrosSysPositive) \ E_CPONLY(kColorCrosSysComplementVariant) \ E_CPONLY(kColorCrosSysInputFieldOnBase) -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define PLATFORM_SPECIFIC_COLOR_IDS \ E_CPONLY(kColorNativeBoxFrameBorder)\ E_CPONLY(kColorNativeHeaderButtonBorderActive) \ diff --git a/www/ungoogled-chromium/files/patch-ui_compositor_compositor.cc b/www/ungoogled-chromium/files/patch-ui_compositor_compositor.cc index a9a488f37d1e..99fe255b4ff4 100644 --- a/www/ungoogled-chromium/files/patch-ui_compositor_compositor.cc +++ b/www/ungoogled-chromium/files/patch-ui_compositor_compositor.cc @@ -1,11 +1,11 @@ ---- ui/compositor/compositor.cc.orig 2026-06-05 13:45:06 UTC +--- ui/compositor/compositor.cc.orig 2026-08-13 07:41:05 UTC +++ ui/compositor/compositor.cc -@@ -1000,7 +1000,7 @@ void Compositor::OnResume() { +@@ -994,7 +994,7 @@ void Compositor::OnResume() { obs.ResetIfActive(); } -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) { observer_list_.Notify( &CompositorObserver::OnCompositingCompleteSwapWithNewSize, this, size); diff --git a/www/ungoogled-chromium/files/patch-ui_compositor_compositor.h b/www/ungoogled-chromium/files/patch-ui_compositor_compositor.h index 60a405250b7b..55cccd589302 100644 --- a/www/ungoogled-chromium/files/patch-ui_compositor_compositor.h +++ b/www/ungoogled-chromium/files/patch-ui_compositor_compositor.h @@ -1,11 +1,11 @@ ---- ui/compositor/compositor.h.orig 2026-06-05 13:45:06 UTC +--- ui/compositor/compositor.h.orig 2026-08-13 07:41:05 UTC +++ ui/compositor/compositor.h -@@ -465,7 +465,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe +@@ -463,7 +463,7 @@ class COMPOSITOR_EXPORT Compositor // base::PowerSuspendObserver: void OnResume() override; -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void OnCompleteSwapWithNewSize(const gfx::Size& size); #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) diff --git a/www/ungoogled-chromium/files/patch-ui_events_event.cc b/www/ungoogled-chromium/files/patch-ui_events_event.cc index 67eb7ac8a462..3a5348b81042 100644 --- a/www/ungoogled-chromium/files/patch-ui_events_event.cc +++ b/www/ungoogled-chromium/files/patch-ui_events_event.cc @@ -1,29 +1,29 @@ ---- ui/events/event.cc.orig 2026-05-09 18:09:27 UTC +--- ui/events/event.cc.orig 2026-08-13 07:41:05 UTC +++ ui/events/event.cc -@@ -373,7 +373,7 @@ std::string LocatedEvent::ToString() const { +@@ -408,7 +408,7 @@ std::string LocatedEvent::ToString() const { MouseEvent::MouseEvent(const PlatformEvent& native_event) : LocatedEvent(native_event), changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)), -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) movement_(GetMouseMovementFromNative(native_event)), #endif pointer_details_(GetMousePointerDetailsFromNative(native_event)) { -@@ -629,7 +629,7 @@ std::unique_ptr MouseWheelEvent::Clone() const +@@ -664,7 +664,7 @@ std::unique_ptr MouseWheelEvent::Clone() const return std::make_unique(*this); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This value matches Windows, Fuchsia WHEEL_DELTA, and (roughly) Firefox on // Linux. // static -@@ -892,7 +892,7 @@ void KeyEvent::InitializeNative() { +@@ -927,7 +927,7 @@ void KeyEvent::InitializeNative() { SetFlags(flags() | EF_IS_REPEAT); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) NormalizeFlags(); #elif BUILDFLAG(IS_WIN) // Only Windows has native character events. diff --git a/www/ungoogled-chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h b/www/ungoogled-chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h index 70f2360386bf..98f1602dcd28 100644 --- a/www/ungoogled-chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h +++ b/www/ungoogled-chromium/files/patch-ui_events_keycodes_dom_keycode__converter.h @@ -1,11 +1,11 @@ ---- ui/events/keycodes/dom/keycode_converter.h.orig 2024-06-22 08:49:42 UTC +--- ui/events/keycodes/dom/keycode_converter.h.orig 2026-08-13 07:41:05 UTC +++ ui/events/keycodes/dom/keycode_converter.h -@@ -64,7 +64,7 @@ class KeycodeConverter { +@@ -65,7 +65,7 @@ class KeycodeConverter { // Convert a DomCode into a native keycode. static int DomCodeToNativeKeycode(DomCode code); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) // Convert a XKB keycode into a DomCode. static DomCode XkbKeycodeToDomCode(uint32_t xkb_keycode); diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params.h b/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params.h index 4eb0b008fec2..d4e859a97219 100644 --- a/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params.h +++ b/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params.h @@ -1,20 +1,26 @@ ---- ui/gfx/font_render_params.h.orig 2025-01-25 09:34:31 UTC +--- ui/gfx/font_render_params.h.orig 2026-08-13 07:41:05 UTC +++ ui/gfx/font_render_params.h -@@ -115,7 +115,7 @@ COMPONENT_EXPORT(GFX) +@@ -115,12 +115,12 @@ COMPONENT_EXPORT(GFX) FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query, std::string* family_out); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are - // changing Fontconfig's configuration. - COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheForTest(); -@@ -125,7 +125,7 @@ COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheF + // Clears GetFontRenderParams()'s cache. + COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCache(); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/517630459) Return this to `ForTesting()` after per display + // subpixel rendering is implemented. + COMPONENT_EXPORT(GFX) bool GetFontRenderParamsSubpixelRenderingEnabled(); +@@ -130,7 +130,7 @@ COMPONENT_EXPORT(GFX) bool GetFontRenderParamsSubpixel COMPONENT_EXPORT(GFX) float GetFontRenderParamsDeviceScaleFactor(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Sets the device scale factor for FontRenderParams to decide // if it should enable subpixel positioning. COMPONENT_EXPORT(GFX) diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params__linux.cc b/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params__linux.cc index c5a030ac7f11..60d90de0a9ba 100644 --- a/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params__linux.cc +++ b/www/ungoogled-chromium/files/patch-ui_gfx_font__render__params__linux.cc @@ -1,20 +1,20 @@ ---- ui/gfx/font_render_params_linux.cc.orig 2025-12-06 13:30:52 UTC +--- ui/gfx/font_render_params_linux.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gfx/font_render_params_linux.cc @@ -24,7 +24,7 @@ #include "ui/gfx/linux/fontconfig_util.h" #include "ui/gfx/switches.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -233,7 +233,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP +@@ -237,7 +237,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP // Start with the delegate's settings, but let Fontconfig have the final say. FontRenderParams params; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { params = linux_ui->GetDefaultFontRenderParams(); } diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.cc b/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.cc index 4daecbee5a3e..60305ed8ba39 100644 --- a/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.cc +++ b/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.cc @@ -1,20 +1,56 @@ ---- ui/gfx/platform_font_skia.cc.orig 2025-09-10 13:22:16 UTC +--- ui/gfx/platform_font_skia.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gfx/platform_font_skia.cc @@ -29,7 +29,7 @@ #include "ui/gfx/system_fonts_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif @@ -170,7 +170,7 @@ void PlatformFontSkia::EnsuresDefaultFontIsInitialized weight = system_font.GetWeight(); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, LinuxUi is used to query the native toolkit (e.g. // GTK) for the default UI font. if (auto* linux_ui = ui::LinuxUi::instance()) { +@@ -329,7 +329,7 @@ const FontRenderParams& PlatformFontSkia::GetFontRende + TRACE_EVENT0("fonts", "PlatformFontSkia::GetFontRenderParams"); + float current_scale_factor = GetFontRenderParamsDeviceScaleFactor(); + bool force_query = false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const bool current_subpixel_rendering_enabled = + gfx::GetFontRenderParamsSubpixelRenderingEnabled(); + if (current_subpixel_rendering_enabled != subpixel_rendering_enabled_) { +@@ -346,7 +346,7 @@ const FontRenderParams& PlatformFontSkia::GetFontRende + query.device_scale_factor = current_scale_factor; + font_render_params_ = gfx::GetFontRenderParams(query, nullptr); + device_scale_factor_ = current_scale_factor; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + subpixel_rendering_enabled_ = current_subpixel_rendering_enabled; + #endif + } +@@ -399,7 +399,7 @@ void PlatformFontSkia::InitFromDetails(sk_spstyle_; + weight_ = other->weight_; + device_scale_factor_ = other->device_scale_factor_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + subpixel_rendering_enabled_ = other->subpixel_rendering_enabled_; + #endif + font_render_params_ = other->font_render_params_; diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.h b/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.h new file mode 100644 index 000000000000..3a506983d3c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ui_gfx_platform__font__skia.h @@ -0,0 +1,11 @@ +--- ui/gfx/platform_font_skia.h.orig 2026-08-13 07:41:05 UTC ++++ ui/gfx/platform_font_skia.h +@@ -101,7 +101,7 @@ class COMPONENT_EXPORT(GFX) PlatformFontSkia : public + int font_size_pixels_; + int style_; + float device_scale_factor_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool subpixel_rendering_enabled_ = true; + #endif + diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc index 5b593be8b830..415038e105b6 100644 --- a/www/ungoogled-chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc +++ b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__api__fuzzer.cc @@ -1,20 +1,20 @@ ---- ui/gfx/render_text_api_fuzzer.cc.orig 2025-01-25 09:34:31 UTC +--- ui/gfx/render_text_api_fuzzer.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gfx/render_text_api_fuzzer.cc -@@ -19,7 +19,7 @@ - #include "ui/gfx/font_util.h" - #include "ui/gfx/render_text.h" +@@ -24,7 +24,7 @@ + #include "base/test/test_support_android.h" + #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h" #endif -@@ -46,7 +46,7 @@ struct Environment { +@@ -59,7 +59,7 @@ struct Environment { CHECK(base::i18n::InitializeICU()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) test_fonts::SetUpFontconfig(); #endif gfx::InitializeFonts(); diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_render__text__fuzzer.cc b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__fuzzer.cc index 4529db0bf2e7..d31daa81af25 100644 --- a/www/ungoogled-chromium/files/patch-ui_gfx_render__text__fuzzer.cc +++ b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__fuzzer.cc @@ -1,20 +1,20 @@ ---- ui/gfx/render_text_fuzzer.cc.orig 2026-03-15 18:32:51 UTC +--- ui/gfx/render_text_fuzzer.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gfx/render_text_fuzzer.cc -@@ -17,7 +17,7 @@ - #include "ui/gfx/canvas.h" - #include "ui/gfx/font_util.h" +@@ -22,7 +22,7 @@ + #include "base/test/test_support_android.h" + #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h" #endif -@@ -40,7 +40,7 @@ struct Environment { +@@ -53,7 +53,7 @@ struct Environment { CHECK(base::i18n::InitializeICU()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) test_fonts::SetUpFontconfig(); #endif gfx::InitializeFonts(); diff --git a/www/ungoogled-chromium/files/patch-ui_gfx_render__text__harfbuzz.cc b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__harfbuzz.cc new file mode 100644 index 000000000000..d0d3aaa9dfc6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ui_gfx_render__text__harfbuzz.cc @@ -0,0 +1,11 @@ +--- ui/gfx/render_text_harfbuzz.cc.orig 2026-08-13 07:41:05 UTC ++++ ui/gfx/render_text_harfbuzz.cc +@@ -203,7 +203,7 @@ const char* GetPlatformColorEmojiFontName() { + return "Segoe UI Emoji"; + #elif BUILDFLAG(IS_APPLE) + return "Apple Color Emoji"; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return "Noto Color Emoji"; + #else + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-ui_gl_BUILD.gn b/www/ungoogled-chromium/files/patch-ui_gl_BUILD.gn index 6516c2c72e7b..0168e651b1cf 100644 --- a/www/ungoogled-chromium/files/patch-ui_gl_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-ui_gl_BUILD.gn @@ -1,11 +1,11 @@ ---- ui/gl/BUILD.gn.orig 2026-01-16 13:40:34 UTC +--- ui/gl/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ ui/gl/BUILD.gn -@@ -389,7 +389,7 @@ component("gl") { +@@ -429,7 +429,7 @@ component("gl") { ] } - if (is_android || is_chromeos || is_linux) { + if ((is_android || is_chromeos || is_linux) && !is_bsd) { # Windows doesn't support base::FileDescriptor. # libsync isn't supported or needed on MacOSX. # Fuchsia is excluded due to a libsync dependency and because it's diff --git a/www/ungoogled-chromium/files/patch-ui_gl_gl__implementation.cc b/www/ungoogled-chromium/files/patch-ui_gl_gl__implementation.cc index e08f67ac16f8..854a55587443 100644 --- a/www/ungoogled-chromium/files/patch-ui_gl_gl__implementation.cc +++ b/www/ungoogled-chromium/files/patch-ui_gl_gl__implementation.cc @@ -1,11 +1,11 @@ ---- ui/gl/gl_implementation.cc.orig 2026-01-16 13:40:34 UTC +--- ui/gl/gl_implementation.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gl/gl_implementation.cc -@@ -335,7 +335,7 @@ GetRequestedGLImplementationFromCommandLine( +@@ -331,7 +331,7 @@ GetRequestedGLImplementationFromCommandLine( const base::CommandLine* command_line) { bool overrideUseSoftwareGL = command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests); -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that diff --git a/www/ungoogled-chromium/files/patch-ui_gl_gl__switches.cc b/www/ungoogled-chromium/files/patch-ui_gl_gl__switches.cc index 572ea36bc552..5958b457aa5c 100644 --- a/www/ungoogled-chromium/files/patch-ui_gl_gl__switches.cc +++ b/www/ungoogled-chromium/files/patch-ui_gl_gl__switches.cc @@ -1,29 +1,29 @@ ---- ui/gl/gl_switches.cc.orig 2026-06-05 13:45:06 UTC +--- ui/gl/gl_switches.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gl/gl_switches.cc @@ -16,7 +16,7 @@ #endif #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) #include #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck #endif // BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || -@@ -312,7 +312,7 @@ bool IsDefaultANGLEVulkan() { +@@ -315,7 +315,7 @@ bool IsDefaultANGLEVulkan() { } #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) angle::SystemInfo system_info; { TRACE_EVENT("gpu,startup", "angle::GetSystemInfoVulkan"); -@@ -394,7 +394,7 @@ bool IsDefaultANGLEVulkan() { +@@ -397,7 +397,7 @@ bool IsDefaultANGLEVulkan() { } #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // AMDVLK driver is buggy, so disable Vulkan with AMDVLK for now. // crbug.com/1340081 if (active_gpu.driverId == VK_DRIVER_ID_AMD_OPEN_SOURCE) diff --git a/www/ungoogled-chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc b/www/ungoogled-chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc index dfbe9c848481..fb1eb1527cdb 100644 --- a/www/ungoogled-chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc +++ b/www/ungoogled-chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc @@ -1,12 +1,12 @@ ---- ui/gtk/select_file_dialog_linux_gtk.cc.orig 2026-05-09 18:09:27 UTC +--- ui/gtk/select_file_dialog_linux_gtk.cc.orig 2026-08-13 07:41:05 UTC +++ ui/gtk/select_file_dialog_linux_gtk.cc -@@ -50,7 +50,8 @@ namespace { +@@ -57,7 +57,8 @@ namespace { // GTK_RESPONSE_ACCEPT as the default button, which should be avoided to prevent // an exploit where the user is instructed to hold Enter before the dialog // appears. -constexpr GtkResponseType kResponseTypeAccept = static_cast(0); +// My god ^^^^^ WTF +constexpr GtkResponseType kResponseTypeAccept = static_cast(GTK_RESPONSE_ACCEPT); // TODO(crbug.com/41469294): These getters will be unnecessary after // migrating to GtkFileChooserNative. diff --git a/www/ungoogled-chromium/files/patch-ui_native__theme_native__theme__base.cc b/www/ungoogled-chromium/files/patch-ui_native__theme_native__theme__base.cc index ff6355812538..dc935956dfa7 100644 --- a/www/ungoogled-chromium/files/patch-ui_native__theme_native__theme__base.cc +++ b/www/ungoogled-chromium/files/patch-ui_native__theme_native__theme__base.cc @@ -1,11 +1,11 @@ ---- ui/native_theme/native_theme_base.cc.orig 2026-01-16 13:40:34 UTC +--- ui/native_theme/native_theme_base.cc.orig 2026-08-13 07:41:05 UTC +++ ui/native_theme/native_theme_base.cc -@@ -169,7 +169,7 @@ void NativeThemeBase::PaintImpl(cc::PaintCanvas* canva +@@ -167,7 +167,7 @@ void NativeThemeBase::PaintImpl(cc::PaintCanvas* canva std::get(extra_params), dark_mode, contrast, accent_color); break; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case kFrameTopArea: PaintFrameTopArea(canvas, state, rect, std::get(extra_params)); diff --git a/www/ungoogled-chromium/files/patch-ui_ozone_common_egl__util.cc b/www/ungoogled-chromium/files/patch-ui_ozone_common_egl__util.cc index 779077c0046d..62701a012b54 100644 --- a/www/ungoogled-chromium/files/patch-ui_ozone_common_egl__util.cc +++ b/www/ungoogled-chromium/files/patch-ui_ozone_common_egl__util.cc @@ -1,14 +1,14 @@ ---- ui/ozone/common/egl_util.cc.orig 2025-09-10 13:22:16 UTC +--- ui/ozone/common/egl_util.cc.orig 2026-08-13 07:41:05 UTC +++ ui/ozone/common/egl_util.cc -@@ -35,9 +35,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] = +@@ -37,9 +37,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] = FILE_PATH_LITERAL("libGLESv2.so"); #else // BUILDFLAG(IS_FUCHSIA) const base::FilePath::CharType kDefaultEglSoname[] = - FILE_PATH_LITERAL("libEGL.so.1"); + FILE_PATH_LITERAL("libEGL.so"); const base::FilePath::CharType kDefaultGlesSoname[] = - FILE_PATH_LITERAL("libGLESv2.so.2"); + FILE_PATH_LITERAL("libGLESv2.so"); #endif - #if !BUILDFLAG(USE_STATIC_ANGLE) + const base::FilePath::CharType kAngleEglSoname[] = diff --git a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_BUILD.gn b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_BUILD.gn index cf0e37d5e0cc..03d3f12f6495 100644 --- a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_BUILD.gn @@ -1,10 +1,10 @@ ---- ui/ozone/platform/wayland/BUILD.gn.orig 2025-12-06 13:30:52 UTC +--- ui/ozone/platform/wayland/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ ui/ozone/platform/wayland/BUILD.gn -@@ -246,7 +246,6 @@ source_set("wayland") { +@@ -248,7 +248,6 @@ source_set("wayland") { "//mojo/public/cpp/system", "//skia", "//third_party/angle:includes", - "//third_party/libsync", "//third_party/wayland:wayland_client", "//third_party/wayland:wayland_cursor", "//third_party/wayland:wayland_egl", diff --git a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__exchange__data__provider.cc b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__exchange__data__provider.cc index f6c2c42ed88d..ce8f21545bfe 100644 --- a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__exchange__data__provider.cc +++ b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__exchange__data__provider.cc @@ -1,47 +1,47 @@ ---- ui/ozone/platform/wayland/host/wayland_exchange_data_provider.cc.orig 2026-05-09 18:09:27 UTC +--- ui/ozone/platform/wayland/host/wayland_exchange_data_provider.cc.orig 2026-08-13 07:41:05 UTC +++ ui/ozone/platform/wayland/host/wayland_exchange_data_provider.cc -@@ -74,7 +74,7 @@ int MimeTypeToFormat(const std::string& mime_type) { +@@ -76,7 +76,7 @@ int MimeTypeToFormat(const std::string& mime_type) { if (mime_type == ui::kMimeTypeDataTransferCustomData) { return OSExchangeData::PICKLED_DATA; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (mime_type == ui::kMimeTypePortalFileTransfer || mime_type == ui::kMimeTypePortalFiles) { return OSExchangeData::PICKLED_DATA; -@@ -210,7 +210,7 @@ std::unique_ptr WaylandExchang +@@ -211,7 +211,7 @@ std::unique_ptr WaylandExchang const { auto clone = std::make_unique(); CopyData(clone.get()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) clone->additional_data_ = additional_data_; #endif return clone; -@@ -254,7 +254,7 @@ std::vector WaylandExchangeDataProvider:: +@@ -255,7 +255,7 @@ std::vector WaylandExchangeDataProvider:: mime_types.push_back(mime_type); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) for (const auto& item : additional_data_) { mime_types.push_back(item.first); } -@@ -272,7 +272,7 @@ void WaylandExchangeDataProvider::AddData(PlatformClip +@@ -273,7 +273,7 @@ void WaylandExchangeDataProvider::AddData(PlatformClip DCHECK(data); DCHECK(IsMimeTypeSupported(mime_type)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (mime_type == ui::kMimeTypePortalFileTransfer || mime_type == ui::kMimeTypePortalFiles) { additional_data_[mime_type] = base::as_string_view(*data); -@@ -345,7 +345,7 @@ bool WaylandExchangeDataProvider::ExtractData(const st +@@ -349,7 +349,7 @@ bool WaylandExchangeDataProvider::ExtractData(const st *out_content = std::string(pickle->AsStringView()); return true; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto it = additional_data_.find(mime_type); if (it != additional_data_.end()) { *out_content = it->second; diff --git a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc index 4c1d821bdd8d..6e77f80e6eeb 100644 --- a/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc +++ b/www/ungoogled-chromium/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc @@ -1,65 +1,65 @@ ---- ui/ozone/platform/wayland/host/wayland_frame_manager.cc.orig 2026-05-09 18:09:27 UTC +--- ui/ozone/platform/wayland/host/wayland_frame_manager.cc.orig 2026-08-13 07:41:05 UTC +++ ui/ozone/platform/wayland/host/wayland_frame_manager.cc @@ -5,7 +5,9 @@ #include "ui/ozone/platform/wayland/host/wayland_frame_manager.h" #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include -@@ -463,8 +465,10 @@ std::optional WaylandFrameManager::ApplySurfaceC +@@ -468,8 +470,10 @@ std::optional WaylandFrameManager::ApplySurfaceC surface->UpdateBufferDamageRegion( gfx::ToEnclosingRectIgnoringError(surface_damage)); +#if !BUILDFLAG(IS_BSD) if (!config.access_fence_handle.is_null()) surface->set_acquire_fence(std::move(config.access_fence_handle)); +#endif bool needs_commit = false; -@@ -496,6 +500,9 @@ std::optional WaylandFrameManager::ApplySurfaceC +@@ -501,6 +505,9 @@ std::optional WaylandFrameManager::ApplySurfaceC case WaylandBufferHandle::SyncMethod::kNone: break; case WaylandBufferHandle::SyncMethod::kSyncobj: +#if BUILDFLAG(IS_BSD) + LOG(WARNING) << "WaylandBufferHandle::SyncMethod::kSyncobj is not supported!"; +#endif surface->RequestExplicitRelease( base::BindOnce(&WaylandFrameManager::OnExplicitBufferRelease, weak_factory_.GetWeakPtr(), surface)); -@@ -503,6 +510,9 @@ std::optional WaylandFrameManager::ApplySurfaceC +@@ -508,6 +515,9 @@ std::optional WaylandFrameManager::ApplySurfaceC case WaylandBufferHandle::SyncMethod::kDMAFence: [[fallthrough]]; case WaylandBufferHandle::SyncMethod::kImplicit: +#if BUILDFLAG(IS_BSD) + LOG(WARNING) << "WaylandBufferHandle::SyncMethod::kSyncobj is not supported!"; +#endif buffer_handle->set_buffer_released_callback( base::BindOnce(&WaylandFrameManager::OnWlBufferRelease, weak_factory_.GetWeakPtr(), surface), -@@ -737,8 +747,10 @@ void WaylandFrameManager::OnExplicitBufferRelease(Wayl +@@ -766,8 +776,10 @@ void WaylandFrameManager::OnExplicitBufferRelease(Wayl if (fence.is_valid()) { if (frame->merged_release_fence_fd.is_valid()) { +#if !BUILDFLAG(IS_BSD) frame->merged_release_fence_fd.reset(sync_merge( "", frame->merged_release_fence_fd.get(), fence.get())); +#endif } else { frame->merged_release_fence_fd = std::move(fence); } -@@ -776,8 +788,10 @@ void WaylandFrameManager::OnWlBufferRelease(WaylandSur +@@ -805,8 +817,10 @@ void WaylandFrameManager::OnWlBufferRelease(WaylandSur if (fence.is_valid()) { if (frame->merged_release_fence_fd.is_valid()) { +#if !BUILDFLAG(IS_BSD) frame->merged_release_fence_fd.reset(sync_merge( "", frame->merged_release_fence_fd.get(), fence.get())); +#endif } else { frame->merged_release_fence_fd = std::move(fence); } diff --git a/www/ungoogled-chromium/files/patch-ui_ozone_platform_x11_x11__window.cc b/www/ungoogled-chromium/files/patch-ui_ozone_platform_x11_x11__window.cc index 5e8e42bfe8c1..fd47606fd098 100644 --- a/www/ungoogled-chromium/files/patch-ui_ozone_platform_x11_x11__window.cc +++ b/www/ungoogled-chromium/files/patch-ui_ozone_platform_x11_x11__window.cc @@ -1,11 +1,11 @@ ---- ui/ozone/platform/x11/x11_window.cc.orig 2026-06-05 13:45:06 UTC +--- ui/ozone/platform/x11/x11_window.cc.orig 2026-08-13 07:41:05 UTC +++ ui/ozone/platform/x11/x11_window.cc -@@ -1568,7 +1568,7 @@ void X11Window::OnXWindowStateChanged() { +@@ -1592,7 +1592,7 @@ void X11Window::OnXWindowStateChanged() { WindowTiledEdges tiled_state = GetTiledState(); if (tiled_state != tiled_state_) { tiled_state_ = tiled_state; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) platform_window_delegate_->OnWindowTiledStateChanged(tiled_state); UpdateDecorationInsets(); #endif diff --git a/www/ungoogled-chromium/files/patch-ui_views_BUILD.gn b/www/ungoogled-chromium/files/patch-ui_views_BUILD.gn index 239eb5e0cfc4..5d85ee11592a 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-ui_views_BUILD.gn @@ -1,10 +1,10 @@ ---- ui/views/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- ui/views/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ ui/views/BUILD.gn -@@ -862,7 +862,6 @@ component("views") { +@@ -897,7 +897,6 @@ component("views") { "windows_stationarity_monitor_aura.cc", ] deps += [ - "//components/crash/core/common:crash_key", "//ui/aura", "//ui/base/cursor/mojom:cursor_type_shared", "//ui/events", diff --git a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc index 999f58bf9410..2e602be1a116 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc @@ -1,65 +1,65 @@ ---- ui/views/controls/textfield/textfield.cc.orig 2026-05-30 12:46:06 UTC +--- ui/views/controls/textfield/textfield.cc.orig 2026-08-13 07:41:05 UTC +++ ui/views/controls/textfield/textfield.cc -@@ -88,7 +88,7 @@ +@@ -90,7 +90,7 @@ #include "base/win/win_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/linux/text_edit_command_auralinux.h" - #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" -@@ -185,7 +185,7 @@ bool IsControlKeyModifier(int flags) { + #endif +@@ -186,7 +186,7 @@ bool IsControlKeyModifier(int flags) { // Control-modified key combination, but we cannot extend it to other platforms // as Control has different meanings and behaviors. // https://crrev.com/2580483002/#msg46 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return flags & ui::EF_CONTROL_DOWN; #else return false; -@@ -796,7 +796,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event +@@ -826,7 +826,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event return handled; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!handled) { if (auto* linux_ui = ui::LinuxUi::instance()) { const auto command = -@@ -981,7 +981,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo +@@ -1011,7 +1011,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo } bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Skip any accelerator handling that conflicts with custom keybindings. if (auto* linux_ui = ui::LinuxUi::instance()) { if (IsTextEditCommandEnabled(linux_ui->GetTextEditCommandForEvent( -@@ -2100,7 +2100,7 @@ bool Textfield::ShouldDoLearning() { +@@ -2132,7 +2132,7 @@ bool Textfield::ShouldDoLearning() { return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/41452689): Implement this method to support Korean IME // reconversion feature on native text fields (e.g. find bar). bool Textfield::SetCompositionFromExistingText( -@@ -2627,7 +2627,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2659,7 +2659,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_BACKWARD; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift) { return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; -@@ -2635,7 +2635,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2667,7 +2667,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_WORD_BACKWARD; case ui::VKEY_DELETE: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift && control) { return ui::TextEditCommand::DELETE_TO_END_OF_LINE; diff --git a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h index f59b96c9aefc..ec9156e8d36c 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h +++ b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h @@ -1,20 +1,20 @@ ---- ui/views/controls/textfield/textfield.h.orig 2026-05-30 12:46:06 UTC +--- ui/views/controls/textfield/textfield.h.orig 2026-08-13 07:41:05 UTC +++ ui/views/controls/textfield/textfield.h -@@ -51,7 +51,7 @@ +@@ -52,7 +52,7 @@ #include "ui/views/view_observer.h" #include "ui/views/word_lookup_client.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif -@@ -484,7 +484,7 @@ class VIEWS_EXPORT Textfield : public View, +@@ -497,7 +497,7 @@ class VIEWS_EXPORT Textfield : public View, // Set whether the text should be used to improve typing suggestions. void SetShouldDoLearning(bool value) { should_do_learning_ = value; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/ungoogled-chromium/files/patch-ui_views_focus_focus__manager.cc b/www/ungoogled-chromium/files/patch-ui_views_focus_focus__manager.cc index 581a0b7660a2..70d7790d5a1f 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_focus_focus__manager.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_focus_focus__manager.cc @@ -1,20 +1,20 @@ ---- ui/views/focus/focus_manager.cc.orig 2026-06-12 07:58:04 UTC +--- ui/views/focus/focus_manager.cc.orig 2026-08-13 07:41:05 UTC +++ ui/views/focus/focus_manager.cc -@@ -622,7 +622,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( +@@ -627,7 +627,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Processing an accelerator can delete things. Because we // need these objects afterwards on Linux, save widget_ as weak pointer and // save the close_on_deactivate property value of widget_delegate in a -@@ -640,7 +640,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( +@@ -645,7 +645,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( const bool accelerator_processed = focus_manager->ProcessAccelerator(accelerator); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Need to manually close the bubble widget on Linux. On Linux when the // bubble is shown, the main widget remains active. Because of that when // focus is set to the main widget to process accelerator, the main widget diff --git a/www/ungoogled-chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc b/www/ungoogled-chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc index 2076acb60c94..7924595591d8 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc @@ -1,11 +1,11 @@ ---- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2025-01-25 09:34:31 UTC +--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2026-08-13 07:41:05 UTC +++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc -@@ -237,7 +237,7 @@ bool SendMouseClick(MouseButton type, gfx::NativeWindo +@@ -241,7 +241,7 @@ bool SendMouseClick(MouseButton type, gfx::NativeWindo window_hint); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static void ForceUseScreenCoordinatesOnce() { g_ozone_ui_controls_test_helper->ForceUseScreenCoordinatesOnce(); diff --git a/www/ungoogled-chromium/files/patch-ui_views_views__features.cc b/www/ungoogled-chromium/files/patch-ui_views_views__features.cc new file mode 100644 index 000000000000..7a55890f17ca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ui_views_views__features.cc @@ -0,0 +1,11 @@ +--- ui/views/views_features.cc.orig 2026-08-13 07:41:05 UTC ++++ ui/views/views_features.cc +@@ -50,7 +50,7 @@ BASE_FEATURE(kKeyboardAccessibleTooltipInViews, + base::FEATURE_ENABLED_BY_DEFAULT); + + // Uses NativeViewHostAuraWithClipWindow instead of NativeViewHostAura. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kUseNativeViewHostAuraWithClipWindow, + base::FEATURE_DISABLED_BY_DEFAULT); + #else diff --git a/www/ungoogled-chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/ungoogled-chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc index 8d3e2efcd29e..d9e090e6478b 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -1,29 +1,29 @@ ---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-06-17 19:06:11 UTC +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-08-13 07:41:05 UTC +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -@@ -51,7 +51,7 @@ +@@ -53,7 +53,7 @@ #include "ui/wm/core/window_util.h" #include "ui/wm/public/window_move_client.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h" #endif -@@ -357,7 +357,7 @@ std::unique_ptr +@@ -371,7 +371,7 @@ std::unique_ptr DesktopWindowTreeHostPlatform::CreateDragDropClient() { ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window())); std::unique_ptr drag_drop_client = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::make_unique(window(), drag_handler); #else std::make_unique(window(), drag_handler); -@@ -1290,7 +1290,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg +@@ -1317,7 +1317,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg // DesktopWindowTreeHost: // Linux subclasses this host and adds some Linux specific bits. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static DesktopWindowTreeHost* DesktopWindowTreeHost::Create( internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/www/ungoogled-chromium/files/patch-ui_views_widget_widget.cc b/www/ungoogled-chromium/files/patch-ui_views_widget_widget.cc index 86a56a9cdb16..fb287b58cf32 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_widget_widget.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_widget_widget.cc @@ -1,20 +1,20 @@ ---- ui/views/widget/widget.cc.orig 2026-06-05 13:45:06 UTC +--- ui/views/widget/widget.cc.orig 2026-08-13 07:41:05 UTC +++ ui/views/widget/widget.cc -@@ -66,7 +66,7 @@ - #include "ui/views/widget/widget_removals_observer.h" +@@ -67,7 +67,7 @@ #include "ui/views/window/dialog_delegate.h" + #include "ui/wm/core/window_properties.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -2620,7 +2620,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const +@@ -2650,7 +2650,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const return parent_->GetNativeTheme(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForWindow(GetNativeWindow())) { return linux_ui_theme->GetNativeTheme(); diff --git a/www/ungoogled-chromium/files/patch-ui_views_widget_widget.h b/www/ungoogled-chromium/files/patch-ui_views_widget_widget.h index 7f39ead0fe82..022d809ae8fb 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_widget_widget.h +++ b/www/ungoogled-chromium/files/patch-ui_views_widget_widget.h @@ -1,11 +1,11 @@ ---- ui/views/widget/widget.h.orig 2026-05-09 18:09:27 UTC +--- ui/views/widget/widget.h.orig 2026-08-13 07:41:05 UTC +++ ui/views/widget/widget.h -@@ -486,7 +486,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid +@@ -489,7 +489,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid bool dont_show_in_taskbar = false; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Only used by X11, for root level windows. Specifies the res_name and // res_class fields, respectively, of the WM_CLASS window property. Controls // window grouping and desktop file matching in Linux window managers. diff --git a/www/ungoogled-chromium/files/patch-ui_webui_webui__features.gni b/www/ungoogled-chromium/files/patch-ui_webui_webui__features.gni new file mode 100644 index 000000000000..e98af272e9f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ui_webui_webui__features.gni @@ -0,0 +1,12 @@ +--- ui/webui/webui_features.gni.orig 2026-08-13 07:41:05 UTC ++++ ui/webui/webui_features.gni +@@ -44,7 +44,8 @@ if (enable_cast_receiver || is_cast_android || is_cast + # Enable the WebUI version of the New Tab Page. + enable_webui_ntp = + target_os == "win" || target_os == "mac" || target_os == "linux" || +- target_os == "chromeos" || is_desktop_android ++ target_os == "chromeos" || is_desktop_android || target_os == "openbsd" || ++ target_os == "freebsd" + } + declare_args() { + # Enable WebUI Contextual Tasks Composebox. diff --git a/www/ungoogled-chromium/files/patch-v8_BUILD.gn b/www/ungoogled-chromium/files/patch-v8_BUILD.gn index 4427f8f2bc4d..f467fcba46c6 100644 --- a/www/ungoogled-chromium/files/patch-v8_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-v8_BUILD.gn @@ -1,84 +1,84 @@ ---- v8/BUILD.gn.orig 2026-06-05 13:45:06 UTC +--- v8/BUILD.gn.orig 2026-08-13 07:41:05 UTC +++ v8/BUILD.gn -@@ -1045,6 +1045,8 @@ external_v8_defines = [ +@@ -1052,6 +1052,8 @@ external_v8_defines = [ "V8_TARGET_OS_MACOS", "V8_TARGET_OS_WIN", "V8_TARGET_OS_CHROMEOS", + "V8_TARGET_OS_OPENBSD", + "V8_TARGET_OS_FREEBSD", "V8_TARGET_ARCH_ARM64", "V8_TARGET_ARCH_PPC64", "V8_TARGET_ARCH_MIPS64", -@@ -1129,6 +1131,12 @@ if (target_os == "android") { +@@ -1139,6 +1141,12 @@ if (target_os == "android") { } else if (target_os == "chromeos") { enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] enabled_external_v8_defines += [ "V8_TARGET_OS_CHROMEOS" ] +} else if (target_os == "openbsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_OPENBSD" ] +} else if (target_os == "freebsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_FREEBSD" ] } # Some V8_TARGET_ARCH_ defines that affect Api constants (see usages of -@@ -1796,7 +1804,7 @@ config("toolchain") { - - if (is_clang) { - cflags += [ "-Wunreachable-code" ] -- if (v8_current_cpu != "ppc64" && v8_current_cpu != "s390x") { -+ if (v8_current_cpu != "ppc64" && v8_current_cpu != "s390x" && !is_bsd) { +@@ -1824,7 +1832,7 @@ config("toolchain") { + # don't block compiler updates in Chromium. We'll resolve these when + # rolling the compiler update into V8 instead. + if (!build_with_chromium && v8_current_cpu != "ppc64" && +- v8_current_cpu != "s390x") { ++ v8_current_cpu != "s390x" && !is_bsd) { cflags += [ "-Wlifetime-safety-permissive" ] } -@@ -1899,9 +1907,6 @@ config("strict_warnings") { +@@ -1927,9 +1935,6 @@ config("strict_warnings") { cflags += [ "-Wshorten-64-to-32" ] } cflags += [ "-Wmissing-field-initializers" ] - if (v8_current_cpu != "ppc64" && v8_current_cpu != "s390x") { - cflags += [ "-Wunnecessary-virtual-specifier" ] - } } } -@@ -2822,6 +2827,12 @@ template("run_mksnapshot") { +@@ -2856,6 +2861,12 @@ template("run_mksnapshot") { if (!v8_enable_builtins_profiling && v8_enable_builtins_reordering) { args += [ "--reorder-builtins" ] } + + if (v8_current_cpu == "x86") { + args -= [ + "--abort-on-bad-builtin-profile-data", + ] + } } # This is needed to distinguish between generating code for the simulator -@@ -7263,7 +7274,7 @@ v8_component("v8_libbase") { +@@ -7321,7 +7332,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-linux.cc", -@@ -7274,6 +7285,18 @@ v8_component("v8_libbase") { +@@ -7332,6 +7343,18 @@ v8_component("v8_libbase") { "dl", "rt", ] + } else if (is_openbsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-openbsd.cc", + ] + libs = [ "execinfo" ] + } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-freebsd.cc", + ] + libs = [ "execinfo" ] } else if (current_os == "aix") { sources += [ "src/base/debug/stack_trace_posix.cc", diff --git a/www/ungoogled-chromium/files/patch-v8_gni_v8.gni b/www/ungoogled-chromium/files/patch-v8_gni_v8.gni new file mode 100644 index 000000000000..6630f499fea9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-v8_gni_v8.gni @@ -0,0 +1,11 @@ +--- v8/gni/v8.gni.orig 2026-08-13 07:41:05 UTC ++++ v8/gni/v8.gni +@@ -358,7 +358,7 @@ is_drumbrake_supported = + (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || + v8_current_cpu == "riscv64") && + (target_os == "win" || target_os == "linux" || target_os == "mac" || +- target_os == "ios") ++ target_os == "ios" || target_os == "openbds" || target_os == "freebsd") + + declare_args() { + # WebAssembly interpreter (DrumBrake) build flag. diff --git a/www/ungoogled-chromium/files/patch-v8_src_api_api.cc b/www/ungoogled-chromium/files/patch-v8_src_api_api.cc index 714e1823d91c..6748706092ac 100644 --- a/www/ungoogled-chromium/files/patch-v8_src_api_api.cc +++ b/www/ungoogled-chromium/files/patch-v8_src_api_api.cc @@ -1,20 +1,20 @@ ---- v8/src/api/api.cc.orig 2026-06-05 13:45:06 UTC +--- v8/src/api/api.cc.orig 2026-08-13 07:41:05 UTC +++ v8/src/api/api.cc -@@ -167,7 +167,7 @@ +@@ -172,7 +172,7 @@ #include "src/strings/string-hasher-inl.h" -#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD #include #include -@@ -6384,7 +6384,7 @@ bool v8::V8::Initialize(const int build_config) { +@@ -6444,7 +6444,7 @@ bool v8::V8::Initialize(const int build_config) { return true; } -#if V8_OS_LINUX || V8_OS_DARWIN +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, void* context) { #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED diff --git a/www/ungoogled-chromium/files/patch-v8_src_base_platform_platform-posix.cc b/www/ungoogled-chromium/files/patch-v8_src_base_platform_platform-posix.cc index 0598614937cf..044acbd188ea 100644 --- a/www/ungoogled-chromium/files/patch-v8_src_base_platform_platform-posix.cc +++ b/www/ungoogled-chromium/files/patch-v8_src_base_platform_platform-posix.cc @@ -1,53 +1,53 @@ ---- v8/src/base/platform/platform-posix.cc.orig 2026-03-15 18:32:51 UTC +--- v8/src/base/platform/platform-posix.cc.orig 2026-08-13 07:41:05 UTC +++ v8/src/base/platform/platform-posix.cc @@ -78,7 +78,7 @@ #include #endif -#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS +#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS #define MAP_ANONYMOUS MAP_ANON #endif @@ -359,8 +359,15 @@ void OS::SetRandomMmapSeed(int64_t seed) { } } +#if V8_OS_OPENBSD +// Allow OpenBSD's mmap to select a random address on OpenBSD // static void* OS::GetRandomMmapAddr() { + return nullptr; +} +#else +// static +void* OS::GetRandomMmapAddr() { uintptr_t raw_addr; { MutexGuard guard(rng_mutex.Pointer()); @@ -457,6 +464,7 @@ void* OS::GetRandomMmapAddr() { #endif return reinterpret_cast(raw_addr); } +#endif // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files. #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA @@ -772,7 +780,7 @@ void OS::DestroySharedMemoryHandle(SharedMemoryHandle #if !V8_OS_ZOS // static bool OS::HasLazyCommits() { -#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN +#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD return true; #else // TODO(bbudge) Return true for all POSIX platforms. -@@ -1422,7 +1430,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* +@@ -1423,7 +1431,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* // keep this version in POSIX as most Linux-compatible derivatives will // support it. MacOS and FreeBSD are different here. #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \ - !defined(V8_OS_SOLARIS) + !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD) namespace { #if DEBUG diff --git a/www/ungoogled-chromium/files/patch-v8_src_execution_isolate.cc b/www/ungoogled-chromium/files/patch-v8_src_execution_isolate.cc index 060fafc9818e..c8059b4e04cf 100644 --- a/www/ungoogled-chromium/files/patch-v8_src_execution_isolate.cc +++ b/www/ungoogled-chromium/files/patch-v8_src_execution_isolate.cc @@ -1,27 +1,27 @@ ---- v8/src/execution/isolate.cc.orig 2026-06-12 07:58:04 UTC +--- v8/src/execution/isolate.cc.orig 2026-08-13 07:41:05 UTC +++ v8/src/execution/isolate.cc -@@ -184,6 +184,10 @@ +@@ -178,6 +178,10 @@ #include "src/execution/simulator-base.h" #endif +#if defined(V8_OS_OPENBSD) +#include +#endif + extern "C" const uint8_t v8_Default_embedded_blob_code_[]; extern "C" uint32_t v8_Default_embedded_blob_code_size_; extern "C" const uint8_t v8_Default_embedded_blob_data_[]; -@@ -5664,6 +5668,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { +@@ -5738,6 +5742,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { uint32_t code_size = DefaultEmbeddedBlobCodeSize(); const uint8_t* data = DefaultEmbeddedBlobData(); uint32_t data_size = DefaultEmbeddedBlobDataSize(); + +#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) + if (code_size > 0) { + mprotect(reinterpret_cast(const_cast(code)), + code_size, PROT_READ | PROT_EXEC); + } +#endif if (StickyEmbeddedBlobCode() != nullptr) { base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer()); diff --git a/www/ungoogled-chromium/files/patch-v8_src_flags_flags.cc b/www/ungoogled-chromium/files/patch-v8_src_flags_flags.cc index e493ae9dd10d..4f1ead2263ae 100644 --- a/www/ungoogled-chromium/files/patch-v8_src_flags_flags.cc +++ b/www/ungoogled-chromium/files/patch-v8_src_flags_flags.cc @@ -1,24 +1,24 @@ ---- v8/src/flags/flags.cc.orig 2026-06-05 13:45:06 UTC +--- v8/src/flags/flags.cc.orig 2026-08-13 07:41:05 UTC +++ v8/src/flags/flags.cc @@ -17,6 +17,10 @@ #include #include +#if V8_OS_OPENBSD +#include +#endif + #include "src/base/fpu.h" #include "src/base/hashing.h" #include "src/base/lazy-instance.h" -@@ -885,6 +889,10 @@ void FlagList::FreezeFlags() { +@@ -890,6 +894,10 @@ void FlagList::FreezeFlags() { // Note that for string flags we only protect the pointer itself, but not the // string storage. TODO(12887): Fix this. base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags)); +#if V8_OS_OPENBSD + if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1) + FATAL("unable to set immutability of v8_flags"); +#endif } // static diff --git a/www/ungoogled-chromium/files/patch-v8_src_objects_simd.cc b/www/ungoogled-chromium/files/patch-v8_src_objects_simd.cc new file mode 100644 index 000000000000..dfa032676b2e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-v8_src_objects_simd.cc @@ -0,0 +1,23 @@ +--- v8/src/objects/simd.cc.orig 2026-08-13 07:41:05 UTC ++++ v8/src/objects/simd.cc +@@ -348,7 +348,7 @@ uintptr_t fast_search_avx(T* array, uintptr_t array_le + } + #endif // ifdef __SSE3__ + +-#ifdef NEON64 ++#if defined(NEON64) && !defined(V8_TARGET_OS_OPENBSD) + + template + struct SVEOperations { +@@ -638,9 +638,11 @@ template + inline uintptr_t search(T* array, uintptr_t array_len, uintptr_t index, + T search_element) { + #ifdef NEON64 ++#ifndef V8_TARGET_OS_OPENBSD + if (get_vectorization_kind() == SimdKinds::kSVE) { + return fast_search_sve(array, array_len, index, search_element); + } ++#endif + #else + if (get_vectorization_kind() == SimdKinds::kAVX2) { + return fast_search_avx(array, array_len, index, search_element); diff --git a/www/ungoogled-chromium/files/patch-v8_src_sandbox_sandbox.cc b/www/ungoogled-chromium/files/patch-v8_src_sandbox_sandbox.cc index b08aef3f27c2..728c562e87f8 100644 --- a/www/ungoogled-chromium/files/patch-v8_src_sandbox_sandbox.cc +++ b/www/ungoogled-chromium/files/patch-v8_src_sandbox_sandbox.cc @@ -1,11 +1,11 @@ ---- v8/src/sandbox/sandbox.cc.orig 2026-06-05 13:45:06 UTC +--- v8/src/sandbox/sandbox.cc.orig 2026-08-13 07:41:05 UTC +++ v8/src/sandbox/sandbox.cc -@@ -80,7 +80,7 @@ static Address DetermineAddressSpaceLimit() { +@@ -82,7 +82,7 @@ static Address DetermineAddressSpaceLimit() { } #endif // V8_TARGET_ARCH_X64 -#if defined(V8_TARGET_ARCH_ARM64) && defined(V8_TARGET_OS_ANDROID) +#if defined(V8_TARGET_ARCH_ARM64) && (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)) // On Arm64 Android assume a 40-bit virtual address space (39 bits for // userspace and kernel each) as that appears to be the most common // configuration and there seems to be no easy way to retrieve the actual