diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index 5b63b440743a..238cb9468325 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,413 +1,413 @@ PORTNAME= ungoogled-chromium -PORTVERSION= 142.0.7444.175 +PORTVERSION= 143.0.7499.40 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-dri \ ${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \ ${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libdav1d.so:multimedia/dav1d \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison 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 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+= build_with_tflite_lib=false \ 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= 21 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include WRKSRC= ${WRKDIR}/chromium-${DISTVERSION} # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} pre-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-ng 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.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 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} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo index d6c293f46d27..83da84610615 100644 --- a/www/ungoogled-chromium/distinfo +++ b/www/ungoogled-chromium/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1763744483 -SHA256 (chromium-142.0.7444.175-lite.tar.xz) = 619b37ab0273f72fac859fff8dd89fbf1b7ae7e7ccb8d67bc79281b24f683bc9 -SIZE (chromium-142.0.7444.175-lite.tar.xz) = 1711108684 +TIMESTAMP = 1765030153 +SHA256 (chromium-143.0.7499.40-lite.tar.xz) = c1ffa0951b98641de2718143a41e3ae13702a220da7b38be62c8eb4d94c929d2 +SIZE (chromium-143.0.7499.40-lite.tar.xz) = 1137895952 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-142.0.7444.175-testdata.tar.xz) = 0db5f8a557400dc10538f60610328c9bb636135197db75feab753a23a96aadce -SIZE (chromium-142.0.7444.175-testdata.tar.xz) = 650873 -SHA256 (ungoogled-software-ungoogled-chromium-142.0.7444.175-142.0.7444.175-1_GH0.tar.gz) = ec3584995b6a69373fc06f6230602c1ebc68f802feedba44c962dc25bb896e33 -SIZE (ungoogled-software-ungoogled-chromium-142.0.7444.175-142.0.7444.175-1_GH0.tar.gz) = 650884 +SHA256 (chromium-143.0.7499.40-testdata.tar.xz) = a6e59013408da5614f8262603fa8e4862c9bad337fc0daec71f928847502a655 +SIZE (chromium-143.0.7499.40-testdata.tar.xz) = 1200244664 +SHA256 (ungoogled-software-ungoogled-chromium-143.0.7499.40-143.0.7499.40-1_GH0.tar.gz) = 106cfeff67e371be89ce89e56d691814b5cd1d5bd663f204c7893a4196d475d1 +SIZE (ungoogled-software-ungoogled-chromium-143.0.7499.40-143.0.7499.40-1_GH0.tar.gz) = 650946 diff --git a/www/ungoogled-chromium/files/patch-BUILD.gn b/www/ungoogled-chromium/files/patch-BUILD.gn index db4762adb963..97a01b4ca623 100644 --- a/www/ungoogled-chromium/files/patch-BUILD.gn +++ b/www/ungoogled-chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2025-11-01 06:40:37 UTC +--- BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ BUILD.gn -@@ -69,7 +69,7 @@ declare_args() { +@@ -68,7 +68,7 @@ declare_args() { root_extra_deps = [] } -if (is_official_build) { +if (is_official_build && !is_bsd) { # An official (maximally optimized!) component (optimized for build times) # build doesn't make sense and usually doesn't work. assert(!is_component_build) -@@ -102,7 +102,6 @@ group("gn_all") { +@@ -101,7 +101,6 @@ group("gn_all") { "//codelabs", "//components:components_unittests", "//components/gwp_asan:gwp_asan_unittests", - "//infra/orchestrator:orchestrator_all", "//net:net_unittests", "//sandbox:sandbox_unittests", "//services:services_unittests", -@@ -430,7 +429,7 @@ group("gn_all") { +@@ -431,7 +430,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", -@@ -588,6 +587,15 @@ group("gn_all") { +@@ -590,6 +589,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)", -@@ -636,7 +644,7 @@ group("gn_all") { +@@ -638,7 +646,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 -@@ -671,7 +679,7 @@ group("gn_all") { +@@ -673,7 +681,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", -@@ -1069,7 +1077,7 @@ if (use_blink && !is_cronet_build) { +@@ -1064,7 +1072,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", -@@ -1222,7 +1230,7 @@ if (use_blink && !is_cronet_build) { +@@ -1217,7 +1225,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. -@@ -1236,7 +1244,7 @@ if (use_blink && !is_cronet_build) { +@@ -1231,7 +1239,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. -@@ -1533,7 +1541,7 @@ group("chromium_builder_perf") { +@@ -1528,7 +1536,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-base_BUILD.gn b/www/ungoogled-chromium/files/patch-base_BUILD.gn index ea24e4164162..925ba28063ae 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 2025-11-01 06:40:37 UTC +--- base/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ base/BUILD.gn -@@ -1115,11 +1115,26 @@ component("base") { +@@ -1124,11 +1124,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" ] -@@ -1139,7 +1154,7 @@ component("base") { +@@ -1148,7 +1163,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" ] } -@@ -2139,6 +2154,22 @@ component("base") { +@@ -2151,6 +2166,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 += [ -@@ -2313,6 +2344,33 @@ component("base") { +@@ -2325,6 +2356,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", -@@ -2719,7 +2777,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2728,7 +2786,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" ] -@@ -3225,7 +3283,7 @@ if (is_apple) { +@@ -3234,7 +3292,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 -@@ -3923,7 +3981,7 @@ test("base_unittests") { +@@ -3941,7 +3999,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", -@@ -3947,7 +4005,7 @@ test("base_unittests") { +@@ -3965,7 +4023,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", -@@ -3958,7 +4016,7 @@ test("base_unittests") { +@@ -3976,7 +4034,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" ] } -@@ -4145,7 +4203,7 @@ test("base_unittests") { +@@ -4163,7 +4221,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_partition__allocator_partition__alloc.gni b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index 94a5ea12c5f5..1e640f95b3c2 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 2025-11-01 06:40:37 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-12-06 13:30:52 UTC +++ base/allocator/partition_allocator/partition_alloc.gni @@ -92,7 +92,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || # TODO(crbug.com/329199197): Clean this up when experiments are complete. use_large_empty_slot_span_ring = true -has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && +has_memory_tagging = current_cpu == "arm64" && !is_bsd && is_clang && !is_asan && !is_hwasan && (is_linux || is_android) declare_args() { -@@ -483,7 +483,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -486,7 +486,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_page__allocator.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h index 360bf26ec6c0..1048977998c0 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-09-10 13:22:16 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-12-06 13:30:52 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h -@@ -278,7 +278,7 @@ bool DecommitAndZeroSystemPages(void* address, +@@ -284,7 +284,7 @@ bool DecommitAndZeroSystemPages(void* address, // recommitted. Do not assume that this will not change over time. constexpr PA_COMPONENT_EXPORT( PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc b/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc index 811dbb8e0b29..cf91d4eaf304 100644 --- a/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc @@ -1,108 +1,108 @@ ---- base/base_paths_posix.cc.orig 2025-02-20 09:59:21 UTC +--- base/base_paths_posix.cc.orig 2025-12-06 13:30:52 UTC +++ base/base_paths_posix.cc @@ -15,6 +15,7 @@ #include #include +#include "base/command_line.h" #include "base/environment.h" #include "base/files/file_path.h" #include "base/files/file_util.h" @@ -26,9 +27,13 @@ #include "base/process/process_metrics.h" #include "build/build_config.h" -#if BUILDFLAG(IS_FREEBSD) +#if BUILDFLAG(IS_BSD) #include #include +#if BUILDFLAG(IS_OPENBSD) +#include +#define MAXTOKENS 2 +#endif #elif BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_AIX) #include #endif @@ -47,8 +52,7 @@ bool PathProviderPosix(int key, FilePath* result) { *result = bin_dir; return true; #elif BUILDFLAG(IS_FREEBSD) - int name[] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1}; - std::optional bin_dir = StringSysctl(name, std::size(name)); + std::optional bin_dir = StringSysctl({ CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }); if (!bin_dir.has_value() || bin_dir.value().length() <= 1) { NOTREACHED() << "Unable to resolve path."; } @@ -62,14 +66,65 @@ bool PathProviderPosix(int key, FilePath* result) { *result = FilePath(bin_dir); return true; #elif BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_AIX) - // There is currently no way to get the executable path on OpenBSD - char* cpath; - if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) { - *result = FilePath(cpath); - } else { - *result = FilePath("/usr/local/chrome/chrome"); + char *cpath; +#if !BUILDFLAG(IS_AIX) + struct kinfo_file *files; + kvm_t *kd = NULL; + char errbuf[_POSIX2_LINE_MAX]; + static char retval[PATH_MAX]; + int cnt; + struct stat sb; + pid_t cpid = getpid(); + bool ret = false; + + const base::CommandLine* command_line = + base::CommandLine::ForCurrentProcess(); + + VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0]; + + if (realpath(command_line->argv()[0].c_str(), retval) == NULL) + goto out; + + if (stat(command_line->argv()[0].c_str(), &sb) < 0) + goto out; + + if (!command_line->HasSwitch("no-sandbox")) { + ret = true; + *result = FilePath(retval); + VLOG(1) << "PathProviderPosix (sandbox) result: " << retval; + goto out; } - return true; + + if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES, errbuf)) == NULL) + goto out; + + if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid, + sizeof(struct kinfo_file), &cnt)) == NULL) + goto out; + + for (int i = 0; i < cnt; i++) { + if (files[i].fd_fd == KERN_FILE_TEXT && + files[i].va_fsid == static_cast(sb.st_dev) && + files[i].va_fileid == sb.st_ino) { + ret = true; + *result = FilePath(retval); + VLOG(1) << "PathProviderPosix result: " << retval; + } + } +out: + if (kd) + kvm_close(kd); + if (!ret) { +#endif + if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) + *result = FilePath(cpath); + else -+ *result = FilePath("/usr/local/ungoogled-chromium/ungoogled-chromium"); ++ *result = FilePath("/usr/local/chrome/chrome"); + return true; +#if !BUILDFLAG(IS_AIX) + } + return ret; +#endif #endif } case DIR_SRC_TEST_DATA_ROOT: { diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc index f2d4ab5caeff..b1cc51d9d89e 100644 --- a/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc @@ -1,48 +1,48 @@ ---- base/files/file_util_posix.cc.orig 2025-11-01 06:40:37 UTC +--- base/files/file_util_posix.cc.orig 2025-12-06 13:30:52 UTC +++ base/files/file_util_posix.cc -@@ -943,6 +943,7 @@ bool CreateNewTempDirectory(const FilePath::StringType +@@ -943,6 +943,7 @@ bool CreateNewTempDirectory(FilePath::StringViewType p bool CreateDirectoryAndGetError(const FilePath& full_path, File::Error* error) { ScopedBlockingCall scoped_blocking_call( FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). + const FilePath kFileSystemRoot("/"); // Avoid checking subdirs if directory already exists. if (DirectoryExists(full_path)) { @@ -952,8 +953,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p // Collect a list of all missing directories. std::vector missing_subpaths({full_path}); FilePath last_path = full_path; - for (FilePath path = full_path.DirName(); path.value() != last_path.value(); - path = path.DirName()) { + for (FilePath path = full_path.DirName(); (path.value() != last_path.value() && + (path != kFileSystemRoot)); path = path.DirName()) { if (DirectoryExists(path)) { break; } @@ -971,21 +972,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p } #endif // BUILDFLAG(IS_CHROMEOS) - if (File::Mkdir(subpath, mode) == 0) { - continue; - } - // Mkdir failed, but it might have failed with EEXIST, or some other error - // due to the directory appearing out of thin air. This can occur if - // two processes are trying to create the same file system tree at the same - // time. Check to see if it exists and make sure it is a directory. - int saved_errno = errno; - if (!DirectoryExists(subpath)) { - if (error) { + if ((mkdir(subpath.value().c_str(), mode) == -1) && + ((full_path != subpath) ? (errno != ENOENT) : (-1))) { + int saved_errno = errno; + if (error) *error = File::OSErrorToFileError(saved_errno); - } - errno = saved_errno; return false; } + errno = 0; } return true; } diff --git a/www/ungoogled-chromium/files/patch-base_functional_unretained__traits.h b/www/ungoogled-chromium/files/patch-base_functional_unretained__traits.h index d00b1125aebb..5377b138b548 100644 --- a/www/ungoogled-chromium/files/patch-base_functional_unretained__traits.h +++ b/www/ungoogled-chromium/files/patch-base_functional_unretained__traits.h @@ -1,11 +1,11 @@ ---- base/functional/unretained_traits.h.orig 2025-02-20 09:59:21 UTC +--- base/functional/unretained_traits.h.orig 2025-12-06 13:30:52 UTC +++ base/functional/unretained_traits.h -@@ -90,7 +90,7 @@ struct SupportsUnretainedImpl { +@@ -92,7 +92,7 @@ struct SupportsUnretainedImpl { // official builds, and then in non-test code as well. #if defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) || \ (!defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) && \ - (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))) + (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))) static_assert(v, "Argument requires unretained storage, but type is not " "fully defined. This prevents determining whether " 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 d60be943f0f2..9f91e92e73eb 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-09-10 13:22:16 UTC +--- base/i18n/icu_util.cc.orig 2025-12-06 13:30:52 UTC +++ base/i18n/icu_util.cc -@@ -52,7 +52,7 @@ +@@ -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 -@@ -318,7 +318,7 @@ void InitializeIcuTimeZone() { +@@ -327,7 +327,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_system_sys__info.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc index 08f4c523a964..d6e21af85288 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2025-10-21 16:57:35 UTC +--- base/system/sys_info.cc.orig 2025-12-06 13:30:52 UTC +++ base/system/sys_info.cc -@@ -222,7 +222,7 @@ std::string SysInfo::SocManufacturer() { +@@ -233,7 +233,7 @@ std::string SysInfo::SocManufacturer() { #endif void SysInfo::GetHardwareInfo(base::OnceCallback callback) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr base::TaskTraits kTraits = {base::MayBlock()}; #else constexpr base::TaskTraits kTraits = {}; diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info.h b/www/ungoogled-chromium/files/patch-base_system_sys__info.h index 36fb7362c6db..32aef7aa29af 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 2025-10-21 16:57:35 UTC +--- base/system/sys_info.h.orig 2025-12-06 13:30:52 UTC +++ base/system/sys_info.h -@@ -355,6 +355,8 @@ class BASE_EXPORT SysInfo { +@@ -354,6 +354,8 @@ class BASE_EXPORT SysInfo { static void ResetCpuSecurityMitigationsEnabledForTesting(); #endif + static uint64_t MaxSharedMemorySize(); + private: friend class test::ScopedAmountOfPhysicalMemoryOverride; FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); -@@ -367,7 +369,7 @@ class BASE_EXPORT SysInfo { +@@ -366,7 +368,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) static ByteCount AmountOfAvailablePhysicalMemory( const SystemMemoryInfo& meminfo); #endif diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc index 83308c611646..d983cece0db3 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc @@ -1,29 +1,29 @@ ---- base/system/sys_info_posix.cc.orig 2025-10-21 16:57:35 UTC +--- base/system/sys_info_posix.cc.orig 2025-12-06 13:30:52 UTC +++ base/system/sys_info_posix.cc -@@ -142,7 +142,7 @@ void GetKernelVersionNumbers(int32_t* major_version, +@@ -143,7 +143,7 @@ void GetKernelVersionNumbers(int32_t* major_version, namespace base { -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) // static int SysInfo::NumberOfProcessors() { #if BUILDFLAG(IS_MAC) -@@ -198,7 +198,7 @@ int SysInfo::NumberOfProcessors() { +@@ -199,7 +199,7 @@ int SysInfo::NumberOfProcessors() { return cached_num_cpus; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static - uint64_t SysInfo::AmountOfVirtualMemory() { -@@ -286,6 +286,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + ByteCount SysInfo::AmountOfVirtualMemory() { +@@ -289,6 +289,8 @@ std::string SysInfo::OperatingSystemArchitecture() { arch = "x86"; } else if (arch == "amd64") { arch = "x86_64"; + } else if (arch == "arm64") { + arch = "aarch64"; } else if (std::string(info.sysname) == "AIX") { arch = "ppc64"; } diff --git a/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc b/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc index 27b9f210b8db..cf646a4983aa 100644 --- a/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc +++ b/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc @@ -1,11 +1,11 @@ ---- base/trace_event/memory_dump_manager.cc.orig 2025-03-09 21:38:10 UTC +--- base/trace_event/memory_dump_manager.cc.orig 2025-12-06 13:30:52 UTC +++ base/trace_event/memory_dump_manager.cc -@@ -78,7 +78,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP +@@ -79,7 +79,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) MallocDumpProvider::kAllocatedObjects; #else - nullptr; + ""; #endif // static diff --git a/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn b/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn index 13041f6ca9c8..bc663ba83c1e 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 2025-10-21 16:57:35 UTC +--- build/config/BUILDCONFIG.gn.orig 2025-12-06 13:30:52 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 != "s390x" && current_cpu != "s390" && current_cpu != "ppc64" && current_cpu != "ppc" && - current_cpu != "mips" && current_cpu != "mips64" && -@@ -235,6 +236,10 @@ if (host_toolchain == "") { + current_cpu != "mips" && current_cpu != "mips64") +@@ -234,6 +235,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") } -@@ -284,6 +289,8 @@ if (target_os == "android") { +@@ -283,6 +288,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") } -@@ -318,7 +325,11 @@ is_android = current_os == "android" +@@ -317,7 +324,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_c++_modules.gni b/www/ungoogled-chromium/files/patch-build_config_c++_modules.gni index 9bc22d204fdc..d340a523a329 100644 --- a/www/ungoogled-chromium/files/patch-build_config_c++_modules.gni +++ b/www/ungoogled-chromium/files/patch-build_config_c++_modules.gni @@ -1,11 +1,11 @@ ---- build/config/c++/modules.gni.orig 2025-11-01 06:40:37 UTC +--- build/config/c++/modules.gni.orig 2025-12-06 13:30:52 UTC +++ build/config/c++/modules.gni @@ -16,7 +16,7 @@ declare_args() { # Eg. linux arm64 and windows were never supported with manual clang modules, # so they should use_autogenerated_modules = true despite not having # autogenerated modules because they're guarded by use_clang_modules. -- use_autogenerated_modules = !is_apple -+ use_autogenerated_modules = !is_apple && !is_bsd +- use_autogenerated_modules = !(is_apple && use_system_xcode) ++ use_autogenerated_modules = !(is_apple && use_system_xcode) && !is_bsd } module_platform = "${current_os}-${current_cpu}" 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 9f5a69adfcb5..af8fc4bb1799 100644 --- a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,121 +1,121 @@ ---- build/config/compiler/BUILD.gn.orig 2025-11-01 06:40:37 UTC +--- build/config/compiler/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ build/config/compiler/BUILD.gn -@@ -196,7 +196,7 @@ declare_args() { +@@ -201,7 +201,7 @@ declare_args() { # This greatly reduces the size of debug builds, at the cost of # debugging information which is required by some specialized # debugging tools. - simple_template_names = is_clang && !is_win && !is_apple + simple_template_names = is_clang && !is_win && !is_apple && !is_bsd # This switch is used to enable -Wexit-time-destructors by default. This # warning serves as a flip switch to allow a gradual migration of targets -@@ -270,7 +270,7 @@ assert(!(llvm_force_head_revision && use_remoteexec && +@@ -282,7 +282,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 --------------------------------------------------------- -@@ -288,13 +288,16 @@ config("default_include_dirs") { +@@ -300,13 +300,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 --------------------------------------------------------------------- -@@ -567,6 +570,10 @@ config("compiler") { +@@ -579,6 +582,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_icf && (!is_apple || use_lld)) { -@@ -657,7 +664,7 @@ config("compiler") { +@@ -669,7 +676,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang) { + if (is_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1315,7 +1322,7 @@ config("compiler_cpu_abi") { +@@ -1297,7 +1304,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 { -@@ -1324,7 +1331,7 @@ config("compiler_cpu_abi") { +@@ -1306,7 +1313,7 @@ config("compiler_cpu_abi") { } cflags += [ "-msse3" ] } else if (current_cpu == "x86") { - if (is_clang && !is_android && !is_chromeos_device) { + if (is_clang && !is_android && !is_chromeos_device && !Is_bsd) { cflags += [ "--target=i386-unknown-linux-gnu" ] ldflags += [ "--target=i386-unknown-linux-gnu" ] } else { -@@ -1336,7 +1343,7 @@ config("compiler_cpu_abi") { +@@ -1318,7 +1325,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" ] } -@@ -1348,7 +1355,7 @@ config("compiler_cpu_abi") { +@@ -1330,7 +1337,7 @@ config("compiler_cpu_abi") { cflags += [ "-mtune=$arm_tune" ] } } 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" ] } -@@ -1747,7 +1754,7 @@ config("compiler_deterministic") { +@@ -1735,7 +1742,7 @@ config("compiler_deterministic") { } config("clang_revision") { - if (is_clang && clang_base_path == default_clang_base_path && + if (is_clang && !is_bsd && clang_base_path == default_clang_base_path && current_os != "zos") { _perform_consistency_checks = current_toolchain == default_toolchain if (llvm_force_head_revision) { -@@ -2955,7 +2962,7 @@ config("afdo_optimize_size") { +@@ -2969,7 +2976,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. -@@ -2982,7 +2989,7 @@ config("afdo") { +@@ -2996,7 +3003,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_rust.gni b/www/ungoogled-chromium/files/patch-build_config_rust.gni index 58f29aef6c5f..ee27f82e918e 100644 --- a/www/ungoogled-chromium/files/patch-build_config_rust.gni +++ b/www/ungoogled-chromium/files/patch-build_config_rust.gni @@ -1,25 +1,25 @@ ---- build/config/rust.gni.orig 2025-11-05 15:35:54 UTC +--- build/config/rust.gni.orig 2025-12-06 13:30:52 UTC +++ build/config/rust.gni @@ -62,7 +62,8 @@ declare_args() { # set this to the output of `rustc -V`. Changing this string will cause all # Rust targets to be rebuilt, which allows you to update your toolchain and # not break incremental builds. - rustc_version = "" + rustc_version = exec_script("//build/gn_run_binary.py", + [ "/usr/local/bin/rustc", "-V" ], "trim string") # Whether artifacts produced by the Rust compiler can participate in ThinLTO. # -@@ -329,7 +330,11 @@ if (is_linux || is_chromeos) { +@@ -326,7 +327,11 @@ if (is_linux || is_chromeos) { } } -if (toolchain_has_rust) { +if (is_bsd) { + rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os) +} + +if (toolchain_has_rust && !is_bsd) { assert(rust_abi_target != "") _known_rust_target_triples_filepath = "//build/rust/known-target-triples.txt" diff --git a/www/ungoogled-chromium/files/patch-build_linux_unbundle_icu.gn b/www/ungoogled-chromium/files/patch-build_linux_unbundle_icu.gn index b0f1f6a3c2e3..5ebe4022a514 100644 --- a/www/ungoogled-chromium/files/patch-build_linux_unbundle_icu.gn +++ b/www/ungoogled-chromium/files/patch-build_linux_unbundle_icu.gn @@ -1,43 +1,28 @@ ---- build/linux/unbundle/icu.gn.orig 2025-01-25 09:34:31 UTC +--- build/linux/unbundle/icu.gn.orig 2025-12-06 13:30:52 UTC +++ build/linux/unbundle/icu.gn @@ -17,6 +17,15 @@ config("icu_config") { "USING_SYSTEM_ICU=1", "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", + # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used + # instead of defines. These definitions can be removed when the bundled icu + # gets updated to 73. For more details, see: + # https://unicode-org.atlassian.net/browse/ICU-21833 and + # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33 + "U_FINAL=final", + "U_NOEXCEPT=noexcept", + "U_OVERRIDE=override", + # U_EXPORT (defined in unicode/platform.h) is used to set public visibility # on classes through the U_COMMON_API and U_I18N_API macros (among others). # When linking against the system ICU library, we want its symbols to have @@ -34,6 +43,9 @@ config("icu_config") { # to define U_IMPORT to have the same value as U_EXPORT. For more details, # please see: https://crbug.com/822820 "U_IMPORT=U_EXPORT", + + # Unbreak with icu 76 where private symbols are picked up + "U_HIDE_DRAFT_API", ] } -@@ -46,6 +58,14 @@ pkg_config("system_icuuc") { - } - - source_set("icui18n") { -+ deps = [ ":icui18n_shim" ] -+ public_configs = [ -+ ":icu_config", -+ ":system_icui18n", -+ ] -+} -+ -+source_set("icui18n_hidden_visibility") { - deps = [ ":icui18n_shim" ] - public_configs = [ - ":icu_config", diff --git a/www/ungoogled-chromium/files/patch-build_linux_unbundle_libpng.gn b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libpng.gn new file mode 100644 index 000000000000..473493e8f676 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libpng.gn @@ -0,0 +1,30 @@ +--- build/linux/unbundle/libpng.gn.orig 2025-12-06 13:30:52 UTC ++++ build/linux/unbundle/libpng.gn +@@ -21,3 +21,27 @@ source_set("libpng") { + deps = [ ":libpng_shim" ] + public_configs = [ ":libpng_config" ] + } ++ ++libpng_testonly_visibility = [ ++ "//chrome/test:accessibility_live_site_tests", ++ "//chrome/test:captured_sites_interactive_tests", ++ "//chrome/test:interactive_ui_tests", ++ "//tools/imagediff", ++ ++ # Using a wildcard, to cover template-generated targets (e.g. ++ # `run_libpng_progressive_read_fuzzer` on `ios-catalyst` trybot). ++ "//testing/libfuzzer/fuzzers:*", ++ ++ # Using a wildcard, to cover template-generated targets (e.g. ++ # `//ui/gfx:gfx_unittests__library__jni_registration__native_sources` or ++ # `//ui/gfx:gfx_unittests__exec`). ++ "//ui/gfx:*", ++] ++ ++group("libpng_for_testonly") { ++ testonly = true ++ public_deps = [ ":libpng" ] ++ ++ visibility = [] ++ visibility = libpng_testonly_visibility ++} diff --git a/www/ungoogled-chromium/files/patch-build_rust_allocator_lib.rs b/www/ungoogled-chromium/files/patch-build_rust_allocator_lib.rs index 5683fb4c4512..d76fad74c3ab 100644 --- a/www/ungoogled-chromium/files/patch-build_rust_allocator_lib.rs +++ b/www/ungoogled-chromium/files/patch-build_rust_allocator_lib.rs @@ -1,21 +1,15 @@ ---- build/rust/allocator/lib.rs.orig 2025-11-25 13:37:36 UTC +--- build/rust/allocator/lib.rs.orig 2025-12-06 13:30:52 UTC +++ build/rust/allocator/lib.rs -@@ -96,6 +96,18 @@ mod both_allocators { +@@ -96,6 +96,12 @@ mod both_allocators { 0 } -+ // TODO(crbug.com/422538133) Remove after rolling past -+ // https://github.com/rust-lang/rust/pull/141061 -+ #[no_mangle] -+ #[linkage = "weak"] -+ static __rust_no_alloc_shim_is_unstable: u8 = 0; -+ + // TODO(crbug.com/440481922): Remove this after rolling past https://github.com/rust-lang/rust/pull/143387 + #[rustc_std_internal_symbol] + #[allow(non_upper_case_globals)] + #[linkage = "weak"] + static __rust_alloc_error_handler_should_panic: u8 = 0; + // Mangle the symbol name as rustc expects. #[rustc_std_internal_symbol] #[allow(non_upper_case_globals)] diff --git a/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp index 47a91936aaac..5b14d2ac5589 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp +++ b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp @@ -1,16 +1,16 @@ ---- chrome/app/settings_strings.grdp.orig 2025-09-10 13:22:16 UTC +--- chrome/app/settings_strings.grdp.orig 2025-12-06 13:30:52 UTC +++ chrome/app/settings_strings.grdp -@@ -240,11 +240,9 @@ +@@ -237,11 +237,9 @@ Reset to default - - + Reset to default theme - - + Customize your toolbar diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn index 14b8a9d0344d..6bd8363b8aac 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- chrome/browser/BUILD.gn.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/BUILD.gn -@@ -7113,6 +7113,13 @@ static_library("browser") { +@@ -7111,6 +7111,13 @@ static_library("browser") { [ "//third_party/webrtc/modules/desktop_capture:pipewire_config" ] } + if (is_bsd) { + sources -= [ + "metrics/bluetooth_metrics_provider.cc", + "metrics/bluetooth_metrics_provider.h", + ] + } + if (use_dbus) { sources += [ "dbus_memory_pressure_evaluator_linux.cc", diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc index 10a3c33d80e7..3353ead5cf69 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc @@ -1,403 +1,466 @@ ---- chrome/browser/about_flags.cc.orig 2025-11-07 07:18:16 UTC +--- chrome/browser/about_flags.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/about_flags.cc -@@ -335,12 +335,12 @@ +@@ -333,12 +333,12 @@ #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_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" -@@ -897,6 +897,26 @@ const FeatureEntry::FeatureVariation +@@ -867,6 +867,26 @@ const FeatureEntry::FeatureVariation std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam), nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", kAudioBackendPulseAudio, + std::size(kAudioBackendPulseAudio), + nullptr}, + {"using sndio by default if available", kAudioBackendSndio, + std::size(kAudioBackendSndio), + nullptr}, + {"using ALSA by default if available", kAudioBackendAlsa, + std::size(kAudioBackendAlsa), + nullptr}}; +#endif + const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { {"UIClipboardMaximumAge", "60"}}; const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { -@@ -1266,7 +1286,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada +@@ -1322,7 +1342,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -3871,7 +3891,7 @@ const FeatureEntry::FeatureVariation +@@ -3969,7 +3989,7 @@ const FeatureEntry::FeatureVariation #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[] = -@@ -4131,7 +4151,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari +@@ -3999,7 +4019,7 @@ const flags_ui::FeatureEntry::FeatureVariation + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const FeatureEntry::Choice kReplaceSyncPromosWithSignInPromosChoices[] = { + {"Default", "", ""}, + {"Disabled", switches::kDisableFeatures, +@@ -4225,7 +4245,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari std::size(kSkiaGraphite_DebugLabelsEnabled), nullptr}, }; -#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 kTranslationAPI_SkipLanguagePackLimit[] = { {"TranslationAPIAcceptLanguagesCheck", "false"}, {"TranslationAPILimitLanguagePackCount", "false"}}; -@@ -4151,7 +4171,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -4245,7 +4265,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent }; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4900,7 +4920,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes +@@ -5014,7 +5034,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const FeatureEntry::FeatureParam kNtpEnterpriseShortcutsWithFakeData[] = { - {"use_fake_data", "true"}}; - const FeatureEntry::FeatureVariation kNtpEnterpriseShortcutsVariations[] = { -@@ -5554,7 +5574,7 @@ const FeatureEntry kFeatureEntries[] = { + const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { + {"max_customize_chrome_auto_shown_count", "5"}, + {"max_customize_chrome_auto_shown_session_count", "5"}}; +@@ -5150,7 +5170,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa + nullptr}}; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { + {"profile-picker-variation", "keep-work-and-life-separate"}}; + const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { +@@ -5737,7 +5757,7 @@ const FeatureEntry kFeatureEntries[] = { }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { "fluent-overlay-scrollbars", flag_descriptions::kFluentOverlayScrollbarsName, -@@ -5849,7 +5869,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6035,7 +6055,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableIsolatedWebAppDevModeName, flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)}, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -6041,7 +6061,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6227,7 +6247,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, -@@ -6070,6 +6090,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6256,6 +6276,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) -@@ -6936,7 +6966,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7126,7 +7156,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:: -@@ -7346,7 +7376,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7540,7 +7570,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7824,7 +7854,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7755,7 +7785,7 @@ const FeatureEntry kFeatureEntries[] = { + "NtpRealboxNext")}, + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"ntp-customize-chrome-auto-open", + flag_descriptions::kNtpCustomizeChromeAutoOpenName, + flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, +@@ -8034,7 +8064,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8786,7 +8816,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8972,7 +9002,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)}, #endif // !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -9364,7 +9394,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(ash::features::kWallpaperGooglePhotosSharedAlbums)}, - #endif // BUILDFLAG(IS_CHROMEOS) - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - {"enable-get-all-screens-media", flag_descriptions::kGetAllScreensMediaName, - flag_descriptions::kGetAllScreensMediaDescription, kOsCrOS | kOsLinux, - FEATURE_VALUE_TYPE(blink::features::kGetAllScreensMedia)}, -@@ -9389,7 +9419,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9543,7 +9573,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, -@@ -9842,7 +9872,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10000,7 +10030,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"media-session-enter-picture-in-picture", flag_descriptions::kMediaSessionEnterPictureInPictureName, flag_descriptions::kMediaSessionEnterPictureInPictureDescription, -@@ -10032,7 +10062,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10197,7 +10227,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -10504,7 +10534,7 @@ const FeatureEntry kFeatureEntries[] = { - kOsDesktop | kOsAndroid, - FEATURE_VALUE_TYPE(features::kProcessPerSiteUpToMainFrameThreshold)}, - --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - {"camera-mic-effects", flag_descriptions::kCameraMicEffectsName, - flag_descriptions::kCameraMicEffectsDescription, - static_cast(kOsMac | kOsWin | kOsLinux), -@@ -10615,7 +10645,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10759,7 +10789,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -10636,7 +10666,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10780,7 +10810,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, -@@ -11174,7 +11204,7 @@ const FeatureEntry kFeatureEntries[] = { - kStandardBoundSessionCredentialsFederatedSessionsVariations, - "standard-device-bound-sessions-federated-sessions")}, +@@ -11294,7 +11324,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, -@@ -11334,7 +11364,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kCanvasHibernationDescription, kOsAll, - FEATURE_VALUE_TYPE(blink::features::kCanvas2DHibernation)}, - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - {"sync-enable-bookmarks-in-transport-mode", - flag_descriptions::kSyncEnableBookmarksInTransportModeName, - flag_descriptions::kSyncEnableBookmarksInTransportModeDescription, -@@ -11420,7 +11450,7 @@ const FeatureEntry kFeatureEntries[] = { - "HistoryOptInEducationalTipVariations")}, - #endif // BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - {"supervised-user-local-web-approvals", - flag_descriptions::kSupervisedUserLocalWebApprovalsName, - flag_descriptions::kSupervisedUserLocalWebApprovalsDescription, -@@ -11625,7 +11655,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11710,7 +11740,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, -@@ -11713,7 +11743,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11781,7 +11811,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"translation-api", flag_descriptions::kTranslationAPIName, flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux, FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kTranslationAPI, -@@ -11747,7 +11777,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11807,7 +11837,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( password_manager::features::kPasswordFormClientsideClassifier)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsLinux | kOsMac | kOsWin, -@@ -12111,7 +12141,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12183,7 +12213,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)}, -@@ -12147,7 +12177,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12219,7 +12249,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, -@@ -12299,7 +12329,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12364,7 +12394,7 @@ const FeatureEntry kFeatureEntries[] = { apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -12328,7 +12358,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12393,7 +12423,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(supervised_user::kSupervisedUserBlockInterstitialV3)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -12343,7 +12373,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12408,7 +12438,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableWebAppPredictableAppUpdatingDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebAppPredictableAppUpdating)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -12616,7 +12646,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12685,7 +12715,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)}, -@@ -12709,7 +12739,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12775,7 +12805,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, -@@ -12833,7 +12863,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12887,7 +12917,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, -@@ -12906,7 +12936,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12960,7 +12990,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -13183,7 +13213,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13238,7 +13268,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID), #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-ntp-enterprise-shortcuts", flag_descriptions::kEnableNtpEnterpriseShortcutsName, flag_descriptions::kEnableNtpEnterpriseShortcutsDescription, -@@ -13290,7 +13320,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13345,7 +13375,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillAndPasswordsInSameSurface)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -13318,7 +13348,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13373,7 +13403,7 @@ const FeatureEntry kFeatureEntries[] = { "EnableBlockCanvasReadback")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-ai-based-amount-extraction", flag_descriptions::kAutofillEnableAiBasedAmountExtractionName, flag_descriptions::kAutofillEnableAiBasedAmountExtractionDescription, -@@ -13363,7 +13393,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13423,7 +13453,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, +@@ -13481,7 +13511,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-error-ui", flag_descriptions::kPasskeyUnlockErrorUiName, + flag_descriptions::kPasskeyUnlockErrorUiDescription, kOsDesktop, + FEATURE_VALUE_TYPE(device::kPasskeyUnlockErrorUi)}, +@@ -13518,7 +13548,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kUserValueDefaultBrowserStrings)}, + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"read-anything-read-aloud-ts-text-segmentation", + flag_descriptions::kReadAnythingReadAloudTsTextSegmentationName, + flag_descriptions::kReadAnythingReadAloudTsTextSegmentationDescription, +@@ -13530,7 +13560,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, + FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"profile-creation-decline-signin-cta-experiment", + flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, + flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, +@@ -13538,7 +13568,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"show-profile-picker-to-all-users-experiment", + flag_descriptions::kShowProfilePickerToAllUsersExperimentName, + flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, +@@ -13588,7 +13618,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kAndroidDesktopZoomScaling)}, + #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, +@@ -13599,7 +13629,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, +@@ -13618,7 +13648,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(network::features::kConnectionAllowlists)}, + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"read-anything-with-readability-enabled", + flag_descriptions::kReadAnythingWithReadabilityName, + flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, +@@ -13626,7 +13656,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, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc index 00a76e2dcfe1..844936ebfc37 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/extensions/background_mode_manager.cc.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/background/extensions/background_mode_manager.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/background/extensions/background_mode_manager.cc -@@ -879,7 +879,7 @@ gfx::ImageSkia GetStatusTrayIcon() { +@@ -877,7 +877,7 @@ gfx::ImageSkia GetStatusTrayIcon() { } return family->CreateExact(size).AsImageSkia(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( IDR_PRODUCT_LOGO_128); #elif BUILDFLAG(IS_MAC) diff --git a/www/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 95c7b327621e..fbd5907be927 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 2025-11-01 06:40:37 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/background/glic/glic_status_icon.cc -@@ -89,7 +89,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control +@@ -105,7 +105,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set a vector icon for proper theming on Linux. status_icon_->SetIcon( GlicVectorIconManager::GetVectorIcon(IDR_GLIC_BUTTON_VECTOR_ICON)); -@@ -144,7 +144,7 @@ GlicStatusIcon::~GlicStatusIcon() { +@@ -160,7 +160,7 @@ GlicStatusIcon::~GlicStatusIcon() { context_menu_ = nullptr; if (status_icon_) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) status_icon_->RemoveObserver(this); #endif std::unique_ptr removed_icon = -@@ -258,7 +258,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato +@@ -290,7 +290,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato } void GlicStatusIcon::UpdateVisibilityOfExitInContextMenu() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (context_menu_) { const bool is_visible = BrowserList::GetInstance()->empty(); const std::optional index = -@@ -322,7 +322,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -368,7 +368,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 78360a00e36b..2443ba4e8c36 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 2025-11-01 06:40:37 UTC +--- chrome/browser/browser_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/browser_features.cc @@ -70,7 +70,7 @@ BASE_FEATURE(kCertVerificationNetworkTime, base::FEATU BASE_FEATURE(kClearUserDataUponProfileDestruction, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables usage of os_crypt_async::SecretPortalKeyProvider. Once // `kSecretPortalKeyProviderUseForEncryption` is enabled, this flag cannot be // disabled without losing data. -@@ -85,7 +85,7 @@ BASE_FEATURE(kUseFreedesktopSecretKeyProvider, +@@ -80,7 +80,7 @@ BASE_FEATURE(kDbusSecretPortal, base::FEATURE_ENABLED_ // Destroy profiles when their last browser window is closed, instead of when // the browser exits. BASE_FEATURE(kDestroyProfileOnBrowserClose, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -204,7 +204,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE +@@ -198,7 +198,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 ee62f6939371..404b7d043dcb 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 2025-11-01 06:40:37 UTC +--- chrome/browser/browser_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/browser_features.h @@ -41,7 +41,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); BASE_DECLARE_FEATURE(kClearUserDataUponProfileDestruction); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kDbusSecretPortal); - BASE_DECLARE_FEATURE(kUseFreedesktopSecretKeyProvider); #endif -@@ -92,7 +92,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed + +@@ -89,7 +89,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); - BASE_DECLARE_FEATURE(kUseFreedesktopSecretKeyProviderForEncryption); #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 55f28c0e87a8..acd2306c3e3f 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 2025-11-01 06:40:37 UTC +--- chrome/browser/browser_process_impl.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/browser_process_impl.cc -@@ -255,7 +255,7 @@ +@@ -259,7 +259,7 @@ void OnLocalStatePrefsLoaded(); #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_features.h" - #include "components/os_crypt/async/browser/fallback_linux_key_provider.h" #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h" -@@ -267,7 +267,7 @@ - #include "chrome/browser/safe_browsing/safe_browsing_service.h" - #endif - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // How often to check if the persistent instance of Chrome needs to restart - // to install an update. - static const int kUpdateCheckIntervalHours = 6; -@@ -1181,7 +1181,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim + #include "components/os_crypt/async/browser/secret_portal_key_provider.h" +@@ -1196,7 +1196,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim GoogleUpdateSettings::GetCollectStatsConsent()); registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); #endif } -@@ -1382,7 +1382,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1397,7 +1397,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { local_state()))); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); - if (cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore) != - "basic") { -@@ -1729,7 +1729,7 @@ void BrowserProcessImpl::Unpin() { + const auto password_store = + cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore); +@@ -1418,7 +1418,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { + password_store, l10n_util::GetStringUTF8(IDS_PRODUCT_NAME), nullptr)); + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // On other POSIX systems, this is the only key provider. + providers.emplace_back( + /*precedence=*/5u, std::make_unique()); +@@ -1746,7 +1746,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 52e757e0b362..c91c1ab62cf0 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 2025-09-10 13:22:16 UTC +--- chrome/browser/browser_process_impl.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/browser_process_impl.h -@@ -411,7 +411,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -410,7 +410,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__field__trials.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc index 23ccae9dfcee..7bcd30778c20 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc @@ -1,20 +1,20 @@ ---- chrome/browser/chrome_browser_field_trials.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_browser_field_trials.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_browser_field_trials.cc -@@ -48,7 +48,7 @@ +@@ -51,7 +51,7 @@ #include "chromeos/ash/services/multidevice_setup/public/cpp/first_run_field_trial.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #include "ui/base/ui_base_features.h" #endif // BUILDFLAG(IS_LINUX) -@@ -104,7 +104,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverride +@@ -107,7 +107,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverride base::FeatureList* feature_list) { variations::FeatureOverrides feature_overrides(*feature_list); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux/Desktop platform variants, such as ozone/wayland, some features // might need to be disabled as per OzonePlatform's runtime properties. // OzonePlatform selection and initialization, in turn, depend on Chrome flags 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 de72c61b4715..45f431a61a92 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 2025-09-10 13:22:16 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_browser_interface_binders.cc @@ -82,7 +82,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/ui/web_applications/sub_apps_service_impl.h" #endif -@@ -521,7 +521,7 @@ void PopulateChromeFrameBinders( +@@ -522,7 +522,7 @@ void PopulateChromeFrameBinders( #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && !render_frame_host->GetParentOrOuterDocument()) { // The service binder will reject non-primary main frames, but we still need diff --git a/www/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 0c6d35456f0f..4a2e9e59a572 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,20 +1,20 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -36,7 +36,7 @@ +@@ -40,7 +40,7 @@ #include "mojo/public/cpp/bindings/binder_map.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" -@@ -128,7 +128,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -135,7 +135,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); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc index d823a6d8f3af..8ba5e99481a6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui__parts__desktop.cc @@ -1,37 +1,37 @@ ---- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc -@@ -110,7 +110,7 @@ +@@ -117,7 +117,7 @@ #include "ui/webui/resources/js/browser_command/browser_command.mojom.h" #include "ui/webui/resources/js/tracked_element/tracked_element.mojom.h" // nogncheck crbug.com/1125897 -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_home/app_home.mojom.h" #include "chrome/browser/ui/webui/app_home/app_home_ui.h" #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" -@@ -331,14 +331,14 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -335,14 +335,14 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( HistoryClustersSidePanelUI, NewTabPageUI, BookmarksSidePanelUI>(map); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) 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); -@@ -523,7 +523,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( - RegisterWebUIControllerInterfaceBinder< - guest_contents::mojom::GuestContentsHost, WebUIBrowserUI>(map); +@@ -546,7 +546,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( + OmniboxPopupUI>(map); + } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); 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 0c6e0e9187c3..0c4d5e67b797 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,115 +1,161 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -158,7 +158,7 @@ +@@ -168,7 +168,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 -@@ -184,11 +184,11 @@ +@@ -195,12 +195,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" -@@ -199,7 +199,7 @@ +@@ -211,7 +211,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 -@@ -272,7 +272,7 @@ +@@ -284,7 +284,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) -@@ -295,7 +295,7 @@ +@@ -317,7 +317,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" +@@ -325,7 +325,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" +@@ -334,7 +334,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"); -@@ -444,7 +444,7 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -483,7 +483,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. -@@ -1006,7 +1006,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -549,7 +549,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; +@@ -715,7 +715,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) +@@ -745,7 +745,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 +@@ -762,7 +762,7 @@ std::unique_ptr ChromeBrows + main_parts->AddParts(std::make_unique()); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + main_parts->AddParts(std::make_unique()); + #elif BUILDFLAG(IS_OZONE) + main_parts->AddParts(std::make_unique()); +@@ -1221,7 +1221,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) -+ BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) // Create directory for user-level Native Messaging manifest files. This // makes it less likely that the directory will be created by third-party // software with incorrect owner or permission. See crbug.com/725513 . -@@ -1050,7 +1050,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1265,7 +1265,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( -@@ -1275,7 +1275,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1479,7 +1479,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( -@@ -1326,7 +1326,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1530,7 +1530,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(); } -@@ -1435,7 +1435,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1639,7 +1639,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(); } -@@ -1980,7 +1980,7 @@ bool ChromeBrowserMainParts::ProcessSingletonNotificat - - // 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; 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 48454a160090..794b58f241d2 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,216 +1,165 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -479,7 +479,7 @@ - #include "components/user_manager/user_manager.h" - #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" - #include "storage/browser/file_system/external_mount_points.h" --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/browser/chrome_browser_main_linux.h" - #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" - #elif BUILDFLAG(IS_ANDROID) -@@ -577,7 +577,7 @@ +@@ -574,7 +574,7 @@ #include "third_party/cros_system_api/switches/chrome_switches.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/crash/core/app/crash_switches.h" #include "components/crash/core/app/crashpad.h" #endif -@@ -587,12 +587,12 @@ - #include "components/crash/content/browser/crash_handler_host_linux.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #include "chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h" +@@ -585,7 +585,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -601,7 +601,7 @@ - #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.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" -@@ -1430,7 +1430,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1410,7 +1410,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) -@@ -1653,7 +1653,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo - #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) -@@ -1684,7 +1684,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo - // 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 -@@ -1701,7 +1701,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo - 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()); -@@ -1720,7 +1720,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo - - chrome::AddMetricsExtraParts(main_parts.get()); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - main_parts->AddParts( - std::make_unique< - enterprise_util::ChromeBrowserMainExtraPartsEnterprise>()); -@@ -1793,7 +1793,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF +@@ -1680,7 +1680,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); -@@ -2667,7 +2667,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati +@@ -2554,7 +2554,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; -@@ -2785,7 +2785,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2678,7 +2678,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::CommandLine* command_line, int child_process_id) { -+#ifdef notyet ++#if !BUILDFLAG(IS_BSD) crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line); +#endif #if BUILDFLAG(IS_MAC) std::unique_ptr client_info = GoogleUpdateSettings::LoadMetricsClientInfo(); -@@ -3109,7 +3111,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3002,7 +3004,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Opt into a hardened stack canary mitigation if it hasn't already been // force-disabled. if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) { -@@ -4168,7 +4170,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref +@@ -4061,7 +4063,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 -@@ -5057,7 +5059,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS +@@ -4987,7 +4989,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS additional_allowed_schemes->push_back(content::kChromeUIScheme); additional_allowed_schemes->push_back(content::kChromeUIUntrustedScheme); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) additional_allowed_schemes->push_back(webapps::kIsolatedAppScheme); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -5112,7 +5114,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5042,7 +5044,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, -@@ -5988,7 +5990,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation +@@ -5918,7 +5920,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()) { -@@ -6014,7 +6016,7 @@ void ChromeContentBrowserClient:: +@@ -5944,7 +5946,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, -@@ -6043,7 +6045,7 @@ void ChromeContentBrowserClient:: +@@ -5973,7 +5975,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, -@@ -6318,7 +6320,7 @@ void ChromeContentBrowserClient:: +@@ -6248,7 +6250,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(); -@@ -7288,7 +7290,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -6941,7 +6943,7 @@ bool ChromeContentBrowserClient::HandleWebUI( + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Rewrite chrome://settings/autofill to chrome://settings/yourSavedInfo. + if (url->SchemeIs(content::kChromeUIScheme) && +@@ -7227,7 +7229,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) { -@@ -7711,7 +7713,7 @@ void ChromeContentBrowserClient:: +@@ -7666,7 +7668,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. -@@ -8088,7 +8090,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve +@@ -8043,7 +8045,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 ef867a864500..ee538085e93d 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 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -570,7 +570,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -584,7 +584,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 d14eb11521d4..aefa601974ab 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 2025-11-01 06:40:37 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -126,7 +126,7 @@ +@@ -128,7 +128,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" -@@ -405,7 +405,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -417,7 +417,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); -@@ -423,7 +423,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -435,7 +435,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) || -@@ -455,7 +455,7 @@ void CreateAndAddChromeThrottlesForNavigation( - } +@@ -474,7 +474,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_registration.cc b/www/ungoogled-chromium/files/patch-chrome_browser_component__updater_registration.cc index 77d2d6b269d2..64e6c55bdf9a 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,38 +1,38 @@ ---- chrome/browser/component_updater/registration.cc.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/component_updater/registration.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/component_updater/registration.cc -@@ -92,7 +92,7 @@ +@@ -93,7 +93,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) -@@ -105,7 +105,7 @@ +@@ -106,7 +106,7 @@ #include "chrome/browser/component_updater/lacros_component_remover.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/component_updater/wasm_tts_engine_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -240,7 +240,7 @@ void RegisterComponentsForUpdate() { +@@ -242,7 +242,7 @@ void RegisterComponentsForUpdate() { RegisterCookieReadinessListComponent(cus); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) RegisterAmountExtractionHeuristicRegexesComponent(cus); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -252,7 +252,7 @@ void RegisterComponentsForUpdate() { +@@ -254,7 +254,7 @@ void RegisterComponentsForUpdate() { } #endif // BUIDLFLAG(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__window.cc b/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__window.cc deleted file mode 100644 index bcc69965c4b0..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__window.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/devtools/devtools_window.cc.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/devtools/devtools_window.cc -@@ -566,7 +566,7 @@ void DevToolsWindow::RegisterProfilePrefs( - prefs::kDevToolsGoogleDeveloperProgramProfileAvailability, - /* enabled */ 0); - #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ -- BUILDFLAG(IS_MAC) -+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityAllowlist); - registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityBlocklist); - #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || 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 cde077a617a9..4c1866403d98 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 2025-10-21 16:57:35 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1946,7 +1946,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -2016,7 +2016,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(); } -@@ -2053,7 +2053,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2123,7 +2123,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()) { -@@ -2135,7 +2135,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2201,7 +2201,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_enterprise_chrome__browser__main__extra__parts__enterprise.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_chrome__browser__main__extra__parts__enterprise.cc new file mode 100644 index 000000000000..daa705f70330 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_chrome__browser__main__extra__parts__enterprise.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.cc.orig 2025-12-06 13:30:52 UTC ++++ chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.cc +@@ -7,7 +7,7 @@ + #include "components/enterprise/buildflags/buildflags.h" + #include "content/public/browser/browser_thread.h" + +-#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) + #include "chrome/browser/enterprise/connectors/analysis/content_analysis_sdk_manager.h" // nogncheck + #include "chrome/browser/enterprise/connectors/connectors_service.h" // nogncheck +@@ -53,7 +53,7 @@ ChromeBrowserMainExtraPartsEnterprise::ChromeBrowserMa + ChromeBrowserMainExtraPartsEnterprise:: + ~ChromeBrowserMainExtraPartsEnterprise() = default; + +-#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) + void ChromeBrowserMainExtraPartsEnterprise::PostProfileInit( + Profile* profile, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_chrome__browser__main__extra__parts__enterprise.h b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_chrome__browser__main__extra__parts__enterprise.h new file mode 100644 index 000000000000..c90e5c8d511c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_chrome__browser__main__extra__parts__enterprise.h @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h.orig 2025-12-06 13:30:52 UTC ++++ chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h +@@ -25,7 +25,7 @@ class ChromeBrowserMainExtraPartsEnterprise + ~ChromeBrowserMainExtraPartsEnterprise() override; + + // ChromeBrowserMainExtraParts: +-#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) + void PostProfileInit(Profile* profile, bool is_initial_profile) override; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc index 9a787400559a..4a61c9e38352 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc -@@ -192,7 +192,7 @@ void AnalysisServiceSettings::ParseVerificationSignatu +@@ -55,7 +55,7 @@ void AnalysisServiceSettings::ParseVerificationSignatu const char* verification_key = kKeyWindowsVerification; #elif BUILDFLAG(IS_MAC) const char* verification_key = kKeyMacVerification; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* verification_key = kKeyLinuxVerification; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_common.cc index 1821537e9d19..0cf7f7b1159f 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 2025-10-21 16:57:35 UTC +--- chrome/browser/enterprise/connectors/common.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/enterprise/connectors/common.cc -@@ -20,7 +20,7 @@ +@@ -19,7 +19,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 -@@ -306,7 +306,7 @@ std::string GetProfileEmail(Profile* profile) { +@@ -312,7 +312,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_signals_context__info__fetcher.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc index e8e5ffc13d4c..0c0a99840844 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2025-05-31 17:16:41 UTC +--- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/enterprise/signals/context_info_fetcher.cc -@@ -176,6 +176,8 @@ std::vector ContextInfoFetcher::GetOnSecu +@@ -177,6 +177,8 @@ std::vector ContextInfoFetcher::GetOnSecu SettingValue ContextInfoFetcher::GetOSFirewall() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) return device_signals::GetOSFirewall(); +#elif BUILDFLAG(IS_OPENBSD) + return SettingValue::ENABLED; #elif BUILDFLAG(IS_CHROMEOS) return GetChromeosFirewall(); #else -@@ -195,7 +197,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor +@@ -196,7 +198,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor #endif // BUILDFLAG(IS_LINUX) std::vector ContextInfoFetcher::GetDnsServers() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return device_signals::GetSystemDnsServers(); #else return std::vector(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc index f7b78712408f..38a6dd0c6558 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc @@ -1,38 +1,38 @@ ---- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/enterprise/util/managed_browser_utils.cc -@@ -300,7 +300,7 @@ void SetUserAcceptedAccountManagement(Profile* profile +@@ -302,7 +302,7 @@ void SetUserAcceptedAccountManagement(Profile* profile // The updated consent screen also ask the user for consent to share device // signals. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) profile->GetPrefs()->SetBoolean( device_signals::prefs::kDeviceSignalsPermanentConsentReceived, accepted); #endif -@@ -309,7 +309,7 @@ void SetUserAcceptedAccountManagement(Profile* profile +@@ -311,7 +311,7 @@ void SetUserAcceptedAccountManagement(Profile* profile profile_manager->GetProfileAttributesStorage() .GetProfileAttributesWithPath(profile->GetPath()); if (entry) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) SetEnterpriseProfileLabel(profile); #endif entry->SetUserAcceptedAccountManagement(accepted); -@@ -408,7 +408,7 @@ bool CanShowEnterpriseProfileUI(Profile* profile) { +@@ -410,7 +410,7 @@ bool CanShowEnterpriseProfileUI(Profile* profile) { } bool CanShowEnterpriseBadgingForNTPFooter(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) BrowserManagementNoticeState management_notice_state = GetManagementNoticeStateForNTPFooter(profile); switch (management_notice_state) { -@@ -426,7 +426,7 @@ bool CanShowEnterpriseBadgingForNTPFooter(Profile* pro +@@ -428,7 +428,7 @@ bool CanShowEnterpriseBadgingForNTPFooter(Profile* pro BrowserManagementNoticeState GetManagementNoticeStateForNTPFooter( 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) - if (!policy::ManagementServiceFactory::GetForProfile(profile) - ->IsBrowserManaged() || - !g_browser_process->local_state()->GetBoolean( + auto* management_service = + policy::ManagementServiceFactory::GetForProfile(profile); + if (!management_service->IsBrowserManaged() || 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 0ee126f38002..742d1dc44f86 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 2025-11-01 06:40:37 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1517,6 +1517,10 @@ source_set("extensions") { +@@ -1515,6 +1515,10 @@ source_set("extensions") { deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_pdf) { deps += [ "//chrome/browser/pdf", diff --git a/www/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 60e1ae38aabd..a3703b63f85c 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 2025-11-01 06:40:37 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -197,7 +197,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -196,7 +196,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::kAutofillAiOptInStatus] = -@@ -217,7 +217,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + (*s_allowlist)[autofill::prefs::kAutofillAiIdentityEntitiesEnabled] = +@@ -220,7 +220,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 -@@ -234,7 +234,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -237,7 +237,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__non__android.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc index f8173ed63c7b..dacb031f90bf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/tabs/tabs_api_non_android.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/extensions/api/tabs/tabs_api_non_android.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/extensions/api/tabs/tabs_api_non_android.cc -@@ -624,7 +624,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio +@@ -633,7 +633,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio // created as minimized. // TODO(crbug.com/40254339): Remove this workaround when linux is fixed. // TODO(crbug.com/40254339): Find a fix for wayland as well. -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) - if (new_window->initial_show_state() == + if (new_window->GetBrowserForMigrationOnly()->initial_show_state() == ui::mojom::WindowShowState::kMinimized) { - new_window->window()->Minimize(); + new_window->GetWindow()->Minimize(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index 034bddda2d85..e6fcc8b95140 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -832,7 +832,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -836,7 +836,7 @@ void ExternalProviderImpl::CreateExternalProviders( #endif // BUILDFLAG(IS_CHROMEOS) if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) provider_list->push_back(std::make_unique( service, base::MakeRefCounted( -@@ -860,7 +860,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -864,7 +864,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc new file mode 100644 index 000000000000..38914b958934 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_sync_extension__sync__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/sync/extension_sync_service.cc.orig 2025-12-06 13:30:52 UTC ++++ chrome/browser/extensions/sync/extension_sync_service.cc +@@ -593,7 +593,7 @@ void ExtensionSyncService::ApplySyncData( + AccountExtensionTracker::Get(profile_)->OnExtensionSyncDataReceived(id); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Chrome Apps are deprecated on WML, so we do not want to sync new apps + // installed on other devices. + if (extension_sync_data.is_app()) { diff --git a/www/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 65779cb5440d..c456cfeae79a 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 2025-11-01 06:40:37 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -377,7 +377,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { +@@ -400,7 +400,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), BlockType::kDontBlockChildren}, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux also block access to devices via /dev. {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren}, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc deleted file mode 100644 index 1d9947250d7f..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc +++ /dev/null @@ -1,172 +0,0 @@ ---- chrome/browser/flag_descriptions.cc.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/flag_descriptions.cc -@@ -710,7 +710,7 @@ const char kAutofillEnableAllowlistForBmoCardCategoryB - "Autofill suggestions on the allowlisted merchant websites."; - - #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 kAutofillEnableAmountExtractionName[] = - "Enable checkout amount extraction."; - const char kAutofillEnableAmountExtractionDescription[] = -@@ -726,7 +726,7 @@ const char kAutofillEnableAmountExtractionTestingDescr - // BUILDFLAG(IS_CHROMEOS) || 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 char kAutofillEnableBuyNowPayLaterName[] = - "Enable buy now pay later on Autofill"; - const char kAutofillEnableBuyNowPayLaterDescription[] = -@@ -1206,7 +1206,7 @@ const char kDevicePostureDescription[] = - "Enables Device Posture API (foldable devices)"; - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const char kDocumentPictureInPictureAnimateResizeName[] = - "Document Picture-in-Picture Animate Resize"; - const char kDocumentPictureInPictureAnimateResizeDescription[] = -@@ -1330,7 +1330,7 @@ const char kContextMenuEmptySpaceDescription[] = - "space, a context menu containing page-related items will be shown."; - #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) - const char kContextualCueingName[] = "Contextual cueing"; - const char kContextualCueingDescription[] = - "Enables the contextual cueing system to support showing actions."; -@@ -1691,7 +1691,7 @@ const char kEnableIsolatedWebAppDevModeName[] = - const char kEnableIsolatedWebAppDevModeDescription[] = - "Enables the installation of unverified Isolated Web Apps"; - --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kEnableIwaKeyDistributionComponentName[] = - "Enable the Iwa Key Distribution component"; - const char kEnableIwaKeyDistributionComponentDescription[] = -@@ -3664,14 +3664,14 @@ const char kReduceTransferSizeUpdatedIPCDescription[] - "When enabled, the network service will send TransferSizeUpdatedIPC IPC " - "only when DevTools is attached or the request is for an ad request."; - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kReduceUserAgentDataLinuxPlatformVersionName[] = - "Reduce Linux platform version Client Hint"; - const char kReduceUserAgentDataLinuxPlatformVersionDescription[] = - "Set platform version Client Hint on Linux to empty string."; - #endif // BUILDFLAG(IS_LINUX) - --#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 kReplaceSyncPromosWithSignInPromosName[] = - "Replace all sync-related UI with sign-in ones"; - const char kReplaceSyncPromosWithSignInPromosDescription[] = -@@ -3705,7 +3705,7 @@ const char kRobustWindowManagementExperimentalDescript - "switching and restoration, ensuring they never lose their work or " - "context."; - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kRootScrollbarFollowsTheme[] = "Make scrollbar follow theme"; - const char kRootScrollbarFollowsThemeDescription[] = - "If enabled makes the root scrollbar follow the browser's theme color."; -@@ -3954,7 +3954,7 @@ const char kDefaultSiteInstanceGroupsDescription[] = - "SiteInstance."; - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const char kPwaNavigationCapturingName[] = "Desktop PWA Link Capturing"; - const char kPwaNavigationCapturingDescription[] = - "Enables opening links from Chrome in an installed PWA. Currently under " -@@ -4230,7 +4230,7 @@ const char kTouchTextEditingRedesignName[] = "Touch Te - const char kTouchTextEditingRedesignDescription[] = - "Enables new touch text editing features."; - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kTranslationAPIName[] = "Experimental translation API"; - const char kTranslationAPIDescription[] = - "Enables the on-device language translation API. " -@@ -7892,7 +7892,7 @@ const char kTetheringExperimentalFunctionalityDescript - - #endif // BUILDFLAG(IS_CHROMEOS) - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kGetAllScreensMediaName[] = "GetAllScreensMedia API"; - const char kGetAllScreensMediaDescription[] = - "When enabled, the getAllScreensMedia API for capturing multiple screens " -@@ -8103,7 +8103,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b - - // Linux ----------------------------------------------------------------------- - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - - const char kPulseaudioLoopbackForCastName[] = - "Linux System Audio Loopback for Cast (pulseaudio)"; -@@ -8135,6 +8135,17 @@ const char kWaylandSessionManagementName[] = "Wayland - const char kWaylandSessionManagementDescription[] = - "Enable Wayland's xx/xdg-session-management-v1 experimental support."; - -+#if BUILDFLAG(IS_BSD) -+const char kAudioBackendName[] = -+ "Audio Backend"; -+const 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 - #endif // BUILDFLAG(IS_LINUX) - - // Random platform combinations ----------------------------------------------- -@@ -8191,7 +8202,7 @@ const char kGroupPromoPrototypeCpaDescription[] = - "Enables contextual toolbar button for group promo prototype."; - #endif // BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const char kEnableNetworkServiceSandboxName[] = - "Enable the network service sandbox."; - const char kEnableNetworkServiceSandboxDescription[] = -@@ -8212,7 +8223,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti - "Bluetooth"; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) - --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_PRINTING) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_PRINTING) - const char kCupsIppPrintingBackendName[] = "CUPS IPP Printing Backend"; - const char kCupsIppPrintingBackendDescription[] = - "Use the CUPS IPP printing backend instead of the original CUPS backend " -@@ -8359,7 +8370,7 @@ const char kElementCaptureDescription[] = - "media track into a track capturing just a specific DOM element."; - #endif // !BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - const char kUIDebugToolsName[] = "Debugging tools for UI"; - const char kUIDebugToolsDescription[] = - "Enables additional keyboard shortcuts to help debugging."; -@@ -8391,7 +8402,7 @@ const char kThirdPartyDisableChromeAutofillSettingsScr - "Chrome's Address and Payments Autofill are disabled in third party mode."; - #endif // 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) - const char kGlicName[] = "Glic"; - const char kGlicDescription[] = "Enables glic"; - -@@ -8510,7 +8521,7 @@ const char kSupervisedUserBlockInterstitialV3Name[] = - const char kSupervisedUserBlockInterstitialV3Description[] = - "Enables URL filter interstitial V3 for Family Link users."; - --#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 kSupervisedUserLocalWebApprovalsName[] = - "Enable local web approvals feature"; - const char kSupervisedUserLocalWebApprovalsDescription[] = 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 0f0b40821079..8afeecdb725e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,164 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/flag_descriptions.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/flag_descriptions.h -@@ -458,7 +458,7 @@ extern const char - kAutofillEnableAllowlistForBmoCardCategoryBenefitsDescription[]; - - #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) - extern const char kAutofillEnableAmountExtractionName[]; - extern const char kAutofillEnableAmountExtractionDescription[]; - extern const char kAutofillEnableAmountExtractionTestingName[]; -@@ -467,7 +467,7 @@ extern const char kAutofillEnableAmountExtractionTesti - // BUILDFLAG(IS_CHROMEOS) || 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) - extern const char kAutofillEnableBuyNowPayLaterName[]; - extern const char kAutofillEnableBuyNowPayLaterDescription[]; - -@@ -721,7 +721,7 @@ extern const char kContextMenuEmptySpaceName[]; - extern const char kContextMenuEmptySpaceDescription[]; - #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) - extern const char kContextualCueingName[]; - extern const char kContextualCueingDescription[]; - extern const char kGlicActorName[]; -@@ -888,7 +888,7 @@ extern const char kRouteMatchingName[]; - extern const char kRouteMatchingDescription[]; - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kDocumentPictureInPictureAnimateResizeName[]; - extern const char kDocumentPictureInPictureAnimateResizeDescription[]; - -@@ -1064,7 +1064,7 @@ extern const char kEnableIsolatedWebAppAllowlistDescri - extern const char kEnableIsolatedWebAppDevModeName[]; - extern const char kEnableIsolatedWebAppDevModeDescription[]; - --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kEnableIwaKeyDistributionComponentName[]; - extern const char kEnableIwaKeyDistributionComponentDescription[]; - #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -2103,7 +2103,7 @@ extern const char kReduceIPAddressChangeNotificationDe - #endif // BUILDFLAG(IS_MAC) - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ -- BUILDFLAG(IS_ANDROID) -+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - extern const char kReplaceSyncPromosWithSignInPromosName[]; - extern const char kReplaceSyncPromosWithSignInPromosDescription[]; - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || -@@ -2115,7 +2115,7 @@ extern const char kRobustWindowManagementDescription[] - extern const char kRobustWindowManagementExperimentalName[]; - extern const char kRobustWindowManagementExperimentalDescription[]; - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kRootScrollbarFollowsTheme[]; - extern const char kRootScrollbarFollowsThemeDescription[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -@@ -2257,7 +2257,7 @@ extern const char kDefaultSiteInstanceGroupsName[]; - extern const char kDefaultSiteInstanceGroupsDescription[]; - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kPwaNavigationCapturingName[]; - extern const char kPwaNavigationCapturingDescription[]; - #endif -@@ -2437,7 +2437,7 @@ extern const char kTouchSelectionStrategyDirection[]; - extern const char kTouchTextEditingRedesignName[]; - extern const char kTouchTextEditingRedesignDescription[]; - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kTranslationAPIName[]; - extern const char kTranslationAPIDescription[]; - -@@ -2703,7 +2703,7 @@ extern const char kReduceAcceptLanguageDescription[]; - extern const char kReduceTransferSizeUpdatedIPCName[]; - extern const char kReduceTransferSizeUpdatedIPCDescription[]; - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kReduceUserAgentDataLinuxPlatformVersionName[]; - extern const char kReduceUserAgentDataLinuxPlatformVersionDescription[]; - #endif // #if BUILDFLAG(IS_LINUX) -@@ -4558,7 +4558,7 @@ extern const char kTetheringExperimentalFunctionalityD - - #endif // #if BUILDFLAG(IS_CHROMEOS) - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kGetAllScreensMediaName[]; - extern const char kGetAllScreensMediaDescription[]; - #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -4678,7 +4678,7 @@ extern const char kEnableArmHwdrmDescription[]; - - // Linux --------------------------------------------------------------------- - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - - extern const char kPulseaudioLoopbackForCastName[]; - extern const char kPulseaudioLoopbackForCastDescription[]; -@@ -4697,6 +4697,8 @@ extern const char kWaylandPerWindowScalingDescription[ - extern const char kWaylandSessionManagementName[]; - extern const char kWaylandSessionManagementDescription[]; - -+extern const char kAudioBackendName[]; -+extern const char kAudioBackendDescription[]; - #endif // BUILDFLAG(IS_LINUX) - - // Random platform combinations ----------------------------------------------- -@@ -4711,7 +4713,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa - extern const char kWebBluetoothConfirmPairingSupportDescription[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) - --#if BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_PRINTING) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_PRINTING) - extern const char kCupsIppPrintingBackendName[]; - extern const char kCupsIppPrintingBackendDescription[]; - #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_PRINTING) -@@ -4738,7 +4740,7 @@ extern const char kTaskManagerDesktopRefreshName[]; - extern const char kTaskManagerDesktopRefreshDescription[]; - #endif // BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kEnableNetworkServiceSandboxName[]; - extern const char kEnableNetworkServiceSandboxDescription[]; - -@@ -4834,7 +4836,7 @@ extern const char kElementCaptureName[]; - extern const char kElementCaptureDescription[]; - #endif // !BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - extern const char kUIDebugToolsName[]; - extern const char kUIDebugToolsDescription[]; - #endif -@@ -4859,7 +4861,7 @@ extern const char kThirdPartyDisableChromeAutofillSett - extern const char kThirdPartyDisableChromeAutofillSettingsScreenDescription[]; - #endif // 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) - extern const char kGlicName[]; - extern const char kGlicDescription[]; - -@@ -4941,7 +4943,7 @@ extern const char kSearchInSettingsDescription[]; - extern const char kSupervisedUserBlockInterstitialV3Name[]; - extern const char kSupervisedUserBlockInterstitialV3Description[]; - --#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 kSupervisedUserLocalWebApprovalsName[]; - extern const char kSupervisedUserLocalWebApprovalsDescription[]; - #endif // #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +@@ -8590,6 +8590,18 @@ inline constexpr char kHandleMdmErrorsForDasherAccount + inline constexpr char kHandleMdmErrorsForDasherAccountsDescription[] = + "Enables the mdm error handling feature for dasher accounts"; + ++#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_widget_glic__widget.cc b/www/ungoogled-chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc index 5225d4864ec1..1339c04f96f7 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,11 +1,20 @@ ---- chrome/browser/glic/widget/glic_widget.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/glic/widget/glic_widget.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/glic/widget/glic_widget.cc -@@ -161,7 +161,7 @@ std::unique_ptr GlicWidget::Create( - // Don't change this name. This is used by other code to identify the glic - // window. See b/404947780. - params.name = "GlicWidget"; +@@ -48,7 +48,7 @@ + #include "ui/views/win/hwnd_util.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/shell_integration_linux.h" + #endif + +@@ -283,7 +283,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 + #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 be76ae30fc61..28ae85c11686 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_global__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_global__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/global_features.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/global_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/global_features.cc -@@ -25,7 +25,7 @@ +@@ -27,7 +27,7 @@ #include "chrome/browser/glic/public/glic_enabling.h" // nogncheck #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This causes a gn error on Android builds, because gn does not understand // buildflags, so we include it only on platforms where it is used. #include "chrome/browser/ui/webui/whats_new/whats_new_registrar.h" -@@ -71,7 +71,7 @@ void GlobalFeatures::ReplaceGlobalFeaturesForTesting( +@@ -73,7 +73,7 @@ void GlobalFeatures::ReplaceGlobalFeaturesForTesting( void GlobalFeatures::Init() { 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) whats_new_registry_ = CreateWhatsNewRegistry(); #endif -@@ -123,7 +123,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -134,7 +134,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 606d848e4a05..9b68f4bce9c9 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 2025-11-01 06:40:37 UTC +--- chrome/browser/global_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/global_features.h @@ -15,7 +15,7 @@ namespace system_permission_settings { class PlatformHandle; } // namespace system_permission_settings -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace whats_new { class WhatsNewRegistry; } // namespace whats_new -@@ -67,7 +67,7 @@ class GlobalFeatures { +@@ -71,7 +71,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(); } -@@ -112,7 +112,7 @@ class GlobalFeatures { +@@ -121,7 +121,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 -@@ -122,7 +122,7 @@ class GlobalFeatures { +@@ -131,7 +131,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_; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h index ad6f5b3a675b..3048d438cbbb 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.h -@@ -133,7 +133,7 @@ class WebRtcLoggingController +@@ -134,7 +134,7 @@ class WebRtcLoggingController size_t web_app_id, const StartEventLoggingCallback& callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Ensures that the WebRTC Logs directory exists and then grants render // process access to the 'WebRTC Logs' directory, and invokes |callback| with // the ids necessary to create a DirectoryEntry object. -@@ -197,7 +197,7 @@ class WebRtcLoggingController +@@ -198,7 +198,7 @@ class WebRtcLoggingController content::BrowserContext* GetBrowserContext() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Grants the render process access to the 'WebRTC Logs' directory, and // invokes |callback| with the ids necessary to create a DirectoryEntry // object. If the |logs_path| couldn't be created or found, |error_callback| diff --git a/www/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 62b79c136615..f4b891d3ebcf 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,115 +1,115 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc @@ -204,11 +204,11 @@ #include "chrome/browser/metrics/google_update_metrics_provider_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/metrics/motherboard_metrics_provider.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/metrics/chrome_metrics_service_crash_reporter.h" #endif @@ -226,7 +226,7 @@ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/tabs/tab_metrics_provider.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) @@ -246,7 +246,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000; // Needs to be kept in sync with the writer in // third_party/crashpad/crashpad/handler/handler_main.cc. const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ChromeMetricsServiceCrashReporter& GetCrashReporter() { static base::NoDestructor crash_reporter; return *crash_reporter; @@ -556,7 +556,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) @@ -638,7 +638,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri void ChromeMetricsServiceClient::OnEnvironmentUpdate(std::string* environment) { // TODO(https://bugs.ch40m1um.qjz9zk/p/crashpad/issues/detail?id=135): call this // on Mac when the Crashpad API supports it. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Register the environment with the crash reporter. Note that there is a // window from startup to this point during which crash reports will not have // an environment set. @@ -740,7 +740,7 @@ void ChromeMetricsServiceClient::Initialize() { this, local_state, g_browser_process->shared_url_loader_factory()); } #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 @@ -800,7 +800,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 @@ -888,7 +888,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) -@@ -990,7 +990,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -987,7 +987,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique( g_browser_process->profile_manager())); -@@ -1002,7 +1002,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -999,7 +999,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( metrics::CreateDesktopSessionMetricsProvider()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) -@@ -1202,7 +1202,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1203,7 +1203,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( -@@ -1551,7 +1551,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1552,7 +1552,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = base::MakeRefCounted( cros_system_profile_provider_.get()); -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Make sure that Structured Metrics recording delegates have been created // before the service is created. This is handled in other places for ChromeOS diff --git a/www/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 d5b87b8bc50d..65f56d92442a 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 2025-11-01 06:40:37 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/net/profile_network_context_service.cc -@@ -142,7 +142,7 @@ +@@ -146,7 +146,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" -@@ -292,7 +292,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet +@@ -300,7 +300,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) { -@@ -1268,7 +1268,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1314,7 +1314,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 771610b06af0..5a97ee261049 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 2025-11-01 06:40:37 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/net/system_network_context_manager.cc @@ -138,7 +138,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 const char* kGssapiDesiredPref = #if BUILDFLAG(IS_CHROMEOS) prefs::kKerberosEnabled; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) prefs::kReceivedHttpAuthNegotiateHeader; #endif #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) @@ -192,7 +192,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 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 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() // 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() } #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) @@ -588,7 +588,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) {} @@ -646,7 +646,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) @@ -660,7 +660,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) @@ -732,7 +732,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) @@ -757,11 +757,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) @@ -815,7 +815,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) -@@ -1042,7 +1042,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1047,7 +1047,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_new__tab__page__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc index 90760664688d..9b0e4b6a623f 100644 --- 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 @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/new_tab_page/new_tab_page_util.cc -@@ -35,7 +35,7 @@ bool IsOsSupportedForCart() { +@@ -38,7 +38,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 0704822f11f6..332efe0464b3 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 2025-11-01 06:40:37 UTC +--- chrome/browser/page_load_metrics/page_load_metrics_initialize.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/page_load_metrics/page_load_metrics_initialize.cc @@ -70,7 +70,7 @@ #include "url/gurl.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -342,7 +342,7 @@ bool PageLoadMetricsEmbedder::IsInternalWebUI(const GU +@@ -351,7 +351,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 8432ddb5b815..7d84cf97ea46 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 2025-11-01 06:40:37 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -678,7 +678,7 @@ void ChromePasswordManagerClient::ContinueShowKeyboard +@@ -694,7 +694,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; } -@@ -955,7 +955,7 @@ void ChromePasswordManagerClient::NotifyUserCredential +@@ -988,7 +988,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) { -@@ -1987,7 +1987,7 @@ void ChromePasswordManagerClient::HideFillingUI() { +@@ -2016,7 +2016,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; } -@@ -2026,7 +2026,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement +@@ -2055,7 +2055,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 163b5b2bf6d0..56947a5a2019 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 2025-11-01 06:40:37 UTC +--- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc -@@ -22,7 +22,7 @@ +@@ -21,7 +21,7 @@ #include "ui/gfx/geometry/resize_utils.h" #include "ui/gfx/geometry/size.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) @@ -585,7 +585,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na bool PictureInPictureWindowManager::IsSupportedForDocumentPictureInPicture( const GURL& url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only allow document PiP to be opened if the URL is of a type that we know // how to display in the title bar. Otherwise, the title bar might be // misleading in certain scenarios. See https://crbug.com/1460025 . diff --git a/www/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 7c2816fefb69..cf141b98c00f 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,206 +1,197 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -244,7 +244,7 @@ +@@ -245,7 +245,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" -@@ -596,7 +596,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -605,7 +605,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 }, -@@ -934,7 +934,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -943,7 +943,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 }, -@@ -943,7 +943,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -952,7 +952,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 }, -@@ -1825,7 +1825,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - base::Value::Type::BOOLEAN }, +@@ -1831,7 +1831,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 }, -@@ -1887,7 +1887,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1893,7 +1893,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 }, -@@ -1907,12 +1907,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1913,12 +1913,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kTotalMemoryLimitMb, base::Value::Type::INTEGER }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kBackgroundModeEnabled, prefs::kBackgroundModeEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, -@@ -1923,7 +1923,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1929,7 +1929,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kLiveTranslateEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDefaultBrowserSettingEnabled, prefs::kDefaultBrowserSettingEnabled, base::Value::Type::BOOLEAN }, -@@ -1935,7 +1935,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1941,7 +1941,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ - || BUILDFLAG(IS_CHROMEOS) + || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAutoplayAllowed, prefs::kAutoplayAllowed, base::Value::Type::BOOLEAN }, -@@ -2042,7 +2042,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2048,7 +2048,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 }, -@@ -2147,7 +2147,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2153,7 +2153,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 }, -@@ -2226,7 +2226,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2232,7 +2232,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 }, -@@ -2261,7 +2261,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2267,7 +2267,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kRestrictCoreSharingOnRenderer, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kOutOfProcessSystemDnsResolutionEnabled, prefs::kOutOfProcessSystemDnsResolutionEnabled, base::Value::Type::BOOLEAN }, -@@ -2292,7 +2292,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2298,7 +2298,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}, -@@ -2315,7 +2315,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2321,7 +2321,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { key::kTabCompareSettings, optimization_guide::prefs::kProductSpecificationsEnterprisePolicyAllowed, base::Value::Type::INTEGER}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) { key::kChromeForTestingAllowed, prefs::kChromeForTestingAllowed, base::Value::Type::BOOLEAN }, -@@ -2394,7 +2394,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2400,7 +2400,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 }, -@@ -2538,7 +2538,7 @@ std::unique_ptr BuildH +@@ -2549,7 +2549,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, -@@ -2808,7 +2808,7 @@ std::unique_ptr BuildH +@@ -2822,7 +2822,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()); -@@ -3243,7 +3243,7 @@ std::unique_ptr BuildH +@@ -3257,7 +3257,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( -@@ -3251,7 +3251,7 @@ std::unique_ptr BuildH +@@ -3265,7 +3265,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)); -@@ -3304,7 +3304,7 @@ std::unique_ptr BuildH +@@ -3318,7 +3318,7 @@ std::unique_ptr BuildH std::vector gen_ai_default_policies; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) gen_ai_default_policies.emplace_back( key::kAutofillPredictionSettings, optimization_guide::prefs:: -@@ -3381,7 +3381,7 @@ std::unique_ptr BuildH - std::make_unique())); - #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) - handlers->AddHandler(std::make_unique( - std::make_unique( - key::kCacheEncryptionEnabled, 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 new file mode 100644 index 000000000000..954c2b4c1c60 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc @@ -0,0 +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 +@@ -58,7 +58,7 @@ void DeveloperToolsPolicyCheckerFactory::RegisterProfi + static_cast(DeveloperToolsPolicyHandler::Availability:: + 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_prefs_browser__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index d0b512e497c3..96f6fab3fdfc 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 2025-11-01 06:40:37 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -327,7 +327,7 @@ +@@ -331,7 +331,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 -@@ -494,11 +494,11 @@ +@@ -497,11 +497,11 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897 #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -526,7 +526,7 @@ +@@ -529,7 +529,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 -@@ -1846,7 +1846,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1662,7 +1662,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 -@@ -1994,7 +1994,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1810,7 +1810,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) #endif // BUILDFLAG(ENABLE_PDF) #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 -@@ -2366,13 +2366,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2184,13 +2184,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_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.cc deleted file mode 100644 index b1ea08628c1a..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- chrome/browser/privacy_sandbox/incognito/privacy_sandbox_incognito_tab_observer.cc.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/privacy_sandbox/incognito/privacy_sandbox_incognito_tab_observer.cc -@@ -11,7 +11,7 @@ - #include "privacy_sandbox_incognito_survey_service.h" - #include "privacy_sandbox_incognito_survey_service_factory.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 "privacy_sandbox_whats_new_survey_service.h" - #include "privacy_sandbox_whats_new_survey_service_factory.h" - #endif -@@ -40,7 +40,7 @@ void PrivacySandboxIncognitoTabObserver::DidFinishLoad - return; - } - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // What's new page is fully contained within a single iframe for all the - // contents. The survey on the "What's New" page should only appear when the - // *iframe's* content is fully loaded. This happens after the main frame's -@@ -72,7 +72,7 @@ bool PrivacySandboxIncognitoTabObserver::IsNewTabPage( - url == chrome::kChromeUINewTabURL; - } - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // constant kChromeUIWhatsNewURL is defined only for this three. - bool PrivacySandboxIncognitoTabObserver::IsWhatsNewPage(const GURL& url) { - return url == chrome::kChromeUIWhatsNewURL; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.h b/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.h deleted file mode 100644 index 6a6932d5cdba..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__incognito__tab__observer.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/privacy_sandbox/incognito/privacy_sandbox_incognito_tab_observer.h.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/privacy_sandbox/incognito/privacy_sandbox_incognito_tab_observer.h -@@ -23,7 +23,7 @@ class PrivacySandboxIncognitoTabObserver : public cont - - private: - bool IsNewTabPage(const GURL& url); --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - bool IsWhatsNewPage(const GURL& url); - #endif - }; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__whats__new__survey__service.h b/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__whats__new__survey__service.h deleted file mode 100644 index e164d9b7d94c..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_privacy__sandbox_incognito_privacy__sandbox__whats__new__survey__service.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/privacy_sandbox/incognito/privacy_sandbox_whats_new_survey_service.h.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/privacy_sandbox/incognito/privacy_sandbox_whats_new_survey_service.h -@@ -16,7 +16,7 @@ - #include "components/keyed_service/core/keyed_service.h" - #include "content/public/browser/web_contents.h" - --#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) -+#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - #error This file should only be included on Win, Mac or Linux - #endif - 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 8095d18f51e4..7527a52e338d 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,151 +1,151 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -385,7 +385,7 @@ +@@ -388,7 +388,7 @@ #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h" #include "chrome/browser/enterprise/idle/idle_service_factory.h" -@@ -430,7 +430,7 @@ +@@ -433,7 +433,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" -@@ -440,11 +440,11 @@ - #if !BUILDFLAG(IS_ANDROID) - #include "chrome/browser/password_manager/startup_passwords_import_service_factory.h" // nogncheck (Desktop only) +@@ -445,11 +445,11 @@ + #include "chrome/browser/webauthn/passkey_unlock_manager_factory.h" + #include "device/fido/features.h" #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/messaging_layer/util/manual_test_heartbeat_event_factory.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_service_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_service_factory.h" #include "chrome/browser/enterprise/signin/oidc_authentication_signin_interceptor_factory.h" -@@ -670,7 +670,7 @@ void ChromeBrowserMainExtraPartsProfiles:: - AccountInvestigatorFactory::GetInstance(); +@@ -674,7 +674,7 @@ void ChromeBrowserMainExtraPartsProfiles:: AccountPasswordStoreFactory::GetInstance(); AccountReconcilorFactory::GetInstance(); + autofill::AccountSettingServiceFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AccountsPolicyManagerFactory::GetInstance(); #endif #if !BUILDFLAG(IS_ANDROID) -@@ -769,7 +769,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -773,7 +773,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(); -@@ -832,7 +832,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -837,7 +837,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(); -@@ -840,7 +840,7 @@ void ChromeBrowserMainExtraPartsProfiles:: - contextual_tasks::ContextualTasksContextControllerFactory::GetInstance(); - contextual_tasks::ContextualTasksServiceFactory::GetInstance(); +@@ -851,7 +851,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + contextual_tasks::ContextualTasksUiServiceFactory::GetInstance(); + #endif ContentIndexProviderFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) contextual_cueing::ContextualCueingServiceFactory::GetInstance(); #endif - ContextualSessionServiceFactory::GetInstance(); -@@ -891,11 +891,11 @@ void ChromeBrowserMainExtraPartsProfiles:: + ContextualSearchServiceFactory::GetInstance(); +@@ -903,11 +903,11 @@ 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 -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) enterprise_connectors::LocalBinaryUploadServiceFactory::GetInstance(); -@@ -905,7 +905,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -917,7 +917,7 @@ void ChromeBrowserMainExtraPartsProfiles:: GetInstance(); #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_idle::IdleServiceFactory::GetInstance(); enterprise_signals::SignalsAggregatorFactory::GetInstance(); #endif -@@ -914,10 +914,10 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -926,10 +926,10 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif enterprise_reporting::LegacyTechServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) enterprise_signals::UserPermissionServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_signin::EnterpriseSigninServiceFactory::GetInstance(); #endif #if BUILDFLAG(ENABLE_SESSION_SERVICE) -@@ -1055,7 +1055,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1065,7 +1065,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_ANDROID) MerchantViewerDataManagerFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif #if !BUILDFLAG(IS_ANDROID) -@@ -1139,7 +1139,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1154,7 +1154,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(); -@@ -1184,7 +1184,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1197,7 +1197,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(); policy::UserPolicyOidcSigninServiceFactory::GetInstance(); #endif -@@ -1220,7 +1220,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1231,7 +1231,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(); - PrivacySandboxWhatsNewSurveyServiceFactory::GetInstance(); -@@ -1241,7 +1241,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #endif +@@ -1251,7 +1251,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 - #if !BUILDFLAG(IS_ANDROID) + RevokedPermissionsOSNotificationDisplayManagerFactory::GetInstance(); 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 503f33ae6304..25cf170e0239 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,40 +1,40 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -267,6 +267,10 @@ +@@ -264,6 +264,10 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #endif +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using bookmarks::BookmarkModel; using content::BrowserThread; using content::DownloadManagerDelegate; -@@ -601,7 +605,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -598,7 +602,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() -@@ -870,7 +874,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -865,7 +869,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_profiles_profile__io__data.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__io__data.cc index 86374137cffe..f608fb7ecad0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__io__data.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__io__data.cc @@ -1,20 +1,20 @@ ---- chrome/browser/profiles/profile_io_data.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/profiles/profile_io_data.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/profiles/profile_io_data.cc @@ -17,7 +17,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) -@@ -57,7 +57,7 @@ bool ProfileIOData::IsHandledProtocol(const std::strin +@@ -57,7 +57,7 @@ bool ProfileIOData::IsHandledProtocol(std::string_view url::kFileSystemScheme, chrome::kChromeSearchScheme, #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) 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 33866d8db0ef..680e8ab53bd5 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 2025-11-12 17:42:57 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -244,7 +244,7 @@ +@@ -249,7 +249,7 @@ #include "url/origin.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -4987,7 +4987,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { +@@ -5026,7 +5026,7 @@ void RenderViewContextMenu::OpenLinkInSplitView() { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderViewContextMenu::IsLinkToIsolatedWebApp() const { // Using `unfiltered_link_url`, because `link_url` is being replaced with // about:blank#blocked if the source is a normal site. diff --git a/www/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 2a6fec0c1ce4..e66dc0b5cc1b 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 2025-11-01 06:40:37 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1287,7 +1287,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1291,7 +1291,7 @@ std::string ChromePasswordProtectionService::GetOrgani ReusedPasswordAccountType password_type) const { if (base::FeatureList::IsEnabled( safe_browsing::kEnterprisePasswordReuseUiRefresh)) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetPrefs()->GetString(prefs::kEnterpriseCustomLabelForProfile); #else return std::string(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc index 87b745588d11..2b36a6220da7 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-05-06 12:23:00 UTC +--- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "components/safe_browsing/core/common/safebrowsing_switches.h" #include "net/base/url_util.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/analysis/local_binary_upload_service_factory.h" #endif diff --git a/www/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 3077f1ea01cf..7b6ad62b8522 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 2025-11-01 06:40:37 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc -@@ -12,7 +12,7 @@ +@@ -14,7 +14,7 @@ #include "content/public/browser/web_contents.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window/public/browser_window_features.h" #include "chrome/browser/ui/toasts/api/toast_id.h" -@@ -59,7 +59,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange +@@ -61,7 +61,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange void SafeBrowsingPrefChangeHandler:: MaybeShowEnhancedProtectionSettingChangeNotification() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!profile_ || !base::FeatureList::IsEnabled(safe_browsing::kEsbAsASyncedSetting)) { return; -@@ -186,7 +186,7 @@ void SafeBrowsingPrefChangeHandler:: +@@ -216,7 +216,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_signin_chrome__signin__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc index 99f80bfdd0c6..abc2cbc33623 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 2025-10-21 16:57:35 UTC +--- chrome/browser/signin/chrome_signin_client.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/signin/chrome_signin_client.cc -@@ -163,7 +163,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo +@@ -164,7 +164,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 fda9a67bbc28..522cffa1a8a4 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 2025-09-10 13:22:16 UTC +--- chrome/browser/signin/signin_hats_util.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/signin/signin_hats_util.cc -@@ -36,7 +36,7 @@ +@@ -39,7 +39,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"; -@@ -153,7 +153,7 @@ SurveyStringData GetSigninSurveyStringData( +@@ -123,7 +123,7 @@ SurveyStringData GetSigninSurveyStringData( namespace signin { bool IsFeatureEnabledForSigninHatsTrigger(const std::string& trigger) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - for (const auto& entry : kChromeIdentityHatsTriggerFeatureMapping) { - if (trigger == entry.trigger) { - return base::FeatureList::IsEnabled(*entry.feature); -@@ -171,7 +171,7 @@ void LaunchSigninHatsSurveyForProfile(const std::strin + static const base::NoDestructor< + base::flat_map> + kChromeIdentityHatsTriggerFeatureMap({ +@@ -168,7 +168,7 @@ void LaunchSigninHatsSurveyForProfile(const std::strin bool defer_if_no_browser, std::optional access_point_for_data_type_promo) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!profile || !IsFeatureEnabledForSigninHatsTrigger(trigger)) { return; } 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 f376ff09f047..5edf35cc482d 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-05-31 17:16:41 UTC +--- 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 @@ -40,7 +40,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" -@@ -158,7 +158,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool +@@ -157,7 +157,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__manager.h b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h index 88d8cd0baeb4..8e7b14b76d1e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_manager.h -@@ -151,7 +151,7 @@ class SupervisedUserExtensionsManager : public Extensi +@@ -147,7 +147,7 @@ class SupervisedUserExtensionsManager : public Extensi // launched. bool ShouldBlockExtension(const std::string& extension_id) const; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Triggers an one-time migration of the present extensions as parent-approved // when the feature // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes 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 b325a28bbe04..78f67aff5ddc 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 2025-11-01 06:40:37 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/sync/sync_service_factory.cc -@@ -134,7 +134,7 @@ namespace { +@@ -135,7 +135,7 @@ namespace { tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) { CHECK(profile); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::TabGroupSyncService* service = tab_groups::TabGroupSyncServiceFactory::GetForProfile(profile); CHECK(service); -@@ -399,7 +399,7 @@ std::unique_ptr BuildSyncService( +@@ -402,7 +402,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_ui_actions_chrome__action__id.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 2caf54e9f484..36ecb83e1716 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -512,7 +512,7 @@ +@@ -519,7 +519,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_browser.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h index c8d0199fe0b1..0b4faa9811b9 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 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/browser.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser.h -@@ -271,7 +271,7 @@ class Browser : public TabStripModelObserver, +@@ -259,7 +259,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__command__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index 2c40f25a44e5..09b6b0e84710 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,74 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -128,7 +128,7 @@ +@@ -129,7 +129,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" -@@ -138,7 +138,7 @@ +@@ -139,7 +139,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) -@@ -372,7 +372,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -373,7 +373,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(); -@@ -675,7 +675,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -676,7 +676,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo break; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case IDC_MINIMIZE_WINDOW: browser_->window()->Minimize(); break; -@@ -897,7 +897,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -906,7 +906,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo break; case IDC_CREATE_SHORTCUT: base::RecordAction(base::UserMetricsAction("CreateShortcut")); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) chrome::CreateDesktopShortcutForActiveWebContents(browser_); #else web_app::CreateWebAppFromCurrentWebContents( -@@ -1074,7 +1074,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1086,7 +1086,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) case IDC_CHROME_WHATS_NEW: #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) + (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) ShowChromeWhatsNew(browser_); break; #else -@@ -1463,7 +1463,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1473,7 +1473,7 @@ void BrowserCommandController::InitCommandState() { command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true); command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); -@@ -1824,7 +1824,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -1838,7 +1838,7 @@ void BrowserCommandController::UpdateCommandsForTabSta bool can_create_web_app = web_app::CanCreateWebApp(browser_); command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled( IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(current_web_contents)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__commands.cc index ef1b85ac501d..f85369b80208 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -2292,7 +2292,7 @@ void OpenUpdateChromeDialog(Browser* browser) { +@@ -2348,7 +2348,7 @@ void OpenUpdateChromeDialog(Browser* browser) { } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) { UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate(); } else { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) { chrome::AttemptRelaunch(); return; diff --git a/www/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 86968e846f30..bca7372fcbca 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser_ui_prefs.cc -@@ -82,7 +82,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry +@@ -85,7 +85,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry registry->RegisterTimePref(prefs::kPinInfoBarLastShown, base::Time()); registry->RegisterIntegerPref(prefs::kPinInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForBrowser, std::string()); registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForBrowser, -@@ -103,7 +103,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -106,7 +106,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry user_prefs::PrefRegistrySyncable::SYNCABLE_PREF; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSessionRestoreInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -216,7 +216,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -219,7 +219,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 18390690c0fc..b1d65b1cffb0 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 2025-11-12 17:42:57 UTC +--- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser_window/internal/browser_window_features.cc -@@ -133,7 +133,7 @@ +@@ -145,7 +145,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 -@@ -374,7 +374,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac +@@ -391,7 +391,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac browser_select_file_dialog_controller_ = std::make_unique(profile); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_customization_bubble_sync_controller_ = std::make_unique(browser, profile); diff --git a/www/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 473a576de111..ba85f6d0affc 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,29 @@ ---- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2025-11-12 17:42:57 UTC +--- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/browser_window/public/browser_window_features.h -@@ -94,7 +94,7 @@ class PinInfoBarController; +@@ -101,7 +101,7 @@ class PinInfoBarController; } // namespace default_browser #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ProfileCustomizationBubbleSyncController; namespace session_restore_infobar { class SessionRestoreInfobarController; -@@ -428,7 +428,7 @@ class BrowserWindowFeatures { +@@ -449,7 +449,7 @@ class BrowserWindowFeatures { return browser_select_file_dialog_controller_.get(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileCustomizationBubbleSyncController* profile_customization_bubble_sync_controller() { return profile_customization_bubble_sync_controller_.get(); -@@ -597,7 +597,7 @@ class BrowserWindowFeatures { +@@ -619,7 +619,7 @@ class BrowserWindowFeatures { std::unique_ptr browser_select_file_dialog_controller_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr profile_customization_bubble_sync_controller_; diff --git a/www/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 029535a5138f..ccb0af484ffa 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,20 +1,11 @@ ---- chrome/browser/ui/hats/survey_config.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/hats/survey_config.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/hats/survey_config.cc -@@ -166,7 +166,7 @@ constexpr char kHatsSurveyOrganicTriggerSafetyHubAndro - "safety_hub_android_organic_survey"; - #endif // #if !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 char kHatsSurveyTriggerPrivacySandboxWhatsNewSurvey[] = - "privacy-sandbox-whats-new-survey"; - #endif // !BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) @@ -505,7 +505,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_hats_survey__config.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.h deleted file mode 100644 index b2556ea5cc40..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_hats_survey__config.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/hats/survey_config.h.orig 2025-11-01 06:40:37 UTC -+++ chrome/browser/ui/hats/survey_config.h -@@ -89,7 +89,7 @@ extern const char kHatsSurveyTriggerSafetyHubAndroid[] - extern const char kHatsSurveyOrganicTriggerSafetyHubAndroid[]; - #endif // #if !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) - extern const char kHatsSurveyTriggerPrivacySandboxWhatsNewSurvey[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - 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 294d5c69afce..3b7d3602c2d9 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc -@@ -115,7 +115,7 @@ namespace { +@@ -116,7 +116,7 @@ namespace { using Logger = autofill::SavePasswordProgressLogger; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Should be kept in sync with constant declared in // bubble_controllers/relaunch_chrome_bubble_controller.cc. constexpr int kMaxNumberOfTimesKeychainErrorBubbleIsShown = 3; -@@ -626,7 +626,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor +@@ -628,7 +628,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_sharing__hub_sharing__hub__bubble__controller.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h index 5395abe22ffd..939b0ae057ff 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2024-06-22 08:49:42 UTC +--- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h -@@ -36,7 +36,7 @@ class SharingHubBubbleController { +@@ -39,7 +39,7 @@ class SharingHubBubbleController { // Returns true if the omnibox icon should be shown. virtual bool ShouldOfferOmniboxIcon() = 0; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This method returns the set of first-party actions, which are actions // internal to Chrome. Third-party actions (those outside Chrome) are // currently not supported. 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 a149e8751f69..a978ff86edcf 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -466,7 +466,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -462,7 +462,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( HistorySyncOptinHelper::FlowCompletedCallback callback) { CHECK( -@@ -483,7 +483,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -479,7 +479,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_startup_bad__flags__prompt.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc index 7bb3ef106dde..f63bdc639705 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 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -104,7 +104,7 @@ const char* const kBadFlags[] = { +@@ -110,7 +110,7 @@ const char* const kBadFlags[] = { extensions::switches::kExtensionsOnExtensionURLs, #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/327295 switches::kEnableSpeechDispatcher, 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 b402432777dd..c95e142ab58e 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc @@ -135,7 +135,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" -@@ -987,7 +987,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -991,7 +991,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())) { -@@ -1090,7 +1090,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1114,7 +1114,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) && -@@ -1307,7 +1307,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1331,7 +1331,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__tab__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc index 74a7a1b0713b..ceffbe5115b3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/startup/startup_tab_provider.cc -@@ -63,7 +63,7 @@ +@@ -66,7 +66,7 @@ #include "extensions/common/manifest_handlers/chrome_url_overrides_handler.h" #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_util.h" #endif -@@ -102,7 +102,7 @@ bool ValidateUrl(const GURL& url) { +@@ -124,7 +124,7 @@ bool ValidateUrl(const GURL& url) { #endif // BUILDFLAG(IS_CHROMEOS) bool url_scheme_is_chrome = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // In Headless mode, allow any URL pattern that matches chrome:// scheme if // the user explicitly allowed it. if (headless::IsHeadlessMode() && url.SchemeIs(content::kChromeUIScheme)) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc index cb2c51c80b7f..ea63f2535eb7 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -222,7 +222,7 @@ +@@ -221,7 +221,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" -@@ -720,12 +720,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -726,12 +726,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_features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_features.cc index 0c69aa0815b6..de03b90147a5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/features.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/tabs/features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/tabs/features.cc -@@ -52,7 +52,7 @@ bool CanShowTabSearchPositionSetting() { +@@ -50,7 +50,7 @@ bool CanShowTabSearchPositionSetting() { } // Mac and other platforms will always have the tab search position in the // correct location, cros/linux/win git the user the option to change. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(kTabSearchPositionSetting); #else return false; diff --git a/www/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 b2e144fbcd4b..3f7e23990946 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,20 +1,20 @@ ---- chrome/browser/ui/tabs/public/tab_features.h.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/tabs/public/tab_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/tabs/public/tab_features.h -@@ -118,7 +118,7 @@ class TabContextualizationController; +@@ -119,7 +119,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 -@@ -451,7 +451,7 @@ class TabFeatures { - bookmarkbar_preload_pipeline_manager_; +@@ -468,7 +468,7 @@ class TabFeatures { + new_tab_page_preload_pipeline_manager_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr walletable_pass_client_; #endif // Must be the last member. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc index 28071185cbba..b04a32b7c00b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/tabs/tab_dialog_manager.cc -@@ -88,7 +88,7 @@ bool SupportsGlobalScreenCoordinates() { +@@ -90,7 +90,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-chrome_browser_ui_tabs_tab__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc index d8f016954fe6..03f208ed73ae 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,20 +1,20 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/tabs/tab_features.cc -@@ -80,7 +80,7 @@ +@@ -82,7 +82,7 @@ #include "chrome/browser/ui/web_applications/pwa_install_page_action.h" #include "chrome/browser/ui/webui/webui_embedding_context.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/wallet/chrome_walletable_pass_client.h" #endif #include "chrome/browser/web_applications/web_app_tab_helper.h" -@@ -401,7 +401,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -419,7 +419,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro task_manager::WebContentsTags::CreateForTabContents(tab.GetContents()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) inactive_window_mouse_event_controller_ = std::make_unique(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_ui__features.cc index 54ad9a2101fe..47d4f6648d03 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,38 +1,38 @@ ---- chrome/browser/ui/ui_features.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/ui_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/ui_features.cc -@@ -39,7 +39,7 @@ BASE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick, +@@ -40,7 +40,7 @@ BASE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick, BASE_FEATURE(kCreateNewTabGroupAppMenuTopLevel, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables the feature to remove the last confirmation dialog when relaunching // to update Chrome. BASE_FEATURE(kFewerUpdateConfirmations, base::FEATURE_ENABLED_BY_DEFAULT); -@@ -149,7 +149,7 @@ BASE_FEATURE_PARAM(int, +@@ -171,7 +171,7 @@ BASE_FEATURE_PARAM(int, "drop_target_hide_for_os_width", #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) 32 -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) 50 #else 0 -@@ -435,7 +435,7 @@ BASE_FEATURE(kViewsFirstRunDialog, base::FEATURE_DISAB +@@ -472,7 +472,7 @@ BASE_FEATURE(kViewsFirstRunDialog, base::FEATURE_ENABL BASE_FEATURE(kViewsJSAppModalDialog, base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kUsePortalAccentColor, base::FEATURE_ENABLED_BY_DEFAULT); #endif -@@ -639,7 +639,7 @@ bool IsBookmarkTabGroupConversionEnabled() { +@@ -682,7 +682,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 a47dbb52a21b..a5a44e9c3789 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/ui_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/ui_features.h @@ -30,7 +30,7 @@ BASE_DECLARE_FEATURE(kCloseOmniboxPopupOnInactiveAreaC BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kFewerUpdateConfirmations); #endif -@@ -63,7 +63,7 @@ enum class PdfInfoBarTrigger { kPdfLoad = 0, kStartup +@@ -61,7 +61,7 @@ enum class PdfInfoBarTrigger { kPdfLoad = 0, kStartup BASE_DECLARE_FEATURE_PARAM(PdfInfoBarTrigger, kPdfInfoBarTrigger); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When enabled, user may see the session restore UI flow. BASE_DECLARE_FEATURE(kSessionRestoreInfobar); -@@ -345,7 +345,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); +@@ -366,7 +366,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); BASE_DECLARE_FEATURE(kViewsJSAppModalDialog); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kUsePortalAccentColor); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc index 2deb27cd6a9b..08a983e89a62 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.cc @@ -1,38 +1,47 @@ ---- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.cc -@@ -91,7 +91,7 @@ DialogText GetPromptDialogTextFromStatus( +@@ -94,7 +94,7 @@ DialogText GetPromptDialogTextFromStatus( break; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled( syncer::kReplaceSyncPromosWithSignInPromos) && status.signin_status != collaboration::SigninStatus::kSigninDisabled) { -@@ -404,7 +404,7 @@ void CollaborationControllerDelegateDesktop::ShowError +@@ -421,7 +421,7 @@ void CollaborationControllerDelegateDesktop::ShowError chrome::ShowBrowserModal(browser_, std::move(dialog_model)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void CollaborationControllerDelegateDesktop:: MaybeShowSignInUiForHistorySyncOptin() { collaboration::ServiceStatus status = GetServiceStatus(); -@@ -516,7 +516,7 @@ void CollaborationControllerDelegateDesktop:: - .SetLabel(dialog_text.ok_button_text) - .SetEnabled(true)); +@@ -510,7 +510,7 @@ void CollaborationControllerDelegateDesktop:: + } + AccountInfo account_for_promo = -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - AccountInfo account_for_promo = signin_ui_util::GetSingleAccountForPromos( - IdentityManagerFactory::GetForProfile(browser_->profile())); + signin_ui_util::GetSingleAccountForPromos( + IdentityManagerFactory::GetForProfile(browser_->profile())); + #else +@@ -545,7 +545,7 @@ void CollaborationControllerDelegateDesktop:: + .SetLabel(dialog_text.ok_button_text) + .SetEnabled(true)); -@@ -569,7 +569,7 @@ void CollaborationControllerDelegateDesktop::OnPromptD +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled( + syncer::kReplaceSyncPromosWithSignInPromos)) { + dialog_builder.SetFootnote(ui::DialogModelLabel(dialog_text.footnote)); +@@ -598,7 +598,7 @@ void CollaborationControllerDelegateDesktop::OnPromptD .Run(CollaborationControllerDelegate::Outcome::kSuccess); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled( syncer::kReplaceSyncPromosWithSignInPromos)) { MaybeShowSignInUiForHistorySyncOptin(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h index 0559af5ec592..e8ce28e50475 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_data__sharing_collaboration__controller__delegate__desktop.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/data_sharing/collaboration_controller_delegate_desktop.h -@@ -81,7 +81,7 @@ class CollaborationControllerDelegateDesktop +@@ -83,7 +83,7 @@ class CollaborationControllerDelegateDesktop std::optional progress); void ShowErrorDialog(const ErrorInfo& error); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSignInUiForHistorySyncOptin(); #endif void MaybeShowSignInAndSyncUi(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc index b86b5aa7f083..4fe5e5c44403 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/browser_frame_view_linux.cc -@@ -70,7 +70,7 @@ gfx::ShadowValues BrowserFrameViewLinux::GetShadowValu +@@ -71,7 +71,7 @@ gfx::ShadowValues BrowserFrameViewLinux::GetShadowValu void BrowserFrameViewLinux::PaintRestoredFrameBorder( gfx::Canvas* canvas) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = browser_widget()->tiled(); #else const bool tiled = false; -@@ -125,7 +125,7 @@ int BrowserFrameViewLinux::NonClientHitTest(const gfx: +@@ -126,7 +126,7 @@ int BrowserFrameViewLinux::NonClientHitTest(const gfx: } float BrowserFrameViewLinux::GetRestoredCornerRadiusDip() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = browser_widget()->tiled(); #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 4f1b555ec6f6..2b1e2c781f28 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2317,7 +2317,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2308,7 +2308,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::vector contents_web_views = GetAllVisibleContentsWebViews(); -@@ -5885,7 +5885,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -5925,7 +5925,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; } -@@ -5895,7 +5895,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -5935,7 +5935,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 1279ef7c5306..26c57abf02ea 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,65 +1,56 @@ ---- chrome/browser/ui/views/frame/browser_widget.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/browser_widget.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/browser_widget.cc -@@ -53,7 +53,7 @@ +@@ -52,7 +52,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #include "ui/linux/linux_ui.h" #endif -@@ -68,7 +68,7 @@ namespace { - constexpr double kTitlePaddingWidthFraction = 0.1; - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // These values are used for Linux/GTK. - constexpr int kIconTitleSpacing = 4; - constexpr int kCaptionSpacing = 5; -@@ -98,7 +98,7 @@ class ThemeChangedObserver : public views::WidgetObser +@@ -87,7 +87,7 @@ class ThemeChangedObserver : public views::WidgetObser }; bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -214,7 +214,7 @@ void BrowserWidget::InitBrowserWidget() { +@@ -203,7 +203,7 @@ void BrowserWidget::InitBrowserWidget() { Init(std::move(params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SelectNativeTheme(); #else SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi()); -@@ -419,7 +419,7 @@ void BrowserWidget::OnNativeWidgetWorkspaceChanged() { +@@ -342,7 +342,7 @@ void BrowserWidget::OnNativeWidgetWorkspaceChanged() { chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), IsVisibleOnAllWorkspaces()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If the window was sent to a different workspace, prioritize it if // it was sent to the current workspace and deprioritize it // otherwise. This is done by MoveBrowsersInWorkspaceToFront() -@@ -606,7 +606,7 @@ void BrowserWidget::OnMenuClosed() { +@@ -531,7 +531,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(); -@@ -647,7 +647,7 @@ void BrowserWidget::OnTouchUiChanged() { +@@ -572,7 +572,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_browser__widget.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h index 2d7b12caa29c..44497e788aa3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_widget.h.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/browser_widget.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/browser_widget.h -@@ -66,7 +66,7 @@ class BrowserWidget : public views::Widget, +@@ -65,7 +65,7 @@ class BrowserWidget : public views::Widget, ~BrowserWidget() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the frame is in a tiled state. bool tiled() const { return tiled_; } void set_tiled(bool tiled) { tiled_ = tiled; } -@@ -198,7 +198,7 @@ class BrowserWidget : public views::Widget, +@@ -187,7 +187,7 @@ class BrowserWidget : public views::Widget, // contents for smoother dragging. TabDragKind tab_drag_kind_ = TabDragKind::kNone; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool tiled_ = false; #endif }; diff --git a/www/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 3deac4c61a81..46980f2ac17e 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc -@@ -54,7 +54,7 @@ +@@ -55,7 +55,7 @@ #include "ui/views/window/vector_icons/vector_icons.h" #include "ui/views/window/window_shape.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/views/controls/menu/menu_runner.h" #endif -@@ -584,7 +584,7 @@ bool OpaqueBrowserFrameView::EverHasVisibleBackgroundT +@@ -605,7 +605,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; -@@ -603,7 +603,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh +@@ -624,7 +624,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(); } -@@ -835,7 +835,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -856,7 +856,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_opaque__browser__frame__view.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h index 67974b96a752..2d4d10fd08da 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h @@ -109,7 +109,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView FrameButtonStyle GetFrameButtonStyle() const override; void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override; bool ShouldDrawRestoredFrameShadow() const override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsTiled() const override; #endif int WebAppButtonHeight() const override; -@@ -229,7 +229,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView +@@ -232,7 +232,7 @@ class OpaqueBrowserFrameView : public BrowserFrameView // Background painter for the window frame. std::unique_ptr frame_background_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr menu_runner_; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h index 500b783608fd..becbe402af15 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-01-25 09:34:31 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h @@ -9,7 +9,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ui_base_types.h" #endif -@@ -92,7 +92,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { +@@ -88,7 +88,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { // Returns true if a client-side shadow should be drawn for restored windows. virtual bool ShouldDrawRestoredFrameShadow() const = 0; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the window is in a tiled state. virtual bool IsTiled() const = 0; #endif diff --git a/www/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 e7288dc36b60..4573f1265aeb 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 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc -@@ -21,7 +21,7 @@ +@@ -22,7 +22,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 -@@ -38,7 +38,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( +@@ -39,7 +39,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); -@@ -64,7 +64,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -65,7 +65,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c } bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_maximized = browser_->window()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: diff --git a/www/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 20a5a809d15e..a56e2f9bb81d 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 2025-11-07 07:18:16 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -539,7 +539,7 @@ bool LocationBarView::IsInitialized() const { - } +@@ -1768,7 +1768,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup + weak_factory_.GetWeakPtr()), + base::Milliseconds(100)); - void LocationBarView::OnPopupOpened() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // It's not great for promos to overlap the omnibox if the user opens the - // drop-down after showing the promo. This especially causes issues on Mac and - // Linux due to z-order/rendering issues, see crbug.com/1225046 and + 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_profiles_avatar__toolbar__button.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index 19c453578edb..1e98bb9729c5 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc -@@ -403,7 +403,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() +@@ -404,7 +404,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { if (!base::FeatureList::IsEnabled( feature_engagement::kIPHSupervisedUserProfileSigninFeature)) { diff --git a/www/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 644f04e3ee5f..06fadd5cf483 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -106,7 +106,7 @@ +@@ -107,7 +107,7 @@ #include "ui/views/accessibility/view_accessibility.h" #include "ui/views/widget/widget.h" -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -562,7 +562,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -551,7 +551,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_tabs_dragging_tab__drag__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index c4684d35dbf6..2e3e614ce056 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 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -179,7 +179,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { +@@ -181,7 +181,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { 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(); -@@ -391,7 +391,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -393,7 +393,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_ = -@@ -982,7 +982,7 @@ TabDragController::Liveness TabDragController::DragBro +@@ -984,7 +984,7 @@ TabDragController::Liveness TabDragController::DragBro CHECK_EQ(SetCapture(target_context), Liveness::ALIVE); } -#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. -@@ -2135,7 +2135,7 @@ void TabDragController::CompleteDrag() { +@@ -2115,7 +2115,7 @@ void TabDragController::CompleteDrag() { } // If source window was maximized - maximize the new window as well. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Keeping maximized state breaks snap to Grid on Windows when dragging // tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in -@@ -2551,7 +2551,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2531,7 +2531,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_tab.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index 2c674518581a..9ae7c2cb2ed6 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 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -679,7 +679,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -680,7 +680,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 3253e1431c47..2e893d8f2224 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 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -557,7 +557,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -567,7 +567,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con if (!IsHoverAnimationActive()) { return base_opacity; } - return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue()); + return std::lerp(base_opacity, GetHoverOpacity(), static_cast(GetHoverAnimationValue())); } TabActive TabStyleViewsImpl::GetApparentActiveState() const { 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 2c44878e4e0b..6a628d3a1a29 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,20 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-11-12 17:42:57 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1132,7 +1132,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1145,7 +1145,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( -@@ -1400,7 +1400,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1413,7 +1413,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered to inform users of the availability of the " "new translate screen feature on the Lens Overlay."))); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( diff --git a/www/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 8d860e6f4e0f..6ec7abb7b3a2 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc -@@ -516,7 +516,7 @@ std::string GetFileExtension(FileExtension file_extens +@@ -518,7 +518,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; -@@ -2088,7 +2088,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2099,7 +2099,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( -@@ -3408,7 +3408,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3426,7 +3426,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 -@@ -3423,7 +3423,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3441,7 +3441,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 -@@ -3433,7 +3433,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3451,7 +3451,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; } -@@ -3449,7 +3449,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3467,7 +3467,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; } -@@ -4274,7 +4274,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4298,7 +4298,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 -@@ -4474,7 +4474,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4498,7 +4498,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); -@@ -4518,7 +4518,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4542,7 +4542,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 6a9be7b6c8c9..ba093ba283ef 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -492,7 +492,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex +@@ -500,7 +500,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 d25e9a58f069..97dd36ab3d2b 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,20 +1,20 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -579,7 +579,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun +@@ -587,7 +587,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); -@@ -800,7 +800,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( +@@ -808,7 +808,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::Feature& GetPromoFeatureEngagementFromBrowser( const BrowserWindowInterface* browser) { diff --git a/www/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 1bca9ab738ff..8d3a965b2744 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 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h -@@ -243,7 +243,7 @@ class WebAppUiManagerImpl : public BrowserListObserver +@@ -244,7 +244,7 @@ class WebAppUiManagerImpl : public BrowserListObserver UninstallCompleteCallback uninstall_complete_callback, webapps::UninstallResultCode uninstall_code); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowIPHPromoForAppsLaunchedViaLinkCapturing(Browser* browser, const webapps::AppId& app_id, bool is_activated); diff --git a/www/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 cb0075f4fe13..480d08321387 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 2025-09-10 13:22:16 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc -@@ -62,7 +62,7 @@ +@@ -61,7 +61,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_certificate__manager_client__cert__sources.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc index caecaefe4c65..da1d8327e81c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc @@ -1,74 +1,74 @@ ---- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc @@ -56,7 +56,7 @@ #include "net/ssl/client_cert_store_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" @@ -131,7 +131,7 @@ class ClientCertStoreLoader { active_requests_; }; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ClientCertStoreFactoryNSS : public ClientCertStoreFactory { public: std::unique_ptr CreateClientCertStore() override { @@ -156,7 +156,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto }; #endif -#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::unique_ptr CreatePlatformClientCertLoader( Profile* profile) { #if BUILDFLAG(IS_WIN) @@ -171,7 +171,7 @@ std::unique_ptr CreatePlatformC } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ClientCertStoreFactoryProvisioned : public ClientCertStoreFactory { public: explicit ClientCertStoreFactoryProvisioned( @@ -331,7 +331,7 @@ class ClientCertSource : public CertificateManagerPage std::optional certs_; }; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // ChromeOS currently can use either Kcer or NSS for listing client certs, and // Linux uses NSS only. This interface provides an abstraction to hide that // from WritableClientCertSource. Currently this class only handles reading -@@ -1052,7 +1052,7 @@ CreatePlatformClientCertSource( +@@ -1054,7 +1054,7 @@ CreatePlatformClientCertSource( mojo::Remote* remote_client, Profile* profile) { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(remote_client, profile); #else return std::make_unique( -@@ -1060,7 +1060,7 @@ CreatePlatformClientCertSource( +@@ -1062,7 +1062,7 @@ CreatePlatformClientCertSource( #endif } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr CreateProvisionedClientCertSource(Profile* profile) { return std::make_unique( -@@ -1110,7 +1110,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow +@@ -1112,7 +1112,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow return client_cert_policy_ == ClientCertificateManagementPermission::kAll; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ClientCertManagementAccessControls::ClientCertManagementAccessControls( Profile* profile) {} diff --git a/www/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 b206d79ce9d6..19b5e77049f0 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,70 +1,70 @@ ---- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -155,7 +155,7 @@ +@@ -156,7 +156,7 @@ #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" #include "chrome/browser/ui/webui/browser_switch/browser_switch_ui.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" -@@ -163,13 +163,13 @@ +@@ -164,13 +164,13 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) -@@ -197,7 +197,7 @@ +@@ -198,7 +198,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) -@@ -352,7 +352,7 @@ void RegisterChromeWebUIConfigs() { +@@ -354,7 +354,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) -@@ -382,7 +382,7 @@ void RegisterChromeWebUIConfigs() { +@@ -384,7 +384,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()); -@@ -391,13 +391,13 @@ void RegisterChromeWebUIConfigs() { +@@ -393,13 +393,13 @@ void RegisterChromeWebUIConfigs() { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) 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 175b0ac2dca0..c1b3662a8ceb 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,51 +1,51 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -116,18 +116,18 @@ +@@ -115,18 +115,18 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/commerce/product_specifications_ui.h" #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #endif -@@ -276,7 +276,7 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( +@@ -275,7 +275,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; -@@ -411,7 +411,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -410,7 +410,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_piece() == chrome::kChromeUIWhatsNewHost) { + if (page_url.host() == chrome::kChromeUIWhatsNewHost) { return WhatsNewUI::GetFaviconResourceBytes(scale_factor); } -@@ -450,7 +450,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -449,7 +449,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_piece() == commerce::kChromeUICompareHost) { + if (page_url.host() == commerce::kChromeUICompareHost) { return commerce::ProductSpecificationsUI::GetFaviconResourceBytes( scale_factor); 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 5cb5a8ee8543..aaef364c74fb 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,20 +1,38 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-01-25 09:34:31 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc @@ -28,7 +28,7 @@ #include "chrome/browser/ui/webui/password_manager/promo_cards/web_password_manager_promo.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/browser_process.h" #include "chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.h" - #endif - -@@ -71,7 +71,7 @@ std::vector> Ge + #include "components/os_crypt/async/browser/os_crypt_async.h" +@@ -74,7 +74,7 @@ PromoCardsHandler::PromoCardsHandler(Profile* profile) .get())); #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - promo_cards.push_back( - std::make_unique(profile->GetPrefs())); - #endif + auto relaunch_promo = + std::make_unique(profile->GetPrefs()); + relaunch_chrome_promo_ = relaunch_promo.get(); +@@ -114,7 +114,7 @@ void PromoCardsHandler::HandleGetAvailablePromoCard( + CHECK_EQ(1U, args.size()); + const base::Value& callback_id = args[0]; + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (relaunch_chrome_promo_ && + !relaunch_chrome_promo_->is_encryption_available().has_value()) { + g_browser_process->os_crypt_async()->GetInstance( +@@ -177,7 +177,7 @@ PasswordPromoCardBase* PromoCardsHandler::GetPromoToSh + return promo_to_show; + } + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void PromoCardsHandler::OnEncryptorReceived( + base::Value callback_id, + os_crypt_async::Encryptor encryptor) { diff --git a/www/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 new file mode 100644 index 000000000000..25c3848ca8e7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h @@ -0,0 +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 +@@ -52,7 +52,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); + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -60,7 +60,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_password__manager_promo__cards_relaunch__chrome__promo.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc index a9f787167386..518b46fcd061 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2024-02-25 20:22:18 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc -@@ -37,7 +37,7 @@ std::u16string RelaunchChromePromo::GetTitle() const { +@@ -36,7 +36,7 @@ std::u16string RelaunchChromePromo::GetTitle() const { return l10n_util::GetStringUTF16( #if BUILDFLAG(IS_MAC) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE_LINUX #endif ); -@@ -47,7 +47,7 @@ std::u16string RelaunchChromePromo::GetDescription() c +@@ -46,7 +46,7 @@ std::u16string RelaunchChromePromo::GetDescription() c return l10n_util::GetStringUTF16( #if BUILDFLAG(IS_MAC) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION_LINUX #endif ); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc index ef29d11cf631..55799c3544fd 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/searchbox/searchbox_handler.cc -@@ -157,7 +157,7 @@ const char* kMacShareIconResourceName = +@@ -160,7 +160,7 @@ const char* kMacShareIconResourceName = #elif BUILDFLAG(IS_WIN) const char* kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share.svg"; #else -@@ -217,7 +217,7 @@ static void DefineChromeRefreshRealboxIcons() { +@@ -220,7 +220,7 @@ static void DefineChromeRefreshRealboxIcons() { #elif BUILDFLAG(IS_WIN) kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else -@@ -523,7 +523,7 @@ std::string SearchboxHandler::AutocompleteIconToResour +@@ -539,7 +539,7 @@ std::string SearchboxHandler::AutocompleteIconToResour if (icon.name == omnibox::kShareWinChromeRefreshIcon.name) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { return kLinuxShareIconResourceName; } diff --git a/www/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 281473a9a3d7..f74f2eca6f96 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -136,7 +136,7 @@ +@@ -134,7 +134,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 -@@ -145,7 +145,7 @@ +@@ -143,7 +143,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 -@@ -270,7 +270,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -276,7 +276,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", -@@ -544,7 +544,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -550,7 +550,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"uiFeatureAlignLeft", IDS_SETTINGS_UI_FEATURE_ALIGN_LEFT}, {"uiFeatureAlignRight", IDS_SETTINGS_UI_FEATURE_ALIGN_RIGHT}, {"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}, -@@ -552,11 +552,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -558,11 +558,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) -@@ -580,7 +580,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -586,7 +586,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht html_source->AddBoolean("tabSearchIsRightAlignedAtStartup", tabs::GetTabSearchTrailingTabstrip(profile)); -#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; -@@ -1565,7 +1565,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1717,7 +1717,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_settings_site__settings__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc index dfb403405055..edd367748258 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_site__settings__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/settings/site_settings_handler.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/settings/site_settings_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/settings/site_settings_handler.cc -@@ -118,7 +118,7 @@ +@@ -121,7 +121,7 @@ #include "url/url_constants.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -2016,7 +2016,7 @@ void SiteSettingsHandler::SendZoomLevels() { +@@ -2086,7 +2086,7 @@ void SiteSettingsHandler::SendZoomLevels() { base::Value::List zoom_levels_exceptions; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Show any non-default Isolated Web App zoom levels at the top of the page. auto* web_app_provider = web_app::WebAppProvider::GetForWebApps(profile_); if (web_app_provider) { -@@ -2118,7 +2118,7 @@ void SiteSettingsHandler::HandleRemoveZoomLevel(const +@@ -2188,7 +2188,7 @@ void SiteSettingsHandler::HandleRemoveZoomLevel(const GURL url(host_or_spec); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (url.is_valid() && url.scheme() == webapps::kIsolatedAppScheme) { + if (url.is_valid() && url.GetScheme() == webapps::kIsolatedAppScheme) { base::expected iwa_url_info = web_app::IsolatedWebAppUrlInfo::Create(url); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc index b6ac25a9b490..97f397db0238 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc -@@ -549,7 +549,7 @@ void CustomizeChromePageHandler::UpdateFooterSettings( +@@ -572,7 +572,7 @@ void CustomizeChromePageHandler::UpdateFooterSettings( side_panel::mojom::ManagementNoticeState::New(); management_notice_state->can_be_shown = false; management_notice_state->enabled_by_policy = false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) enterprise_util::BrowserManagementNoticeState state = enterprise_util::GetManagementNoticeStateForNTPFooter(profile_); switch (state) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h index 1f0931730e3f..97802474d9a6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h.orig 2025-10-21 16:57:35 UTC +--- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h -@@ -208,7 +208,7 @@ class CustomizeChromePageHandler +@@ -217,7 +217,7 @@ class CustomizeChromePageHandler // value needs to be requeried by the page. GURL last_source_url_{GURL(chrome::kChromeUINewTabPageURL)}; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PrefChangeRegistrar browser_pref_change_registrar_; #endif PrefChangeRegistrar pref_change_registrar_; 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 092f3f37ee60..5bb60357de2d 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 2025-11-01 06:40:37 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -172,7 +172,7 @@ base::Value::Dict CreateProfileState(const ProfileAttr +@@ -173,7 +173,7 @@ base::Value::Dict CreateProfileState(const ProfileAttr 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_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 c1ee50ca1fc7..fb4d5a6f69ea 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 2025-02-20 09:59:21 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc @@ -45,7 +45,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif -@@ -130,7 +130,7 @@ std::vector GetFileExtensionsForProgId( +@@ -132,7 +132,7 @@ std::vector GetFileExtensionsForProgId( } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Performs a blocking read of app icons from the disk. std::optional IconManagerReadIconForSize( WebAppIconManager& icon_manager, -@@ -315,7 +315,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor +@@ -317,7 +317,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); CHECK(base::PathExists(app_folder_shortcut_path)); return base::DeletePathRecursively(app_folder_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); LOG(INFO) << desktop_shortcut_path; -@@ -362,7 +362,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM +@@ -364,7 +364,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() { if (desktop_.IsValid()) { return desktop_.Delete(); -@@ -376,7 +376,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab +@@ -378,7 +378,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab Profile* profile, const webapps::AppId& app_id, const std::string& app_name) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; return base::PathExists(startup().Append(shortcut_filename)); -@@ -431,7 +431,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan +@@ -433,7 +433,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan is_file_handled = shell_integration::CanApplicationHandleURL(app_path, test_file_url); base::DeleteFile(test_file_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath user_applications_dir = applications(); bool database_update_called = false; for (const LinuxFileRegistration& command : linux_file_registration_) { -@@ -481,7 +481,7 @@ std::optional OsIntegrationTestOverrideImpl: +@@ -483,7 +483,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; -@@ -547,7 +547,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort - app_installed_profiles.end()) { - return shortcut_path; +@@ -550,7 +550,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort + return bundle.bundle_path(); + } } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename); -@@ -572,7 +572,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( +@@ -575,7 +575,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); -@@ -764,7 +764,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat +@@ -767,7 +767,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(); } -@@ -815,7 +815,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -818,7 +818,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()); -@@ -828,7 +828,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -831,7 +831,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) { -@@ -900,7 +900,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr +@@ -903,7 +903,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 7681c0efa1aa..fa6b0d860046 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 2025-11-01 06:40:37 UTC +--- chrome/browser/web_applications/web_app.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/web_applications/web_app.cc @@ -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) -@@ -737,7 +737,7 @@ void WebApp::SetCurrentOsIntegrationStates( +@@ -754,7 +754,7 @@ void WebApp::SetCurrentOsIntegrationStates( void WebApp::SetIsolationData(IsolationData isolation_data) { CHECK(manifest_id_.is_valid() #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) && manifest_id_.SchemeIs(webapps::kIsolatedAppScheme)) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc index 21a48f644d4e..0c506d99a5e0 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 2025-11-01 06:40:37 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -779,7 +779,7 @@ base::flat_set GetGaiaIDs( +@@ -795,7 +795,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"); -@@ -789,7 +789,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -805,7 +805,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_browser_webauthn_unexportable__key__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc index 04ca94782363..a41ec49a6d97 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2025-05-06 12:23:00 UTC +--- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/browser/webauthn/unexportable_key_utils.cc -@@ -33,7 +33,7 @@ GetWebAuthnUnexportableKeyProvider() { +@@ -42,7 +42,7 @@ GetWebAuthnUnexportableKeyProvider() { // If there is a scoped UnexportableKeyProvider configured, we always use // that so that tests can still override the key provider. const bool use_software_provider = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) !crypto::internal::HasScopedUnexportableKeyProvider(); #else false; 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 6e7b31b73fc6..ff147bec75c0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc @@ -1,65 +1,65 @@ ---- chrome/common/chrome_features.cc.orig 2025-11-21 17:02:17 UTC +--- chrome/common/chrome_features.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/common/chrome_features.cc -@@ -86,7 +86,7 @@ BASE_FEATURE(kUseAdHocSigningForWebAppShims, base::FEA +@@ -90,7 +90,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); -@@ -98,7 +98,7 @@ BASE_FEATURE(kAutofillCardSurvey, base::FEATURE_DISABL +@@ -102,7 +102,7 @@ BASE_FEATURE(kAutofillCardSurvey, base::FEATURE_DISABL BASE_FEATURE(kAutofillPasswordSurvey, base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Enables the Restart background mode optimization. When all Chrome UI is // closed and it goes in the background, allows to restart the browser to // discard memory. -@@ -214,7 +214,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, +@@ -218,7 +218,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, // Enables or disables Desktop PWAs to be auto-started on OS login. BASE_FEATURE(kDesktopPWAsRunOnOsLogin, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -248,7 +248,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, - base::FEATURE_DISABLED_BY_DEFAULT); - #endif +@@ -255,7 +255,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, + // Enables the new reset banner on the settings page. + BASE_FEATURE(kShowResetProfileBannerV2, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls whether Chrome Apps are supported. See https://crbug.com/1221251. // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome // Apps will not launch and will be marked in the UI as deprecated. -@@ -625,7 +625,7 @@ BASE_FEATURE(kGlicWarming, base::FEATURE_DISABLED_BY_D +@@ -790,7 +790,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); -@@ -1086,7 +1086,7 @@ BASE_FEATURE(kKAnonymityServiceOHTTPRequests, base::FE +@@ -1295,7 +1295,7 @@ BASE_FEATURE(kKAnonymityServiceOHTTPRequests, base::FE // public keys. BASE_FEATURE(kKAnonymityServiceStorage, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS) BASE_FEATURE(kLinuxLowMemoryMonitor, base::FEATURE_DISABLED_BY_DEFAULT); // Values taken from the low-memory-monitor documentation and also apply to the // portal API: -@@ -1097,7 +1097,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1306,7 +1306,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 d97f17375af3..2d3eeb71049b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h @@ -1,45 +1,45 @@ ---- chrome/common/chrome_features.h.orig 2025-11-21 17:02:17 UTC +--- chrome/common/chrome_features.h.orig 2025-12-06 13:30:52 UTC +++ chrome/common/chrome_features.h -@@ -83,13 +83,13 @@ BASE_DECLARE_FEATURE(kUseAdHocSigningForWebAppShims); +@@ -85,13 +85,13 @@ 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); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kBackgroundModeAllowRestart); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -173,7 +173,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsPreventClose); +@@ -178,7 +178,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); COMPONENT_EXPORT(CHROME_FEATURES) - BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); + BASE_DECLARE_FEATURE(kShowResetProfileBannerV2); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kShortcutsNotApps); -@@ -806,7 +806,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); +@@ -952,7 +952,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor); COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorModerateLevel; -@@ -814,7 +814,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -960,7 +960,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 0b0adc2e0511..a71275379258 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,82 @@ ---- chrome/common/chrome_paths.cc.orig 2025-11-01 06:40:37 UTC +--- chrome/common/chrome_paths.cc.orig 2025-12-06 13:30:52 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"); ++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); -+ FILE_PATH_LITERAL("/usr/local/share/ungoogled-chromium/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -175,7 +175,7 @@ bool PathProvider(int key, base::FilePath* result) { } break; case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!GetUserDownloadsDirectorySafe(&cur)) { return false; } @@ -405,13 +405,13 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) case chrome::DIR_POLICY_FILES: { cur = base::FilePath(policy::kPolicyPath); break; } #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) { @@ -421,7 +421,7 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { cur = base::FilePath(kFilepathSinglePrefExtensions); break; @@ -460,7 +460,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) -+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) ++ BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if BUILDFLAG(IS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -474,9 +474,12 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -474,6 +474,9 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath( FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts")); +#elif BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( -+ "/usr/local/etc/ungoogled-chromium/native-messaging-hosts")); ++ "/usr/local/etc/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; + FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts")); diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__linux.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__linux.cc deleted file mode 100644 index cc08b4c59c2f..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__linux.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/common/chrome_paths_linux.cc.orig 2025-05-31 17:16:41 UTC -+++ chrome/common/chrome_paths_linux.cc -@@ -95,7 +95,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul - #elif BUILDFLAG(GOOGLE_CHROME_BRANDING) - std::string data_dir_basename = "google-chrome"; - #else -- std::string data_dir_basename = "chromium"; -+ std::string data_dir_basename = "ungoogled-chromium"; - #endif - *result = config_dir.Append(data_dir_basename + GetChannelSuffixForDataDir()); - return true; 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 f36de41b2547..bd064eb446c2 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 2025-11-01 06:40:37 UTC +--- chrome/common/chrome_switches.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/common/chrome_switches.cc -@@ -939,7 +939,7 @@ const char kDebugPrint[] = "debug-print"; +@@ -934,7 +934,7 @@ const char kDebugPrint[] = "debug-print"; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; // Causes the browser to launch directly in guest mode. -@@ -975,7 +975,7 @@ const char kGlicHostLogging[] = "glic-host-logging"; +@@ -970,7 +970,7 @@ const char kGlicHostLogging[] = "glic-host-logging"; const char kGlicAdminRedirectPatterns[] = "glic-admin-redirect-patterns"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Writes open and installed web apps for each profile to the specified file // without launching a new browser window or tab. Pass a absolute file path // to specify where to output the information. Can be used together with diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h index 560681186121..b900c1352d06 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 2025-11-01 06:40:37 UTC +--- chrome/common/chrome_switches.h.orig 2025-12-06 13:30:52 UTC +++ chrome/common/chrome_switches.h -@@ -285,7 +285,7 @@ extern const char kDebugPrint[]; +@@ -284,7 +284,7 @@ extern const char kDebugPrint[]; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kEnableNewAppMenuIcon[]; extern const char kGuest[]; extern const char kForceNtpMobilePromo[]; -@@ -305,7 +305,7 @@ extern const char kGlicHostLogging[]; +@@ -304,7 +304,7 @@ extern const char kGlicHostLogging[]; extern const char kGlicAdminRedirectPatterns[]; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kListApps[]; extern const char kProfileBaseName[]; extern const char kProfileManagementAttributes[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h index e1d8b1c68f53..bff3a554a504 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 2025-11-01 06:40:37 UTC +--- chrome/common/pref_names.h.orig 2025-12-06 13:30:52 UTC +++ chrome/common/pref_names.h @@ -1342,7 +1342,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem inline constexpr char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux specific preference on whether we should match the system theme. inline constexpr char kSystemTheme[] = "extensions.theme.system_theme"; #endif @@ -1501,7 +1501,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"; @@ -2113,7 +2113,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[] = @@ -2160,7 +2160,7 @@ inline constexpr char kDownloadDefaultDirectory[] = inline constexpr char kDownloadDirUpgraded[] = "download.directory_upgrade"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) inline constexpr char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; #endif -@@ -2674,7 +2674,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -2685,7 +2685,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[] = -@@ -2688,7 +2688,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] +@@ -2699,7 +2699,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"; -@@ -2780,7 +2780,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ +@@ -2791,7 +2791,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ inline constexpr char kIsolatedWebAppPendingInitializationCount[] = "profile.isolated_web_app.install.pending_initialization_count"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected // along with kAuthNegotiateDelegateAllowlist. inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] = -@@ -3287,7 +3287,7 @@ inline constexpr char kKioskApplicationLogCollectionEn +@@ -3298,7 +3298,7 @@ inline constexpr char kKioskApplicationLogCollectionEn #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Defines administrator-set availability of Chrome for Testing. inline constexpr char kChromeForTestingAllowed[] = "chrome_for_testing.allowed"; #endif -@@ -3801,7 +3801,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -3812,7 +3812,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[] = -@@ -3990,7 +3990,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -4005,7 +4005,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = "policy.lens_desktop_ntp_search_enabled"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A dict mapping the edition name with the major version it was shown. inline constexpr char kWhatsNewEditionUsed[] = "browser.whats_new.edition_used"; // A list containing the features of each module in order of when they -@@ -4087,7 +4087,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -4102,7 +4102,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ "printing.oauth2_authorization_servers"; #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this exists and is true, Chrome may run system DNS resolution out of the // network process. If false, Chrome will run system DNS resolution in the // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h index f3948cd69c18..efce82c83aa8 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 2025-11-01 06:40:37 UTC +--- chrome/common/url_constants.h.orig 2025-12-06 13:30:52 UTC +++ chrome/common/url_constants.h -@@ -1001,7 +1001,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -1027,7 +1027,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = inline constexpr char kPhoneHubPermissionLearnMoreURL[] = "https://support.9oo91e.qjz9zk/chromebook?p=multidevice"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // "Learn more" URL for the chrome apps deprecation dialog. inline constexpr char kChromeAppsDeprecationLearnMoreURL[] = "https://support.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 3cc858d1361b..cf304f3915a6 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,23 +1,23 @@ ---- chrome/common/webui_url_constants.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/common/webui_url_constants.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/common/webui_url_constants.cc -@@ -199,17 +199,17 @@ base::span ChromeURLHosts() +@@ -202,17 +202,17 @@ base::span ChromeURLHosts() kChromeUIInternetDetailDialogHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) kChromeUIDiscardsHost, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kChromeUIWebAppSettingsHost, #endif #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) kChromeUILinuxProxyConfigHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) kChromeUISandboxHost, #endif #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h index 673d51dc0a08..a3cf34456bd1 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 2025-11-01 06:40:37 UTC +--- chrome/common/webui_url_constants.h.orig 2025-12-06 13:30:52 UTC +++ chrome/common/webui_url_constants.h -@@ -556,12 +556,12 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome +@@ -563,12 +563,12 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIDiscardsHost[] = "discards"; inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIWebAppSettingsHost[] = "app-settings"; inline constexpr char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/"; inline constexpr char kChromeUIWhatsNewHost[] = "whats-new"; -@@ -573,11 +573,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -580,11 +580,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"; -@@ -602,7 +602,7 @@ inline constexpr char kChromeUIHistorySyncOptinURL[] = +@@ -609,7 +609,7 @@ inline constexpr char kChromeUIHistorySyncOptinURL[] = "chrome://history-sync-optin/"; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc b/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc index a20c65d5e317..4e5ec55e9a95 100644 --- a/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc +++ b/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc @@ -1,11 +1,11 @@ ---- chrome/updater/configurator.cc.orig 2025-10-21 16:57:35 UTC +--- chrome/updater/configurator.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/updater/configurator.cc -@@ -91,7 +91,7 @@ Configurator::Configurator(scoped_refptr +@@ -90,7 +90,7 @@ Configurator::Configurator(scoped_refptr return std::nullopt; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) }()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux creating the NetworkFetcherFactory requires performing blocking IO // to load an external library. This should be done when the configurator is // created. diff --git a/www/ungoogled-chromium/files/patch-chrome_utility_services.cc b/www/ungoogled-chromium/files/patch-chrome_utility_services.cc index e35f7ecc59bd..2c7819826775 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 2025-11-01 06:40:37 UTC +--- chrome/utility/services.cc.orig 2025-12-06 13:30:52 UTC +++ chrome/utility/services.cc @@ -50,7 +50,7 @@ #include "chrome/services/system_signals/mac/mac_system_signals_service.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/services/system_signals/linux/linux_system_signals_service.h" #endif // BUILDFLAG(IS_LINUX) -@@ -211,7 +211,7 @@ auto RunMacNotificationService( +@@ -205,7 +205,7 @@ auto RunMacNotificationService( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto RunSystemSignalsService( mojo::PendingReceiver receiver) { -@@ -472,7 +472,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -450,7 +450,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-components_BUILD.gn b/www/ungoogled-chromium/files/patch-components_BUILD.gn index 1e3543ae077b..60b33cc82712 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 2025-11-01 06:40:37 UTC +--- components/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ components/BUILD.gn -@@ -217,7 +217,6 @@ test("components_unittests") { - "//components/content_settings/core/common:unit_tests", +@@ -220,7 +220,6 @@ test("components_unittests") { + "//components/contextual_search/internal:unit_tests", "//components/contextual_tasks:unit_tests", "//components/country_codes:unit_tests", - "//components/crash/core/common:unit_tests", "//components/cross_device/logging:unit_tests", "//components/crx_file:unit_tests", "//components/data_sharing:unit_tests", -@@ -633,7 +632,7 @@ test("components_unittests") { +@@ -636,7 +635,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", -@@ -799,7 +798,7 @@ test("components_unittests") { +@@ -803,7 +802,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_data__manager_payments_payments__data__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc index 67a6bfbc1422..cea64fa90b72 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc @@ -1,47 +1,47 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-11-01 06:40:37 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.cc -@@ -479,7 +479,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone( +@@ -480,7 +480,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone( bool PaymentsDataManager::ShouldShowBnplSettings() const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Check `kAutofillEnableBuyNowPayLater` only if the user has seen a BNPL // suggestion before, or there are already linked issuers present, to avoid // unnecessary feature flag checks. The linked issuer check is due to the fact -@@ -1014,7 +1014,7 @@ void PaymentsDataManager::SetPrefService(PrefService* +@@ -1015,7 +1015,7 @@ void PaymentsDataManager::SetPrefService(PrefService* &PaymentsDataManager::OnAutofillPaymentsCardBenefitsPrefChange, base::Unretained(this))); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) pref_registrar_.Add( prefs::kAutofillBnplEnabled, base::BindRepeating(&PaymentsDataManager::OnBnplEnabledPrefChange, -@@ -1088,7 +1088,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { +@@ -1089,7 +1089,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) bool PaymentsDataManager::IsAutofillHasSeenBnplPrefEnabled() const { return prefs::HasSeenBnpl(pref_service_); } -@@ -2125,7 +2125,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( +@@ -2140,7 +2140,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( bool PaymentsDataManager::AreBnplIssuersSupported() const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) return (app_locale_ == "en-US" || app_locale_ == "en-GB" || app_locale_ == "en-CA") && GetCountryCodeForExperimentGroup() == "US" && -@@ -2160,7 +2160,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() +@@ -2175,7 +2175,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void PaymentsDataManager::OnBnplEnabledPrefChange() { // On pref change to `false`, clearing BNPL issuers is implicitly handled by // `GetBnplIssuers()`, since it returns an empty vector when diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h index 585c608ca831..72c696bb0e9a 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h @@ -1,20 +1,20 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-11-01 06:40:37 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.h -@@ -377,7 +377,7 @@ class PaymentsDataManager : public AutofillWebDataServ - void SetAutofillHasSeenIban(); +@@ -378,7 +378,7 @@ class PaymentsDataManager : public AutofillWebDataServ + // TODO(crbug.com/430575808): Remove build flags. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Returns the value of the kAutofillHasSeenBnpl pref. - bool IsAutofillHasSeenBnplPrefEnabled() const; + virtual bool IsAutofillHasSeenBnplPrefEnabled() const; -@@ -716,7 +716,7 @@ class PaymentsDataManager : public AutofillWebDataServ +@@ -726,7 +726,7 @@ class PaymentsDataManager : public AutofillWebDataServ void ClearAllCreditCardBenefits(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Monitors the `kAutofillBnplEnabled` preference for changes and controls the // clearing/loading of payment instruments accordingly. Will also log the // `Autofill.SettingsPage.BnplToggled` metric. diff --git a/www/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 6c6f2d44ee81..040bfc1b7f49 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 2025-11-01 06:40:37 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -853,7 +853,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { +@@ -854,7 +854,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_payments_amount__extraction__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc index 602a02d38760..35fdbb38b4e1 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 2025-11-01 06:40:37 UTC +--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/browser/payments/amount_extraction_manager.cc -@@ -185,7 +185,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived - bnpl_manager->OnAmountExtractionReturned(parsed_extracted_amount); +@@ -249,7 +249,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived + /*timeout_reached=*/false); } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( ::autofill::features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The result of amount extraction on domain " -@@ -216,7 +216,7 @@ void AmountExtractionManager::OnTimeoutReached() { +@@ -315,7 +315,7 @@ void AmountExtractionManager::OnTimeoutReached() { /*timeout_reached=*/true); } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( ::autofill::features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The amount extraction on domain " -@@ -234,7 +234,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe +@@ -333,7 +333,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 (BnplManager::IsEligibleForBnpl(autofill_manager_->client())) { + 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 d3df5e23c50f..333dc6346114 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 2025-11-01 06:40:37 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -599,7 +599,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp +@@ -607,7 +607,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_payments__suggestion__generator.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator.cc new file mode 100644 index 000000000000..30300c5e97bc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_suggestions_payments_payments__suggestion__generator.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/browser/suggestions/payments/payments_suggestion_generator.cc.orig 2025-12-06 13:30:52 UTC ++++ components/autofill/core/browser/suggestions/payments/payments_suggestion_generator.cc +@@ -1462,7 +1462,7 @@ std::vector GetCreditCardSuggestionsForTou + .GetBnplIssuers(), + /*extracted_amount_in_micros=*/std::nullopt)); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + manager.client() + .GetPersonalDataManager() + .payments_data_manager() diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__features.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__features.cc index df99b4aa7037..914ac08243d2 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__features.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_features.cc.orig 2025-10-21 16:57:35 UTC +--- components/autofill/core/common/autofill_features.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/common/autofill_features.cc @@ -10,7 +10,7 @@ namespace autofill::features { namespace { constexpr bool IS_AUTOFILL_AI_PLATFORM = BUILDFLAG(IS_CHROMEOS) || - BUILDFLAG(IS_LINUX) || + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN); + constexpr bool IS_WALLET_PASSES_SUPPORTED_PLATFORM = !BUILDFLAG(IS_IOS); } - 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 f5c8fdfec103..f7de512e9ff8 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,56 +1,65 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2025-11-01 06:40:37 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/common/autofill_payments_features.cc @@ -26,7 +26,7 @@ BASE_FEATURE(kAutofillEnableAllowlistForBmoCardCategor // of the allowlisted merchant websites. BASE_FEATURE(kAutofillEnableAmountExtraction, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); @@ -42,7 +42,7 @@ BASE_FEATURE(kAutofillEnableAmountExtractionTesting, // When enabled, buy now pay later (BNPL) in Autofill will be offered. BASE_FEATURE(kAutofillEnableBuyNowPayLater, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -62,7 +62,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, +@@ -58,7 +58,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); +@@ -67,7 +67,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_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -86,7 +86,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp +@@ -91,7 +91,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp // UI. BASE_FEATURE(kAutofillEnableCardBenefitsForBmo, #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); -@@ -151,7 +151,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl +@@ -156,7 +156,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_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -301,7 +301,7 @@ BASE_FEATURE(kAutofillSyncEwalletAccounts, base::FEATU +@@ -306,7 +306,7 @@ BASE_FEATURE(kAutofillSyncEwalletAccounts, base::FEATU #endif // BUILDFLAG(IS_ANDROID) 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_autofill_core_common_autofill__prefs.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.cc index 5cfdc5e84b05..5925a1983792 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.cc @@ -1,38 +1,38 @@ ---- components/autofill/core/common/autofill_prefs.cc.orig 2025-11-01 06:40:37 UTC +--- components/autofill/core/common/autofill_prefs.cc.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/common/autofill_prefs.cc -@@ -131,7 +131,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -137,7 +137,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref( kAutofillBnplEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); -@@ -373,7 +373,7 @@ void SetFacilitatedPaymentsA2ATriggeredOnce(PrefServic +@@ -386,7 +386,7 @@ void SetFacilitatedPaymentsA2ATriggeredOnce(PrefServic } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void SetAutofillBnplEnabled(PrefService* prefs, bool value) { prefs->SetBoolean(kAutofillBnplEnabled, value); } -@@ -382,7 +382,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -395,7 +395,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v bool IsAutofillBnplEnabled(const PrefService* prefs) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) return prefs->GetBoolean(kAutofillBnplEnabled); #else return false; -@@ -391,7 +391,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { +@@ -404,7 +404,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // If called, always sets the pref to true, and once true, it will follow the // user around forever. void SetAutofillHasSeenBnpl(PrefService* prefs) { diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.h b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.h index f9f015d7b858..6f72a5416b8f 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.h +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__prefs.h @@ -1,29 +1,29 @@ ---- components/autofill/core/common/autofill_prefs.h.orig 2025-11-01 06:40:37 UTC +--- components/autofill/core/common/autofill_prefs.h.orig 2025-12-06 13:30:52 UTC +++ components/autofill/core/common/autofill_prefs.h -@@ -36,7 +36,7 @@ inline constexpr char kAutofillAiOptInStatus[] = - inline constexpr char kAutofillAiLastVersionDeduped[] = - "autofill.ai_last_version_deduped"; +@@ -44,7 +44,7 @@ inline constexpr char kAutofillAiLastVersionDeduped[] + inline constexpr char kAutofillAiTravelEntitiesEnabled[] = + "autofill.autofill_ai.travel_entities_enabled"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Boolean that is true if BNPL on Autofill is enabled. inline constexpr char kAutofillBnplEnabled[] = "autofill.bnpl_enabled"; // Boolean that is true if the user has ever seen a BNPL suggestion. -@@ -265,7 +265,7 @@ bool IsFacilitatedPaymentsA2AEnabled(const PrefService +@@ -277,7 +277,7 @@ bool IsFacilitatedPaymentsA2AEnabled(const PrefService void SetFacilitatedPaymentsA2ATriggeredOnce(PrefService* prefs, bool value); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void SetAutofillBnplEnabled(PrefService* prefs, bool value); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -@@ -273,7 +273,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -285,7 +285,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v bool IsAutofillBnplEnabled(const PrefService* prefs); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void SetAutofillHasSeenBnpl(PrefService* prefs); bool HasSeenBnpl(const PrefService* prefs); diff --git a/www/ungoogled-chromium/files/patch-components_commerce_core_commerce__feature__list.cc b/www/ungoogled-chromium/files/patch-components_commerce_core_commerce__feature__list.cc index 5b3393c9a269..e5d10f462fb8 100644 --- a/www/ungoogled-chromium/files/patch-components_commerce_core_commerce__feature__list.cc +++ b/www/ungoogled-chromium/files/patch-components_commerce_core_commerce__feature__list.cc @@ -1,20 +1,20 @@ ---- components/commerce/core/commerce_feature_list.cc.orig 2025-11-01 06:40:37 UTC +--- components/commerce/core/commerce_feature_list.cc.orig 2025-12-06 13:30:52 UTC +++ components/commerce/core/commerce_feature_list.cc -@@ -178,7 +178,7 @@ BASE_FEATURE(kShoppingAlternateServer, base::FEATURE_D +@@ -175,7 +175,7 @@ BASE_FEATURE(kShoppingAlternateServer, base::FEATURE_D const char kDiscountOnShoppyPageParam[] = "discount-on-shoppy-page"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const base::FeatureParam kDiscountOnShoppyPage{ &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, true}; #else -@@ -191,7 +191,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi +@@ -188,7 +188,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi const char kNonMerchantWideBehaviorParam[] = "non-merchant-wide-behavior"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDiscountDialogAutoPopupBehaviorSetting, base::FEATURE_ENABLED_BY_DEFAULT); const base::FeatureParam kHistoryClustersBehavior{ diff --git a/www/ungoogled-chromium/files/patch-components_contextual__tasks_internal_BUILD.gn b/www/ungoogled-chromium/files/patch-components_contextual__tasks_internal_BUILD.gn new file mode 100644 index 000000000000..ae57853b4033 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_contextual__tasks_internal_BUILD.gn @@ -0,0 +1,10 @@ +--- components/contextual_tasks/internal/BUILD.gn.orig 2025-12-06 13:30:52 UTC ++++ components/contextual_tasks/internal/BUILD.gn +@@ -43,6 +43,7 @@ source_set("internal") { + "//components/sync/model", + "//components/url_formatter", + "//net", ++ "//third_party/re2", + "//ui/gfx", + "//url", + ] diff --git a/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc b/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc index 12ca75ef885c..7fc6f14b0c14 100644 --- a/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc +++ b/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc @@ -1,11 +1,11 @@ ---- components/cookie_config/cookie_store_util.cc.orig 2024-02-25 20:22:18 UTC +--- components/cookie_config/cookie_store_util.cc.orig 2025-12-06 13:30:52 UTC +++ components/cookie_config/cookie_store_util.cc -@@ -12,7 +12,7 @@ +@@ -16,7 +16,7 @@ namespace cookie_config { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace { - // Use the operating system's mechanisms to encrypt cookies before writing + void OnOsCryptReadyOnUi( diff --git a/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn b/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn index 3b9135403b22..d54e53b79505 100644 --- a/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn @@ -1,11 +1,11 @@ ---- components/crash/core/common/BUILD.gn.orig 2023-06-05 19:39:05 UTC +--- components/crash/core/common/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ components/crash/core/common/BUILD.gn -@@ -9,7 +9,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn +@@ -8,7 +8,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn declare_args() { # If set to true, this will stub out and disable the entire crash key system. - use_crash_key_stubs = is_fuchsia + use_crash_key_stubs = is_fuchsia || is_bsd } group("common") { 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 index 921eb7476e73..e9f2227e9f35 100644 --- 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 @@ -1,11 +1,11 @@ ---- components/device_signals/core/common/signals_features.cc.orig 2025-11-01 06:40:37 UTC +--- components/device_signals/core/common/signals_features.cc.orig 2025-12-06 13:30:52 UTC +++ components/device_signals/core/common/signals_features.cc -@@ -51,7 +51,7 @@ bool IsDetectedAgentSignalCollectionEnabled() { +@@ -61,7 +61,7 @@ bool IsSystemSignalCollectionImprovementEnabled() { } #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 index 2939a687bb02..d4aabff0cd50 100644 --- 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 @@ -1,11 +1,11 @@ ---- components/device_signals/core/common/signals_features.h.orig 2025-09-10 13:22:16 UTC +--- components/device_signals/core/common/signals_features.h.orig 2025-12-06 13:30:52 UTC +++ components/device_signals/core/common/signals_features.h -@@ -33,7 +33,7 @@ bool IsBrowserSignalsReportingEnabled(); - bool IsDetectedAgentSignalCollectionEnabled(); +@@ -37,7 +37,7 @@ bool IsDetectedAgentSignalCollectionEnabled(); + bool IsSystemSignalCollectionImprovementEnabled(); #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_embedder__support_user__agent__utils.cc b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils.cc index 897f318d602c..200919bcfcc4 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,65 +1,65 @@ ---- components/embedder_support/user_agent_utils.cc.orig 2025-09-10 13:22:16 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2025-12-06 13:30:52 UTC +++ components/embedder_support/user_agent_utils.cc @@ -321,7 +321,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; "; @@ -337,7 +337,7 @@ std::string GetUserAgentPlatform() { } std::string GetUnifiedPlatform() { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This constant is only used on Android (desktop) and Linux. constexpr char kUnifiedPlatformLinuxX64[] = "X11; Linux x86_64"; #endif @@ -357,7 +357,7 @@ std::string GetUnifiedPlatform() { return "Windows NT 10.0; Win64; x64"; #elif BUILDFLAG(IS_FUCHSIA) return "Fuchsia"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kUnifiedPlatformLinuxX64; #elif BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { @@ -619,7 +619,7 @@ bool GetMobileBitForUAMetadata() { } std::string GetPlatformVersion() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40245146): Remove this Blink feature if (base::FeatureList::IsEnabled( blink::features::kReduceUserAgentDataLinuxPlatformVersion)) { @@ -665,6 +665,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 -@@ -879,6 +882,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -874,6 +877,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_enterprise_browser_reporting_report__util.cc b/www/ungoogled-chromium/files/patch-components_enterprise_browser_reporting_report__util.cc index 5723020b7e3b..4e8189588e52 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 2025-09-23 12:08:14 UTC +--- components/enterprise/browser/reporting/report_util.cc.orig 2025-12-06 13:30:52 UTC +++ components/enterprise/browser/reporting/report_util.cc -@@ -166,7 +166,7 @@ std::string GetSecuritySignalsInReport( +@@ -167,7 +167,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_connectors__prefs.cc b/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_connectors__prefs.cc deleted file mode 100644 index 5185887533fb..000000000000 --- a/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_connectors__prefs.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- components/enterprise/connectors/core/connectors_prefs.cc.orig 2025-11-01 06:40:37 UTC -+++ components/enterprise/connectors/core/connectors_prefs.cc -@@ -22,7 +22,7 @@ - namespace enterprise_connectors { - - // Profile Prefs --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kCacheEncryptionEnabledPref[] = - "enterprise_connectors.cache_encryption_enabled"; - #endif -@@ -96,7 +96,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry - #if BUILDFLAG(ENTERPRISE_CLIENT_CERTIFICATES) - client_certificates::RegisterProfilePrefs(registry); - #endif // BUILDFLAG(ENTERPRISE_CLIENT_CERTIFICATES) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - registry->RegisterBooleanPref(kCacheEncryptionEnabledPref, false); - #endif - } diff --git a/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_connectors__prefs.h b/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_connectors__prefs.h deleted file mode 100644 index 682f513061d3..000000000000 --- a/www/ungoogled-chromium/files/patch-components_enterprise_connectors_core_connectors__prefs.h +++ /dev/null @@ -1,11 +0,0 @@ ---- components/enterprise/connectors/core/connectors_prefs.h.orig 2025-11-01 06:40:37 UTC -+++ components/enterprise/connectors/core/connectors_prefs.h -@@ -11,7 +11,7 @@ class PrefRegistrySimple; - - 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) - // Pref that maps to the "CacheEncryptionEnabled" policy. - extern const char kCacheEncryptionEnabledPref[]; - #endif diff --git a/www/ungoogled-chromium/files/patch-components_error__page_common_localized__error.cc b/www/ungoogled-chromium/files/patch-components_error__page_common_localized__error.cc index d794d9f2dcf6..f4294c56a51e 100644 --- a/www/ungoogled-chromium/files/patch-components_error__page_common_localized__error.cc +++ b/www/ungoogled-chromium/files/patch-components_error__page_common_localized__error.cc @@ -1,11 +1,11 @@ ---- components/error_page/common/localized_error.cc.orig 2025-10-21 16:57:35 UTC +--- components/error_page/common/localized_error.cc.orig 2025-12-06 13:30:52 UTC +++ components/error_page/common/localized_error.cc -@@ -902,7 +902,7 @@ void AddSuggestionsDetails(int error_code, +@@ -896,7 +896,7 @@ void AddSuggestionsDetails(int error_code, if (suggestions & SUGGEST_PROXY_CONFIG) { // Custom body string. std::u16string inner = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) l10n_util::GetStringFUTF16( IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM, l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE), diff --git a/www/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 3e90ea330b6b..f101ec742b16 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,30 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2025-11-01 06:40:37 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2025-12-06 13:30:52 UTC +++ components/feature_engagement/public/feature_configurations.cc @@ -95,7 +95,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 @@ -114,7 +114,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; -@@ -2045,7 +2045,8 @@ std::optional GetClientSideFeatureConfi +@@ -2020,7 +2020,8 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { // The credit card benefit IPH appears up to three times over 10 years and diff --git a/www/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 6e8dedd5ddcf..e920900457cf 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,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2025-11-12 17:42:57 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2025-12-06 13:30:52 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", -@@ -846,7 +846,7 @@ BASE_FEATURE(kIPHiOSAIHubNewBadge, +@@ -847,7 +847,7 @@ BASE_FEATURE(kIPHiOSAIHubNewBadge, #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) BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature, "IPH_AutofillBnplAffirmOrZipSuggestion", -@@ -1002,7 +1002,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, +@@ -1006,7 +1006,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This can be enabled by default, as the DesktopPWAsLinkCapturing // flag is needed for the IPH linked to this feature to work, and // use-cases to show the IPH are guarded by that flag. diff --git a/www/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 52e06c3bad45..6ec97d4d0ff6 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,29 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2025-11-12 17:42:57 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2025-12-06 13:30:52 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 -@@ -380,7 +380,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSAIHubNewBadge +@@ -385,7 +385,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSAIHubNewBadge #endif // BUILDFLAG(IS_IOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature); FEATURE_CONSTANTS_DECLARE_FEATURE( -@@ -444,7 +444,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA +@@ -450,7 +450,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphGamingFeature); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsFeature); diff --git a/www/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 21fa78fe9b76..f634eda3f9f7 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,29 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2025-11-12 17:42:57 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2025-12-06 13:30:52 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -203,7 +203,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -202,7 +202,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHiOSReaderModeOptionsFeature, #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 -@@ -278,7 +278,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -277,7 +277,7 @@ const base::Feature* const kAllFeatures[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) &kIPHAutofillAiOptInFeature, - &kIPHAutofillBnplAffirmOrZipSuggestionFeature, + &kIPHAutofillAiValuablesFeature, @@ -336,7 +336,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHScalableIphGamingFeature, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) &kIPHDesktopPWAsLinkCapturingLaunch, &kIPHDesktopPWAsLinkCapturingLaunchAppInTab, &kIPHSignInBenefitsFeature, diff --git a/www/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 4298840706b6..487c2013c106 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,58 +1,58 @@ ---- components/feature_engagement/public/feature_list.h.orig 2025-11-12 17:42:57 UTC +--- components/feature_engagement/public/feature_list.h.orig 2025-12-06 13:30:52 UTC +++ components/feature_engagement/public/feature_list.h -@@ -357,7 +357,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSAIHubNewBadge, "IPH_iOSA +@@ -355,7 +355,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSAIHubNewBadge, "IPH_iOSA #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 -@@ -478,7 +478,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -476,7 +476,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn"); - DEFINE_VARIATION_PARAM(kIPHAutofillBnplAffirmOrZipSuggestionFeature, - "IPH_AutofillBnplAffirmOrZipSuggestion"); + DEFINE_VARIATION_PARAM(kIPHAutofillAiValuablesFeature, + "IPH_AutofillAiValuables"); @@ -580,7 +581,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphHelpAppBasedTenF DEFINE_VARIATION_PARAM(kIPHScalableIphGamingFeature, "IPH_ScalableIphGaming"); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch, "IPH_DesktopPWAsLinkCapturingLaunch"); DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunchAppInTab, -@@ -782,7 +783,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -781,7 +782,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHIOSPageActionMenu), VARIATION_ENTRY(kIPHiOSAIHubNewBadge), #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHBatterySaverModeFeature), VARIATION_ENTRY(kIPHCompanionSidePanelFeature), VARIATION_ENTRY(kIPHCompanionSidePanelRegionSearchFeature), -@@ -844,7 +845,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -843,7 +844,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHAutofillAiOptInFeature), + VARIATION_ENTRY(kIPHAutofillAiValuablesFeature), VARIATION_ENTRY(kIPHAutofillCreditCardBenefitFeature), - VARIATION_ENTRY(kIPHAutofillCardInfoRetrievalSuggestionFeature), @@ -899,7 +901,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHScalableIphGamingFeature), #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch), VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunchAppInTab), VARIATION_ENTRY(kIPHSignInBenefitsFeature), diff --git a/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc index 1bb0e3f5915e..914eeaf62d48 100644 --- a/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc +++ b/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc @@ -1,20 +1,20 @@ ---- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2025-05-06 12:23:00 UTC +--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2025-12-06 13:30:52 UTC +++ components/gwp_asan/crash_handler/crash_analyzer.cc -@@ -35,7 +35,7 @@ +@@ -36,7 +36,7 @@ #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h" #include "third_party/crashpad/crashpad/util/process/process_memory.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 #elif BUILDFLAG(IS_APPLE) #include -@@ -113,7 +113,7 @@ bool CrashAnalyzer::GetExceptionInfo( +@@ -114,7 +114,7 @@ bool CrashAnalyzer::GetExceptionInfo( crashpad::VMAddress CrashAnalyzer::GetAccessAddress( const crashpad::ExceptionSnapshot& exception) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS) return exception.ExceptionAddress(); #elif BUILDFLAG(IS_APPLE) diff --git a/www/ungoogled-chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h b/www/ungoogled-chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h new file mode 100644 index 000000000000..d12eeda688da --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h @@ -0,0 +1,15 @@ +--- components/media_router/common/providers/cast/channel/enum_table.h.orig 2025-12-06 13:30:52 UTC ++++ components/media_router/common/providers/cast/channel/enum_table.h +@@ -368,7 +368,12 @@ class EnumTable { + + private: + #ifdef ARCH_CPU_64_BITS ++#ifdef __cpp_lib_hardware_interference_size + alignas(std::hardware_destructive_interference_size) ++#else ++ static constexpr std::size_t hardware_destructive_interference_size = 64; ++ alignas(hardware_destructive_interference_size) ++#endif + #endif + std::initializer_list data_; + bool is_sorted_; diff --git a/www/ungoogled-chromium/files/patch-components_metrics_dwa_dwa__service.cc b/www/ungoogled-chromium/files/patch-components_metrics_dwa_dwa__service.cc index 5ceb37cd8d91..ce21d75f783c 100644 --- a/www/ungoogled-chromium/files/patch-components_metrics_dwa_dwa__service.cc +++ b/www/ungoogled-chromium/files/patch-components_metrics_dwa_dwa__service.cc @@ -1,11 +1,11 @@ ---- components/metrics/dwa/dwa_service.cc.orig 2025-11-01 06:40:37 UTC +--- components/metrics/dwa/dwa_service.cc.orig 2025-12-06 13:30:52 UTC +++ components/metrics/dwa/dwa_service.cc -@@ -243,7 +243,7 @@ void DwaService::RecordCoarseSystemInformation( +@@ -244,7 +244,7 @@ void DwaService::RecordCoarseSystemInformation( coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_WINDOWS); #elif BUILDFLAG(IS_MAC) coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_MACOS); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) coarse_system_info->set_platform(::dwa::CoarseSystemInfo::PLATFORM_LINUX); #elif BUILDFLAG(IS_ANDROID) // TODO(b/366276323): Populate set_platform using more granular diff --git a/www/ungoogled-chromium/files/patch-components_ntp__tiles_pref__names.h b/www/ungoogled-chromium/files/patch-components_ntp__tiles_pref__names.h index 7f1b403891fa..679b91bee1e7 100644 --- a/www/ungoogled-chromium/files/patch-components_ntp__tiles_pref__names.h +++ b/www/ungoogled-chromium/files/patch-components_ntp__tiles_pref__names.h @@ -1,11 +1,11 @@ ---- components/ntp_tiles/pref_names.h.orig 2025-10-21 16:57:35 UTC +--- components/ntp_tiles/pref_names.h.orig 2025-12-06 13:30:52 UTC +++ components/ntp_tiles/pref_names.h -@@ -48,7 +48,7 @@ inline constexpr char kCustomLinksInitialized[] = "cus +@@ -49,7 +49,7 @@ inline constexpr char kCustomLinksInitialized[] = "cus // Prefs used to cache enterprise shortcuts. #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) inline constexpr char kEnterpriseShortcutsPolicyList[] = "enterprise_shortcuts.policy_list"; inline constexpr char kEnterpriseShortcutsUserList[] = 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 bd85e68ed05b..a68b7b24e767 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 2025-11-01 06:40:37 UTC +--- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2025-12-06 13:30:52 UTC +++ components/optimization_guide/core/feature_registry/feature_registration.cc -@@ -65,7 +65,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, +@@ -67,7 +67,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 801ed71ae57a..7475ee44af65 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 2025-11-01 06:40:37 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-12-06 13:30:52 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -104,7 +104,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, +@@ -98,7 +98,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, // Whether to use the on device model service in optimization guide. BASE_FEATURE(kOptimizationGuideOnDeviceModel, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc b/www/ungoogled-chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc index d54568f0818a..0a40b587eaa5 100644 --- a/www/ungoogled-chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc +++ b/www/ungoogled-chromium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc @@ -1,27 +1,27 @@ ---- components/os_crypt/sync/libsecret_util_linux.cc.orig 2025-10-21 16:57:35 UTC +--- components/os_crypt/sync/libsecret_util_linux.cc.orig 2025-12-06 13:30:52 UTC +++ components/os_crypt/sync/libsecret_util_linux.cc -@@ -182,16 +182,22 @@ bool LibsecretLoader::EnsureLibsecretLoaded() { +@@ -184,16 +184,22 @@ bool LibsecretLoader::EnsureLibsecretLoaded() { // static bool LibsecretLoader::LoadLibsecret() { +#if BUILDFLAG(IS_BSD) + const char* kSecretLib = "libsecret-1.so"; +#else + const char* kSecretLib = "libsecret-1.so.0"; +#endif + if (libsecret_loaded_) return true; - static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); + static void* handle = dlopen(kSecretLib, RTLD_NOW | RTLD_GLOBAL); if (!handle) { // We wanted to use libsecret, but we couldn't load it. Warn, because // either the user asked for this, or we autodetected it incorrectly. (Or // the system has broken libraries, which is also good to warn about.) // TODO(crbug.com/40467093): Channel this message to the user-facing log - VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); + VLOG(1) << "Could not load " << kSecretLib << ": " << dlerror(); return false; } diff --git a/www/ungoogled-chromium/files/patch-components_os__crypt_sync_os__crypt.h b/www/ungoogled-chromium/files/patch-components_os__crypt_sync_os__crypt.h index 40a89d3d7fc1..521922a50d2c 100644 --- a/www/ungoogled-chromium/files/patch-components_os__crypt_sync_os__crypt.h +++ b/www/ungoogled-chromium/files/patch-components_os__crypt_sync_os__crypt.h @@ -1,63 +1,63 @@ ---- components/os_crypt/sync/os_crypt.h.orig 2025-09-10 13:22:16 UTC +--- components/os_crypt/sync/os_crypt.h.orig 2025-12-06 13:30:52 UTC +++ components/os_crypt/sync/os_crypt.h -@@ -23,7 +23,7 @@ class Keychain; +@@ -28,7 +28,7 @@ class Keychain; } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class KeyStorageLinux; #endif // BUILDFLAG(IS_LINUX) -@@ -39,7 +39,7 @@ struct Config; +@@ -44,7 +44,7 @@ struct Config; // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions // of what each function does. namespace OSCrypt { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void SetConfig(std::unique_ptr config); #endif // BUILDFLAG(IS_LINUX) -@@ -84,7 +84,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b +@@ -91,7 +91,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy); COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting(); #endif // BUILDFLAG(IS_WIN) -#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyStorageForTesting( base::OnceCallback()> -@@ -118,7 +118,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -125,7 +125,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { // Returns singleton instance of OSCryptImpl. static OSCryptImpl* GetInstance(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the configuration of OSCryptImpl. // This method, or SetRawEncryptionKey(), must be called before using // EncryptString() and DecryptString(). -@@ -214,7 +214,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -217,7 +217,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { void ResetStateForTesting(); #endif -#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // For unit testing purposes, inject methods to be used. // |storage_provider_factory| provides the desired |KeyStorage| // implementation. If the provider returns |nullptr|, a hardcoded password -@@ -241,13 +241,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { +@@ -244,13 +244,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { bool DeriveKey(); #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // This lock is used to make the GetEncryptionKey and // GetRawEncryptionKey methods thread-safe. static base::Lock& GetLock(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static constexpr size_t kDerivedKeyBytes = 16; crypto::SubtlePassKey MakeCryptoPassKey(); diff --git a/www/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 7744bd19f021..433544df110e 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 2025-10-21 16:57:35 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2025-12-06 13:30:52 UTC +++ components/paint_preview/player/player_compositor_delegate.cc -@@ -435,8 +435,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT +@@ -432,8 +432,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 57ba56864a98..de3432ced810 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,20 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/features/password_features.cc -@@ -58,7 +58,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, +@@ -71,7 +71,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 -@@ -120,7 +120,7 @@ BASE_FEATURE(kPasswordManualFallbackAvailable, +@@ -139,7 +139,7 @@ BASE_FEATURE(kPasswordManualFallbackAvailable, BASE_FEATURE(kPasswordManagerLogToTerminal, 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 c80706b2abca..41ff6d9dadec 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 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -147,7 +147,7 @@ BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable) +@@ -172,7 +172,7 @@ BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable) // terminal. BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); -#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 07c3fa34fc05..2a33dc875610 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,20 @@ ---- components/password_manager/core/browser/password_autofill_manager.cc.orig 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_autofill_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_autofill_manager.cc -@@ -387,7 +387,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( +@@ -405,7 +405,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, -@@ -629,7 +629,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { +@@ -653,7 +653,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__form__filling.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc index 5fe735230e36..81a13dfc028d 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 2025-09-10 13:22:16 UTC +--- components/password_manager/core/browser/password_form_filling.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_form_filling.cc -@@ -178,7 +178,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -197,7 +197,7 @@ LikelyFormFilling SendFillInformationToRenderer( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!should_show_popup_without_passwords) { client->MaybeShowSavePasswordPrimingPromo(observed_form.url); } diff --git a/www/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 45cd3647092b..bf1d9cf8b0e8 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,29 +1,20 @@ ---- components/password_manager/core/browser/password_form_manager.cc.orig 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_form_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_form_manager.cc -@@ -67,7 +67,7 @@ - #include "components/webauthn/android/webauthn_cred_man_delegate.h" - #endif // BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "components/os_crypt/sync/os_crypt.h" - #endif - -@@ -239,7 +239,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest +@@ -235,7 +235,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()) { -@@ -940,7 +940,7 @@ void PasswordFormManager::OnFetchCompleted() { +@@ -936,7 +936,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 73269e8611ce..8be117306534 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,20 +1,20 @@ ---- components/password_manager/core/browser/password_manager.cc.orig 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -590,7 +590,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -607,7 +607,7 @@ void PasswordManager::RegisterProfilePrefs( registry->RegisterListPref(prefs::kPasswordManagerPromoCardsList); #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) 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 -@@ -603,7 +603,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 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 02c73adb5c03..12dfa4ede484 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 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_manager_client.h.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_manager_client.h @@ -30,7 +30,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" -@@ -540,7 +540,7 @@ class PasswordManagerClient { +@@ -544,7 +544,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__store_login__database.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_password__store_login__database.cc index d1250f1cdd2d..021baa6ead26 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 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_store/login_database.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_store/login_database.cc @@ -1043,7 +1043,7 @@ bool ShouldDeleteUndecryptablePasswords( - bool is_user_data_dir_policy_set, bool is_enabled_by_policy, - IsAccountStore is_account_store) { + 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. @@ -1061,7 +1061,7 @@ bool ShouldDeleteUndecryptablePasswords( return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch(password_manager::kPasswordStore)) { RecordShouldDeleteUndecryptablePasswordsMetric( ShouldDeleteUndecryptablePasswordsResult:: 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 ddf19d43346d..c4950b609b9d 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 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_store/login_database_async_helper.cc @@ -146,7 +146,7 @@ LoginsResultOrError LoginDatabaseAsyncHelper::FillMatc std::vector matched_forms; if (!login_db_ || !login_db_->GetLogins(form, include_psl, &matched_forms)) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return PasswordStoreBackendError( - OSCrypt::IsEncryptionAvailable() + 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 82a0657be523..c8f523bc1d9b 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 2025-11-01 06:40:37 UTC +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/password_store/login_database_unittest.cc -@@ -2278,7 +2278,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, - testing::Bool())); +@@ -2227,7 +2227,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 213fc210b170..1d4656702ede 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 2025-10-21 16:57:35 UTC +--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/stub_password_manager_client.cc -@@ -211,7 +211,7 @@ version_info::Channel StubPasswordManagerClient::GetCh +@@ -226,7 +226,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 27a95cdb5663..9d9124e1b3ae 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 2025-10-21 16:57:35 UTC +--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2025-12-06 13:30:52 UTC +++ components/password_manager/core/browser/stub_password_manager_client.h -@@ -80,7 +80,7 @@ class StubPasswordManagerClient : public PasswordManag +@@ -84,7 +84,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; 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 dbcb15bd9fae..667d80d53254 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-10-21 16:57:35 UTC +--- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2025-12-06 13:30:52 UTC +++ components/performance_manager/decorators/process_metrics_decorator.cc -@@ -266,7 +266,7 @@ void ProcessMetricsDecorator::DidGetMemoryUsage( - base::ByteCount process_rss = - base::KiB(process_dump_iter.os_dump().resident_set_kb); - process_node->set_resident_set(process_rss); +@@ -54,7 +54,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( - base::KiB(process_dump_iter.os_dump().private_footprint_swap_kb)); + process_node->set_private_swap(memory_summary_->private_swap); #endif + } diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc index ea6d4a343a90..521bdf035782 100644 --- a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc +++ b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc @@ -1,20 +1,20 @@ ---- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2025-11-01 06:40:37 UTC +--- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2025-12-06 13:30:52 UTC +++ components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc -@@ -25,7 +25,7 @@ namespace policy { +@@ -26,7 +26,7 @@ namespace policy { namespace { -#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(kRetryWithKeyReset, base::FEATURE_ENABLED_BY_DEFAULT); #endif -@@ -218,7 +218,7 @@ void CloudPolicyRefreshScheduler::OnStoreError(CloudPo +@@ -219,7 +219,7 @@ void CloudPolicyRefreshScheduler::OnStoreError(CloudPo // continue using the stale information. Thus, no specific response to a store // error is required. NB: Changes to is_managed fire OnStoreLoaded(). -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Client is registered means we have successfully get policy key once. However, // a following policy fetch request is failed because we can't verified // signature. Delete the policy key so that we can get it again with next diff --git a/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc index dcbfee4e58f9..4c7fd58a54e4 100644 --- a/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc +++ b/www/ungoogled-chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-11-01 06:40:37 UTC +--- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-12-06 13:30:52 UTC +++ components/regional_capabilities/regional_capabilities_switches.cc @@ -23,7 +23,7 @@ BASE_FEATURE(kResolveRegionalCapabilitiesFromDevice, base::FEATURE_ENABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kUseFinchPermanentCountryForFetchCountryId, "UseFinchPermanentCountyForFetchCountryId", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); 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 d14e68f7effd..dfdf761ac3f3 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 2025-10-21 16:57:35 UTC +--- components/search_engines/template_url_service.cc.orig 2025-12-06 13:30:52 UTC +++ components/search_engines/template_url_service.cc -@@ -3602,7 +3602,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3605,7 +3605,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_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc index 307c036baac6..f82e1e606609 100644 --- a/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc +++ b/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc @@ -1,11 +1,11 @@ ---- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2025-02-20 09:59:21 UTC +--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2025-12-06 13:30:52 UTC +++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc -@@ -147,7 +147,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( +@@ -122,7 +122,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( // Check for current device type and subtract it from the device count // calculation. #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) desktop_count -= 1; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { diff --git a/www/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 041ca379d784..b50ac583b270 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,29 +1,44 @@ ---- components/signin/public/base/signin_switches.cc.orig 2025-11-01 06:40:37 UTC +--- components/signin/public/base/signin_switches.cc.orig 2025-12-06 13:30:52 UTC +++ components/signin/public/base/signin_switches.cc -@@ -95,7 +95,7 @@ BASE_FEATURE(kBrowserSigninInSyncHeaderOnGaiaIntegrati - BASE_FEATURE(kCctSignInPrompt, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -106,7 +106,7 @@ BASE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo + base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kChromeIdentitySurveyAddressBubbleSignin, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kChromeIdentitySurveyDiceWebSigninAccepted, -@@ -122,7 +122,7 @@ BASE_FEATURE(kChromeIdentitySurveySwitchProfileFromPro +@@ -133,7 +133,7 @@ BASE_FEATURE(kChromeIdentitySurveySwitchProfileFromPro base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kChromeIdentitySurveyLaunchWithDelay, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE_PARAM(base::TimeDelta, -@@ -316,7 +316,7 @@ BASE_FEATURE(kRetryInterceptionBubbleOnDiceSyncHeaderT +@@ -334,7 +334,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, + base::Days(7)); + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kProfileCreationDeclineSigninCTAExperiment, + base::FEATURE_DISABLED_BY_DEFAULT); + +@@ -363,12 +363,12 @@ BASE_FEATURE(kProfilesReordering, base::FEATURE_DISABL BASE_FEATURE(kRollbackDiceMigration, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kShowProfilePickerToAllUsersExperiment, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kSignInPromoMaterialNextUI, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/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 5f2e051124b7..c1b11df4d38e 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,29 +1,46 @@ ---- components/signin/public/base/signin_switches.h.orig 2025-11-01 06:40:37 UTC +--- components/signin/public/base/signin_switches.h.orig 2025-12-06 13:30:52 UTC +++ components/signin/public/base/signin_switches.h -@@ -77,7 +77,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) - BASE_DECLARE_FEATURE(kCctSignInPrompt); +@@ -95,7 +95,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kChromeAndroidIdentitySurveyBookmarkPromo); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables surveys to measure the effectiveness of the identity model. // These surveys would be displayed after interactions such as signin, profile // switching, etc. Please keep sorted alphabetically. -@@ -109,7 +109,7 @@ BASE_DECLARE_FEATURE(kChromeIdentitySurveySwitchProfil +@@ -127,7 +127,7 @@ BASE_DECLARE_FEATURE(kChromeIdentitySurveySwitchProfil // LINT.ThenChange(//chrome/browser/signin/signin_hats_util.cc) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls the duration for which the launch of an identity survey is delayed. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kChromeIdentitySurveyLaunchWithDelay); -@@ -277,7 +277,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -287,7 +287,7 @@ BASE_DECLARE_FEATURE_PARAM(base::TimeDelta, + kOfferMigrationToDiceUsersMinTimeBetweenDialogs); + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Experimenting with changing the secondary CTA for FRE and new profile + // creation. + COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -318,14 +318,14 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kRollbackDiceMigration); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Experimenting with showing the profile picker to all users (not only the + // users with multiple profiles). + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kShowProfilePickerToAllUsersExperiment); + #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) // Uses the Material Next theme for the signin promo. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSignInPromoMaterialNextUI); diff --git a/www/ungoogled-chromium/files/patch-components_soda_soda__util.cc b/www/ungoogled-chromium/files/patch-components_soda_soda__util.cc index ea58b63942d2..3cbaf3d35f01 100644 --- a/www/ungoogled-chromium/files/patch-components_soda_soda__util.cc +++ b/www/ungoogled-chromium/files/patch-components_soda_soda__util.cc @@ -1,29 +1,29 @@ ---- components/soda/soda_util.cc.orig 2025-05-06 12:23:00 UTC +--- components/soda/soda_util.cc.orig 2025-12-06 13:30:52 UTC +++ components/soda/soda_util.cc @@ -23,7 +23,7 @@ #include "base/win/windows_version.h" #endif -#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_X86_FAMILY) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_FAMILY) #include "base/cpu.h" #endif @@ -39,7 +39,7 @@ bool IsSupportedChromeOS() { } #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsSupportedLinux() { #if defined(ARCH_CPU_X86_FAMILY) // Check if the CPU has the required instruction set to run the Speech -@@ -70,7 +70,7 @@ bool IsSupportedWin() { - bool IsOnDeviceSpeechRecognitionSupported() { +@@ -73,7 +73,7 @@ bool IsOnDeviceSpeechRecognitionSupported() { + // support Gemini Nano. #if BUILDFLAG(IS_CHROMEOS) return IsSupportedChromeOS(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return IsSupportedLinux(); #elif BUILDFLAG(IS_WIN) return IsSupportedWin(); diff --git a/www/ungoogled-chromium/files/patch-components_sync__bookmarks_bookmark__model__view.cc b/www/ungoogled-chromium/files/patch-components_sync__bookmarks_bookmark__model__view.cc index 6193786ce7a9..884118a57b28 100644 --- a/www/ungoogled-chromium/files/patch-components_sync__bookmarks_bookmark__model__view.cc +++ b/www/ungoogled-chromium/files/patch-components_sync__bookmarks_bookmark__model__view.cc @@ -1,20 +1,20 @@ ---- components/sync_bookmarks/bookmark_model_view.cc.orig 2025-11-01 06:40:37 UTC +--- components/sync_bookmarks/bookmark_model_view.cc.orig 2025-12-06 13:30:52 UTC +++ components/sync_bookmarks/bookmark_model_view.cc @@ -9,7 +9,7 @@ #include "components/bookmarks/browser/bookmark_model.h" #include "components/bookmarks/browser/bookmark_node.h" #include "components/bookmarks/common/bookmark_metrics.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "components/sync_bookmarks/initial_account_bookmark_deduplicator.h" - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - -@@ -250,7 +250,7 @@ void BookmarkModelViewUsingAccountNodes::RemoveAllSync + #include "base/metrics/histogram_base.h" + #include "base/metrics/histogram_functions.h" + #include "base/time/time.h" +@@ -253,7 +253,7 @@ void BookmarkModelViewUsingAccountNodes::RemoveAllSync void BookmarkModelViewUsingAccountNodes:: MaybeRemoveUnderlyingModelDuplicatesUponInitialSync() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - InitialAccountBookmarkDeduplicator initial_account_bookmark_deduplicator( - underlying_model()); - initial_account_bookmark_deduplicator.Deduplicate(); + BeginExtensiveChanges(); + + const base::Time deduplication_start_time = base::Time::Now(); diff --git a/www/ungoogled-chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc b/www/ungoogled-chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc index 3056eec0f8a2..a8774c9563a6 100644 --- a/www/ungoogled-chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc +++ b/www/ungoogled-chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc @@ -1,11 +1,11 @@ ---- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-11-01 06:40:37 UTC +--- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-12-06 13:30:52 UTC +++ components/sync_preferences/common_syncable_prefs_database.cc -@@ -352,7 +352,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = +@@ -397,7 +397,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {autofill::prefs::kAutofillBnplEnabled, {syncable_prefs_ids::kAutofillBnplEnabled, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, diff --git a/www/ungoogled-chromium/files/patch-components_sync_service_sync__service__impl.cc b/www/ungoogled-chromium/files/patch-components_sync_service_sync__service__impl.cc index e5b54341bbd9..b738bbd2c3f1 100644 --- 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 @@ -1,11 +1,11 @@ ---- components/sync/service/sync_service_impl.cc.orig 2025-11-01 06:40:37 UTC +--- components/sync/service/sync_service_impl.cc.orig 2025-12-06 13:30:52 UTC +++ components/sync/service/sync_service_impl.cc -@@ -1376,7 +1376,7 @@ void SyncServiceImpl::ReconfigureDataTypesDueToCrypto( +@@ -1384,7 +1384,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_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc index 4621020c7121..5151ccfe7725 100644 --- a/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc +++ b/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc @@ -1,11 +1,11 @@ ---- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2025-10-21 16:57:35 UTC +--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2025-12-06 13:30:52 UTC +++ components/url_formatter/spoof_checks/idn_spoof_checker.cc -@@ -299,7 +299,7 @@ IDNSpoofChecker::IDNSpoofChecker() { +@@ -305,7 +305,7 @@ IDNSpoofChecker::IDNSpoofChecker() { // The ideal fix would be to change the omnibox font used for Thai. In // that case, the Linux-only list should be revisited and potentially // removed. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) "[ทนบพรหเแ๐ดลปฟม]", #else "[บพเแ๐]", 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 48ef3fafef87..7ddd886ea6f4 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 2025-10-21 16:57:35 UTC +--- components/variations/service/variations_service.cc.orig 2025-12-06 13:30:52 UTC +++ components/variations/service/variations_service.cc -@@ -100,7 +100,7 @@ std::string GetPlatformString() { +@@ -99,7 +99,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 20582eabbfe5..99588fb733de 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 2025-11-01 06:40:37 UTC +--- components/viz/host/gpu_host_impl.cc.orig 2025-12-06 13:30:52 UTC +++ components/viz/host/gpu_host_impl.cc -@@ -156,7 +156,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, +@@ -157,7 +157,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 abe6b6665e0e..6ab6a405b533 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 2025-11-01 06:40:37 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2025-12-06 13:30:52 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1557,7 +1557,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1556,7 +1556,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor ->GetVulkanPhysicalDevice(), VK_IMAGE_TILING_OPTIMAL, vk_format, si_format, yuv_color_space, 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 5a3063fbc2a9..8efb039171c3 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 2025-11-01 06:40:37 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2025-12-06 13:30:52 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1379,7 +1379,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1299,7 +1299,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 ecc792eecf9c..49cb5397b05a 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 2025-11-01 06:40:37 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-12-06 13:30:52 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -@@ -141,7 +141,7 @@ RootCompositorFrameSinkImpl::Create( +@@ -142,7 +142,7 @@ RootCompositorFrameSinkImpl::Create( output_surface->SetNeedsSwapSizeNotifications( params->send_swap_size_notifications); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) // For X11, we need notify client about swap completion after resizing, so the // client can use it for synchronize with X11 WM. output_surface->SetNeedsSwapSizeNotifications(true); -@@ -903,7 +903,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -904,7 +904,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw if (display_client_ && enable_swap_completion_callback_) { display_client_->DidCompleteSwapWithSize(pixel_size); } -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) if (display_client_ && pixel_size != last_swap_pixel_size_) { last_swap_pixel_size_ = pixel_size; display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/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 cba999ab39fa..72174811d351 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 2025-11-01 06:40:37 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2025-12-06 13:30:52 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -481,7 +481,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -460,7 +460,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 -@@ -1246,7 +1246,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1223,7 +1223,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 d678e6d14f03..2ff3c03b0875 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 2025-11-01 06:40:37 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2025-12-06 13:30:52 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -448,7 +448,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -442,7 +442,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-content_app_BUILD.gn b/www/ungoogled-chromium/files/patch-content_app_BUILD.gn index a1d19b397440..c3c5426879b1 100644 --- a/www/ungoogled-chromium/files/patch-content_app_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_app_BUILD.gn @@ -1,14 +1,14 @@ ---- content/app/BUILD.gn.orig 2025-10-21 16:57:35 UTC +--- content/app/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ content/app/BUILD.gn -@@ -91,7 +91,10 @@ source_set("content_main_runner_app") { +@@ -90,7 +90,10 @@ source_set("content_main_runner_app") { "//third_party/tflite:buildflags", "//tools/v8_context_snapshot:buildflags", ] - if (build_tflite_with_xnnpack) { + if (is_bsd) { + deps += [ "//skia" ] + } + if (!is_bsd && build_tflite_with_xnnpack) { deps += [ "//third_party/cpuinfo" ] } } 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 b7d5811c72ba..119f18b7b3bb 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 2025-11-01 06:40:37 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/browser_child_process_host_impl.cc -@@ -296,6 +296,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo +@@ -291,6 +291,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kIPCConnectionTimeout, switches::kLogBestEffortTasks, switches::kPerfettoDisableInterning, + switches::kDisableUnveil, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); -@@ -660,7 +661,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() +@@ -648,7 +649,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.h b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.h index 4dd0ec961aef..00fe6a644702 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.h +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.h @@ -1,20 +1,20 @@ ---- content/browser/browser_child_process_host_impl.h.orig 2025-09-10 13:22:16 UTC +--- content/browser/browser_child_process_host_impl.h.orig 2025-12-06 13:30:52 UTC +++ content/browser/browser_child_process_host_impl.h @@ -36,7 +36,7 @@ #include "base/win/object_watcher.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/child_thread_type_switcher_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -276,7 +276,7 @@ class BrowserChildProcessHostImpl +@@ -273,7 +273,7 @@ class BrowserChildProcessHostImpl std::unique_ptr system_tracing_service_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChildThreadTypeSwitcher child_thread_type_switcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc index 615998c530c0..9b5321f43f28 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 2025-11-01 06:40:37 UTC +--- content/browser/browser_main_loop.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/browser_main_loop.cc -@@ -253,6 +253,12 @@ +@@ -255,6 +255,12 @@ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" #endif +#if BUILDFLAG(IS_BSD) +#include "content/browser/sandbox_host_linux.h" +#include "content/public/common/zygote/sandbox_support_linux.h" +#include "sandbox/policy/sandbox.h" +#endif + // One of the linux specific headers defines this as a macro. #ifdef DestroyAll #undef DestroyAll -@@ -543,6 +549,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -545,6 +551,12 @@ int BrowserMainLoop::EarlyInitialization() { // by now since a thread to start the ServiceManager has been created // before the browser main loop starts. DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); +#elif BUILDFLAG(IS_BSD) + base::FileHandleMappingVector additional_remapped_fds; + base::LaunchOptions options; + SandboxHostLinux::GetInstance()->Init(); + const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); + options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD())); #endif // GLib's spawning of new processes is buggy, so it's important that at this -@@ -575,7 +587,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -577,7 +589,7 @@ int BrowserMainLoop::EarlyInitialization() { base::ThreadType::kDisplayCritical); #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_gpu_gpu__process__host.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc index 28c89e36a93f..bfb4eb29c6f6 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 2025-11-01 06:40:37 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -280,6 +280,7 @@ static const char* const kSwitchNames[] = { +@@ -282,6 +282,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, -@@ -305,7 +306,7 @@ static const char* const kSwitchNames[] = { +@@ -307,7 +308,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_frameless__media__interface__proxy.h b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h index 88b09e0a51ba..c41382d7eb2b 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h +++ b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h @@ -1,20 +1,20 @@ ---- content/browser/media/frameless_media_interface_proxy.h.orig 2025-05-31 17:16:41 UTC +--- content/browser/media/frameless_media_interface_proxy.h.orig 2025-12-06 13:30:52 UTC +++ content/browser/media/frameless_media_interface_proxy.h @@ -19,7 +19,7 @@ #include "mojo/public/cpp/bindings/receiver_set.h" #include "mojo/public/cpp/bindings/remote.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "media/mojo/mojom/video_decoder.mojom.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -98,7 +98,7 @@ class FramelessMediaInterfaceProxy final +@@ -96,7 +96,7 @@ class FramelessMediaInterfaceProxy final // Connections to the renderer. mojo::ReceiverSet receivers_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Connection to the InterfaceFactory that lives in a utility process. // This is only used for out-of-process video decoding and only when the // FramelessMediaInterfaceProxy is created without a RenderProcessHost 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 d31c4528d064..be13f5339b4b 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 2025-09-10 13:22:16 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -334,7 +334,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -338,7 +338,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Windows and Linux, we would like to produce new content as soon as // possible or the OS will create an additional black gutter. Until we can // block resize on surface synchronization on these platforms, we will not diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_navigation__transitions_navigation__entry__screenshot.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_navigation__transitions_navigation__entry__screenshot.cc index 7912cdcd7a74..938eca2449cb 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_navigation__transitions_navigation__entry__screenshot.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_navigation__transitions_navigation__entry__screenshot.cc @@ -1,20 +1,20 @@ ---- content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot.cc.orig 2025-11-01 06:40:37 UTC +--- content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot.cc -@@ -26,7 +26,7 @@ +@@ -28,7 +28,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "ui/gfx/skia_span_util.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #ifndef MADV_POPULATE_WRITE -@@ -77,7 +77,7 @@ void CompressNavigationScreenshotOnWorkerThread( +@@ -73,7 +73,7 @@ void CompressNavigationScreenshotOnWorkerThread( #endif // BUILDFLAG(IS_ANDROID) void AdviseBitmap(SkBitmap& bitmap) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) size_t size = bitmap.info().computeByteSize(bitmap.info().minRowBytes()); if (madvise(bitmap.getPixels(), size, MADV_POPULATE_WRITE) == 0) { return; 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 c0dcea68e7dc..3a01637d16ad 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 2025-11-01 06:40:37 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/render_process_host_impl.cc @@ -229,7 +229,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 -@@ -1128,7 +1128,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1143,7 +1143,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; -@@ -1364,7 +1364,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1386,7 +1386,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) } -@@ -3510,7 +3510,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3617,7 +3617,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() && -@@ -3566,6 +3566,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3673,6 +3673,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, -@@ -5491,7 +5492,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5554,7 +5555,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 5e1dc8e60826..8bdbdd058b44 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 2025-11-01 06:40:37 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -103,7 +103,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 -@@ -1014,7 +1014,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1021,7 +1021,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 }; -@@ -1268,7 +1268,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1275,7 +1275,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__widget__host__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index bdef55ae70e5..ebb72cb300df 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 2025-11-01 06:40:37 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -122,7 +122,7 @@ - #include "ui/gfx/gdi_util.h" +@@ -127,7 +127,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" -@@ -477,7 +477,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -531,7 +531,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()) -@@ -1880,7 +1880,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -1958,7 +1958,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) { -@@ -2861,7 +2861,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2946,7 +2946,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3045,7 +3045,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3132,7 +3132,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 363f655ad59f..9fe80bd20d6c 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 2025-03-09 21:38:10 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2025-12-06 13:30:52 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h -@@ -276,7 +276,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -288,7 +288,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_service__host_utility__process__host.cc b/www/ungoogled-chromium/files/patch-content_browser_service__host_utility__process__host.cc index 721d51540476..00f163cae697 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 2025-10-21 16:57:35 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/service_host/utility_process_host.cc -@@ -68,7 +68,7 @@ +@@ -64,7 +64,7 @@ #include "content/browser/v8_snapshot_files.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/pickle.h" -@@ -97,7 +97,7 @@ namespace content { +@@ -93,7 +93,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::ScopedFD PassNetworkContextParentDirs( std::vector network_context_parent_dirs) { base::Pickle pickle; -@@ -495,7 +495,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -491,7 +491,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) { -@@ -513,7 +513,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -509,7 +509,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 50dbc658f2a4..8a5c4e2af15f 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 2025-09-10 13:22:16 UTC +--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/service_host/utility_sandbox_delegate.cc -@@ -28,7 +28,7 @@ - #include "chromeos/ash/components/assistant/buildflags.h" - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -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) -@@ -79,7 +79,7 @@ UtilitySandboxedProcessLauncherDelegate:: - #if BUILDFLAG(IS_FUCHSIA) +@@ -72,10 +72,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 || -@@ -97,14 +97,14 @@ UtilitySandboxedProcessLauncherDelegate:: - #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) +@@ -90,11 +90,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) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - sandbox_type_ == sandbox::mojom::Sandbox::kVideoEffects || - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -@@ -164,15 +164,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe - #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) +@@ -151,15 +151,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) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - sandbox_type_ == sandbox::mojom::Sandbox::kVideoEffects || sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif // BUILDFLAG(IS_LINUX) + sandbox_type_ == sandbox::mojom::Sandbox::kSpeechRecognition) { diff --git a/www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service__host.cc b/www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service.cc similarity index 84% rename from www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service__host.cc rename to www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service.cc index be437dbb8797..abc82bad40f6 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service__host.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_shape__detection_shape__detection__service.cc @@ -1,20 +1,20 @@ ---- content/browser/shape_detection/shape_detection_service_host.cc.orig 2025-10-21 16:57:35 UTC -+++ content/browser/shape_detection/shape_detection_service_host.cc +--- content/browser/shape_detection/shape_detection_service.cc.orig 2025-12-06 13:30:52 UTC ++++ content/browser/shape_detection/shape_detection_service.cc @@ -15,7 +15,7 @@ #endif #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) #include "content/public/browser/service_process_host.h" #else #include "content/browser/gpu/gpu_process_host.h" @@ -29,7 +29,7 @@ shape_detection::mojom::ShapeDetectionService* GetShap remote; if (!*remote) { #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) ServiceProcessHost::Launch( remote->BindNewPipeAndPassReceiver(), ServiceProcessHost::Options() 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 34dfefa0a707..0c9622710595 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 2025-09-10 13:22:16 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/web_contents/web_contents_view_aura.cc -@@ -175,7 +175,7 @@ class WebDragSourceAura : public content::WebContentsO +@@ -176,7 +176,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, -@@ -260,7 +260,7 @@ void PrepareDragData(const DropData& drop_data, +@@ -261,7 +261,7 @@ void PrepareDragData(const DropData& drop_data, if (!drop_data.download_metadata.empty()) PrepareDragForDownload(drop_data, provider, web_contents); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // We set the file contents before the URL because the URL also sets file // contents (to a .URL shortcut). We want to prefer file content data over // a shortcut so we add it first. -@@ -1326,7 +1326,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1344,7 +1344,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 9053797dfa35..47afc1bcd62b 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 2025-11-01 06:40:37 UTC +--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-12-06 13:30:52 UTC +++ content/browser/web_contents/web_contents_view_aura_unittest.cc @@ -42,7 +42,7 @@ #include "ui/base/dragdrop/os_exchange_data_provider_win.h" #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) #include "ui/base/x/selection_utils.h" #include "ui/base/x/x11_os_exchange_data_provider.h" #include "ui/gfx/x/atom_cache.h" @@ -98,7 +98,7 @@ class TestDragDropClient : public aura::client::DragDr drag_drop_data_ = std::move(data); return DragOperation::kCopy; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void UpdateDragImage(const gfx::ImageSkia& image, const gfx::Vector2d& offset) override {} #endif -@@ -235,7 +235,7 @@ TEST_F(WebContentsViewAuraTest, WebContentsDestroyedDu +@@ -236,7 +236,7 @@ TEST_F(WebContentsViewAuraTest, WebContentsDestroyedDu ui::EF_LEFT_MOUSE_BUTTON, 0); ui::EventHandler* event_handler = GetView(); event_handler->OnMouseEvent(&mouse_event); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The web-content is not activated during mouse-press on Linux. // See comment in WebContentsViewAura::OnMouseEvent() for more details. EXPECT_NE(web_contents(), nullptr); -@@ -301,7 +301,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { +@@ -302,7 +302,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { view->OnDragEntered(event); ASSERT_NE(nullptr, view->current_drag_data_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations return an empty string if file data // is also present. EXPECT_TRUE(!view->current_drag_data_->text || -@@ -341,7 +341,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { +@@ -342,7 +342,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { CheckDropData(view); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations returns an empty string if file data // is also present. EXPECT_TRUE(!drop_complete_data_->drop_data.text || -@@ -399,7 +399,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri +@@ -400,7 +400,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri view->OnDragEntered(event); ASSERT_NE(nullptr, view->current_drag_data_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations return an empty string if file data // is also present. EXPECT_TRUE(!view->current_drag_data_->text || -@@ -431,7 +431,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri +@@ -432,7 +432,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri CheckDropData(view); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // By design, Linux implementations returns an empty string if file data is // also present. EXPECT_TRUE(!drop_complete_data_->drop_data.text || -@@ -462,7 +462,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro +@@ -463,7 +463,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro auto data = std::make_unique(); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) // 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_BUILD.gn b/www/ungoogled-chromium/files/patch-content_child_BUILD.gn index 9343f32ce731..ed0ed9f02d52 100644 --- a/www/ungoogled-chromium/files/patch-content_child_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_child_BUILD.gn @@ -1,16 +1,16 @@ ---- content/child/BUILD.gn.orig 2025-04-15 08:30:07 UTC +--- content/child/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ content/child/BUILD.gn -@@ -136,6 +136,13 @@ target(link_target_type, "child") { +@@ -135,6 +135,13 @@ target(link_target_type, "child") { ] } + if (is_bsd) { + sources -= [ + "sandboxed_process_thread_type_handler.cc", + "sandboxed_process_thread_type_handler.h", + ] + } + if (is_win) { sources += [ "child_process_sandbox_support_impl_win.cc", diff --git a/www/ungoogled-chromium/files/patch-content_common_BUILD.gn b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn index ba2b0ebfa81c..ae96bd60b641 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 2025-09-10 13:22:16 UTC +--- content/common/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ content/common/BUILD.gn -@@ -367,19 +367,28 @@ source_set("common") { +@@ -365,19 +365,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 2b9488ea7821..a314a62de395 100644 --- a/www/ungoogled-chromium/files/patch-content_common_features.cc +++ b/www/ungoogled-chromium/files/patch-content_common_features.cc @@ -1,11 +1,11 @@ ---- content/common/features.cc.orig 2025-11-01 06:40:37 UTC +--- content/common/features.cc.orig 2025-12-06 13:30:52 UTC +++ content/common/features.cc -@@ -144,7 +144,7 @@ BASE_FEATURE(kDocumentPolicyNegotiation, base::FEATURE +@@ -171,7 +171,7 @@ BASE_FEATURE(kDocumentPolicyNegotiation, base::FEATURE BASE_FEATURE(kEmbeddingRequiresOptIn, base::FEATURE_DISABLED_BY_DEFAULT); // Enables error reporting for JS errors inside DevTools frontend host -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableDevToolsJsErrorReporting, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-content_common_features.h b/www/ungoogled-chromium/files/patch-content_common_features.h index 9fbf3b2b787b..54769be26c77 100644 --- a/www/ungoogled-chromium/files/patch-content_common_features.h +++ b/www/ungoogled-chromium/files/patch-content_common_features.h @@ -1,11 +1,11 @@ ---- content/common/features.h.orig 2025-09-10 13:22:16 UTC +--- content/common/features.h.orig 2025-12-06 13:30:52 UTC +++ content/common/features.h -@@ -60,7 +60,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginEn - CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginTracking); +@@ -65,7 +65,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCopyFromSurfaceAl CONTENT_EXPORT BASE_DECLARE_FEATURE(kCriticalClientHint); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kDelayRfhDestructionsOnUnloadAndDetach); CONTENT_EXPORT BASE_DECLARE_FEATURE(kDocumentPolicyNegotiation); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableDevToolsJsErrorReporting); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnforceSameDocumentOriginInvariants); 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 4db769e8d55f..071915818d0e 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 2025-11-01 06:40:37 UTC +--- content/public/browser/content_browser_client.cc.orig 2025-12-06 13:30:52 UTC +++ content/public/browser/content_browser_client.cc -@@ -1410,7 +1410,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1434,7 +1434,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 bf3ca750d957..f60b68465a12 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,36 +1,36 @@ ---- content/public/common/content_features.cc.orig 2025-11-01 06:40:37 UTC +--- content/public/common/content_features.cc.orig 2025-12-06 13:30:52 UTC +++ content/public/common/content_features.cc -@@ -95,7 +95,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU +@@ -106,7 +106,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU // Runs the audio service in a separate process. BASE_FEATURE(kAudioServiceOutOfProcess, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1152,10 +1152,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE +@@ -1165,10 +1165,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 -@@ -1203,7 +1203,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended, base::FEA +@@ -1216,7 +1216,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended, base::FEA // 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 eaed7a31d477..ea6b9676e428 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 2025-10-21 16:57:35 UTC +--- content/public/common/content_switches.cc.orig 2025-12-06 13:30:52 UTC +++ content/public/common/content_switches.cc @@ -347,6 +347,8 @@ const char kEnableIsolatedWebAppsInRenderer[] = // builds. const char kEnableLogging[] = "enable-logging"; +const char kDisableUnveil[] = "disable-unveil"; + // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables // triggering of change attribute of the NetInfo API when there is a change in // the connection type. -@@ -940,7 +942,7 @@ const char kPreventResizingContentsForTesting[] = +@@ -946,7 +948,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 860a04c0504a..da49e4d079c7 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 2025-10-21 16:57:35 UTC +--- content/public/common/content_switches.h.orig 2025-12-06 13:30:52 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[]; -@@ -256,7 +257,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -259,7 +260,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[]; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc index 41c0c93cc1ee..f641e3e6088b 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 2025-11-01 06:40:37 UTC +--- content/renderer/render_thread_impl.cc.orig 2025-12-06 13:30:52 UTC +++ content/renderer/render_thread_impl.cc -@@ -204,6 +204,8 @@ +@@ -205,6 +205,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -989,7 +991,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -981,7 +983,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: /*lose_context_when_out_of_memory=*/true); const bool enable_video_decode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) && #endif // BUILDFLAG(IS_LINUX) !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && -@@ -998,7 +1000,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -990,7 +992,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) && -@@ -1760,7 +1762,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1750,7 +1752,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 1d8d5515a2d6..86e29b20fad3 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,45 +1,45 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2025-11-01 06:40:37 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2025-12-06 13:30:52 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -124,7 +124,7 @@ +@@ -125,7 +125,7 @@ #if BUILDFLAG(IS_MAC) #include "content/child/child_process_sandbox_support_impl_mac.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/child_process_sandbox_support_impl_linux.h" #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -200,13 +200,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -201,13 +201,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()); -@@ -230,7 +230,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(); -@@ -303,7 +303,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 9be3f20439b0..c304805c6c49 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 2025-11-01 06:40:37 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2025-12-06 13:30:52 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -279,7 +279,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -280,7 +280,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_shell_BUILD.gn b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn index 69ecaf8eb566..0f657ac459f4 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 2025-11-01 06:40:37 UTC +--- content/shell/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ content/shell/BUILD.gn -@@ -1094,7 +1094,7 @@ group("content_shell_crash_test") { +@@ -1099,7 +1099,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 41ab165e3686..582bce83112f 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 2025-11-01 06:40:37 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2025-12-06 13:30:52 UTC +++ content/shell/app/shell_main_delegate.cc -@@ -297,7 +297,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -299,7 +299,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 ce383c594fcb..5f2f7dc12e3e 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 2025-10-21 16:57:35 UTC +--- content/utility/services.cc.orig 2025-12-06 13:30:52 UTC +++ content/utility/services.cc -@@ -74,14 +74,14 @@ +@@ -68,14 +68,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) && -@@ -237,7 +237,7 @@ auto RunAudio(mojo::PendingReceiver receiver) { -@@ -436,7 +436,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -406,7 +406,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__main.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc index abf78d71a11e..30dc089fbbeb 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc @@ -1,124 +1,111 @@ ---- content/utility/utility_main.cc.orig 2025-10-21 16:57:35 UTC +--- content/utility/utility_main.cc.orig 2025-12-06 13:30:52 UTC +++ content/utility/utility_main.cc -@@ -39,17 +39,21 @@ +@@ -38,22 +38,31 @@ + #include "services/on_device_model/public/mojom/on_device_model_service.mojom.h" #include "services/tracing/public/cpp/trace_startup.h" - #include "services/video_effects/public/cpp/buildflags.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" -@@ -84,7 +88,12 @@ + #include "services/shape_detection/shape_detection_sandbox_hook.h" - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) - --#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#include "content/common/gpu_pre_sandbox_hook_bsd.h" +#endif + -+#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) - #include "services/video_effects/video_effects_sandbox_hook_linux.h" // nogncheck - #endif // BUILDFLAG(IS_LINUX) - -@@ -121,7 +130,7 @@ + #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) + #include "gpu/config/gpu_info_collector.h" + #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h" +@@ -111,7 +120,7 @@ sandbox::TargetServices* g_utility_target_services = nullptr; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) #include "components/services/on_device_translation/sandbox_hook.h" #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX) -@@ -129,7 +138,7 @@ namespace content { +@@ -119,7 +128,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( -@@ -285,7 +294,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -275,7 +284,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 -@@ -300,7 +309,10 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -290,7 +299,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 -@@ -332,7 +344,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -322,7 +334,7 @@ int UtilityMain(MainFunctionParams parameters) { pre_sandbox_hook = base::BindOnce(&speech::SpeechRecognitionPreSandboxHook); break; -#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) case sandbox::mojom::Sandbox::kOnDeviceTranslation: pre_sandbox_hook = base::BindOnce( &on_device_translation::OnDeviceTranslationSandboxHook); -@@ -348,7 +360,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -338,7 +350,7 @@ int UtilityMain(MainFunctionParams parameters) { #else NOTREACHED(); #endif --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - case sandbox::mojom::Sandbox::kVideoEffects: - #if BUILDFLAG(ENABLE_VIDEO_EFFECTS) - pre_sandbox_hook = -@@ -356,7 +368,7 @@ int UtilityMain(MainFunctionParams parameters) { - #endif - break; - #endif // BUILDFLAG(IS_LINUX) -#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); -@@ -391,6 +403,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -367,6 +379,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 = -@@ -398,6 +411,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -374,6 +387,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-device_fido_features.cc b/www/ungoogled-chromium/files/patch-device_fido_features.cc new file mode 100644 index 000000000000..eb7eb1faf35e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_fido_features.cc @@ -0,0 +1,11 @@ +--- device/fido/features.cc.orig 2025-12-06 13:30:52 UTC ++++ device/fido/features.cc +@@ -37,7 +37,7 @@ namespace device { + // comment. + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Not yet enabled by default. + BASE_FEATURE(kPasskeyUnlockErrorUi, base::FEATURE_DISABLED_BY_DEFAULT); + #endif diff --git a/www/ungoogled-chromium/files/patch-device_fido_features.h b/www/ungoogled-chromium/files/patch-device_fido_features.h new file mode 100644 index 000000000000..e700f9603195 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_fido_features.h @@ -0,0 +1,11 @@ +--- device/fido/features.h.orig 2025-12-06 13:30:52 UTC ++++ device/fido/features.h +@@ -13,7 +13,7 @@ + namespace device { + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Allows the passkey unlock error UI to be shown. + COMPONENT_EXPORT(DEVICE_FIDO) + BASE_DECLARE_FEATURE(kPasskeyUnlockErrorUi); diff --git a/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc index c3c946991d8c..993b9c6eafcd 100644 --- a/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc +++ b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc @@ -1,11 +1,11 @@ ---- device/gamepad/gamepad_provider.cc.orig 2025-11-01 06:40:37 UTC +--- device/gamepad/gamepad_provider.cc.orig 2025-12-06 13:30:52 UTC +++ device/gamepad/gamepad_provider.cc -@@ -160,7 +160,7 @@ void GamepadProvider::Initialize(std::unique_ptr("Gamepad polling thread"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, the data fetcher needs to watch file descriptors, so the message // loop needs to be a libevent loop. const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO; diff --git a/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json index b4c9c9b53b93..6c89be1bf0de 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,187 +1,187 @@ ---- extensions/common/api/_permission_features.json.orig 2025-11-01 06:40:37 UTC +--- extensions/common/api/_permission_features.json.orig 2025-12-06 13:30:52 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", @@ -77,7 +77,7 @@ "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "audio": [ { @@ -98,13 +98,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", @@ -142,7 +142,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 @@ -217,7 +217,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", @@ -266,7 +266,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 @@ -288,12 +288,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 @@ -330,13 +330,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 -@@ -490,7 +490,7 @@ +@@ -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. -@@ -570,7 +570,7 @@ +@@ -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. -@@ -582,13 +582,13 @@ +@@ -576,13 +576,13 @@ "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "socket": { "channel": "stable", "extension_types": ["platform_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"] + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] }, "storage": [ { -@@ -678,13 +678,13 @@ +@@ -672,13 +672,13 @@ "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"] }, { "channel": "stable", "extension_types": ["hosted_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"] // Web Store } ], -@@ -693,13 +693,13 @@ +@@ -687,13 +687,13 @@ "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"] }, { "channel": "stable", "extension_types": ["hosted_app"], // "desktop_android" is not supported. - "platforms": ["chromeos", "linux", "mac", "win"], + "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"], "allowlist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"] // Web Store } ], -@@ -727,7 +727,7 @@ - "channel": "stable", - "extension_types": ["platform_app"], - // "desktop_android" is not supported. -- "platforms": ["chromeos", "linux", "mac", "win"] -+ "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] - }, +@@ -720,7 +720,7 @@ + "channel": "stable", + "extension_types": ["platform_app"], + // "desktop_android" is not supported. +- "platforms": ["chromeos", "linux", "mac", "win"] ++ "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] + }, + "usbDevices": [ { - "channel": "dev", -@@ -813,7 +813,7 @@ +@@ -788,7 +788,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-gpu_command__buffer_client_test__shared__image__interface.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc index de5cff834dda..63a1143face4 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/client/test_shared_image_interface.cc.orig 2025-09-10 13:22:16 UTC +--- gpu/command_buffer/client/test_shared_image_interface.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/client/test_shared_image_interface.cc -@@ -30,7 +30,7 @@ +@@ -29,7 +29,7 @@ #include "ui/gfx/gpu_fence.h" #include "ui/gfx/gpu_memory_buffer_handle.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif @@ -154,7 +154,7 @@ TestSharedImageInterface::TestSharedImageInterface() { TestSharedImageInterface::~TestSharedImageInterface() = default; // static -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) gfx::GpuMemoryBufferHandle TestSharedImageInterface::CreatePixmapHandle( const gfx::Size& size, - gfx::BufferFormat format) { + viz::SharedImageFormat format) { 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 7a8df98a0d6c..f467c94016a2 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 2025-11-01 06:40:37 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -2851,7 +2851,7 @@ std::unique_ptr GLES2Decoder::Create( +@@ -2850,7 +2850,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__context__state.h b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__context__state.h index 9070a5d91a6b..19587cd3787b 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__context__state.h +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__context__state.h @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_context_state.h.orig 2025-09-10 13:22:16 UTC +--- gpu/command_buffer/service/shared_context_state.h.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/shared_context_state.h -@@ -236,7 +236,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -235,7 +235,7 @@ class GPU_GLES2_EXPORT SharedContextState return &memory_type_tracker_; } #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) ExternalSemaphorePool* external_semaphore_pool() { return external_semaphore_pool_.get(); } -@@ -401,7 +401,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -400,7 +400,7 @@ class GPU_GLES2_EXPORT SharedContextState bool disable_check_reset_status_throttling_for_test_ = false; #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) std::unique_ptr external_semaphore_pool_; #endif diff --git a/www/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 762e3899798f..8542454dfa72 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 2025-05-06 12:23:00 UTC +--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2025-12-06 13:30:52 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 | -@@ -121,7 +121,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported( +@@ -119,7 +119,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported( switch (gmb_type) { case gfx::EMPTY_BUFFER: return true; -#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_external__vk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc index c30e84647ec8..56ecd7a2b828 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 2025-10-21 16:57:35 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc -@@ -58,7 +58,7 @@ +@@ -57,7 +57,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" @@ -708,7 +708,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 b05a901950e8..73b95a526120 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 2025-09-10 13:22:16 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc -@@ -140,7 +140,7 @@ bool IsFormatSupported(viz::SharedImageFormat format, +@@ -139,7 +139,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_gpu__memory__buffer__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gpu__memory__buffer__factory.cc deleted file mode 100644 index 5c542fe591e7..000000000000 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gpu__memory__buffer__factory.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory.cc.orig 2025-11-01 06:40:37 UTC -+++ gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory.cc -@@ -14,7 +14,7 @@ - #include "gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_io_surface.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - #include "gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_native_pixmap.h" - #endif - -@@ -36,7 +36,7 @@ GpuMemoryBufferFactory::CreateNativeType( - // AHardwareBuffers), but the codebase is structured such that it is easier - // to create a dummy factory than create no factory. - return std::make_unique(); --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - return std::make_unique( - vulkan_context_provider); - #elif BUILDFLAG(IS_WIN) 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 620aeb81d474..8521500da7e4 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,38 +1,38 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-11-01 06:40:37 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc -@@ -54,7 +54,7 @@ +@@ -52,7 +52,7 @@ #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h" #include "gpu/vulkan/vulkan_device_queue.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" #endif -@@ -112,7 +112,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -109,7 +109,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 -@@ -133,7 +133,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -130,7 +130,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; -@@ -318,7 +318,7 @@ SharedImageFactory::SharedImageFactory( +@@ -316,7 +316,7 @@ SharedImageFactory::SharedImageFactory( context_state_, workarounds_); 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) { auto external_vk_image_factory = std::make_unique(context_state_); diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc index 591207dfcc07..c9ad3e5795e8 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-11-01 06:40:37 UTC +--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/shared_image/shared_image_manager.cc -@@ -765,7 +765,7 @@ bool SharedImageManager::SupportsScanoutImages() { +@@ -769,7 +769,7 @@ bool SharedImageManager::SupportsScanoutImages() { return true; #elif BUILDFLAG(IS_ANDROID) - return base::AndroidHardwareBufferCompat::IsSupportAvailable(); + return true; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return supports_overlays_on_ozone_; #elif BUILDFLAG(IS_WIN) return gl::DirectCompositionTextureSupported(); diff --git a/www/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 8677f9f71d5d..c11ecaf20e7c 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 2025-10-21 16:57:35 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1747,7 +1747,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1758,7 +1758,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() || shared_context_state_->IsGraphiteDawnVulkan()) { backend_types = {wgpu::BackendType::Vulkan}; -@@ -1992,7 +1992,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -2003,7 +2003,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__info__collector.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__info__collector.cc index 7798a4c97131..cb5960a1ab56 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 2025-11-01 06:40:37 UTC +--- gpu/config/gpu_info_collector.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/config/gpu_info_collector.cc -@@ -363,7 +363,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance +@@ -362,7 +362,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 8d7aa25a8e09..f9c3c21f0bcb 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 2025-09-10 13:22:16 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -155,7 +155,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -156,7 +156,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; -@@ -417,7 +417,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -418,7 +418,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 -@@ -455,7 +455,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -456,7 +456,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. -@@ -552,7 +552,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -553,7 +553,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL gpu_preferences_.gr_context_type = GrContextType::kGL; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The ContentSandboxHelper is currently the only one implementation of // GpuSandboxHelper and it has no dependency. Except on Linux where // VaapiWrapper checks the GL implementation to determine which display -@@ -610,7 +610,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -611,7 +611,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; -@@ -778,7 +778,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -779,7 +779,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL ->GetSupportedFormatsForGLNativePixmapImport(); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. -@@ -830,7 +830,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -831,7 +831,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 -@@ -1032,7 +1032,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1033,7 +1033,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 -@@ -1088,7 +1088,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1089,7 +1089,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 aace9ca6d42e..427292066bb8 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 2025-10-21 16:57:35 UTC +--- gpu/vulkan/vulkan_util.cc.orig 2025-12-06 13:30:52 UTC +++ gpu/vulkan/vulkan_util.cc -@@ -481,7 +481,7 @@ bool CheckVulkanCompatibilities( +@@ -474,7 +474,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 f56bac4961c5..ddff688d4f17 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 2025-10-21 16:57:35 UTC +--- headless/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ headless/BUILD.gn -@@ -483,7 +483,7 @@ component("headless_non_renderer") { +@@ -489,7 +489,7 @@ component("headless_non_renderer") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/content/browser", "//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 new file mode 100644 index 000000000000..0389b518a4ae --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__impl.cc @@ -0,0 +1,20 @@ +--- headless/lib/browser/headless_browser_impl.cc.orig 2025-12-06 13:30:52 UTC ++++ headless/lib/browser/headless_browser_impl.cc +@@ -40,7 +40,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 +@@ -413,7 +413,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__content__browser__client.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc index 7df59bde58a7..51f9894652c0 100644 --- a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_content_browser_client.cc.orig 2025-09-10 13:22:16 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2025-12-06 13:30:52 UTC +++ headless/lib/browser/headless_content_browser_client.cc -@@ -59,7 +59,7 @@ +@@ -61,7 +61,7 @@ #include "content/public/common/content_descriptors.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) #include "components/os_crypt/sync/os_crypt.h" // nogncheck #include "content/public/browser/network_service_util.h" #endif -@@ -557,7 +557,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll +@@ -569,7 +569,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll void HeadlessContentBrowserClient::SetEncryptionKey( ::network::mojom::NetworkService* network_service) { -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) // The OSCrypt keys are process bound, so if network service is out of // process, send it the required key if it is available. if (content::IsOutOfProcessNetworkService() diff --git a/www/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 ac1d3e7c9d0b..ad8c698652a5 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 2025-11-01 06:40:37 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2025-12-06 13:30:52 UTC +++ headless/lib/browser/headless_web_contents_impl.cc -@@ -69,7 +69,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ +@@ -71,7 +71,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-ipc_ipc__channel.cc b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.cc index b4d73a5dae70..833562b6f8db 100644 --- a/www/ungoogled-chromium/files/patch-ipc_ipc__channel.cc +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.cc @@ -1,20 +1,29 @@ ---- ipc/ipc_channel.cc.orig 2025-11-01 06:40:37 UTC +--- ipc/ipc_channel.cc.orig 2025-12-06 13:30:52 UTC +++ ipc/ipc_channel.cc -@@ -22,7 +22,7 @@ namespace { +@@ -41,7 +41,7 @@ namespace { // Global atomic used to guarantee channel IDs are unique. base::AtomicSequenceNumber g_last_id; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) int g_global_pid = 0; -@@ -60,7 +60,7 @@ std::string Channel::GenerateUniqueRandomChannelID() { +@@ -83,7 +83,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe + }; + + base::ProcessId GetSelfPID() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (int global_pid = Channel::GetGlobalPid()) { + return global_pid; + } +@@ -123,7 +123,7 @@ std::string Channel::GenerateUniqueRandomChannelID() { base::RandInt(0, std::numeric_limits::max())); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static void Channel::SetGlobalPid(int pid) { g_global_pid = pid; diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h index 017138693aaf..5fd4c23f13c2 100644 --- a/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h @@ -1,11 +1,11 @@ ---- ipc/ipc_channel.h.orig 2025-11-01 06:40:37 UTC +--- ipc/ipc_channel.h.orig 2025-12-06 13:30:52 UTC +++ ipc/ipc_channel.h -@@ -206,7 +206,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { +@@ -201,7 +201,7 @@ class COMPONENT_EXPORT(IPC) Channel final // Generates a channel ID that's non-predictable and unique. static std::string GenerateUniqueRandomChannelID(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Sandboxed processes live in a PID namespace, so when sending the IPC hello // message from client to server we need to send the PID from the global // PID namespace. diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc deleted file mode 100644 index ddfee69411dc..000000000000 --- a/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- ipc/ipc_channel_mojo.cc.orig 2025-11-01 06:40:37 UTC -+++ ipc/ipc_channel_mojo.cc -@@ -72,7 +72,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe - }; - - base::ProcessId GetSelfPID() { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (int global_pid = Channel::GetGlobalPid()) - return global_pid; - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h b/www/ungoogled-chromium/files/patch-ipc_param__traits__utils.h similarity index 76% rename from www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h rename to www/ungoogled-chromium/files/patch-ipc_param__traits__utils.h index 7c9bb9abb33b..2f6525ca0d92 100644 --- a/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h +++ b/www/ungoogled-chromium/files/patch-ipc_param__traits__utils.h @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.h.orig 2025-11-01 06:40:37 UTC -+++ ipc/ipc_message_utils.h -@@ -178,7 +178,7 @@ struct ParamTraits { +--- ipc/param_traits_utils.h.orig 2025-12-06 13:30:52 UTC ++++ ipc/param_traits_utils.h +@@ -177,7 +177,7 @@ struct ParamTraits { // Since we want to support Android 32<>64 bit IPC, as long as we don't have // these traits for 32 bit ARM then that'll catch any errors. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) template <> struct ParamTraits { 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 f37ceb9a6333..347d55e17abb 100644 --- a/www/ungoogled-chromium/files/patch-media_base_media__switches.cc +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc @@ -1,120 +1,120 @@ ---- media/base/media_switches.cc.orig 2025-11-01 06:40:37 UTC +--- media/base/media_switches.cc.orig 2025-12-06 13:30:52 UTC +++ media/base/media_switches.cc @@ -19,7 +19,7 @@ #include "ui/gl/gl_features.h" #include "ui/gl/gl_utils.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/cpu.h" #endif -@@ -368,13 +368,35 @@ BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare, +@@ -367,13 +367,35 @@ BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare, BASE_FEATURE(kUseSCContentSharingPicker, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables system audio mirroring using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForCast, base::FEATURE_DISABLED_BY_DEFAULT); // Enables system audio sharing using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForScreenShare, base::FEATURE_DISABLED_BY_DEFAULT); + +BASE_FEATURE(kAudioBackend, + "AudioBackend", + base::FEATURE_ENABLED_BY_DEFAULT); + +constexpr base::FeatureParam::Option + kAudioBackendOptions[] = { + {AudioBackend::kAuto, + "auto"}, + {AudioBackend::kPulseAudio, "pulseaudio"}, + {AudioBackend::kSndio, "sndio"}, + {AudioBackend::kAlsa, "alsa"}}; + +const base::FeatureParam + kAudioBackendParam{ + &kAudioBackend, "audio-backend", +#if BUILDFLAG(IS_OPENBSD) + AudioBackend::kSndio, +#elif BUILDFLAG(IS_FREEBSD) + AudioBackend::kAuto, +#endif + &kAudioBackendOptions}; #endif // BUILDFLAG(IS_LINUX) // When enabled, MediaCapabilities will check with GPU Video Accelerator -@@ -626,7 +648,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, +@@ -614,7 +636,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, // Show toolbar button that opens dialog for controlling media sessions. BASE_FEATURE(kGlobalMediaControls, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -644,7 +666,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, base::FEAT +@@ -632,7 +654,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, base::FEAT #if !BUILDFLAG(IS_ANDROID) // If enabled, users can request Media Remoting without fullscreen-in-tab. BASE_FEATURE(kMediaRemotingWithoutFullscreen, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -655,7 +677,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, +@@ -643,7 +665,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, // Show picture-in-picture button in Global Media Controls. BASE_FEATURE(kGlobalMediaControlsPictureInPicture, #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 -@@ -677,7 +699,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU +@@ -665,7 +687,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, -@@ -733,7 +755,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E +@@ -721,7 +743,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); -@@ -1235,7 +1257,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, - ); +@@ -1220,7 +1242,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, + BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawn utility processes to perform hardware encode acceleration instead of // using the GPU process. BASE_FEATURE(kUseOutOfProcessVideoEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1297,7 +1319,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU +@@ -1282,7 +1304,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. -@@ -1565,7 +1587,7 @@ bool IsSystemLoopbackCaptureSupported() { +@@ -1545,7 +1567,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 db656337cd18..f0d830566eb4 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 2025-11-01 06:40:37 UTC +--- media/base/media_switches.h.orig 2025-12-06 13:30:52 UTC +++ media/base/media_switches.h -@@ -342,13 +342,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -334,13 +334,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); -@@ -366,7 +378,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -358,7 +370,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); -@@ -382,7 +394,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -374,7 +386,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); -@@ -501,7 +513,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBackgroundListening - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding); +@@ -478,7 +490,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.cc b/www/ungoogled-chromium/files/patch-media_base_video__frame.cc index f199c2479f64..aeb7b6d9f6ad 100644 --- a/www/ungoogled-chromium/files/patch-media_base_video__frame.cc +++ b/www/ungoogled-chromium/files/patch-media_base_video__frame.cc @@ -1,47 +1,47 @@ ---- media/base/video_frame.cc.orig 2025-11-01 06:40:37 UTC +--- media/base/video_frame.cc.orig 2025-12-06 13:30:52 UTC +++ media/base/video_frame.cc -@@ -86,7 +86,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -85,7 +85,7 @@ std::string VideoFrame::StorageTypeToString( return "OWNED_MEMORY"; case VideoFrame::STORAGE_SHMEM: return "SHMEM"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case VideoFrame::STORAGE_DMABUFS: return "DMABUFS"; #endif -@@ -100,7 +100,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -99,7 +99,7 @@ std::string VideoFrame::StorageTypeToString( // static bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { return -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // This is not strictly needed but makes explicit that, at VideoFrame // level, DmaBufs are not mappable from userspace. storage_type != VideoFrame::STORAGE_DMABUFS && -@@ -395,7 +395,7 @@ scoped_refptr VideoFrame::CreateFrameForMa +@@ -503,7 +503,7 @@ scoped_refptr VideoFrame::WrapMappableShar plane_size.width() * VideoFrame::BytesPerElement(*format, plane); } uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool is_native_buffer = !shared_image->IsSharedMemoryForVideoFrame(); if (is_native_buffer) { const auto gmb_handle = shared_image->CloneGpuMemoryBufferHandle(); -@@ -852,7 +852,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -800,7 +800,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static scoped_refptr VideoFrame::WrapExternalDmabufs( const VideoFrameLayout& layout, -@@ -1539,7 +1539,7 @@ scoped_refptr VideoFrame::shar +@@ -1492,7 +1492,7 @@ scoped_refptr VideoFrame::shar return wrapped_frame_ ? wrapped_frame_->shared_image() : shared_image_; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) size_t VideoFrame::NumDmabufFds() const { if (wrapped_frame_) { return wrapped_frame_->NumDmabufFds(); diff --git a/www/ungoogled-chromium/files/patch-media_base_video__frame.h b/www/ungoogled-chromium/files/patch-media_base_video__frame.h index 02feebf6b18d..dbe8514a86a7 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 2025-10-21 16:57:35 UTC +--- media/base/video_frame.h.orig 2025-12-06 13:30:52 UTC +++ media/base/video_frame.h @@ -41,7 +41,7 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/hdr_metadata.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/scoped_file.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -95,7 +95,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers. STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer. STORAGE_SHMEM = 4, // Backed by read-only shared memory. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) STORAGE_DMABUFS = 5, // Each plane is stored into a DmaBuf. #endif STORAGE_GPU_MEMORY_BUFFER = 6, -@@ -370,7 +370,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -348,7 +348,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte base::TimeDelta timestamp); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Wraps provided dmabufs // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will -@@ -712,7 +712,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -693,7 +693,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. -@@ -947,7 +947,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -909,7 +909,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // GpuMemoryBuffers. Clients will set this flag while creating a VideoFrame. bool is_mappable_si_enabled_ = false; -#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_video__capture__device__client.cc b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc index b3459b895d46..5fed4b6f613d 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc +++ b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc @@ -1,11 +1,11 @@ ---- media/capture/video/video_capture_device_client.cc.orig 2025-11-01 06:40:37 UTC +--- media/capture/video/video_capture_device_client.cc.orig 2025-12-06 13:30:52 UTC +++ media/capture/video/video_capture_device_client.cc -@@ -167,7 +167,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( +@@ -168,7 +168,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( CHECK(!is_width_odd && !is_height_odd); return {libyuv::FOURCC_UYVY}; case media::PIXEL_FORMAT_RGB24: - if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) { + if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) { // Linux RGB24 defines red at lowest byte address, // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. return {libyuv::FOURCC_RAW}; diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc index 1db7e29d9039..34158ded9c72 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc @@ -1,13 +1,13 @@ ---- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2024-06-22 08:49:42 UTC +--- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/chromeos/gl_image_processor_backend.cc -@@ -28,6 +28,10 @@ +@@ -29,6 +29,10 @@ #include "ui/ozone/public/ozone_platform.h" #include "ui/ozone/public/surface_factory_ozone.h" +#ifndef GL_CONTEXT_LOST_KHR +#define GL_CONTEXT_LOST_KHR 0x0507 +#endif + namespace media { namespace { diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc index d719e624e06c..3a7b337555e6 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-10-21 16:57:35 UTC +--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/chromeos/platform_video_frame_utils.cc -@@ -71,7 +71,7 @@ static std::unique_ptr CreateGbmDevice( +@@ -70,7 +70,7 @@ static std::unique_ptr CreateGbmDevice( const base::FilePath dev_path(FILE_PATH_LITERAL( base::StrCat({drm_node_file_prefix, base::NumberToString(i)}))); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) const bool is_render_node = base::Contains(drm_node_file_prefix, "render"); // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind -@@ -176,7 +176,7 @@ class GbmDeviceWrapper { +@@ -175,7 +175,7 @@ class GbmDeviceWrapper { const base::FilePath dev_path( base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( switches::kRenderNodeOverride)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) const bool is_render_node = base::Contains(dev_path.value(), "render"); // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind 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 6e8a5c2e170e..e0690efbbcb0 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,29 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-05-31 17:16:41 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1128,7 +1128,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1132,7 +1132,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()); -@@ -1137,7 +1137,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1141,7 +1141,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 -@@ -1311,7 +1311,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1315,7 +1315,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_test_video__frame__helpers.cc b/www/ungoogled-chromium/files/patch-media_gpu_test_video__frame__helpers.cc index c41e9eb53ed5..ec85b0d990c3 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_test_video__frame__helpers.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_test_video__frame__helpers.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_helpers.cc.orig 2025-09-10 13:22:16 UTC +--- media/gpu/test/video_frame_helpers.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/test/video_frame_helpers.cc -@@ -23,7 +23,7 @@ - #include "ui/gfx/buffer_format_util.h" +@@ -22,7 +22,7 @@ + #include "third_party/libyuv/include/libyuv.h" #include "ui/gfx/gpu_memory_buffer_handle.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/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 5e0e08bc3027..1550abc2e4c3 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 2025-09-10 13:22:16 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -787,7 +787,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -786,7 +786,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_gpu_vaapi_vaapi__wrapper.cc b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc index 0011ddb4a9d5..71027ec29022 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2025-10-21 16:57:35 UTC +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2025-12-06 13:30:52 UTC +++ media/gpu/vaapi/vaapi_wrapper.cc -@@ -85,7 +85,7 @@ +@@ -84,7 +84,7 @@ using media_gpu_vaapi::kModuleVa_prot; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/files/file_util.h" #include "base/strings/string_split.h" #endif 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 a772894275a2..9b9e7f9cfc44 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 2025-11-01 06:40:37 UTC +--- media/mojo/mojom/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ media/mojo/mojom/BUILD.gn -@@ -970,7 +970,7 @@ source_set("test_support") { +@@ -1037,7 +1037,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 36e8694f8ab2..c3df9c519ca1 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,38 +1,38 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-10-21 16:57:35 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-12-06 13:30:52 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -21,7 +21,7 @@ +@@ -22,7 +22,7 @@ #include "ui/gfx/mojom/color_space_mojom_traits.h" #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/posix/eintr_wrapper.h" #include "media/gpu/buffer_validation.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -182,7 +182,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -183,7 +183,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. -@@ -213,7 +213,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -214,7 +214,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( } // namespace -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static bool StructTraits< media::mojom::ColorPlaneLayoutDataView, -@@ -445,7 +445,7 @@ bool StructTraitsHasSharedImage(); -#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 -@@ -1080,7 +1080,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo +@@ -1078,7 +1078,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo media::IOSurfaceIsWebGPUCompatible(handle.io_surface().get()); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) is_webgpu_compatible = handle.type == gfx::NATIVE_PIXMAP && handle.native_pixmap_handle().supports_zero_copy_webgpu_import; -@@ -1248,7 +1248,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr +@@ -1246,7 +1246,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr si_usage |= gpu::SHARED_IMAGE_USAGE_SCANOUT; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40194712): Always add the flag once the // OzoneImageBacking is by default turned on. if (base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc index 09a22d93b650..7698a91d6684 100644 --- a/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc +++ b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- media/webrtc/audio_processor.cc.orig 2025-09-10 13:22:16 UTC +--- media/webrtc/audio_processor.cc.orig 2025-12-06 13:30:52 UTC +++ media/webrtc/audio_processor.cc -@@ -510,7 +510,7 @@ std::optional AudioProcessor::ProcessData( +@@ -517,7 +517,7 @@ std::optional AudioProcessor::ProcessData( // controller. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) DCHECK_LE(volume, 1.0); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // We have a special situation on Linux where the microphone volume can be // "higher than maximum". The input volume slider in the sound preference // allows the user to set a scaling that is higher than 100%. It means that diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_helpers.cc b/www/ungoogled-chromium/files/patch-media_webrtc_helpers.cc index 4d06986c9989..d815bff7aba9 100644 --- a/www/ungoogled-chromium/files/patch-media_webrtc_helpers.cc +++ b/www/ungoogled-chromium/files/patch-media_webrtc_helpers.cc @@ -1,19 +1,19 @@ ---- media/webrtc/helpers.cc.orig 2025-05-31 17:16:41 UTC +--- media/webrtc/helpers.cc.orig 2025-12-06 13:30:52 UTC +++ media/webrtc/helpers.cc -@@ -46,14 +46,14 @@ void ConfigAutomaticGainControl(const AudioProcessingS +@@ -48,14 +48,14 @@ void ConfigAutomaticGainControl(const AudioProcessingS return; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool kInputVolumeAdjustmentOverrideAllowed = true; #elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) const bool kInputVolumeAdjustmentOverrideAllowed = false; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Use AGC2 digital and input volume controller. // TODO(crbug.com/40872787): Remove `kWebRtcAllowInputVolumeAdjustment` safely // and set `input_volume_controller.enabled` true. diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc b/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc index f9bb1296536e..522672cbbf29 100644 --- a/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc +++ b/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc @@ -1,38 +1,38 @@ ---- media/webrtc/helpers_unittests.cc.orig 2025-09-10 13:22:16 UTC +--- media/webrtc/helpers_unittests.cc.orig 2025-12-06 13:30:52 UTC +++ media/webrtc/helpers_unittests.cc -@@ -38,7 +38,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau +@@ -37,7 +37,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau EXPECT_TRUE(config.echo_canceller.enabled); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) EXPECT_FALSE(config.gain_controller1.enabled); EXPECT_TRUE(config.gain_controller2.enabled); #elif BUILDFLAG(IS_CASTOS) || BUILDFLAG(IS_CAST_ANDROID) -@@ -65,7 +65,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -63,7 +63,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) TEST(CreateWebRtcAudioProcessingModuleTest, InputVolumeAdjustmentEnabledWithAgc2) { ::base::test::ScopedFeatureList feature_list; -@@ -81,7 +81,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -79,7 +79,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) TEST(CreateWebRtcAudioProcessingModuleTest, CanDisableInputVolumeAdjustmentWithAgc2) { ::base::test::ScopedFeatureList feature_list; -@@ -98,7 +98,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -96,7 +96,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) TEST(CreateWebRtcAudioProcessingModuleTest, OnlyOneInputVolumeControllerEnabledOnDesktopPlatforms) { auto config = CreateApmGetConfig( diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc index 6efae6f2e132..081f963ec15a 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc @@ -1,23 +1,32 @@ ---- mojo/core/channel.cc.orig 2025-11-01 06:40:37 UTC +--- mojo/core/channel.cc.orig 2025-12-06 13:30:52 UTC +++ mojo/core/channel.cc @@ -81,7 +81,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 -@@ -1121,7 +1125,7 @@ bool Channel::OnControlMessage(Message::MessageType me +@@ -274,7 +278,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 { + +@@ -1306,7 +1310,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 new file mode 100644 index 000000000000..78639f1f05ee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.h @@ -0,0 +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 + } 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 new file mode 100644 index 000000000000..9b213223d2b9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel__posix.cc @@ -0,0 +1,16 @@ +--- mojo/core/channel_posix.cc.orig 2025-12-06 13:30:52 UTC ++++ mojo/core/channel_posix.cc +@@ -594,6 +594,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_core_embedder_features.h b/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h index 038a85d8452f..f5d979f43094 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h +++ b/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h @@ -1,11 +1,11 @@ ---- mojo/core/embedder/features.h.orig 2025-09-10 13:22:16 UTC +--- mojo/core/embedder/features.h.orig 2025-12-06 13:30:52 UTC +++ mojo/core/embedder/features.h -@@ -15,7 +15,7 @@ namespace mojo { +@@ -14,7 +14,7 @@ + namespace mojo { namespace core { - #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(MOJO_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) COMPONENT_EXPORT(MOJO_CORE_EMBEDDER_FEATURES) - BASE_DECLARE_FEATURE(kMojoLinuxChannelSharedMem); + BASE_DECLARE_FEATURE(kMojoUseEventFd); 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 a3b4761c69dd..4334b1bfa84a 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 2025-11-01 06:40:37 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2025-12-06 13:30:52 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -763,6 +763,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 7adc348f692c..1f05413d63c5 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 2025-11-01 06:40:37 UTC +--- net/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ net/BUILD.gn @@ -126,7 +126,7 @@ net_configs = [ "//build/config/compiler:wexit_time_destructors", ] -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { net_configs += [ "//build/config/linux:libresolv" ] } -@@ -1378,6 +1378,19 @@ component("net") { +@@ -1381,6 +1381,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", -@@ -1543,7 +1556,7 @@ component("net") { +@@ -1546,7 +1559,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", -@@ -2279,7 +2292,7 @@ static_library("test_support") { +@@ -2292,7 +2305,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", -@@ -3078,14 +3091,14 @@ target(_test_target_type, "net_unittests") { +@@ -3093,14 +3106,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", -@@ -3187,6 +3200,10 @@ target(_test_target_type, "net_unittests") { +@@ -3206,6 +3219,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3243,7 +3260,7 @@ target(_test_target_type, "net_unittests") { +@@ -3262,7 +3279,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" ] } -@@ -3373,7 +3390,7 @@ target(_test_target_type, "net_unittests") { +@@ -3392,7 +3409,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 c56d11754550..70f33c3b5cc3 100644 --- a/www/ungoogled-chromium/files/patch-net_base_features.cc +++ b/www/ungoogled-chromium/files/patch-net_base_features.cc @@ -1,38 +1,38 @@ ---- net/base/features.cc.orig 2025-11-01 06:40:37 UTC +--- net/base/features.cc.orig 2025-12-06 13:30:52 UTC +++ net/base/features.cc @@ -31,7 +31,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, BASE_FEATURE(kAsyncDns, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -523,7 +523,7 @@ BASE_FEATURE(kDisableBlackholeOnNoNewNetwork, - "DisableBlackHoleOnNoNewNetwork", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -521,7 +521,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) -@@ -618,7 +618,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues +@@ -629,7 +629,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 -@@ -682,7 +682,7 @@ BASE_FEATURE(kHttpCacheMappedFileFlushWin, base::FEATU - #endif +@@ -714,7 +714,7 @@ BASE_FEATURE(kHttpCacheMappedFileFlushWin, base::FEATU BASE_FEATURE(kHttpCacheNoVarySearch, --#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) 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 815e57326341..fc7d175b6b36 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 2025-11-01 06:40:37 UTC +--- net/dns/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ net/dns/BUILD.gn -@@ -142,7 +142,7 @@ source_set("dns") { - "dns_config_service_android.cc", - "dns_config_service_android.h", +@@ -144,7 +144,7 @@ source_set("dns") { + "platform_dns_query_executor_android.cc", + "platform_dns_query_executor_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", -@@ -176,6 +176,7 @@ source_set("dns") { +@@ -178,6 +178,7 @@ source_set("dns") { } deps = [ "//net:net_deps" ] + deps += [ "//services/screen_ai/buildflags" ] public_deps = [ ":dns_client", -@@ -183,6 +184,7 @@ source_set("dns") { - ":host_resolver_manager", - ":mdns_client", - "//net:net_public_deps", +@@ -258,6 +259,7 @@ source_set("host_resolver") { + deps = [ + "//net:net_deps", + "//net/dns/public", + "//printing/buildflags", ] + public_deps = [ "//net:net_public_deps" ] - if (enable_mdns) { -@@ -458,9 +460,9 @@ source_set("tests") { - - if (is_android) { - sources += [ "dns_config_service_android_unittest.cc" ] +@@ -463,9 +465,9 @@ source_set("tests") { + "dns_config_service_android_unittest.cc", + "platform_dns_query_executor_android_unittest.cc", + ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux_unittest.cc" ] - } else if (is_posix) { + } else if (is_posix && !is_bsd) { sources += [ "dns_config_service_posix_unittest.cc" ] } diff --git a/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc b/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc index 8f9622510dc4..7a7e14c6e447 100644 --- a/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc +++ b/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc @@ -1,38 +1,38 @@ ---- printing/printing_context_linux.cc.orig 2025-05-31 17:16:41 UTC +--- printing/printing_context_linux.cc.orig 2025-12-06 13:30:52 UTC +++ printing/printing_context_linux.cc -@@ -23,7 +23,7 @@ +@@ -22,7 +22,7 @@ #endif // Avoid using LinuxUi on Fuchsia. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -69,7 +69,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett +@@ -68,7 +68,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett ResetSettings(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::LinuxUi::instance()) return mojom::ResultCode::kSuccess; -@@ -85,7 +85,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett +@@ -84,7 +84,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett } gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ui::LinuxUi::instance()) return ui::LinuxUi::instance()->GetPdfPaperSize(this); #endif -@@ -98,7 +98,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS +@@ -97,7 +97,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS DCHECK(!printer_settings.show_system_dialog); DCHECK(!in_print_job_); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::LinuxUi::instance()) return mojom::ResultCode::kSuccess; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc b/www/ungoogled-chromium/files/patch-remoting_host_client__session.cc index fd4a1c23036a..0ec48034835c 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 2025-05-06 12:23:00 UTC +--- remoting/host/client_session.cc.orig 2025-12-06 13:30:52 UTC +++ remoting/host/client_session.cc -@@ -188,7 +188,7 @@ void ClientSession::NotifyClientResolution( +@@ -195,7 +195,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_remoting__me2me__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc index d49b29dd08ec..e21c94bc9dab 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,155 +1,155 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2025-10-21 16:57:35 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2025-12-06 13:30:52 UTC +++ remoting/host/remoting_me2me_host.cc @@ -140,7 +140,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 @@ -151,7 +151,7 @@ #endif // defined(REMOTING_USE_X11) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/linux_util.h" #include "remoting/host/linux/audio_capturer_linux.h" #include "remoting/host/linux/certificate_watcher.h" @@ -166,7 +166,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) @@ -200,7 +200,7 @@ const char kApplicationName[] = "chromoting"; const char kStdinConfigPath[] = "-"; #endif // !defined(REMOTING_MULTI_PROCESS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The command line switch used to pass name of the pipe to capture audio on // linux. const char kAudioPipeSwitchName[] = "audio-pipe-name"; @@ -448,7 +448,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr agent_process_broker_client_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Watch for certificate changes and kill the host when changes occur std::unique_ptr cert_watcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -510,7 +510,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_; @@ -837,7 +837,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) } @@ -914,7 +914,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, @@ -1052,7 +1052,7 @@ void HostProcess::StartOnUiThread() { base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If an audio pipe is specific on the command-line then initialize // AudioCapturerLinux to capture from it. base::FilePath audio_pipe_name = @@ -1131,7 +1131,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. @@ -1139,7 +1139,7 @@ void HostProcess::ShutdownOnUiThread() { AudioCapturerLinux::InitializePipeReader(nullptr, base::FilePath()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) context_->input_task_runner()->PostTask( FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); -@@ -1835,7 +1835,7 @@ void HostProcess::StartHost() { +@@ -1829,7 +1829,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()) { GnomeRemoteDesktopSession::GetInstance()->Init( base::BindOnce([](base::expected result) { -@@ -1925,7 +1925,7 @@ void HostProcess::StartHost() { +@@ -1919,7 +1919,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_ = -@@ -1960,7 +1960,7 @@ void HostProcess::StartHost() { +@@ -1954,7 +1954,7 @@ void HostProcess::StartHost() { // addresses. host_->Start(*host_owner_emails_.begin()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For Windows and Mac, ChromotingHostServices connections are handled by // another process, then the message pipe is forwarded to the network process. host_->StartChromotingHostServices(); -@@ -2105,7 +2105,7 @@ int HostProcessMain() { +@@ -2099,7 +2099,7 @@ int HostProcessMain() { HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) -@@ -2150,7 +2150,7 @@ int HostProcessMain() { +@@ -2144,7 +2144,7 @@ int HostProcessMain() { return kInitializationFailed; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Log and cleanup the crash database. We do this after a short delay so that // the crash database has a chance to be updated properly if we just got // relaunched after a crash. -@@ -2170,7 +2170,7 @@ int HostProcessMain() { +@@ -2164,7 +2164,7 @@ int HostProcessMain() { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = diff --git a/www/ungoogled-chromium/files/patch-remoting_protocol_webrtc__video__stream.cc b/www/ungoogled-chromium/files/patch-remoting_protocol_webrtc__video__stream.cc index da759400dbb5..eea3543c8ddb 100644 --- a/www/ungoogled-chromium/files/patch-remoting_protocol_webrtc__video__stream.cc +++ b/www/ungoogled-chromium/files/patch-remoting_protocol_webrtc__video__stream.cc @@ -1,11 +1,11 @@ ---- remoting/protocol/webrtc_video_stream.cc.orig 2025-09-10 13:22:16 UTC +--- remoting/protocol/webrtc_video_stream.cc.orig 2025-12-06 13:30:52 UTC +++ remoting/protocol/webrtc_video_stream.cc -@@ -271,7 +271,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti +@@ -276,7 +276,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti : session_options_(session_options) { // TODO(joedow): Dig into the threading model on other platforms to see if they // can also be updated to run on a dedicated thread. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) core_task_runner_ = base::ThreadPool::CreateSingleThreadTaskRunner( {base::TaskPriority::HIGHEST}, base::SingleThreadTaskRunnerThreadMode::DEDICATED); diff --git a/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn b/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn index 61131d82f9eb..070a97fa155b 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn @@ -1,35 +1,35 @@ ---- sandbox/linux/BUILD.gn.orig 2025-09-10 13:22:16 UTC +--- sandbox/linux/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ sandbox/linux/BUILD.gn -@@ -11,11 +11,11 @@ if (is_android) { +@@ -10,11 +10,11 @@ if (is_android) { } declare_args() { - compile_suid_client = is_linux || is_chromeos + compile_suid_client = (is_linux || is_chromeos) && !is_bsd - compile_credentials = is_linux || is_chromeos + compile_credentials = (is_linux || is_chromeos) && !is_bsd - compile_syscall_broker = is_linux || is_chromeos + compile_syscall_broker = (is_linux || is_chromeos) && !is_bsd # On Android, use plain GTest. use_base_test_suite = is_linux || is_chromeos -@@ -381,6 +381,17 @@ component("sandbox_services") { +@@ -380,6 +380,17 @@ component("sandbox_services") { "services/libc_interceptor.h", ] } + + if (is_bsd) { + sources -= [ + "services/scoped_process.cc", + "services/scoped_process.h", + "services/syscall_wrappers.cc", + "services/syscall_wrappers.h", + "services/yama.cc", + "services/yama.h", + ] + } } source_set("sandbox_services_headers") { diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn b/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn index 87255806424c..b6a5410ecb60 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn @@ -1,38 +1,38 @@ ---- sandbox/policy/BUILD.gn.orig 2025-11-01 06:40:37 UTC +--- sandbox/policy/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ sandbox/policy/BUILD.gn -@@ -47,7 +47,7 @@ component("policy") { +@@ -46,7 +46,7 @@ component("policy") { "//third_party/jni_zero", ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/bpf_audio_policy_linux.cc", "linux/bpf_audio_policy_linux.h", -@@ -117,6 +117,26 @@ component("policy") { +@@ -116,6 +116,26 @@ component("policy") { "//sandbox/linux:sandbox_services", "//sandbox/linux:seccomp_bpf", "//sandbox/linux:suid_sandbox_client", + ] + } + if (is_openbsd) { + sources += [ + "openbsd/sandbox_openbsd.cc", + "openbsd/sandbox_openbsd.h", + ] + libs = [ "util" ] + } + if (is_freebsd) { + sources += [ + "freebsd/sandbox_freebsd.cc", + "freebsd/sandbox_freebsd.h", + ] + } + if (is_bsd) { + deps += [ + "//sandbox:sandbox_buildflags", + "//skia", + "//ui/gfx/x", ] } if (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 561dd42e24a8..42479024f255 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-09-10 13:22:16 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2025-12-06 13:30:52 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::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"); ++ cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + 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_mojom_sandbox.mojom b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom index d2339169253d..b37539039171 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -1,15 +1,15 @@ ---- sandbox/policy/mojom/sandbox.mojom.orig 2025-09-10 13:22:16 UTC +--- sandbox/policy/mojom/sandbox.mojom.orig 2025-12-06 13:30:52 UTC +++ sandbox/policy/mojom/sandbox.mojom -@@ -71,6 +71,12 @@ enum Sandbox { +@@ -68,6 +68,12 @@ enum Sandbox { // Minimally privileged sandbox on Fuchsia. [EnableIf=is_fuchsia] kVideoCapture, + [EnableIf=is_openbsd] + kVideoCapture, + + [EnableIf=is_freebsd] + kVideoCapture, + // Allows access to file contents and Windows APIs for parsing icons from PE // files. [EnableIf=is_win] kIconReader, 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 582038566a13..cd7b127314c6 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,399 +1,399 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-11-01 06:40:37 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-12-06 13:30:52 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc @@ -0,0 +1,396 @@ +// 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/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_MAIN "/etc/chromium/unveil.main"; ++#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; + +namespace sandbox { +namespace policy { + +SandboxLinux::SandboxLinux() + : unveil_initialized_(false), + sandbox_status_flags_(kInvalid), + pre_initialized_(false), + initialize_sandbox_ran_(false), + broker_process_(nullptr) { +} + +SandboxLinux::~SandboxLinux() { + if (pre_initialized_) { + CHECK(initialize_sandbox_ran_); + } +} + +SandboxLinux* SandboxLinux::GetInstance() { + SandboxLinux* instance = base::Singleton::get(); + CHECK(instance); + return instance; +} + +void SandboxLinux::StopThread(base::Thread* thread) { + DCHECK(thread); + thread->Stop(); +} + +void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { + CHECK(!pre_initialized_); +#if BUILDFLAG(USING_SANITIZER) + // Sanitizers need to open some resources before the sandbox is enabled. + // This should not fork, not launch threads, not open a directory. + __sanitizer_sandbox_on_notify(sanitizer_args()); + sanitizer_args_.reset(); +#endif + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + base::SysInfo::AmountOfPhysicalMemory(); + base::SysInfo::NumberOfProcessors(); + base::SysInfo::CPUModelName(); + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + { +#if BUILDFLAG(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + crypto::EnsureNSSInit(); +#endif + CRYPTO_pre_sandbox_init(); + + rust_png::initialize_cpudetect(); + + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + -+ cache_directory = cache_directory.AppendASCII("ungoogled-chromium"); ++ cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + { + FcConfig* config = gfx::GetGlobalFontConfig(); + DCHECK(config); + break; + } + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { + FILE *fp; + char *s = NULL; + size_t len = 0; + ssize_t read; + + if (pstring != NULL) { + if (pledge(pstring, NULL) == -1) + goto err; + VLOG(5) << "pledge " << pstring; + } else if (ppath != NULL) { + fp = fopen(ppath, "r"); + if (fp != NULL) { + while ((read = getline(&s, &len, fp)) != -1 ) { + if (s[strlen(s)-1] == '\n') + s[strlen(s)-1] = '\0'; + if (pledge(s, NULL) == -1) + goto err; + VLOG(5) << "pledge " << s; + } + fclose(fp); + } else { + LOG(ERROR) << "fopen(" << ppath << ") failed, errno: " << errno; + return false; + } + } + return true; +err: + LOG(ERROR) << "pledge() failed, errno: " << errno; + return false; +} + +bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { + FILE *fp; + char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; + char *xdg_var = NULL; + char path[PATH_MAX]; + const char *ufile; + size_t len = 0, lineno = 0; + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + ufile = _UNVEIL_MAIN; + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + ufile = _UNVEIL_GPU; + break; + case sandbox::mojom::Sandbox::kNetwork: + ufile = _UNVEIL_UTILITY_NETWORK; + break; + case sandbox::mojom::Sandbox::kAudio: + ufile = _UNVEIL_UTILITY_AUDIO; + break; + case sandbox::mojom::Sandbox::kVideoCapture: + ufile = _UNVEIL_UTILITY_VIDEO; + break; + default: + unveil("/dev/null", "r"); + goto done; + } + + fp = fopen(ufile, "r"); + if (fp != NULL) { + while (!feof(fp)) { + if ((s = fparseln(fp, &len, &lineno, NULL, + FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { + if (ferror(fp)) { + LOG(ERROR) << "ferror(), errno: " << errno; + _exit(1); + } else { + continue; + } + } + cp = s; + cp += strspn(cp, " \t\n"); /* eat whitespace */ + if (cp[0] == '\0') + continue; + + for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && + (*ap = strsep(&cp, " \t")) != NULL;) { + if (**ap != '\0') + ap++; + } + *ap = NULL; + + if (tokens[1] == NULL) { + LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; + _exit(1); + } + + if (tokens[0][0] == '~') { + if ((home = getenv("HOME")) == NULL || *home == '\0') { + LOG(ERROR) << "failed to get home"; + _exit(1); + } + memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); + strncpy(path, home, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); + } else if (strncmp(tokens[0], "XDG_", 4) == 0) { + if ((xdg_var = getenv(tokens[0])) == NULL || *xdg_var == '\0') { + LOG(ERROR) << "failed to get " << tokens[0]; + continue; + } + strncpy(path, xdg_var, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } else { + strncpy(path, tokens[0], sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } + + if (unveil(path, tokens[1]) == -1) { + LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; + _exit(1); + } else { + VLOG(5) << "unveiling " << path << " with permissions " << tokens[1]; + } + } + fclose(fp); + } else { + LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; + _exit(1); + } + +done: + unveil_initialized_ = true; + + return true; +} + +bool SandboxLinux::unveil_initialized() const { + return unveil_initialized_; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << sandbox_type; + + // Only one thread is running, pre-initialize if not already done. + if (!pre_initialized_) + PreinitializeSandbox(sandbox_type); + + // Attempt to limit the future size of the address space of the process. + int error = 0; + const bool limited_as = LimitAddressSpace(&error); + if (error) { + // Restore errno. Internally to |LimitAddressSpace|, the errno due to + // setrlimit may be lost. + errno = error; + PCHECK(limited_as); + } + + if (hook) + CHECK(std::move(hook).Run(options)); + + if (!command_line->HasSwitch(switches::kDisableUnveil)) + SetUnveil(process_type, sandbox_type); + + switch(sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: -+ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.main"); ++ SetPledge(NULL, "/etc/chromium/pledge.main"); + break; + case sandbox::mojom::Sandbox::kRenderer: + // prot_exec needed by v8 + // flock needed by sqlite3 locking + SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd tmppath unix", NULL); + break; + case sandbox::mojom::Sandbox::kAudio: -+ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_audio"); ++ SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: -+ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_network"); ++ SetPledge(NULL, "/etc/chromium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: -+ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_video"); ++ SetPledge(NULL, "/etc/chromium/pledge.utility_video"); + 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; +} + +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_sandbox__type.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc index b6fb9e4e0069..a37adc6038e4 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -1,178 +1,167 @@ ---- sandbox/policy/sandbox_type.cc.orig 2025-09-10 13:22:16 UTC +--- sandbox/policy/sandbox_type.cc.orig 2025-12-06 13:30:52 UTC +++ sandbox/policy/sandbox_type.cc -@@ -16,7 +16,7 @@ - #include "chromeos/ash/components/assistant/buildflags.h" - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -12,7 +12,7 @@ + #include "sandbox/policy/mojom/sandbox.mojom.h" + #include "sandbox/policy/switches.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "media/gpu/buildflags.h" // nogncheck #include "media/media_buildflags.h" // nogncheck #endif -@@ -38,7 +38,7 @@ constexpr char kServiceSandboxWithJit[] = "service_wit +@@ -34,7 +34,7 @@ constexpr char kServiceSandboxWithJit[] = "service_wit constexpr char kSpeechRecognitionSandbox[] = "speech_recognition"; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) constexpr char kPrintBackendSandbox[] = "print_backend"; constexpr char kScreenAISandbox[] = "screen_ai"; #endif -@@ -56,15 +56,15 @@ constexpr char kWindowsSystemProxyResolverSandbox[] = +@@ -52,11 +52,11 @@ constexpr char kWindowsSystemProxyResolverSandbox[] = constexpr char kMirroringSandbox[] = "mirroring"; #endif // BUILDFLAG(IS_MAC) --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - constexpr char kVideoEffectsSandbox[] = "video_effects"; - #endif - -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr char kVideoCaptureSandbox[] = "video_capture"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) constexpr char kShapeDetectionSandbox[] = "shape_detection"; // USE_LINUX_VIDEO_ACCELERATION implies IS_LINUX || IS_CHROMEOS, so this double // #if is redundant, however, we cannot include "media/gpu/buildflags.h" on all -@@ -85,7 +85,7 @@ constexpr char kLibassistantSandbox[] = "libassistant" - #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) +@@ -74,7 +74,7 @@ constexpr char kTtsSandbox[] = "tts"; + constexpr char kNearbySandbox[] = "nearby"; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) constexpr char kOnDeviceTranslationSandbox[] = "on_device_translation"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -135,7 +135,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -124,7 +124,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kCdm: case Sandbox::kPrintCompositor: case Sandbox::kAudio: -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: #endif #if BUILDFLAG(IS_WIN) -@@ -146,7 +146,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -135,7 +135,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kMediaFoundationCdm: case Sandbox::kWindowsSystemProxyResolver: #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kShapeDetection: #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) case Sandbox::kHardwareVideoDecoding: -@@ -165,15 +165,15 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -151,12 +151,12 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kMirroring: #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case Sandbox::kPrintBackend: case Sandbox::kScreenAI: #endif case Sandbox::kSpeechRecognition: --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - case Sandbox::kVideoEffects: - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case Sandbox::kOnDeviceTranslation: #endif DCHECK(command_line->GetSwitchValueASCII(switches::kProcessType) == -@@ -183,7 +183,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -166,7 +166,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi switches::kServiceSandboxType, StringFromUtilitySandboxType(sandbox_type)); return; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: return; #endif -@@ -214,7 +214,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( +@@ -197,7 +197,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( return Sandbox::kGpu; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Intermediate process gains a sandbox later. if (process_type == switches::kZygoteProcessType) return Sandbox::kZygoteIntermediateSandbox; -@@ -252,7 +252,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -235,7 +235,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb return kUtilitySandbox; case Sandbox::kAudio: return kAudioSandbox; -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: return kVideoCaptureSandbox; #endif -@@ -263,17 +263,17 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -246,13 +246,13 @@ std::string StringFromUtilitySandboxType(Sandbox sandb case Sandbox::kSpeechRecognition: return kSpeechRecognitionSandbox; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case Sandbox::kPrintBackend: return kPrintBackendSandbox; case Sandbox::kScreenAI: return kScreenAISandbox; #endif --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - case Sandbox::kVideoEffects: - return kVideoEffectsSandbox; - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case Sandbox::kOnDeviceTranslation: return kOnDeviceTranslationSandbox; #endif -@@ -293,7 +293,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -272,7 +272,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb case Sandbox::kMirroring: return kMirroringSandbox; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kShapeDetection: return kShapeDetectionSandbox; #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -@@ -394,7 +394,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -295,7 +295,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + // The following are not utility processes so should not occur. + case Sandbox::kRenderer: + case Sandbox::kGpu: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case Sandbox::kZygoteIntermediateSandbox: + #endif + NOTREACHED(); +@@ -369,7 +369,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( return Sandbox::kSpeechRecognition; } #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (sandbox_string == kPrintBackendSandbox) { return Sandbox::kPrintBackend; } -@@ -402,22 +402,22 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -377,17 +377,17 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( return Sandbox::kScreenAI; } #endif --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (sandbox_string == kVideoEffectsSandbox) { - return Sandbox::kVideoEffects; - } - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (sandbox_string == kOnDeviceTranslationSandbox) { return Sandbox::kOnDeviceTranslation; } #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (sandbox_string == kVideoCaptureSandbox) { return Sandbox::kVideoCapture; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (sandbox_string == kShapeDetectionSandbox) { return Sandbox::kShapeDetection; } diff --git a/www/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 f8315e5984c6..1f522232d396 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,20 +1,11 @@ ---- services/device/public/cpp/device_features.cc.orig 2025-11-01 06:40:37 UTC +--- services/device/public/cpp/device_features.cc.orig 2025-12-06 13:30:52 UTC +++ services/device/public/cpp/device_features.cc -@@ -81,7 +81,7 @@ BASE_FEATURE(kBatteryStatusManagerBroadcastReceiverInB - // Modifies the internal allowlist behavior that enables privileged extensions - // to bypass the HID blocklist when accessing FIDO devices. When enabled, - // privileged extensions can access non-FIDO interfaces on known security keys. --#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(kSecurityKeyHidInterfacesAreFido, - base::FEATURE_ENABLED_BY_DEFAULT); - #else -@@ -130,7 +130,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { +@@ -125,7 +125,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { // a USB interface is busy. #if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_ENABLED_BY_DEFAULT); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h b/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h index 1d6b1f96603f..578ced161921 100644 --- a/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h +++ b/www/ungoogled-chromium/files/patch-services_device_usb_usb__device__handle__usbfs.h @@ -1,38 +1,38 @@ ---- services/device/usb/usb_device_handle_usbfs.h.orig 2025-05-06 12:23:00 UTC +--- services/device/usb/usb_device_handle_usbfs.h.orig 2025-12-06 13:30:52 UTC +++ services/device/usb/usb_device_handle_usbfs.h -@@ -19,7 +19,7 @@ +@@ -20,7 +20,7 @@ #include "base/threading/sequence_bound.h" #include "services/device/usb/usb_device_handle.h" -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/containers/flat_set.h" #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -@@ -215,7 +215,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { +@@ -216,7 +216,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { bool ClearHalt(uint8_t endpoint_address); void DiscardUrb(Transfer* transfer); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Detach the interface from a kernel driver before ClaimInterface virtual bool DetachInterface(int interface_number, const CombinedInterfaceInfo& interfaceInfo); -@@ -228,7 +228,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { +@@ -229,7 +229,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { // Called when |fd_| is writable without blocking. void OnFileCanWriteWithoutBlocking(); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Called from |DetachInterface|. std::string GetKernelDriver(int interface_number) const; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -@@ -240,7 +240,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { +@@ -241,7 +241,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { std::unique_ptr watch_controller_; SEQUENCE_CHECKER(sequence_checker_); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // All interfaces that have been detached from kernel drivers base::flat_set detached_interfaces_; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-services_network_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn index 89e1f80e6945..74341dd46234 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 2025-10-21 16:57:35 UTC +--- services/network/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ services/network/BUILD.gn -@@ -426,7 +426,6 @@ if (is_linux || is_chromeos) { +@@ -423,7 +423,6 @@ if (is_linux || is_chromeos) { ] deps = [ "//base", - "//sandbox/linux:sandbox_services", "//sandbox/policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/ungoogled-chromium/files/patch-services_network_network__context.cc b/www/ungoogled-chromium/files/patch-services_network_network__context.cc index 65d164c1612c..adf0b2588da8 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 2025-11-01 06:40:37 UTC +--- services/network/network_context.cc.orig 2025-12-06 13:30:52 UTC +++ services/network/network_context.cc @@ -630,7 +630,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_) { -@@ -2620,7 +2620,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2627,7 +2627,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 ae73093fb76c..cbcad22c6552 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 2025-11-01 06:40:37 UTC +--- services/network/network_context.h.orig 2025-12-06 13:30:52 UTC +++ services/network/network_context.h -@@ -751,7 +751,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -757,7 +757,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_public_cpp_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_public_cpp_BUILD.gn index 60080edf72fa..7e89d50ecb59 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 2025-09-10 13:22:16 UTC +--- services/network/public/cpp/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ services/network/public/cpp/BUILD.gn -@@ -701,7 +701,7 @@ component("cpp_base") { +@@ -723,7 +723,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_cpp_features.cc b/www/ungoogled-chromium/files/patch-services_network_public_cpp_features.cc index bd5255f2688f..4ed6a0dc9db1 100644 --- a/www/ungoogled-chromium/files/patch-services_network_public_cpp_features.cc +++ b/www/ungoogled-chromium/files/patch-services_network_public_cpp_features.cc @@ -1,11 +1,11 @@ ---- services/network/public/cpp/features.cc.orig 2025-11-01 06:40:37 UTC +--- services/network/public/cpp/features.cc.orig 2025-12-06 13:30:52 UTC +++ services/network/public/cpp/features.cc -@@ -348,7 +348,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, base::FEATUR +@@ -364,7 +364,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, base::FEATUR // https://github.com/WICG/document-isolation-policy BASE_FEATURE(kDocumentIsolationPolicy, #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_public_mojom_BUILD.gn index b7194bc8bd8e..b4132ca9500e 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 2025-09-10 13:22:16 UTC +--- services/network/public/mojom/BUILD.gn.orig 2025-12-06 13:30:52 UTC +++ services/network/public/mojom/BUILD.gn -@@ -690,11 +690,11 @@ mojom("url_loader_base") { - } +@@ -719,11 +719,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" ] -@@ -1007,7 +1007,7 @@ mojom("url_loader_base") { +@@ -1044,7 +1044,7 @@ mojom("url_loader_base") { }, ] - if (is_linux) { + if (is_linux && !is_bsd) { cpp_typemaps += [ { types = [ -@@ -1797,7 +1797,7 @@ mojom("mojom") { +@@ -1830,7 +1830,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 868825ccb19f..3d7a07ab1bf1 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-11-07 07:18:16 UTC +--- services/on_device_model/ml/gpu_blocklist.cc.orig 2025-12-06 13:30:52 UTC +++ services/on_device_model/ml/gpu_blocklist.cc @@ -24,7 +24,7 @@ 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|" // TODO(b/456603738): Remove when fixed. + "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|" diff --git a/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc index 43745379a88e..80c2b5332f7d 100644 --- a/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc +++ b/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc @@ -1,65 +1,65 @@ ---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2025-09-10 13:22:16 UTC +--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2025-12-06 13:30:52 UTC +++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc -@@ -55,7 +55,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO +@@ -56,7 +56,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO uint32_t shared_resident_kb) { DCHECK(os_dump.platform_private_footprint); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes; uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes; return (rss_anon_bytes + vm_swap_bytes) / 1024; -@@ -84,7 +84,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl +@@ -85,7 +85,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable; os_dump->private_footprint_kb = CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) os_dump->private_footprint_swap_kb = internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024; os_dump->mappings_count = internal_os_dump.mappings_count; -@@ -223,7 +223,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -224,7 +224,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // On most platforms each process can dump data about their own process // so ask each process to do so Linux is special see below. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) request->pending_responses.insert({client_info.pid, ResponseType::kOSDump}); client->RequestOSMemoryDump( request->memory_map_option(), request->memory_dump_flags(), -@@ -238,7 +238,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -239,7 +239,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // In some cases, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector pids; mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = base::kNullProcessId; @@ -285,7 +285,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion const OsCallback& os_callback) { // On Linux, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = 0; for (const auto& client_info : clients) { @@ -335,7 +335,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( // each client process provides 1 OS dump, % the case where the client is // disconnected mid dump. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK(results.find(pid) == results.end()); @@ -396,7 +396,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* // crash). In the latter case (OS_LINUX) we expect the full map to come // from the browser process response. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (const auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK_EQ(pid_to_os_dump[pid], nullptr); 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 8ec17428fb73..e19f2630b5fd 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 2025-09-10 13:22:16 UTC +--- services/screen_ai/screen_ai_service_impl.cc.orig 2025-12-06 13:30:52 UTC +++ services/screen_ai/screen_ai_service_impl.cc -@@ -38,7 +38,7 @@ +@@ -34,7 +34,7 @@ #include "ui/accessibility/ax_tree_id.h" #include "ui/gfx/geometry/rect_f.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "partition_alloc/buildflags.h" #if PA_BUILDFLAG( \ -@@ -266,7 +266,7 @@ ScreenAIService::ScreenAIService( +@@ -237,7 +237,7 @@ ScreenAIService::ScreenAIService( : factory_receiver_(this, std::move(receiver)), ocr_receiver_(this), main_content_extraction_receiver_(this) { -#if BUILDFLAG(IS_LINUX) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && \ PA_BUILDFLAG( \ ENABLE_ALLOCATOR_SHIM_PARTITION_ALLOC_DISPATCH_WITH_ADVANCED_CHECKS_SUPPORT) // TODO(crbug.com/418199684): Remove when the bug is fixed. diff --git a/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc deleted file mode 100644 index 89a8a8920cda..000000000000 --- a/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc +++ /dev/null @@ -1,27 +0,0 @@ ---- services/video_effects/video_effects_sandbox_hook_linux.cc.orig 2025-02-20 09:59:21 UTC -+++ services/video_effects/video_effects_sandbox_hook_linux.cc -@@ -6,7 +6,13 @@ - - #include - -+#include "build/build_config.h" -+ -+#if BUILDFLAG(IS_BSD) -+#include "sandbox/policy/sandbox.h" -+#else - #include "sandbox/policy/linux/sandbox_linux.h" -+#endif - #include "services/on_device_model/ml/chrome_ml_holder.h" - - namespace video_effects { -@@ -29,8 +35,10 @@ bool VideoEffectsPreSandboxHook( - DVLOG(1) << "Successfully opened Chrome ML shared library."; - } - -+#if !BUILDFLAG(IS_BSD) - auto* instance = sandbox::policy::SandboxLinux::GetInstance(); - instance->EngageNamespaceSandboxIfPossible(); -+#endif - return true; - } - diff --git a/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h deleted file mode 100644 index 26b186c899b5..000000000000 --- a/www/ungoogled-chromium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h +++ /dev/null @@ -1,16 +0,0 @@ ---- services/video_effects/video_effects_sandbox_hook_linux.h.orig 2024-11-16 12:20:41 UTC -+++ services/video_effects/video_effects_sandbox_hook_linux.h -@@ -5,7 +5,13 @@ - #ifndef SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_ - #define SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_ - -+#include "build/build_config.h" -+ -+#if BUILDFLAG(IS_BSD) -+#include "sandbox/policy/sandbox.h" -+#else - #include "sandbox/policy/linux/sandbox_linux.h" -+#endif - - namespace video_effects { - diff --git a/www/ungoogled-chromium/files/patch-sql_database.cc b/www/ungoogled-chromium/files/patch-sql_database.cc new file mode 100644 index 000000000000..49483d40f96f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sql_database.cc @@ -0,0 +1,11 @@ +--- sql/database.cc.orig 2025-12-06 13:30:52 UTC ++++ sql/database.cc +@@ -106,7 +106,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_blink_common_features.cc b/www/ungoogled-chromium/files/patch-third__party_blink_common_features.cc index d32578f136c6..4c740e435e72 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,11 +1,20 @@ ---- third_party/blink/common/features.cc.orig 2025-11-01 06:40:37 UTC +--- third_party/blink/common/features.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/common/features.cc -@@ -581,7 +581,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, +@@ -597,7 +597,7 @@ BASE_FEATURE_PARAM(base::TimeDelta, BASE_FEATURE(kDevToolsImprovedNetworkError, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kDirectCompositorThreadIpc, -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT +@@ -1955,7 +1955,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_public_platform_platform.h b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h index 1dbdcc6f17b2..e02685388936 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h +++ b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/platform/platform.h.orig 2025-09-10 13:22:16 UTC +--- third_party/blink/public/platform/platform.h.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/public/platform/platform.h -@@ -376,7 +376,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -377,7 +377,7 @@ class BLINK_PLATFORM_EXPORT Platform { return nullptr; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // This is called after the thread is created, so the embedder // can initiate an IPC to change its thread type (on Linux we can't // increase the nice value, so we need to ask the browser process). This 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 d228c58e2fb3..084a85812f0f 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 2025-10-21 16:57:35 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -82,12 +82,12 @@ +@@ -83,12 +83,12 @@ #include "third_party/blink/renderer/controller/private_memory_footprint_provider.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" #endif -@@ -255,7 +255,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -261,7 +261,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread_task_runner); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) binders.Add( ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), -@@ -304,7 +304,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform +@@ -310,7 +310,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 1f5ef3b4a5cd..fc239f05ad73 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,20 +1,20 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-11-01 06:40:37 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -422,7 +422,7 @@ void RecordPrerenderActivationSignalDelay(const String +@@ -423,7 +423,7 @@ void RecordPrerenderActivationSignalDelay(const String #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) SkFontHinting RendererPreferencesToSkiaHinting( const blink::RendererPreferences& prefs) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!prefs.should_antialias_text) { // When anti-aliasing is off, GTK maps all non-zero hinting settings to // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight' -@@ -3467,7 +3467,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3478,7 +3478,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); WebFontRenderStyle::SetSubpixelPositioning( renderer_preferences_.use_subpixel_positioning); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8( renderer_preferences_.system_font_family_name)); 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 0ba00fe2608f..ba1a169998ac 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 2025-10-21 16:57:35 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6469,7 +6469,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6475,7 +6475,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 \ -@@ -6878,7 +6878,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc +@@ -6884,7 +6884,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_origin__trials_origin__trial__context.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc index e088d0b2e21d..5fe7bae433eb 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc @@ -1,11 +1,20 @@ ---- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-11-01 06:40:37 UTC +--- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/core/origin_trials/origin_trial_context.cc @@ -559,7 +559,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const } if (trial_name == "TranslationAPI") { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kTranslationAPI); #else return false; +@@ -572,7 +572,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const + + if (trial_name == "WebAppInstallation") { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(blink::features::kWebAppInstallation); + #else + return false; diff --git a/www/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 e55048773960..b94bc94aa710 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 2025-11-01 06:40:37 UTC +--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -649,7 +649,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame +@@ -650,7 +650,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame 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_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 a5da1ead55df..ee63b0881c8a 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 2025-11-01 06:40:37 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2025-12-06 13:30:52 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6625,7 +6625,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6592,7 +6592,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid // unmultiply has been requested or we need to never premultiply for Image // creation from a VideoFrame. -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/1175907): Only TexImage2D seems to work with the GPU path on // Android M -- appears to work fine on R, but to avoid regressions in