diff --git a/www/chromium/Makefile b/www/chromium/Makefile index 448fdb89bbc8..8e5e9b009395 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,387 +1,387 @@ PORTNAME= chromium -PORTVERSION= 139.0.7258.127 +PORTVERSION= 140.0.7339.80 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ pulseaudio-${PULSEV}.tar.gz:pulseaudio MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit WWW= https://www.chromium.org/Home LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ 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 #buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python3=${PYTHON_CMD} # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= clang_use_chrome_plugins=false \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_remoting=false \ enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_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="32 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="35 GB" \ WANTMEM="8 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif LLVM_DEFAULT= 19 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include # rust RUSTC_VERSION!= rustc -V 2>/dev/null || true MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" \ rustc_version="${RUSTC_VERSION}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ dav1d flac fontconfig harfbuzz-ng libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # 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/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/chrome.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/chrome.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ ${STAGEDIR}${PREFIX}/bin/chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index 75da28f0075f..7c6c9190d758 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1755199401 -SHA256 (chromium-139.0.7258.127.tar.xz) = c9a3cf7edb8030245cc378f9949130600610e3a41578c9d02a3b45747790f181 -SIZE (chromium-139.0.7258.127.tar.xz) = 7290320580 +TIMESTAMP = 1756995431 +SHA256 (chromium-140.0.7339.80.tar.xz) = 2a58c3d8b46bb9bbce5cf47d6582545b5116bc0746979d526ad4cd0b924b98c0 +SIZE (chromium-140.0.7339.80.tar.xz) = 7411053124 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-139.0.7258.127-testdata.tar.xz) = 690bacd10ad87c3a8255bb97f23b10c41369b830c1cf70c9e52e7c9593cd8c9f -SIZE (chromium-139.0.7258.127-testdata.tar.xz) = 924837828 +SHA256 (chromium-140.0.7339.80-testdata.tar.xz) = 7380f82bff4590e89f921ed0c98adee7c84df0dbce2ee9820d42a8407881b338 +SIZE (chromium-140.0.7339.80-testdata.tar.xz) = 925095940 diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index cd7d9fcdd2cb..78a12e7809c2 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ BUILD.gn -@@ -71,7 +71,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) -@@ -103,7 +103,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", -@@ -448,7 +447,7 @@ group("gn_all") { +@@ -441,7 +440,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", -@@ -635,6 +634,15 @@ group("gn_all") { +@@ -607,6 +606,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)", -@@ -683,7 +691,7 @@ group("gn_all") { +@@ -655,7 +663,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 -@@ -718,7 +726,7 @@ group("gn_all") { +@@ -690,7 +698,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", -@@ -1126,7 +1134,7 @@ if (use_blink && !is_cronet_build) { +@@ -1093,7 +1101,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", -@@ -1279,7 +1287,7 @@ if (use_blink && !is_cronet_build) { +@@ -1246,7 +1254,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. -@@ -1293,7 +1301,7 @@ if (use_blink && !is_cronet_build) { +@@ -1260,7 +1268,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. -@@ -1744,7 +1752,7 @@ group("chromium_builder_perf") { +@@ -1714,7 +1722,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-ash_display_mirror__window__controller.cc b/www/chromium/files/patch-ash_display_mirror__window__controller.cc similarity index 74% copy from www/ungoogled-chromium/files/patch-ash_display_mirror__window__controller.cc copy to www/chromium/files/patch-ash_display_mirror__window__controller.cc index 5e93da9d4c58..44b24e1371f3 100644 --- a/www/ungoogled-chromium/files/patch-ash_display_mirror__window__controller.cc +++ b/www/chromium/files/patch-ash_display_mirror__window__controller.cc @@ -1,14 +1,14 @@ ---- ash/display/mirror_window_controller.cc.orig 2024-11-16 12:20:41 UTC +--- ash/display/mirror_window_controller.cc.orig 2025-09-06 10:01:20 UTC +++ ash/display/mirror_window_controller.cc -@@ -295,7 +295,11 @@ void MirrorWindowController::UpdateWindow( +@@ -283,7 +283,11 @@ void MirrorWindowController::UpdateWindow( if (!base::Contains(display_info_list, iter->first, &display::ManagedDisplayInfo::id)) { CloseAndDeleteHost(iter->second, true); +#if defined(__llvm__) + mirroring_host_info_map_.erase(iter++); +#else iter = mirroring_host_info_map_.erase(iter); +#endif } else { ++iter; } diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index e92a9d180ccb..be004e54dca3 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,150 +1,150 @@ ---- base/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- base/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ base/BUILD.gn -@@ -1102,11 +1102,26 @@ component("base") { +@@ -1110,11 +1110,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" ] -@@ -1126,7 +1141,7 @@ component("base") { +@@ -1134,7 +1149,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" ] } -@@ -2137,6 +2152,22 @@ component("base") { +@@ -2143,6 +2158,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 += [ -@@ -2305,6 +2336,33 @@ component("base") { +@@ -2317,6 +2348,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", -@@ -2694,7 +2752,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2723,7 +2781,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" ] -@@ -3200,7 +3258,7 @@ if (is_apple) { +@@ -3229,7 +3287,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 -@@ -3885,7 +3943,7 @@ test("base_unittests") { +@@ -3922,7 +3980,7 @@ test("base_unittests") { ] } - 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", -@@ -3909,7 +3967,7 @@ test("base_unittests") { +@@ -3946,7 +4004,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", -@@ -3920,7 +3978,7 @@ test("base_unittests") { +@@ -3957,7 +4015,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" ] } -@@ -4108,7 +4166,7 @@ test("base_unittests") { +@@ -4144,7 +4202,7 @@ test("base_unittests") { deps += [ ":base_profiler_test_support_library" ] } - if (is_fuchsia || is_linux || is_chromeos) { + if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/elf_reader_unittest.cc", "debug/test_elf_image_builder.cc", diff --git a/www/chromium/files/patch-base_allocator_dispatcher_tls.h b/www/chromium/files/patch-base_allocator_dispatcher_tls.h index e9673222f13b..dfc04c58133e 100644 --- a/www/chromium/files/patch-base_allocator_dispatcher_tls.h +++ b/www/chromium/files/patch-base_allocator_dispatcher_tls.h @@ -1,11 +1,11 @@ ---- base/allocator/dispatcher/tls.h.orig 2025-02-19 07:43:18 UTC +--- base/allocator/dispatcher/tls.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/dispatcher/tls.h -@@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator { +@@ -86,7 +86,7 @@ struct BASE_EXPORT MMapAllocator { constexpr static size_t AllocationChunkSize = 16384; #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) constexpr static size_t AllocationChunkSize = 16384; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) constexpr static size_t AllocationChunkSize = 16384; #else constexpr static size_t AllocationChunkSize = 4096; diff --git a/www/chromium/files/patch-base_allocator_partition__alloc__features.cc b/www/chromium/files/patch-base_allocator_partition__alloc__features.cc index 82100b068dd4..4eacab770802 100644 --- a/www/chromium/files/patch-base_allocator_partition__alloc__features.cc +++ b/www/chromium/files/patch-base_allocator_partition__alloc__features.cc @@ -1,20 +1,11 @@ ---- base/allocator/partition_alloc_features.cc.orig 2025-08-07 06:57:29 UTC +--- base/allocator/partition_alloc_features.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_alloc_features.cc -@@ -164,7 +164,7 @@ BASE_FEATURE(kPartitionAllocEventuallyZeroFreedMemory, +@@ -154,7 +154,7 @@ BASE_FEATURE(kPartitionAllocEventuallyZeroFreedMemory, // disabled elsewhere (for now). Does not apply to Windows. BASE_FEATURE(kPartitionAllocFewerMemoryRegions, "PartitionAllocFewerMemoryRegions", -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) FEATURE_ENABLED_BY_DEFAULT); #else FEATURE_DISABLED_BY_DEFAULT); -@@ -489,7 +489,7 @@ BASE_FEATURE(kPartitionAllocAdjustSizeWhenInForeground - #if PA_CONFIG(ENABLE_SHADOW_METADATA) - BASE_FEATURE(kPartitionAllocShadowMetadata, - "PartitionAllocShadowMetadata", --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - FEATURE_ENABLED_BY_DEFAULT); - #else - FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index 6ccf86bde414..8aa682948e08 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,29 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-08-07 06:57:29 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/partition_alloc.gni @@ -87,7 +87,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_clang && !is_asan && !is_bsd && ++has_memory_tagging = current_cpu == "arm64" && !is_bsd && is_clang && !is_asan && !is_hwasan && (is_linux || is_android) declare_args() { -@@ -340,7 +340,7 @@ declare_args() { - declare_args() { - # Shadow metadata is still under development and only supports Linux - # for now. -- enable_shadow_metadata = is_linux && has_64_bit_pointers -+ enable_shadow_metadata = !is_bsd && is_linux && has_64_bit_pointers - } - - declare_args() { -@@ -483,7 +483,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -493,7 +493,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl # dependencies that use partition_allocator are compiled in AOSP against a # version of glibc that does not include pkeys syscall numbers. is_pkeys_available = - (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build + !is_bsd && (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build declare_args() { enable_pkeys = is_pkeys_available } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn index 90dd58e8082d..3cb07694e293 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn -@@ -893,7 +893,7 @@ if (is_clang_or_gcc) { +@@ -906,7 +906,7 @@ if (is_clang_or_gcc) { configs -= [ partition_alloc_enable_arc_config ] } } - if (is_chromeos || is_linux) { + if ((is_chromeos || is_linux) && !is_bsd) { shim_headers += [ "shim/allocator_shim_override_cpp_symbols.h", "shim/allocator_shim_override_glibc_weak_symbols.h", diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h index a91fb1bc8acf..75d7d71da3dc 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h -@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { +@@ -43,7 +43,7 @@ AslrMask(uintptr_t bits) { #if PA_BUILDFLAG(PA_ARCH_CPU_64_BITS) - #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !PA_BUILDFLAG(IS_BSD) // We shouldn't allocate system pages at all for sanitizer builds. However, // we do, and if random hint addresses interfere with address ranges -@@ -125,7 +125,7 @@ AslrMask(uintptr_t bits) { +@@ -130,7 +130,7 @@ AslrMask(uintptr_t bits) { return AslrAddress(0x20000000ULL); } #elif PA_BUILDFLAG(PA_ARCH_CPU_ARM64) - #if PA_BUILDFLAG(IS_LINUX) + #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD) // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on // page size and number of levels of translation pages used. We use diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h index 45292e4e1220..9481bd46bdc6 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-08-07 06:57:29 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h -@@ -273,7 +273,7 @@ bool DecommitAndZeroSystemPages(void* address, +@@ -278,7 +278,7 @@ bool DecommitAndZeroSystemPages(void* address, // recommitted. Do not assume that this will not change over time. constexpr PA_COMPONENT_EXPORT( PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h index 9253c611d00c..f880ba27d221 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h @@ -1,13 +1,13 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2025-02-19 07:43:18 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -@@ -26,8 +26,8 @@ +@@ -31,8 +31,8 @@ #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) #elif (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) // This should work for all POSIX (if needed), but currently all other // supported OS/architecture combinations use either hard-coded values // (such as x86) or have means to determine these values without needing diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc index 05c2b846c157..88c53f45a67d 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2025-01-15 09:18:26 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc -@@ -39,7 +39,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API +@@ -44,7 +44,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \ - __has_include()) + __has_include() && !PA_BUILDFLAG(IS_BSD)) struct __ifunc_arg_t; #include "partition_alloc/aarch64_support.h" diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h index 3fba15f04c89..2dd6b4cfe14c 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h @@ -1,16 +1,16 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2025-05-28 14:55:43 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h -@@ -317,8 +317,12 @@ bool TryRecommitSystemPagesInternal( +@@ -322,8 +322,12 @@ bool TryRecommitSystemPagesInternal( void DiscardSystemPagesInternal(uintptr_t address, size_t length) { void* ptr = reinterpret_cast(address); -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) +#if PA_BUILDFLAG(IS_BSD) + int ret = madvise(ptr, length, MADV_FREE); +#else int ret = madvise(ptr, length, MADV_FREE_REUSABLE); +#endif if (ret) { // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED. ret = madvise(ptr, length, MADV_DONTNEED); diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc index f8aa0f73aaae..a541994efa17 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig 2025-07-02 06:08:04 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc -@@ -15,7 +15,7 @@ +@@ -19,7 +19,7 @@ #include "partition_alloc/partition_alloc_check.h" #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || \ - PA_BUILDFLAG(IS_ANDROID) + PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_BSD) #include #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc index dc95a41a0378..1a7f78ac4f45 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc @@ -1,34 +1,34 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc -@@ -13,11 +13,11 @@ +@@ -18,11 +18,11 @@ #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h" #include "partition_alloc/partition_alloc_base/strings/safe_sprintf.h" -#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) +#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) #include // For ElfW() macro. #endif -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) #include #endif -@@ -25,7 +25,7 @@ namespace partition_alloc::internal::base::debug { +@@ -30,7 +30,7 @@ namespace partition_alloc::internal::base::debug { namespace { -#if !PA_BUILDFLAG(IS_APPLE) +#if !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) // On Android the 'open' function has two versions: // int open(const char *pathname, int flags); -@@ -369,7 +369,7 @@ void PrintStackTraceInternal(const void** trace, size_ +@@ -374,7 +374,7 @@ void PrintStackTraceInternal(const void** trace, size_ } #endif // !PA_BUILDFLAG(IS_APPLE) -#if PA_BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) // Since /proc/self/maps is not available, use dladdr() to obtain module // names and offsets inside the modules from the given addresses. void PrintStackTraceInternal(const void* const* trace, size_t size) { diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc index e24b29f35988..51a5a958bb13 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc @@ -1,13 +1,13 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc -@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { +@@ -107,6 +107,10 @@ void RandBytes(void* output, size_t output_length) { if (getentropy(output, output_length) == 0) { return; } +#elif PA_BUILDFLAG(IS_BSD) + if (getentropy(output, output_length) == 0) { + return; + } #endif // If getrandom(2) above returned with an error and the /dev/urandom fallback // took place on Linux/ChromeOS bots, they would fail with a CHECK in diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h index 10a2c6a426b3..3929331f20c0 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h -@@ -37,6 +37,8 @@ typedef DWORD PlatformThreadId; +@@ -43,6 +43,8 @@ typedef DWORD PlatformThreadId; typedef zx_handle_t PlatformThreadId; #elif PA_BUILDFLAG(IS_APPLE) typedef mach_port_t PlatformThreadId; +#elif PA_BUILDFLAG(IS_BSD) +typedef uint64_t PlatformThreadId; #elif PA_BUILDFLAG(IS_POSIX) typedef pid_t PlatformThreadId; #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h index 0fc3aad100bb..107a428fe85d 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h -@@ -10,7 +10,7 @@ +@@ -15,7 +15,7 @@ namespace partition_alloc::internal::base::internal { -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // Current thread id is cached in thread local storage for performance reasons. // In some rare cases it's important to invalidate that cache explicitly (e.g. // after going through clone() syscall which does not call pthread_atfork() diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc index d9bac77867cb..109676a94d16 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2025-05-05 10:57:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc -@@ -18,7 +18,7 @@ +@@ -23,7 +23,7 @@ #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h" -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include #include #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h index e4cfcf24bd5c..b96338086a5c 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2025-07-02 06:08:04 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h -@@ -164,7 +164,7 @@ constexpr bool kUseLazyCommit = false; +@@ -169,7 +169,7 @@ constexpr bool kUseLazyCommit = false; // This may be required on more platforms in the future. #define PA_CONFIG_HAS_ATFORK_HANDLER() \ (PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_LINUX) || \ - PA_BUILDFLAG(IS_CHROMEOS)) + PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)) - // Enable shadow metadata. - // -@@ -227,7 +227,7 @@ constexpr bool kUseLazyCommit = false; + #if PA_BUILDFLAG(MOVE_METADATA_OUT_OF_GIGACAGE_FOR_64_BITS_POINTERS) && \ + PA_BUILDFLAG(HAS_64_BIT_POINTERS) +@@ -226,7 +226,7 @@ constexpr bool kUseLazyCommit = false; // Also enabled on ARM64 macOS and iOS, as the 16kiB pages on this platform lead // to larger slot spans. #if PA_BUILDFLAG(IS_LINUX) || \ - (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) + (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || PA_BUILDFLAG(IS_BSD) #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 1 #else #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 0 diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h index 870385c2cbc6..1869170c190b 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2025-07-02 06:08:04 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -308,7 +308,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); +@@ -313,7 +313,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); // 8GB for each of the glued pools). #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ - PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; -@@ -392,7 +392,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { +@@ -397,7 +397,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation // where a normal slot span will be large enough to contain multiple items, // but the address will go over the final partition page after being aligned. -#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; #else constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h index a643336a705f..6754997eb021 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h @@ -1,16 +1,16 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2025-07-02 06:08:04 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h -@@ -29,9 +29,13 @@ namespace internal { +@@ -34,9 +34,13 @@ namespace internal { // the second one 16. We could technically return something different for // malloc() and operator new(), but this would complicate things, and most of // our allocations are presumably coming from operator new() anyway. +#if defined(__i386__) && defined(OS_FREEBSD) +constexpr size_t kAlignment = 8; +#else constexpr inline size_t kAlignment = std::max(alignof(max_align_t), static_cast(__STDCPP_DEFAULT_NEW_ALIGNMENT__)); +#endif static_assert(base::bits::HasSingleBit(kAlignment), "Alignment must be power of two."); static_assert(kAlignment <= 16, diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc index 42f6820e2049..27075a7bd886 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2025-08-07 06:57:29 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc -@@ -47,7 +47,7 @@ +@@ -51,7 +51,7 @@ #include "wow64apiset.h" #endif -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include - #if PA_CONFIG(ENABLE_SHADOW_METADATA) - #include -@@ -301,7 +301,7 @@ void PartitionAllocMallocInitOnce() { + #endif // PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) + +@@ -300,7 +300,7 @@ void PartitionAllocMallocInitOnce() { return; } -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // When fork() is called, only the current thread continues to execute in the // child process. If the lock is held, but *not* by this thread when fork() is // called, we have a deadlock. -@@ -1073,7 +1073,7 @@ void PartitionRoot::Init(PartitionOptions opts) { +@@ -1006,7 +1006,7 @@ void PartitionRoot::Init(PartitionOptions opts) { // apple OSes. PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14))); -#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) // Check runtime pagesize. Though the code is currently the same, it is // not merged with the IS_APPLE case above as a 1 << 16 case is only // supported on Linux on AArch64. diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.h new file mode 100644 index 000000000000..ea16e2d2d739 --- /dev/null +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.h.orig 2025-09-06 10:01:20 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_root.h +@@ -197,7 +197,7 @@ struct PartitionOptions { + // system to configure PartitionAlloc. + EnableToggle fewer_memory_regions = + #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_ANDROID) || \ +- PA_BUILDFLAG(IS_CHROMEOS) ++ PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) + kEnabled; + #else + kDisabled; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc index 43924605b160..5d863f3225f7 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc @@ -1,36 +1,36 @@ ---- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2025-05-28 14:55:43 UTC +--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc -@@ -19,7 +19,16 @@ +@@ -24,7 +24,16 @@ #endif #if PA_CONFIG(HAS_LINUX_KERNEL) +#if defined(OS_OPENBSD) +#include +#include +#elif defined(OS_FREEBSD) +#include +#include +#include +#else #include +#endif #include #include -@@ -92,8 +101,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, +@@ -97,8 +106,16 @@ PA_ALWAYS_INLINE long FutexSyscall(volatile void* ftx, int saved_errno = errno; errno = 0; +#if defined(OS_FREEBSD) + long retval = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, + kLockedContended, nullptr, nullptr); +#elif defined(OS_OPENBSD) + long retval = futex(reinterpret_cast(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + kLockedContended, nullptr, nullptr); +#else long retval = syscall(SYS_futex, ftx, op | FUTEX_PRIVATE_FLAG, value, nullptr, nullptr, 0); +#endif if (retval == -1) { // These are programming errors, check them. PA_DCHECK((errno != EPERM) || (errno != EACCES) || (errno != EINVAL) || diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc index 9663a41a0c99..768b84dd5262 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc @@ -1,50 +1,50 @@ ---- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc -@@ -18,6 +18,10 @@ +@@ -23,6 +23,10 @@ #include #endif +#if PA_BUILDFLAG(IS_BSD) +#include +#endif + #if PA_BUILDFLAG(PA_LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif -@@ -48,6 +52,36 @@ void* GetStackTop() { +@@ -53,6 +57,36 @@ void* GetStackTop() { void* GetStackTop() { return pthread_get_stackaddr_np(pthread_self()); +} + +#elif PA_BUILDFLAG(IS_OPENBSD) + +void* GetStackTop() { + stack_t ss; + if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; + return reinterpret_cast(ss.ss_sp); +} + +#elif PA_BUILDFLAG(IS_FREEBSD) + +void* GetStackTop() { + pthread_attr_t attr; + int error = pthread_attr_init(&attr); + if (error) { + return nullptr; + } + error = pthread_attr_get_np(pthread_self(), &attr); + if (!error) { + void* base; + size_t size; + error = pthread_attr_getstack(&attr, &base, &size); + PA_CHECK(!error); + pthread_attr_destroy(&attr); + return reinterpret_cast(base) + size; + } + pthread_attr_destroy(&attr); + return nullptr; } #elif PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA) diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc index ece8431f1d85..2dfe6df53365 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2024-07-30 11:12:21 UTC +--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2025-09-06 10:01:20 UTC +++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc -@@ -16,7 +16,7 @@ +@@ -21,7 +21,7 @@ #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) +#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD) #error "This pkey code is currently only supported on Linux and ChromeOS" #endif diff --git a/www/chromium/files/patch-base_atomicops.h b/www/chromium/files/patch-base_atomicops.h index bc93807b8582..7f6e237768f8 100644 --- a/www/chromium/files/patch-base_atomicops.h +++ b/www/chromium/files/patch-base_atomicops.h @@ -1,14 +1,14 @@ ---- base/atomicops.h.orig 2025-02-19 07:43:18 UTC +--- base/atomicops.h.orig 2025-09-06 10:01:20 UTC +++ base/atomicops.h -@@ -74,7 +74,11 @@ typedef intptr_t Atomic64; +@@ -72,7 +72,11 @@ typedef intptr_t Atomic64; // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or // Atomic64 routines below, depending on your architecture. +#if !defined(OS_OPENBSD) && defined(__i386__) +typedef Atomic32 AtomicWord; +#else typedef intptr_t AtomicWord; +#endif // Atomically execute: // result = *ptr; diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc index d9d357a06731..f1884d7de037 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,101 +1,101 @@ ---- base/debug/stack_trace_posix.cc.orig 2025-03-05 08:14:56 UTC +--- base/debug/stack_trace_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/debug/stack_trace_posix.cc @@ -51,7 +51,7 @@ // execinfo.h and backtrace(3) are really only present in glibc and in macOS // libc. #if BUILDFLAG(IS_APPLE) || \ - (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX)) + (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD)) #define HAVE_BACKTRACE #include #endif @@ -69,8 +69,10 @@ #include #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +#if !BUILDFLAG(IS_BSD) #include +#endif #include "base/debug/proc_maps_linux.h" #endif -@@ -329,7 +331,7 @@ void PrintToStderr(const char* output) { +@@ -327,7 +329,7 @@ void PrintToStderr(const char* output) { std::ignore = HANDLE_EINTR(write(STDERR_FILENO, output, strlen(output))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void AlarmSignalHandler(int signal, siginfo_t* info, void* void_context) { // We have seen rare cases on AMD linux where the default signal handler // either does not run or a thread (Probably an AMD driver thread) prevents -@@ -346,7 +348,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v +@@ -344,7 +346,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v "Warning: Default signal handler failed to terminate process.\n"); PrintToStderr("Calling exit_group() directly to prevent timeout.\n"); // See: https://man7.org/linux/man-pages/man2/exit_group.2.html +#if BUILDFLAG(IS_BSD) + _exit(EXIT_FAILURE); +#else syscall(SYS_exit_group, EXIT_FAILURE); +#endif } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -552,7 +558,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -548,7 +554,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf _exit(EXIT_FAILURE); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Set an alarm to trigger in case the default handler does not terminate // the process. See 'AlarmSignalHandler' for more details. struct sigaction action; -@@ -577,6 +583,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -573,6 +579,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf // signals that do not re-raise autonomously), such as signals delivered via // kill() and asynchronous hardware faults such as SEGV_MTEAERR, which would // otherwise be lost when re-raising the signal via raise(). +#if !BUILDFLAG(IS_BSD) long retval = syscall(SYS_rt_tgsigqueueinfo, getpid(), syscall(SYS_gettid), info->si_signo, info); if (retval == 0) { -@@ -591,6 +598,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf +@@ -587,6 +594,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf if (errno != EPERM) { _exit(EXIT_FAILURE); } +#endif #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) -@@ -783,6 +791,7 @@ class SandboxSymbolizeHelper { +@@ -779,6 +787,7 @@ class SandboxSymbolizeHelper { return -1; } +#if !BUILDFLAG(IS_BSD) // This class is copied from // third_party/crashpad/crashpad/util/linux/scoped_pr_set_dumpable.h. // It aims at ensuring the process is dumpable before opening /proc/self/mem. -@@ -875,11 +884,15 @@ class SandboxSymbolizeHelper { +@@ -871,11 +880,15 @@ class SandboxSymbolizeHelper { r.base = cur_base; } } +#endif // Parses /proc/self/maps in order to compile a list of all object file names // for the modules that are loaded in the current process. // Returns true on success. bool CacheMemoryRegions() { +#if BUILDFLAG(IS_BSD) + return false; +#else // Reads /proc/self/maps. std::string contents; if (!ReadProcMaps(&contents)) { -@@ -897,6 +910,7 @@ class SandboxSymbolizeHelper { +@@ -893,6 +906,7 @@ class SandboxSymbolizeHelper { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. diff --git a/www/chromium/files/patch-base_files_file__util__posix.cc b/www/chromium/files/patch-base_files_file__util__posix.cc index eadece532674..60089705b304 100644 --- a/www/chromium/files/patch-base_files_file__util__posix.cc +++ b/www/chromium/files/patch-base_files_file__util__posix.cc @@ -1,48 +1,48 @@ ---- base/files/file_util_posix.cc.orig 2025-05-05 10:57:53 UTC +--- base/files/file_util_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/files/file_util_posix.cc -@@ -934,6 +934,7 @@ bool CreateNewTempDirectory(const FilePath::StringType +@@ -941,6 +941,7 @@ bool CreateNewTempDirectory(const FilePath::StringType 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)) { -@@ -943,8 +944,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -950,8 +951,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; } -@@ -962,21 +963,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -969,21 +970,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p } #endif // BUILDFLAG(IS_CHROMEOS) -- if (mkdir(subpath.value().c_str(), mode) == 0) { +- if (File::Mkdir(subpath, mode) == 0) { - continue; - } - // Mkdir failed, but it might have failed with EEXIST, or some other error - // due to the directory appearing out of thin air. This can occur if - // two processes are trying to create the same file system tree at the same - // time. Check to see if it exists and make sure it is a directory. - int saved_errno = errno; - if (!DirectoryExists(subpath)) { - if (error) { + if ((mkdir(subpath.value().c_str(), mode) == -1) && + ((full_path != subpath) ? (errno != ENOENT) : (-1))) { + int saved_errno = errno; + if (error) *error = File::OSErrorToFileError(saved_errno); - } - errno = saved_errno; return false; } + errno = 0; } return true; } diff --git a/www/chromium/files/patch-base_files_file__util__unittest.cc b/www/chromium/files/patch-base_files_file__util__unittest.cc index a0fc114b60bc..1103edb5b93c 100644 --- a/www/chromium/files/patch-base_files_file__util__unittest.cc +++ b/www/chromium/files/patch-base_files_file__util__unittest.cc @@ -1,40 +1,40 @@ ---- base/files/file_util_unittest.cc.orig 2025-04-04 08:52:13 UTC +--- base/files/file_util_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ base/files/file_util_unittest.cc -@@ -3920,7 +3920,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { +@@ -4101,7 +4101,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { FilePath file_path("/proc/cpuinfo"); std::string data = "temp"; -@@ -4505,6 +4505,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu +@@ -4686,6 +4686,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu #endif // BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_OPENBSD) +TEST_F(FileUtilTest, CreateDirectoryInUnveiledPath) { + FilePath dir = PathService::CheckedGet(DIR_GEN_TEST_DATA_ROOT); + dir = dir.Append(FILE_PATH_LITERAL("base")); + dir = dir.Append(FILE_PATH_LITERAL("test")); + dir = dir.Append(FILE_PATH_LITERAL("unveil")); + unveil(dir.value().c_str(), "rwc"); + EXPECT_TRUE(CreateDirectory(dir)); + dir = dir.Append(FILE_PATH_LITERAL("test")); + EXPECT_FALSE(CreateDirectory(dir)); +} +#endif + #if BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ defined(ARCH_CPU_32_BITS) // TODO(crbug.com/327582285): Re-enable these tests. They may be failing due to -@@ -4671,7 +4684,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles +@@ -4852,7 +4865,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles NULL); #else size_t bytes_written = - ::write(::fileno(output_file.get()), content.c_str(), content.length()); + ::write(fileno(output_file.get()), content.c_str(), content.length()); #endif EXPECT_EQ(content.length(), bytes_written); ::fflush(output_file.get()); diff --git a/www/chromium/files/patch-base_process_launch.h b/www/chromium/files/patch-base_process_launch.h index 077ee0ab0d0f..8ce0a7204658 100644 --- a/www/chromium/files/patch-base_process_launch.h +++ b/www/chromium/files/patch-base_process_launch.h @@ -1,11 +1,11 @@ ---- base/process/launch.h.orig 2025-05-28 14:55:43 UTC +--- base/process/launch.h.orig 2025-09-06 10:01:20 UTC +++ base/process/launch.h -@@ -245,7 +245,7 @@ struct BASE_EXPORT LaunchOptions { +@@ -234,7 +234,7 @@ struct BASE_EXPORT LaunchOptions { bool clear_environment = false; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If non-zero, start the process using clone(), using flags as provided. // Unlike in clone, clone_flags may not contain a custom termination signal // that is sent to the parent when the child dies. The termination signal will diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc index 486883bcb987..b49201a3c787 100644 --- a/www/chromium/files/patch-base_process_process__metrics.cc +++ b/www/chromium/files/patch-base_process_process__metrics.cc @@ -1,49 +1,38 @@ ---- base/process/process_metrics.cc.orig 2025-02-19 07:43:18 UTC +--- base/process/process_metrics.cc.orig 2025-09-06 10:01:20 UTC +++ base/process/process_metrics.cc @@ -17,7 +17,7 @@ namespace base { namespace { #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int CalculateEventsPerSecond(uint64_t event_count, uint64_t* last_event_count, base::TimeTicks* last_calculated) { @@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() { SystemMetrics system_metrics; system_metrics.committed_memory_ = GetSystemCommitCharge(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) GetSystemMemoryInfo(&system_metrics.memory_info_); GetVmStatInfo(&system_metrics.vmstat_info_); GetSystemDiskInfo(&system_metrics.disk_info_); -@@ -73,7 +73,7 @@ Value::Dict SystemMetrics::ToDict() const { - Value::Dict res; - - res.Set("committed_memory", static_cast(committed_memory_)); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - Value::Dict meminfo = memory_info_.ToDict(); - meminfo.Merge(vmstat_info_.ToDict()); - res.Set("meminfo", std::move(meminfo)); -@@ -100,7 +100,6 @@ std::unique_ptr ProcessMetrics::Create +@@ -79,7 +79,7 @@ std::unique_ptr ProcessMetrics::Create #endif // !BUILDFLAG(IS_MAC) } -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) ++#if BUILDFLAG(IS_POSIX) double ProcessMetrics::GetPlatformIndependentCPUUsage( TimeDelta cumulative_cpu) { TimeTicks time = TimeTicks::Now(); -@@ -130,10 +129,9 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { - return GetPlatformIndependentCPUUsage(cpu_usage); - }); - } --#endif +@@ -112,7 +112,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { + #endif #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h index 07463e92edbf..deebade4b6c6 100644 --- a/www/chromium/files/patch-base_process_process__metrics.h +++ b/www/chromium/files/patch-base_process_process__metrics.h @@ -1,106 +1,106 @@ ---- base/process/process_metrics.h.orig 2025-02-19 07:43:18 UTC +--- base/process/process_metrics.h.orig 2025-09-06 10:01:20 UTC +++ base/process/process_metrics.h @@ -39,7 +39,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) #include #include #include @@ -49,7 +49,7 @@ namespace base { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Minor and major page fault counts since the process creation. // Both counts are process-wide, and exclude child processes. // @@ -179,7 +179,7 @@ class BASE_EXPORT ProcessMetrics { base::expected GetCumulativeCPUUsage(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Emits the cumulative CPU usage for all currently active threads since they // were started into the output parameter (replacing its current contents). // Threads that have already terminated will not be reported. Thus, the sum of @@ -224,7 +224,7 @@ class BASE_EXPORT ProcessMetrics { int GetOpenFdSoftLimit() const; #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Minor and major page fault count as reported by /proc/[pid]/stat. // Returns true for success. bool GetPageFaultCounts(PageFaultCounts* counts) const; @@ -242,7 +242,7 @@ class BASE_EXPORT ProcessMetrics { #endif // !BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); #endif #if BUILDFLAG(IS_APPLE) @@ -264,12 +264,10 @@ class BASE_EXPORT ProcessMetrics { // Used to store the previous times and CPU usage counts so we can // compute the CPU usage between calls. TimeTicks last_cpu_time_; -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) TimeDelta last_cumulative_cpu_; -#endif #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Same thing for idle wakeups. TimeTicks last_idle_wakeups_time_; uint64_t last_absolute_idle_wakeups_; @@ -310,7 +308,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Data about system-wide memory consumption. Values are in KB. Available on // Windows, Mac, Linux, Android and Chrome OS. // -@@ -345,7 +343,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -342,7 +340,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // This provides an estimate of available memory as described here: // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always -@@ -360,7 +358,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -357,7 +355,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) int buffers = 0; int cached = 0; int active_anon = 0; -@@ -397,7 +395,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK +@@ -394,7 +392,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK // BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Parse the data found in /proc//stat and return the sum of the // CPU-related ticks. Returns -1 on parse error. // Exposed for testing. -@@ -591,7 +589,7 @@ class BASE_EXPORT SystemMetrics { +@@ -570,7 +568,7 @@ class BASE_EXPORT SystemMetrics { FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); size_t committed_memory_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) SystemMemoryInfoKB memory_info_; VmStatInfo vmstat_info_; SystemDiskInfo disk_info_; diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc index 5eb60b3d9b11..27c09519dce9 100644 --- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,283 +1,225 @@ ---- base/process/process_metrics_freebsd.cc.orig 2025-08-07 06:57:29 UTC +--- base/process/process_metrics_freebsd.cc.orig 2025-09-06 10:01:20 UTC +++ base/process/process_metrics_freebsd.cc @@ -3,41 +3,92 @@ // found in the LICENSE file. #include "base/process/process_metrics.h" +#include "base/notimplemented.h" #include +#include #include #include #include +#include /* O_RDONLY */ +#include +#include + #include "base/memory/ptr_util.h" +#include "base/values.h" namespace base { +namespace { +int GetPageShift() { + int pagesize = getpagesize(); + int pageshift = 0; -ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), last_cpu_(0) {} + while (pagesize > 1) { + pageshift++; + pagesize >>= 1; + } + return pageshift; +} +} + +ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {} + // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( ProcessHandle process) { return WrapUnique(new ProcessMetrics(process)); } -base::expected -ProcessMetrics::GetPlatformIndependentCPUUsage() { - struct kinfo_proc info; - int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_}; - size_t length = sizeof(info); +base::expected +ProcessMetrics::GetMemoryInfo() const { + ProcessMemoryInfo memory_info; + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + struct kinfo_proc *pp; + int nproc; - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { - return base::unexpected(ProcessCPUUsageError::kSystemError); + if (kd == nullptr) { + return base::unexpected(ProcessUsageError::kSystemError); } - return base::ok(double{info.ki_pctcpu} / FSCALE * 100.0); + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return base::unexpected(ProcessUsageError::kProcessNotFound); + } + + if (nproc > 0) { + memory_info.resident_set_bytes = pp->ki_rssize << GetPageShift(); + } else { + kvm_close(kd); + return base::unexpected(ProcessUsageError::kProcessNotFound); + } + + kvm_close(kd); + return memory_info; } base::expected ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + struct timeval tv; + + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; + + if (process_ == 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); + } + + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); + } + + if (length == 0) { + return base::unexpected(ProcessCPUUsageError::kProcessNotFound); + } + + return base::ok(Microseconds(info.ki_runtime)); } size_t GetSystemCommitCharge() { -@@ -64,6 +115,176 @@ size_t GetSystemCommitCharge() { - pagesize = getpagesize(); +@@ -65,5 +116,118 @@ size_t GetSystemCommitCharge() { return mem_total - (mem_free * pagesize) - (mem_inactive * pagesize); -+} + } + +int64_t GetNumberOfThreads(ProcessHandle process) { + // Taken from FreeBSD top (usr.bin/top/machine.c) + + kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); + if (kd == NULL) + return 0; + + struct kinfo_proc* pbase; + int nproc; + pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); + if (pbase == NULL) + return 0; + + if (kvm_close(kd) == -1) + return 0; + + return nproc; +} + +bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { + unsigned int mem_total, mem_free, swap_total, swap_used; + size_t length; + int pagesizeKB; + + pagesizeKB = getpagesize() / 1024; + + length = sizeof(mem_total); + if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, + &length, NULL, 0) != 0 || length != sizeof(mem_total)) + return false; + + length = sizeof(mem_free); + if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) + != 0 || length != sizeof(mem_free)) + return false; + + length = sizeof(swap_total); + if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) + != 0 || length != sizeof(swap_total)) + return false; + + length = sizeof(swap_used); + if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) + != 0 || length != sizeof(swap_used)) + return false; + + meminfo->total = mem_total * pagesizeKB; + meminfo->free = mem_free * pagesizeKB; + meminfo->swap_total = swap_total * pagesizeKB; + meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; + + return true; +} + +int ProcessMetrics::GetOpenFdCount() const { + struct kinfo_file * kif; + int cnt; + + if ((kif = kinfo_getfile(process_, &cnt)) == NULL) + return -1; + + free(kif); + + return cnt; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + size_t length; + int total_count = 0; + int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; + + length = sizeof(total_count); + + if (sysctl(mib, std::size(mib), &total_count, &length, NULL, 0) < 0) { + total_count = -1; + } + + return total_count; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +SystemDiskInfo::SystemDiskInfo() { + reads = 0; + reads_merged = 0; + sectors_read = 0; + read_time = 0; + writes = 0; + writes_merged = 0; + sectors_written = 0; + write_time = 0; + io = 0; + io_time = 0; + weighted_io_time = 0; +} + +SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; + +SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; -+ -+Value::Dict SystemDiskInfo::ToDict() const { -+ Value::Dict res; -+ -+ // Write out uint64_t variables as doubles. -+ // Note: this may discard some precision, but for JS there's no other option. -+ res.Set("reads", static_cast(reads)); -+ res.Set("reads_merged", static_cast(reads_merged)); -+ res.Set("sectors_read", static_cast(sectors_read)); -+ res.Set("read_time", static_cast(read_time)); -+ res.Set("writes", static_cast(writes)); -+ res.Set("writes_merged", static_cast(writes_merged)); -+ res.Set("sectors_written", static_cast(sectors_written)); -+ res.Set("write_time", static_cast(write_time)); -+ res.Set("io", static_cast(io)); -+ res.Set("io_time", static_cast(io_time)); -+ res.Set("weighted_io_time", static_cast(weighted_io_time)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict SystemMemoryInfoKB::ToDict() const { -+ Value::Dict res; -+ res.Set("total", total); -+ res.Set("free", free); -+ res.Set("available", available); -+ res.Set("buffers", buffers); -+ res.Set("cached", cached); -+ res.Set("active_anon", active_anon); -+ res.Set("inactive_anon", inactive_anon); -+ res.Set("active_file", active_file); -+ res.Set("inactive_file", inactive_file); -+ res.Set("swap_total", swap_total); -+ res.Set("swap_free", swap_free); -+ res.Set("swap_used", swap_total - swap_free); -+ res.Set("dirty", dirty); -+ res.Set("reclaimable", reclaimable); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict VmStatInfo::ToDict() const { -+ Value::Dict res; -+ // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove -+ // casts below. -+ res.Set("pswpin", static_cast(pswpin)); -+ res.Set("pswpout", static_cast(pswpout)); -+ res.Set("pgmajfault", static_cast(pgmajfault)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; - } } // namespace base diff --git a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc index 6919e9ea73e3..8d71823e310d 100644 --- a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc +++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc @@ -1,241 +1,186 @@ ---- base/process/process_metrics_openbsd.cc.orig 2025-08-07 06:57:29 UTC +--- base/process/process_metrics_openbsd.cc.orig 2025-09-06 10:01:20 UTC +++ base/process/process_metrics_openbsd.cc @@ -6,73 +6,85 @@ #include #include +#include #include #include +#include +#include + #include "base/memory/ptr_util.h" #include "base/types/expected.h" +#include "base/values.h" +#include "base/notimplemented.h" namespace base { -namespace { +ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {} -base::expected GetProcessCPU(pid_t pid) { +base::expected +ProcessMetrics::GetMemoryInfo() const { + ProcessMemoryInfo memory_info; struct kinfo_proc info; - size_t length; - int mib[] = { - CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), 0}; + size_t length = sizeof(struct kinfo_proc); - if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) { - return base::unexpected(ProcessCPUUsageError::kSystemError); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_, + sizeof(struct kinfo_proc), 1 }; + + if (process_ == 0) { + return base::unexpected(ProcessUsageError::kSystemError); } - mib[5] = (length / sizeof(struct kinfo_proc)); - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { - return base::unexpected(ProcessCPUUsageError::kSystemError); + return base::unexpected(ProcessUsageError::kSystemError); } - return base::ok(info.p_pctcpu); -} + if (length == 0) { + return base::unexpected(ProcessUsageError::kProcessNotFound); + } -} // namespace + memory_info.resident_set_bytes = + checked_cast(info.p_vm_rssize * getpagesize()); -// static -std::unique_ptr ProcessMetrics::CreateProcessMetrics( - ProcessHandle process) { - return WrapUnique(new ProcessMetrics(process)); + return memory_info; } -base::expected -ProcessMetrics::GetPlatformIndependentCPUUsage() { - TimeTicks time = TimeTicks::Now(); +base::expected +ProcessMetrics::GetCumulativeCPUUsage() { + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); + struct timeval tv; - if (last_cpu_time_.is_zero()) { - // First call, just set the last values. - last_cpu_time_ = time; - return base::ok(0.0); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_, + sizeof(struct kinfo_proc), 1 }; + + if (process_ == 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); } - const base::expected cpu = GetProcessCPU(process_); - if (!cpu.has_value()) { - return base::unexpected(cpu.error()); + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { + return base::unexpected(ProcessCPUUsageError::kSystemError); } - last_cpu_time_ = time; - return base::ok(double{cpu.value()} / FSCALE * 100.0); + if (length == 0) { + return base::unexpected(ProcessCPUUsageError::kProcessNotFound); + } + + tv.tv_sec = info.p_rtime_sec; + tv.tv_usec = info.p_rtime_usec; + + return base::ok(Microseconds(TimeValToMicroseconds(tv))); } -base::expected -ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); +// static +std::unique_ptr ProcessMetrics::CreateProcessMetrics( + ProcessHandle process) { + return WrapUnique(new ProcessMetrics(process)); } -ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), last_cpu_(0) {} - size_t GetSystemCommitCharge() { int mib[] = {CTL_VM, VM_METER}; - int pagesize; + size_t pagesize; struct vmtotal vmtotal; unsigned long mem_total, mem_free, mem_inactive; size_t len = sizeof(vmtotal); -@@ -85,9 +97,115 @@ size_t GetSystemCommitCharge() { +@@ -85,9 +97,60 @@ size_t GetSystemCommitCharge() { mem_free = vmtotal.t_free; mem_inactive = vmtotal.t_vm - vmtotal.t_avm; - pagesize = getpagesize(); + pagesize = checked_cast(getpagesize()); return mem_total - (mem_free * pagesize) - (mem_inactive * pagesize); -+} + } + +int ProcessMetrics::GetOpenFdCount() const { + return (process_ == getpid()) ? getdtablecount() : -1; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + return getdtablesize(); +} + +bool ProcessMetrics::GetPageFaultCounts(PageFaultCounts* counts) const { + NOTIMPLEMENTED(); + return false; +} + +bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + -+Value::Dict SystemMemoryInfoKB::ToDict() const { -+ Value::Dict res; -+ res.Set("total", total); -+ res.Set("free", free); -+ res.Set("available", available); -+ res.Set("buffers", buffers); -+ res.Set("cached", cached); -+ res.Set("active_anon", active_anon); -+ res.Set("inactive_anon", inactive_anon); -+ res.Set("active_file", active_file); -+ res.Set("inactive_file", inactive_file); -+ res.Set("swap_total", swap_total); -+ res.Set("swap_free", swap_free); -+ res.Set("swap_used", swap_total - swap_free); -+ res.Set("dirty", dirty); -+ res.Set("reclaimable", reclaimable); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict VmStatInfo::ToDict() const { -+ Value::Dict res; -+ res.Set("pswpin", static_cast(pswpin)); -+ res.Set("pswpout", static_cast(pswpout)); -+ res.Set("pgmajfault", static_cast(pgmajfault)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ +SystemDiskInfo::SystemDiskInfo() { + reads = 0; + reads_merged = 0; + sectors_read = 0; + read_time = 0; + writes = 0; + writes_merged = 0; + sectors_written = 0; + write_time = 0; + io = 0; + io_time = 0; + weighted_io_time = 0; +} + +SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo&) = default; + +SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; -+ -+Value::Dict SystemDiskInfo::ToDict() const { -+ Value::Dict res; -+ -+ // Write out uint64_t variables as doubles. -+ // Note: this may discard some precision, but for JS there's no other option. -+ res.Set("reads", static_cast(reads)); -+ res.Set("reads_merged", static_cast(reads_merged)); -+ res.Set("sectors_read", static_cast(sectors_read)); -+ res.Set("read_time", static_cast(read_time)); -+ res.Set("writes", static_cast(writes)); -+ res.Set("writes_merged", static_cast(writes_merged)); -+ res.Set("sectors_written", static_cast(sectors_written)); -+ res.Set("write_time", static_cast(write_time)); -+ res.Set("io", static_cast(io)); -+ res.Set("io_time", static_cast(io_time)); -+ res.Set("weighted_io_time", static_cast(weighted_io_time)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; - } } // namespace base diff --git a/www/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h index e99ae5fb2272..bec594b9f46b 100644 --- a/www/chromium/files/patch-base_rand__util.h +++ b/www/chromium/files/patch-base_rand__util.h @@ -1,11 +1,11 @@ ---- base/rand_util.h.orig 2025-08-07 06:57:29 UTC +--- base/rand_util.h.orig 2025-09-06 10:01:20 UTC +++ base/rand_util.h -@@ -210,7 +210,7 @@ void RandomShuffle(Itr first, Itr last) { +@@ -213,7 +213,7 @@ void RandomShuffle(Itr first, Itr last) { std::shuffle(first, last, RandomBitGenerator()); } -#if BUILDFLAG(IS_POSIX) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD) BASE_EXPORT int GetUrandomFD(); #endif diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc index e229baa6f240..5cd61fd2db25 100644 --- a/www/chromium/files/patch-base_system_sys__info__posix.cc +++ b/www/chromium/files/patch-base_system_sys__info__posix.cc @@ -1,29 +1,29 @@ ---- base/system/sys_info_posix.cc.orig 2025-05-05 10:57:53 UTC +--- base/system/sys_info_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/system/sys_info_posix.cc -@@ -143,7 +143,7 @@ void GetKernelVersionNumbers(int32_t* major_version, +@@ -144,7 +144,7 @@ void GetKernelVersionNumbers(int32_t* major_version, namespace base { -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) // static int SysInfo::NumberOfProcessors() { #if BUILDFLAG(IS_MAC) -@@ -199,7 +199,7 @@ int SysInfo::NumberOfProcessors() { +@@ -200,7 +200,7 @@ int SysInfo::NumberOfProcessors() { return cached_num_cpus; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static uint64_t SysInfo::AmountOfVirtualMemory() { -@@ -285,6 +285,8 @@ std::string SysInfo::OperatingSystemArchitecture() { +@@ -286,6 +286,8 @@ std::string SysInfo::OperatingSystemArchitecture() { arch = "x86"; } else if (arch == "amd64") { arch = "x86_64"; + } else if (arch == "arm64") { + arch = "aarch64"; } else if (std::string(info.sysname) == "AIX") { arch = "ppc64"; } diff --git a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc index 7e08e802f5cb..18f8b7098301 100644 --- a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc +++ b/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc @@ -1,20 +1,20 @@ ---- base/task/thread_pool/environment_config_unittest.cc.orig 2025-08-07 06:57:29 UTC +--- base/task/thread_pool/environment_config_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ base/task/thread_pool/environment_config_unittest.cc @@ -14,7 +14,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) EXPECT_TRUE(CanUseBackgroundThreadTypeForWorkerThread()); #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_FALSE(CanUseBackgroundThreadTypeForWorkerThread()); #else #error Platform doesn't match any block -@@ -23,7 +23,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio +@@ -22,7 +22,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) EXPECT_TRUE(CanUseUtilityThreadTypeForWorkerThread()); - #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_FALSE(CanUseUtilityThreadTypeForWorkerThread()); #else #error Platform doesn't match any block diff --git a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc index d7eea4e02a09..3b9b43bd6311 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.cc @@ -1,11 +1,21 @@ ---- base/threading/platform_thread_internal_posix.cc.orig 2025-08-07 06:57:29 UTC +--- base/threading/platform_thread_internal_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/threading/platform_thread_internal_posix.cc -@@ -31,7 +31,7 @@ ThreadPriorityForTest NiceValueToThreadPriorityForTest +@@ -31,6 +31,10 @@ ThreadPriorityForTest NiceValueToThreadPriorityForTest } int GetCurrentThreadNiceValue() { --#if BUILDFLAG(IS_NACL) -+#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) - NOTIMPLEMENTED(); - return 0; - #else ++#if BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++ return 0; ++#else + // Need to clear errno before calling getpriority(): + // http://man7.org/linux/man-pages/man2/getpriority.2.html + errno = 0; +@@ -42,6 +46,7 @@ int GetCurrentThreadNiceValue() { + } + + return nice_value; ++#endif + } + + } // namespace base::internal diff --git a/www/chromium/files/patch-base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__posix.cc index 08739a1c693c..a5a54bc38a4a 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc @@ -1,53 +1,82 @@ ---- base/threading/platform_thread_posix.cc.orig 2025-08-07 06:57:29 UTC +--- base/threading/platform_thread_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/threading/platform_thread_posix.cc -@@ -79,11 +79,11 @@ void* ThreadFunc(void* params) { +@@ -79,6 +79,7 @@ void* ThreadFunc(void* params) { base::DisallowSingleton(); } --#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_BSD) ++#if !BUILDFLAG(IS_BSD) + #if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated(); #endif +@@ -92,6 +93,7 @@ void* ThreadFunc(void* params) { + // where they were created. This explicitly sets the priority of all new + // threads. + PlatformThread::SetCurrentThreadType(thread_params->thread_type); ++#endif + } + + ThreadIdNameManager::GetInstance()->RegisterThread( +@@ -266,6 +268,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() { --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - #if BUILDFLAG(IS_APPLE) - PlatformThread::SetCurrentThreadRealtimePeriodValue( - delegate->GetRealtimePeriod()); -@@ -272,6 +272,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() { - return PlatformThreadId(reinterpret_cast(pthread_self())); #elif BUILDFLAG(IS_POSIX) && BUILDFLAG(IS_AIX) return PlatformThreadId(pthread_self()); +#elif BUILDFLAG(IS_BSD) + return PlatformThreadId(reinterpret_cast(pthread_self())); #elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_AIX) return PlatformThreadId(reinterpret_cast(pthread_self())); #endif -@@ -365,7 +367,7 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t +@@ -359,6 +363,9 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t // static bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) { --#if BUILDFLAG(IS_NACL) -+#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) - return false; - #else ++#if BUILDFLAG(IS_BSD) ++ return false; ++#else if (from >= to) { -@@ -386,6 +388,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, + // Decreasing thread priority on POSIX is always allowed. + return true; +@@ -368,12 +375,18 @@ bool PlatformThreadBase::CanChangeThreadType(ThreadTyp + } + + return internal::CanLowerNiceTo(internal::ThreadTypeToNiceValue(to)); ++#endif + } + + namespace internal { + + void SetCurrentThreadTypeImpl(ThreadType thread_type, MessagePumpType pump_type_hint) { - #if BUILDFLAG(IS_NACL) - NOTIMPLEMENTED(); -+// avoid pledge(2) violation -+#elif BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_BSD) ++ // pledge(2) violation + NOTIMPLEMENTED(); - #else ++ return; ++#else if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) { return; -@@ -409,7 +414,7 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, + } +@@ -389,12 +402,17 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, + DVPLOG(1) << "Failed to set nice value of thread (" + << PlatformThread::CurrentId() << ") to " << nice_setting; + } ++#endif + } + + } // namespace internal // static ThreadPriorityForTest PlatformThreadBase::GetCurrentThreadPriorityForTest() { --#if BUILDFLAG(IS_NACL) -+#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) - NOTIMPLEMENTED(); - return ThreadPriorityForTest::kNormal; - #else ++#if BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++ return ThreadPriorityForTest::kNormal; ++#else + // Mirrors SetCurrentThreadPriority()'s implementation. + auto platform_specific_priority = + internal::GetCurrentThreadPriorityForPlatformForTest(); // IN-TEST +@@ -405,6 +423,7 @@ ThreadPriorityForTest PlatformThreadBase::GetCurrentTh + int nice_value = internal::GetCurrentThreadNiceValue(); + + return internal::NiceValueToThreadPriorityForTest(nice_value); // IN-TEST ++#endif + } + + #endif // !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) diff --git a/www/chromium/files/patch-base_time_time__now__posix.cc b/www/chromium/files/patch-base_time_time__now__posix.cc index 965e6c4e02c9..52244c9d6d63 100644 --- a/www/chromium/files/patch-base_time_time__now__posix.cc +++ b/www/chromium/files/patch-base_time_time__now__posix.cc @@ -1,11 +1,14 @@ ---- base/time/time_now_posix.cc.orig 2025-01-15 09:18:26 UTC +--- base/time/time_now_posix.cc.orig 2025-09-06 10:01:20 UTC +++ base/time/time_now_posix.cc -@@ -27,7 +27,7 @@ - #endif +@@ -110,7 +110,11 @@ std::optional MaybeTimeTicksNowIgnoringOver + } + + TimeTicks TimeTicksLowResolutionNowIgnoringOverride() { ++#if BUILDFLAG(IS_BSD) ++ return TimeTicks() + Microseconds(ClockNow(CLOCK_MONOTONIC)); ++#else + return TimeTicks() + Microseconds(ClockNow(CLOCK_MONOTONIC_COARSE)); ++#endif + } + } // namespace subtle - // NaCl doesn't support CLOCK_MONOTONIC_COARSE. --#if BUILDFLAG(IS_NACL) -+#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) - #define TIMETICKS_LOW_RESOLUTION_CLOCK CLOCK_MONOTONIC - #else - #define TIMETICKS_LOW_RESOLUTION_CLOCK CLOCK_MONOTONIC_COARSE diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc index 375994964dc7..0d1ed52f14bc 100644 --- a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc +++ b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc @@ -1,29 +1,29 @@ ---- base/trace_event/process_memory_dump.cc.orig 2025-08-07 06:57:29 UTC +--- base/trace_event/process_memory_dump.cc.orig 2025-09-06 10:01:20 UTC +++ base/trace_event/process_memory_dump.cc @@ -47,7 +47,7 @@ #include #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include #include "base/notreached.h" -@@ -119,7 +119,7 @@ std::optional ProcessMemoryDump::CountResident +@@ -116,7 +116,7 @@ std::optional ProcessMemoryDump::CountResident #if BUILDFLAG(IS_WIN) auto vec = base::HeapArray::WithSize(max_vec_size); -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) auto vec = base::HeapArray::WithSize(max_vec_size); #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) auto vec = base::HeapArray::WithSize(max_vec_size); -@@ -143,7 +143,7 @@ std::optional ProcessMemoryDump::CountResident +@@ -140,7 +140,7 @@ std::optional ProcessMemoryDump::CountResident for (size_t i = 0; i < page_count; i++) { resident_page_count += vec[i].VirtualAttributes.Valid; } -#elif BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050620): Implement counting resident bytes. // For now, log and avoid unused variable warnings. NOTIMPLEMENTED_LOG_ONCE(); diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn index 84a0fde9befa..27db3e56b6eb 100644 --- a/www/chromium/files/patch-build_config_BUILD.gn +++ b/www/chromium/files/patch-build_config_BUILD.gn @@ -1,13 +1,13 @@ ---- build/config/BUILD.gn.orig 2025-01-15 09:18:26 UTC +--- build/config/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ build/config/BUILD.gn -@@ -215,6 +215,10 @@ config("default_libs") { +@@ -209,6 +209,10 @@ config("default_libs") { # Targets should choose to explicitly link frameworks they require. Since # linking can have run-time side effects, nothing should be listed here. libs = [] + } else if (is_bsd) { + libs = [ + "pthread", + ] } else if (is_linux || is_chromeos) { libs = [ "dl", diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn index e52328c8c154..c07dd880c4a1 100644 --- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn +++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn @@ -1,45 +1,45 @@ ---- build/config/BUILDCONFIG.gn.orig 2025-08-07 06:57:29 UTC +--- build/config/BUILDCONFIG.gn.orig 2025-09-06 10:01:20 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" && @@ -242,6 +243,10 @@ if (host_toolchain == "") { host_toolchain = "//build/toolchain/aix:$host_cpu" } else if (host_os == "zos") { host_toolchain = "//build/toolchain/zos:$host_cpu" + } else if (host_os == "openbsd") { + host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" + } else if (host_os == "freebsd") { + host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" } else { assert(false, "Unsupported host_os: $host_os") } @@ -291,6 +296,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") } @@ -325,7 +332,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_nacl = current_os == "nacl" - is_wasm = current_os == "emscripten" + + # TODO(crbug.com/40511454): Remove is_nacl from all build files, then diff --git a/www/chromium/files/patch-build_config_clang_BUILD.gn b/www/chromium/files/patch-build_config_clang_BUILD.gn index d3d9282fe0d3..5818eacc270b 100644 --- a/www/chromium/files/patch-build_config_clang_BUILD.gn +++ b/www/chromium/files/patch-build_config_clang_BUILD.gn @@ -1,16 +1,16 @@ ---- build/config/clang/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- build/config/clang/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ build/config/clang/BUILD.gn -@@ -265,7 +265,12 @@ template("clang_lib") { +@@ -268,7 +268,12 @@ template("clang_lib") { # Adds a dependency on the Clang runtime library clang_rt.builtins. clang_lib("compiler_builtins") { - if (is_mac) { + if (is_bsd) { + # Since there's no Rust in the toolchain, there's no concern that we'll use + # the Rust stdlib's intrinsics here. + # + # Don't define libname which makes this target do nothing. + } else if (is_mac) { libname = "osx" } else if (is_ios) { if (target_platform == "iphoneos") { diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index 3791b3b71264..a4410d921ba7 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,149 +1,131 @@ ---- build/config/compiler/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- build/config/compiler/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ build/config/compiler/BUILD.gn -@@ -199,7 +199,7 @@ declare_args() { +@@ -194,7 +194,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_nacl && !is_win && !is_apple -+ simple_template_names = is_clang && !is_nacl && !is_win && !is_apple && !is_bsd - } +- simple_template_names = is_clang && !is_win && !is_apple ++ simple_template_names = is_clang && !is_win && !is_apple && !is_bsd - declare_args() { -@@ -248,7 +248,7 @@ assert(!(llvm_force_head_revision && use_remoteexec && + # 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 +@@ -272,7 +272,7 @@ assert(!(llvm_force_head_revision && use_remoteexec && # 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 = -- !is_nacl && default_toolchain != "//build/toolchain/cros:target" && -+ !is_bsd && !is_nacl && default_toolchain != "//build/toolchain/cros:target" && +- default_toolchain != "//build/toolchain/cros:target" && ++ !is_bsd && default_toolchain != "//build/toolchain/cros:target" && !llvm_android_mainline && is_clang && clang_warning_suppression_file != "" # default_include_dirs --------------------------------------------------------- -@@ -266,13 +266,16 @@ config("default_include_dirs") { +@@ -290,13 +290,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 --------------------------------------------------------------------- -@@ -531,6 +534,10 @@ config("compiler") { +@@ -564,6 +567,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_icf && (!is_apple || use_lld)) { -@@ -602,7 +609,7 @@ config("compiler") { +@@ -639,7 +646,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } -- if (is_clang && !is_nacl) { -+ if (is_clang && !is_nacl && !is_bsd) { +- if (is_clang) { ++ if (is_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1254,7 +1261,7 @@ config("compiler_cpu_abi") { +@@ -1281,7 +1288,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_nacl && !is_fuchsia && -- !is_chromeos_device) { -+ !is_chromeos_device && !is_bsd) { +- 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 { -@@ -1263,7 +1270,7 @@ config("compiler_cpu_abi") { +@@ -1290,7 +1297,7 @@ config("compiler_cpu_abi") { } cflags += [ "-msse3" ] } else if (current_cpu == "x86") { -- if (is_clang && !is_android && !is_nacl && !is_chromeos_device) { -+ if (is_clang && !is_android && !is_nacl && !is_chromeos_device && !is_bsd) { +- 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 { -@@ -1277,7 +1284,7 @@ config("compiler_cpu_abi") { - ] - } +@@ -1302,7 +1309,7 @@ config("compiler_cpu_abi") { + "-msse3", + ] } else if (current_cpu == "arm") { -- if (is_clang && !is_android && !is_nacl && !is_chromeos_device) { -+ if (is_clang && !is_android && !is_nacl && !is_chromeos_device && !is_bsd) { +- 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" ] } -@@ -1292,7 +1299,7 @@ config("compiler_cpu_abi") { +@@ -1314,7 +1321,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia && -- !is_chromeos_device) { -+ !is_chromeos_device && !is_bsd) { +- 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" ] } -@@ -1638,7 +1645,7 @@ config("compiler_deterministic") { - # different build directory like "out/feature_a" and "out/feature_b" if - # we build same files with same compile flag. - # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -+ if (is_nacl || is_bsd) { - # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. - cflags += [ - "-Xclang", -@@ -1704,7 +1711,7 @@ config("compiler_deterministic") { +@@ -1713,7 +1720,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) { -@@ -2139,9 +2146,6 @@ config("default_warnings") { +@@ -2134,9 +2141,6 @@ config("default_warnings") { - # TODO(crbug.com/40284799): Fix and re-enable. - "-Wno-thread-safety-reference-return", + # TODO(crbug.com/40284799): Fix and re-enable. + "-Wno-thread-safety-reference-return", - -- # TODO(crbug.com/376641662): Fix and re-enable. -- "-Wno-nontrivial-memcall", - ] +- # TODO(crbug.com/376641662): Fix and re-enable. +- "-Wno-nontrivial-memcall", + ] - cflags_cc += [ -@@ -2946,7 +2950,7 @@ config("afdo_optimize_size") { + cflags_cc += [ +@@ -2920,7 +2924,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. -@@ -2973,7 +2977,7 @@ config("afdo") { +@@ -2947,7 +2951,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 ] } -@@ -3162,7 +3166,7 @@ config("symbols") { - cflags += [ "-gomit-unreferenced-methods" ] - } - -- if (is_clang && (!is_nacl || is_nacl_saigo)) { -+ if (is_clang && (!is_nacl || is_nacl_saigo) && !is_bsd) { - if (is_apple) { - # TODO(crbug.com/40117949): Investigate missing debug info on mac. - # Make sure we don't use constructor homing on mac. diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni index b037f6e4a95b..74d87078309c 100644 --- a/www/chromium/files/patch-build_config_rust.gni +++ b/www/chromium/files/patch-build_config_rust.gni @@ -1,15 +1,15 @@ ---- build/config/rust.gni.orig 2025-07-02 06:08:04 UTC +--- build/config/rust.gni.orig 2025-09-06 10:01:20 UTC +++ build/config/rust.gni -@@ -373,7 +373,11 @@ if (is_linux || is_chromeos) { +@@ -369,7 +369,11 @@ if (is_linux || is_chromeos) { } } -if (toolchain_has_rust) { +if (is_bsd) { + rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os) +} + +if (toolchain_has_rust && !is_bsd) { assert(rust_abi_target != "") _known_rust_target_triples_filepath = "//build/rust/known-target-triples.txt" diff --git a/www/chromium/files/patch-build_nocompile.gni b/www/chromium/files/patch-build_nocompile.gni deleted file mode 100644 index 64296d2e06a3..000000000000 --- a/www/chromium/files/patch-build_nocompile.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- build/nocompile.gni.orig 2025-02-19 07:43:18 UTC -+++ build/nocompile.gni -@@ -55,7 +55,7 @@ if (is_win) { - } - - declare_args() { -- enable_nocompile_tests = is_clang && !is_nacl -+ enable_nocompile_tests = is_clang && !is_nacl && !is_bsd - } - - if (enable_nocompile_tests) { diff --git a/www/chromium/files/patch-build_rust_allocator_lib.rs b/www/chromium/files/patch-build_rust_allocator_lib.rs new file mode 100644 index 000000000000..9f0e0b27b8f8 --- /dev/null +++ b/www/chromium/files/patch-build_rust_allocator_lib.rs @@ -0,0 +1,15 @@ +--- build/rust/allocator/lib.rs.orig 2025-09-08 09:17:21 UTC ++++ build/rust/allocator/lib.rs +@@ -90,6 +90,12 @@ mod both_allocators { + #[linkage = "weak"] + fn __rust_no_alloc_shim_is_unstable_v2() {} + ++ // 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; ++ + // Mangle the symbol name as rustc expects. + #[rustc_std_internal_symbol] + #[allow(non_upper_case_globals)] diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni index 8c544b43738a..ff9a487fa51f 100644 --- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,44 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2025-04-04 08:52:13 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2025-09-06 10:01:20 UTC +++ build/toolchain/gcc_toolchain.gni -@@ -56,6 +56,13 @@ if (enable_resource_allowlist_generation) { +@@ -49,6 +49,13 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { + extra_cflags = "" + extra_cppflags = "" + extra_cxxflags = "" + extra_ldflags = "" +} + # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -896,22 +903,12 @@ template("gcc_toolchain") { +@@ -893,22 +900,12 @@ template("gcc_toolchain") { # actually just be doing a native compile. template("clang_toolchain") { gcc_toolchain(target_name) { - _path = "$clang_base_path/bin" - _is_path_absolute = get_path_info(_path, "abspath") == _path - - # Preserve absolute paths for tools like distcc. - if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { - prefix = _path - } else { - prefix = rebase_path(_path, root_build_dir) - } - - cc = "${prefix}/clang" - cxx = "${prefix}/clang++" + cc = "cc" + cxx = "c++" ld = cxx - readelf = "${prefix}/llvm-readelf" - ar = "${prefix}/llvm-ar" - nm = "${prefix}/llvm-nm" + readelf = "readelf" + ar = "ar" + nm = "nm" forward_variables_from(invoker, "*", [ "toolchain_args" ]) diff --git a/www/chromium/files/patch-build_toolchain_toolchain.gni b/www/chromium/files/patch-build_toolchain_toolchain.gni index 11f7d267813f..bd09ade2ab14 100644 --- a/www/chromium/files/patch-build_toolchain_toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_toolchain.gni @@ -1,11 +1,11 @@ ---- build/toolchain/toolchain.gni.orig 2025-07-02 06:08:04 UTC +--- build/toolchain/toolchain.gni.orig 2025-09-06 10:01:20 UTC +++ build/toolchain/toolchain.gni -@@ -60,7 +60,7 @@ if (host_os == "mac") { +@@ -63,7 +63,7 @@ if (host_os == "mac") { host_shlib_extension = ".dylib" } else if (host_os == "win") { host_shlib_extension = ".dll" -} else if (host_os == "linux" || host_os == "aix" || host_os == "zos") { +} else if (is_posix) { host_shlib_extension = ".so" } else { assert(false, "Host platform not supported") diff --git a/www/chromium/files/patch-cc_base_features.cc b/www/chromium/files/patch-cc_base_features.cc index ff7dff601475..ed2fe88a01d6 100644 --- a/www/chromium/files/patch-cc_base_features.cc +++ b/www/chromium/files/patch-cc_base_features.cc @@ -1,11 +1,11 @@ ---- cc/base/features.cc.orig 2025-05-28 14:55:43 UTC +--- cc/base/features.cc.orig 2025-09-06 10:01:20 UTC +++ cc/base/features.cc -@@ -52,7 +52,7 @@ const base::FeatureParam kDeferImplInvalidationFr +@@ -55,7 +55,7 @@ const base::FeatureParam kDeferImplInvalidationFr // be using a separate flag to control the launch on GL. BASE_FEATURE(kUseDMSAAForTiles, "UseDMSAAForTiles", -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc index f1761d090bbe..c978b28e7c2c 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,147 +1,113 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/app/chrome_main_delegate.cc -@@ -146,7 +146,7 @@ - #include "components/webui/about/credit_utils.h" - #endif - --#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) - #include "components/nacl/common/nacl_paths.h" - #include "components/nacl/zygote/nacl_fork_delegate_linux.h" - #endif -@@ -186,17 +186,17 @@ +@@ -179,17 +179,17 @@ #include "v8/include/v8.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/environment.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/scoped_xdg_activation_token_injector.h" #include "ui/linux/display_server_utils.h" #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/policy_path_parser.h" #include "components/crash/core/app/crashpad.h" #endif -@@ -314,7 +314,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty +@@ -294,7 +294,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty // and resources loaded. bool SubprocessNeedsResourceBundle(const std::string& process_type) { return -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The zygote process opens the resources for the renderers. process_type == switches::kZygoteProcess || #endif -@@ -397,7 +397,7 @@ bool HandleVersionSwitches(const base::CommandLine& co +@@ -373,7 +373,7 @@ bool HandleVersionSwitches(const base::CommandLine& co return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Show the man page if --help or -h is on the command line. void HandleHelpSwitches(const base::CommandLine& command_line) { if (command_line.HasSwitch(switches::kHelp) || -@@ -409,7 +409,7 @@ void HandleHelpSwitches(const base::CommandLine& comma +@@ -385,7 +385,7 @@ void HandleHelpSwitches(const base::CommandLine& comma } #endif // BUILDFLAG(IS_LINUX) -#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) void SIGTERMProfilingShutdown(int signal) { content::Profiling::Stop(); struct sigaction sigact; -@@ -491,7 +491,7 @@ std::optional AcquireProcessSingleton( +@@ -467,7 +467,7 @@ std::optional AcquireProcessSingleton( // process can be exited. ChromeProcessSingleton::CreateInstance(user_data_dir); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Read the xdg-activation token and set it in the command line for the // duration of the notification in order to ensure this is propagated to an // already running browser process if it exists. -@@ -569,7 +569,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -545,7 +545,7 @@ void InitializeUserDataDir(base::CommandLine* command_ std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, Chrome does not support running multiple copies under different // DISPLAYs, so the profile directory can be specified in the environment to // support the virtual desktop use-case. -@@ -667,7 +667,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& +@@ -643,7 +643,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Record the startup process creation time on supported platforms. On Android // this is recorded in ChromeMainDelegateAndroid. startup_metric_utils::GetCommon().RecordStartupProcessCreationTime( -@@ -826,7 +826,7 @@ std::optional ChromeMainDelegate::PostEarlyInitia +@@ -802,7 +802,7 @@ std::optional ChromeMainDelegate::PostEarlyInitia #if BUILDFLAG(IS_OZONE) // Initialize Ozone platform and add required feature flags as per platform's // properties. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess()); #endif ui::OzonePlatform::PreEarlyInitialization(); -@@ -981,7 +981,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { +@@ -957,7 +957,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { const bool is_canary_dev = IsCanaryDev(); const bool emit_crashes = #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) is_canary_dev; #else false; -@@ -1129,7 +1129,7 @@ std::optional ChromeMainDelegate::BasicStartupCom +@@ -1105,7 +1105,7 @@ std::optional ChromeMainDelegate::BasicStartupCom return 0; // Got a --credits switch; exit with a success error code. } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This will directly exit if the user asked for help. HandleHelpSwitches(command_line); #endif -@@ -1154,7 +1154,7 @@ std::optional ChromeMainDelegate::BasicStartupCom - ash::RegisterPathProvider(); - chromeos::dbus_paths::RegisterPathProvider(); - #endif --#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) - nacl::RegisterPathProvider(); - #endif - -@@ -1445,7 +1445,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1409,7 +1409,7 @@ void ChromeMainDelegate::PreSandboxStartup() { CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; } -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess && !command_line.HasSwitch(switches::kDisableCrashpadForTesting)) { -@@ -1533,13 +1533,13 @@ std::variant ChromeM - #else - - #if BUILDFLAG(IS_MAC) || (BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && \ -- !BUILDFLAG(IS_CHROMEOS)) -+ !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)) - static const MainFunction kMainFunctions[] = { - #if BUILDFLAG(IS_MAC) - {switches::kRelauncherProcess, mac_relauncher::internal::RelauncherMain}, - {switches::kCodeSignCloneCleanupProcess, - code_sign_clone_manager::internal::ChromeCodeSignCloneCleanupMain}, --#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) - // This entry is not needed on Linux, where the NaCl loader - // process is launched via nacl_helper instead. - {switches::kNaClLoaderProcess, NaClMain}, diff --git a/www/chromium/files/patch-chrome_app_settings__strings.grdp b/www/chromium/files/patch-chrome_app_settings__strings.grdp new file mode 100644 index 000000000000..6c93f8f8346c --- /dev/null +++ b/www/chromium/files/patch-chrome_app_settings__strings.grdp @@ -0,0 +1,16 @@ +--- chrome/app/settings_strings.grdp.orig 2025-09-06 10:01:20 UTC ++++ chrome/app/settings_strings.grdp +@@ -240,11 +240,9 @@ + + Reset to default + +- +- ++ + Reset to default theme +- +- ++ + + Customize your toolbar + diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn index 92d40613e379..60bb755e81ca 100644 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- chrome/browser/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/BUILD.gn -@@ -7056,6 +7056,13 @@ static_library("browser") { +@@ -7039,6 +7039,13 @@ static_library("browser") { [ "//third_party/webrtc/modules/desktop_capture:pipewire_config" ] } + if (is_bsd) { + sources -= [ + "metrics/bluetooth_metrics_provider.cc", + "metrics/bluetooth_metrics_provider.h", + ] + } + if (use_dbus) { sources += [ "dbus_memory_pressure_evaluator_linux.cc", diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index b559f20edefc..61ee0bf892d2 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,415 +1,385 @@ ---- chrome/browser/about_flags.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/about_flags.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/about_flags.cc -@@ -265,7 +265,7 @@ - #include "extensions/common/extension_features.h" +@@ -328,12 +328,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" - #endif - -@@ -354,7 +354,7 @@ - #include "device/vr/public/cpp/switches.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/ozone/public/ozone_switches.h" - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) - -@@ -364,7 +364,7 @@ - #include "chrome/browser/win/mica_titlebar.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" -@@ -376,7 +376,7 @@ - #include "components/user_education/common/user_education_features.h" // nogncheck - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/browser/ui/ui_features.h" - #include "ui/base/ui_base_features.h" - #endif -@@ -537,7 +537,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap - {"Max 3 Frames", &kDXGIWaitableSwapChain3Frames, 1, nullptr}}; - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = { - {flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""}, - {flag_descriptions::kOzonePlatformHintChoiceAuto, -@@ -958,6 +958,26 @@ const FeatureEntry::FeatureVariation +@@ -904,6 +904,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[] = { -@@ -1331,7 +1351,7 @@ constexpr FeatureEntry::FeatureVariation - #endif // !BUILDFLAG(IS_ANDROID) - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - const FeatureEntry::FeatureParam kHistoryEmbeddingsAtKeywordAcceleration[]{ - {"AtKeywordAcceleration", "true"}, - }; -@@ -1369,7 +1389,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada +@@ -1284,7 +1304,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[] = { -@@ -3888,7 +3908,7 @@ const FeatureEntry::FeatureVariation +@@ -3920,7 +3940,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[] = -@@ -4323,7 +4343,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari +@@ -4216,7 +4236,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"}}; -@@ -4364,7 +4384,7 @@ const FeatureEntry::FeatureVariation +@@ -4257,7 +4277,7 @@ const FeatureEntry::FeatureVariation 1, 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 kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -5399,7 +5419,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5468,7 +5488,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, -@@ -5700,7 +5720,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5767,7 +5787,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, -@@ -5920,7 +5940,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5981,7 +6001,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, -@@ -5961,6 +5981,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6014,6 +6034,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) -@@ -6880,7 +6910,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6915,7 +6945,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:: -@@ -7245,7 +7275,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7314,7 +7344,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_WITH_PARAMS_VALUE_TYPE(history_embeddings::kHistoryEmbeddings, -@@ -7761,7 +7791,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, +@@ -7819,7 +7849,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8061,7 +8091,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kSupportToolScreenshotDescription, kOsDesktop, - FEATURE_VALUE_TYPE(features::kSupportToolScreenshot)}, - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - {"wasm-tts-component-updater-enabled", - flag_descriptions::kWasmTtsComponentUpdaterEnabledName, - flag_descriptions::kWasmTtsComponentUpdaterEnabledDescription, kOsDesktop, -@@ -8750,7 +8780,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8780,7 +8810,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, -@@ -9400,7 +9430,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9407,7 +9437,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)}, -@@ -9425,7 +9455,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9432,7 +9462,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, -@@ -9892,7 +9922,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9888,7 +9918,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, -@@ -10065,7 +10095,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10074,7 +10104,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, -@@ -10581,7 +10611,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10573,7 +10603,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), -@@ -10712,7 +10742,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(chrome::android::kReadAloudTapToSeek)}, - #endif +@@ -10696,7 +10726,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) {"third-party-profile-management", flag_descriptions::kThirdPartyProfileManagementName, flag_descriptions::kThirdPartyProfileManagementDescription, -@@ -10741,7 +10771,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10725,7 +10755,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, -@@ -11481,7 +11511,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11290,7 +11320,7 @@ const FeatureEntry kFeatureEntries[] = { + PLATFORM_FEATURE_NAME_TYPE("CrOSLateBootGravedigger")}, + #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) + {"replace-sync-promos-with-sign-in-promos-desktop", + flag_descriptions::kReplaceSyncPromosWithSignInPromosName, + flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, +@@ -11449,7 +11479,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) {"enable-history-sync-optin", flag_descriptions::kEnableHistorySyncOptinName, flag_descriptions::kEnableHistorySyncOptinDescription, -@@ -11592,7 +11622,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11552,7 +11582,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-profile-safe-search", - flag_descriptions::kSupervisedProfileSafeSearchName, - flag_descriptions::kSupervisedProfileSafeSearchDescription, -@@ -11841,7 +11871,7 @@ const FeatureEntry kFeatureEntries[] = { + {"supervised-user-local-web-approvals", + flag_descriptions::kSupervisedUserLocalWebApprovalsName, + flag_descriptions::kSupervisedUserLocalWebApprovalsDescription, +@@ -11778,7 +11808,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, kOsDesktop, -@@ -11942,7 +11972,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11877,7 +11907,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, -@@ -11976,7 +12006,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11911,7 +11941,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, -@@ -12310,7 +12340,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12241,7 +12271,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)}, -@@ -12354,7 +12384,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12285,7 +12315,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-desktop", flag_descriptions::kAutofillEnableAmountExtractionDesktopName, flag_descriptions::kAutofillEnableAmountExtractionDesktopDescription, -@@ -12374,7 +12404,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(blink::features::kClipboardContentsId)}, +@@ -12305,7 +12335,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(blink::features::kClipboardChangeEvent)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-allowlist-desktop", flag_descriptions::kAutofillEnableAmountExtractionAllowlistDesktopName, flag_descriptions:: -@@ -12492,7 +12522,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12437,7 +12467,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, -@@ -12528,7 +12558,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12473,7 +12503,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-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -12543,7 +12573,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kEnableWebAppUpdateTokenParsingDescription, kOsAll, - FEATURE_VALUE_TYPE(features::kWebAppEnableUpdateTokenParsing)}, +@@ -12488,7 +12518,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, -@@ -12792,7 +12822,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12739,7 +12769,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)}, -@@ -12878,7 +12908,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12825,7 +12855,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, -@@ -13008,7 +13038,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(blink::features::kWebAppInstallation)}, +@@ -12948,7 +12978,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"lens-search-side-panel-default-width-change", flag_descriptions::kLensSearchSidePanelDefaultWidthChangeName, flag_descriptions::kLensSearchSidePanelDefaultWidthChangeDescription, -@@ -13032,7 +13062,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12972,7 +13002,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -13073,7 +13103,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13010,7 +13040,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillEnableDownstreamCardAwarenessIph)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-lens-overlay-back-to-page", flag_descriptions::kLensOverlayBackToPageName, flag_descriptions::kLensOverlayBackToPageDescription, kOsDesktop, +@@ -13059,7 +13089,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"autofill-enable-buy-now-pay-later-for-externally-linked", + flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, + flag_descriptions:: diff --git a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index 3b76127eb94b..3fe061a8e5fb 100644 --- a/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc +++ b/www/chromium/files/patch-chrome_browser_background_glic_glic__status__icon.cc @@ -1,38 +1,38 @@ ---- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/background/glic/glic_status_icon.cc -@@ -92,7 +92,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control +@@ -93,7 +93,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control if (!status_icon_) { return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set a vector icon for proper themeing on Linux. status_icon_->SetIcon( GlicVectorIconManager::GetVectorIcon(IDR_GLIC_BUTTON_VECTOR_ICON)); -@@ -134,7 +134,7 @@ GlicStatusIcon::~GlicStatusIcon() { +@@ -135,7 +135,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 = -@@ -242,7 +242,7 @@ void GlicStatusIcon::UpdateHotkey(const ui::Accelerato +@@ -243,7 +243,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 = -@@ -292,7 +292,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -293,7 +293,7 @@ std::unique_ptr GlicStatusIcon::C menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_SETTINGS, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_SETTINGS)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) menu->AddSeparator(ui::NORMAL_SEPARATOR); menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_EXIT, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_EXIT)); diff --git a/www/chromium/files/patch-chrome_browser_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc index 9789ae5d2925..109cd661eb8e 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.cc +++ b/www/chromium/files/patch-chrome_browser_browser__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_features.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/browser_features.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/browser_features.cc -@@ -75,7 +75,7 @@ BASE_FEATURE(kClearUserDataUponProfileDestruction, +@@ -80,7 +80,7 @@ BASE_FEATURE(kClearUserDataUponProfileDestruction, "ClearUserDataUponProfileDestruction", 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. -@@ -94,7 +94,7 @@ BASE_FEATURE(kUseFreedesktopSecretKeyProvider, +@@ -99,7 +99,7 @@ BASE_FEATURE(kUseFreedesktopSecretKeyProvider, // the browser exits. BASE_FEATURE(kDestroyProfileOnBrowserClose, "DestroyProfileOnBrowserClose", -#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); -@@ -232,7 +232,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, +@@ -241,7 +241,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, "SandboxExternalProtocolBlockedWarning", base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If true, encrypt new data with the key provided by SecretPortalKeyProvider. // Otherwise, it will only decrypt existing data. BASE_FEATURE(kSecretPortalKeyProviderUseForEncryption, diff --git a/www/chromium/files/patch-chrome_browser_browser__features.h b/www/chromium/files/patch-chrome_browser_browser__features.h index d65bb867aeb8..966de3149890 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.h +++ b/www/chromium/files/patch-chrome_browser_browser__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/browser_features.h.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/browser_features.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/browser_features.h -@@ -38,7 +38,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore +@@ -39,7 +39,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 -@@ -101,7 +101,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed +@@ -87,7 +87,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/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc index 47611a600803..cb230f07409f 100644 --- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,47 +1,47 @@ ---- chrome/browser/browser_process_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/browser_process_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/browser_process_impl.cc -@@ -256,7 +256,7 @@ +@@ -257,7 +257,7 @@ #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" -@@ -268,7 +268,7 @@ +@@ -269,7 +269,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; -@@ -1168,7 +1168,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -1170,7 +1170,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 } -@@ -1436,7 +1436,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1438,7 +1438,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") { -@@ -1716,7 +1716,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1718,7 +1718,7 @@ void BrowserProcessImpl::Unpin() { } // Mac is currently not supported. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool BrowserProcessImpl::IsRunningInBackground() const { // Check if browser is in the background. diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h index fc5d863712f9..2637f2df12c3 100644 --- a/www/chromium/files/patch-chrome_browser_browser__process__impl.h +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/browser_process_impl.h.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/browser_process_impl.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/browser_process_impl.h -@@ -416,7 +416,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -414,7 +414,7 @@ class BrowserProcessImpl : public BrowserProcess, std::unique_ptr battery_metrics_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::RepeatingTimer autoupdate_timer_; // Gets called by autoupdate timer to see if browser needs restart and can be diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc index 69f247516c11..a3c58110cdd6 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__field__trials.cc @@ -1,20 +1,20 @@ ---- chrome/browser/chrome_browser_field_trials.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_browser_field_trials.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_browser_field_trials.cc -@@ -44,7 +44,7 @@ +@@ -45,7 +45,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) -@@ -100,7 +100,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverride +@@ -101,7 +101,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/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 60638f90f749..de9856b79119 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,29 +1,29 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-09-06 10:01:20 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/screen_ai/screen_ai_service_router.h" #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h" #include "chrome/browser/ui/web_applications/sub_apps_service_impl.h" @@ -365,7 +365,7 @@ void BindMediaFoundationPreferences( #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) void BindScreenAIAnnotator( content::RenderFrameHost* frame_host, mojo::PendingReceiver receiver) { -@@ -550,7 +550,7 @@ void PopulateChromeFrameBinders( +@@ -544,7 +544,7 @@ void PopulateChromeFrameBinders( #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && !render_frame_host->GetParentOrOuterDocument()) { // The service binder will reject non-primary main frames, but we still need diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc index 1f69b16ef8ff..2e7e1faddee9 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc @@ -1,70 +1,59 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -48,20 +48,20 @@ - #include "content/public/browser/web_ui_controller_interface_binder.h" +@@ -51,18 +51,18 @@ + #include "mojo/public/cpp/bindings/binder_map.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h" - #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h" #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) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#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/on_device_translation_internals/on_device_translation_internals_ui.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin.mojom.h" -@@ -464,7 +464,7 @@ void PopulateChromeWebUIFrameBinders( - #endif - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - RegisterWebUIControllerInterfaceBinder< - connectors_internals::mojom::PageHandler, - enterprise_connectors::ConnectorsInternalsUI>(map); -@@ -475,7 +475,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -483,7 +483,7 @@ void PopulateChromeWebUIFrameBinders( policy::DlpInternalsUI>(map); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); -@@ -616,14 +616,14 @@ void PopulateChromeWebUIFrameBinders( +@@ -635,14 +635,14 @@ void PopulateChromeWebUIFrameBinders( 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); -@@ -1166,7 +1166,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -1192,7 +1192,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/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc index 5776a71a509c..2fa607f594df 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,115 +1,115 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -152,7 +152,7 @@ +@@ -153,7 +153,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 -@@ -178,11 +178,11 @@ +@@ -179,11 +179,11 @@ #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" #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" -@@ -193,7 +193,7 @@ +@@ -194,7 +194,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 -@@ -271,7 +271,7 @@ +@@ -266,7 +266,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) -@@ -294,7 +294,7 @@ +@@ -289,7 +289,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"); -@@ -445,7 +445,7 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -440,7 +440,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. -@@ -1012,7 +1012,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1007,7 +1007,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) // Create directory for user-level Native Messaging manifest files. This // makes it less likely that the directory will be created by third-party // software with incorrect owner or permission. See crbug.com/725513 . -@@ -1056,7 +1056,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1051,7 +1051,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(); - TouchModeStatsTracker::Initialize( -@@ -1258,7 +1258,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* + TouchUIControllerStatsTracker::Initialize( +@@ -1271,7 +1271,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( -@@ -1309,7 +1309,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1322,7 +1322,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(); } -@@ -1418,7 +1418,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1431,7 +1431,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(); } -@@ -1963,7 +1963,7 @@ bool ChromeBrowserMainParts::ProcessSingletonNotificat +@@ -1965,7 +1965,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/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc deleted file mode 100644 index 05371e9791c2..000000000000 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2025-05-28 14:55:43 UTC -+++ chrome/browser/chrome_browser_main_extra_parts_linux.cc -@@ -60,7 +60,7 @@ void ChromeBrowserMainExtraPartsLinux::PostBrowserStar - - // static - void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() { --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::CommandLine* const command_line = - base::CommandLine::ForCurrentProcess(); - std::unique_ptr env = base::Environment::Create(); diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index 86bb1887c3cc..d232ce1ac237 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,147 +1,147 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -474,7 +474,7 @@ +@@ -467,7 +467,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) -@@ -570,7 +570,7 @@ +@@ -565,7 +565,7 @@ #include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom.h" #endif // !BUILDFLAG(IS_ANDROID) -#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 -@@ -579,7 +579,7 @@ +@@ -574,7 +574,7 @@ #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" #endif -@@ -587,7 +587,7 @@ +@@ -582,7 +582,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" -@@ -1409,7 +1409,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1406,7 +1406,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) -@@ -1622,7 +1622,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1628,7 +1628,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) -@@ -1653,7 +1653,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1659,7 +1659,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 -@@ -1670,7 +1670,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1676,7 +1676,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()); -@@ -1689,7 +1689,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1695,7 +1695,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>()); -@@ -2685,7 +2685,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2703,7 +2703,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::CommandLine* command_line, int child_process_id) { +#ifdef notyet crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line); +#endif #if BUILDFLAG(IS_MAC) std::unique_ptr client_info = GoogleUpdateSettings::LoadMetricsClientInfo(); -@@ -2694,7 +2696,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2712,7 +2714,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin client_info->client_id); } #elif BUILDFLAG(IS_POSIX) -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) pid_t pid; if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { command_line->AppendSwitchASCII( -@@ -3052,7 +3054,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3044,7 +3046,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) // Opt into a hardened stack canary mitigation if it hasn't already been // force-disabled. if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) { -@@ -4110,7 +4112,7 @@ bool UpdatePreferredColorScheme(WebPreferences* web_pr +@@ -4109,7 +4111,7 @@ bool UpdatePreferredColorScheme(WebPreferences* web_pr return old_preferred_color_scheme != web_prefs->preferred_color_scheme; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Sets the `root_scrollbar_theme_color` web pref if the user has enabled a // custom colored frame for the UI. void UpdateRootScrollbarThemeColor(Profile* profile, -@@ -4748,7 +4750,7 @@ void ChromeContentBrowserClient::OverrideWebPreference +@@ -4752,7 +4754,7 @@ void ChromeContentBrowserClient::OverrideWebPreference UpdatePreferredColorScheme(web_prefs, main_frame_site.GetSiteURL(), web_contents, GetWebTheme()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) UpdateRootScrollbarThemeColor(profile, web_contents, web_prefs); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -@@ -5085,7 +5087,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5030,7 +5032,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, -@@ -7232,7 +7234,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -7174,7 +7176,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) { diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h index de4dfee6665a..959052a077fd 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -587,7 +587,7 @@ class ChromeContentBrowserClient : public content::Con - bool IsPluginAllowedToUseDevChannelAPIs( - content::BrowserContext* browser_context, - const GURL& url) override; +@@ -571,7 +571,7 @@ class ChromeContentBrowserClient : public content::Con + const GURL& site_url) override; + std::unique_ptr CreateTracingDelegate() override; + bool IsSystemWideTracingEnabled() override; -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc index 627ab33837d2..dd3083888b5a 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc @@ -1,38 +1,38 @@ ---- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -123,7 +123,7 @@ +@@ -125,7 +125,7 @@ #include "chrome/browser/captive_portal/captive_portal_service_factory.h" #endif // BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h" -@@ -404,7 +404,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -406,7 +406,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); -@@ -422,7 +422,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -424,7 +424,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) || -@@ -454,7 +454,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -456,7 +456,7 @@ void CreateAndAddChromeThrottlesForNavigation( } #endif // BUILDFLAG(SAFE_BROWSING_AVAILABLE) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherNavigationThrottle::MaybeCreateAndAdd( registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc index 558ba3715f29..b04897149a45 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,38 +1,38 @@ ---- chrome/browser/component_updater/registration.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/component_updater/registration.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/component_updater/registration.cc -@@ -96,7 +96,7 @@ +@@ -94,7 +94,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) -@@ -109,7 +109,7 @@ +@@ -107,7 +107,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) -@@ -253,7 +253,7 @@ void RegisterComponentsForUpdate() { +@@ -245,7 +245,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) -@@ -265,7 +265,7 @@ void RegisterComponentsForUpdate() { +@@ -257,7 +257,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) - if (features::IsWasmTtsComponentUpdaterEnabled()) { - RegisterWasmTtsEngineComponent(cus); - } + RegisterWasmTtsEngineComponent(cus, g_browser_process->local_state()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc index 60944517f1bb..374173fa7ac1 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc @@ -1,56 +1,74 @@ ---- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/component_updater/wasm_tts_engine_component_installer.cc -@@ -9,7 +9,7 @@ - #include "base/logging.h" +@@ -11,7 +11,7 @@ + #include "components/prefs/pref_registry_simple.h" #include "content/public/browser/browser_thread.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/accessibility/embedded_a11y_extension_loader.h" #include "chrome/common/extensions/extension_constants.h" #include "ui/accessibility/accessibility_features.h" -@@ -29,7 +29,7 @@ const base::FilePath::CharType kWorkletProcessorJsFile +@@ -31,7 +31,7 @@ const base::FilePath::CharType kWorkletProcessorJsFile FILE_PATH_LITERAL("streaming_worklet_processor.js"); const base::FilePath::CharType kVoicesJsonFileName[] = FILE_PATH_LITERAL("voices.json"); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::FilePath::CharType kManifestV3FileName[] = FILE_PATH_LITERAL("wasm_tts_manifest_v3.json"); const base::FilePath::CharType kOffscreenHtmlFileName[] = -@@ -49,7 +49,7 @@ constexpr std::array kWasmTtsEnginePublic +@@ -51,7 +51,7 @@ constexpr std::array kWasmTtsEnginePublic const char kWasmTtsEngineManifestName[] = "WASM TTS Engine"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class WasmTTSEngineDirectory { public: static WasmTTSEngineDirectory* Get() { -@@ -119,7 +119,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR +@@ -103,7 +103,7 @@ WasmTtsEngineComponentInstallerPolicy::WasmTtsEngineCo + // static + void WasmTtsEngineComponentInstallerPolicy::RegisterPrefs( + PrefRegistrySimple* registry) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterTimePref(prefs::kAccessibilityReadAnythingDateLastOpened, + base::Time()); + registry->RegisterBooleanPref( +@@ -136,7 +136,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR VLOG(1) << "Component ready, version " << version.GetString() << " in " << install_dir.value(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (features::IsWasmTtsComponentUpdaterEnabled() && - !features::IsWasmTtsEngineAutoInstallDisabled()) { + if (!features::IsWasmTtsEngineAutoInstallDisabled()) { // Instead of installing the component extension as soon as it is ready, -@@ -137,7 +137,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR + // store the install directory, so that the install can be triggered +@@ -160,7 +160,7 @@ void WasmTtsEngineComponentInstallerPolicy::ComponentR + // be removed the next time Chrome is restarted. + void WasmTtsEngineComponentInstallerPolicy::MaybeReinstallTtsEngine( + const base::FilePath& install_dir) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const base::Time current_time = base::Time::Now(); + const base::Time date_last_opened = + pref_service_->GetTime(prefs::kAccessibilityReadAnythingDateLastOpened); +@@ -222,7 +222,7 @@ void WasmTtsEngineComponentInstallerPolicy::MaybeReins bool WasmTtsEngineComponentInstallerPolicy::VerifyInstallation( const base::Value::Dict& /* manifest */, const base::FilePath& install_dir) const { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (features::IsWasmTtsComponentUpdaterV3Enabled()) { return base::PathExists(install_dir.Append(kManifestV3FileName)) && base::PathExists(install_dir.Append(kBindingsMainWasmFileName)) && -@@ -186,7 +186,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer +@@ -272,7 +272,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer void WasmTtsEngineComponentInstallerPolicy::GetWasmTTSEngineDirectory( base::OnceCallback callback) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WasmTTSEngineDirectory* wasm_directory = WasmTTSEngineDirectory::Get(); wasm_directory->Get(std::move(callback)); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_devtools_features.cc b/www/chromium/files/patch-chrome_browser_devtools_features.cc deleted file mode 100644 index f89d9de69779..000000000000 --- a/www/chromium/files/patch-chrome_browser_devtools_features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/devtools/features.cc.orig 2025-05-28 14:55:43 UTC -+++ chrome/browser/devtools/features.cc -@@ -164,7 +164,7 @@ BASE_FEATURE(kDevToolsNewPermissionDialog, - "DevToolsNewPermissionDialog", - 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) - // If enabled, DevTools does not accept remote debugging connections unless - // using a non-default user data dir via the --user-data-dir switch. - BASE_FEATURE(kDevToolsDebuggingRestrictions, diff --git a/www/chromium/files/patch-chrome_browser_devtools_features.h b/www/chromium/files/patch-chrome_browser_devtools_features.h deleted file mode 100644 index 8496bb3def7f..000000000000 --- a/www/chromium/files/patch-chrome_browser_devtools_features.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/devtools/features.h.orig 2025-05-28 14:55:43 UTC -+++ chrome/browser/devtools/features.h -@@ -92,7 +92,7 @@ BASE_DECLARE_FEATURE(kDevToolsAiGeneratedTimelineLabel - - BASE_DECLARE_FEATURE(kDevToolsNewPermissionDialog); - --#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(kDevToolsDebuggingRestrictions); - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - diff --git a/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc index 703521dd27a1..c48eb7e3db97 100644 --- a/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc +++ b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.cc @@ -1,11 +1,29 @@ ---- chrome/browser/devtools/remote_debugging_server.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/devtools/remote_debugging_server.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/devtools/remote_debugging_server.cc -@@ -109,7 +109,7 @@ IsRemoteDebuggingAllowed(const std::optional& is +@@ -42,7 +42,7 @@ namespace { + + bool g_tethering_enabled = false; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool g_enable_default_user_data_dir_check_for_chromium_branding_for_testing = + false; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -114,7 +114,7 @@ IsRemoteDebuggingAllowed(const std::optional& is + return base::unexpected( RemoteDebuggingServer::NotStartedReason::kDisabledByPolicy); } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + constexpr bool default_user_data_dir_check_enabled = true; + #else +@@ -140,7 +140,7 @@ void RemoteDebuggingServer::EnableTetheringForDebug() + g_tethering_enabled = true; + } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled(features::kDevToolsDebuggingRestrictions) && - is_default_user_data_dir.value_or(true)) { - return base::unexpected( + // static + void RemoteDebuggingServer::EnableDefaultUserDataDirCheckForTesting() { + g_enable_default_user_data_dir_check_for_chromium_branding_for_testing = true; diff --git a/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.h b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.h new file mode 100644 index 000000000000..5426e1ae06e7 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_devtools_remote__debugging__server.h @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/remote_debugging_server.h.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/devtools/remote_debugging_server.h +@@ -33,7 +33,7 @@ class RemoteDebuggingServer { + + static void EnableTetheringForDebug(); + +-#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 default user data dir check even for non-Chrome branded builds, + // for testing. + static void EnableDefaultUserDataDirCheckForTesting(); diff --git a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index 001d307537c3..867530262383 100644 --- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1925,7 +1925,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1944,7 +1944,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(); } -@@ -2061,7 +2061,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2080,7 +2080,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()) { -@@ -2143,7 +2143,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2162,7 +2162,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl DCHECK(download_item->IsSavePackageDownload()); #if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC)) && \ + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) std::optional settings = safe_browsing::ShouldUploadBinaryForDeepScanning(download_item); diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc index b323c54a1eb2..5ca876094667 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/download/download_item_model.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/download/download_item_model.cc -@@ -773,7 +773,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -723,7 +723,7 @@ bool DownloadItemModel::IsCommandChecked( download_crx_util::IsExtensionDownload(*download_); case DownloadCommands::ALWAYS_OPEN_TYPE: #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); return prefs->ShouldOpenPdfInSystemReader(); -@@ -821,7 +821,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -771,7 +771,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!is_checked); SetShouldPreferOpeningInBrowser(is_checked); -@@ -1211,7 +1211,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1174,7 +1174,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") { SetShouldPreferOpeningInBrowser(true); return; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc index 1e930d3c73a5..76dfaaf12c7e 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_common.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/common.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/enterprise/connectors/common.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/enterprise/connectors/common.cc -@@ -17,7 +17,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 -@@ -192,7 +192,7 @@ std::string GetProfileEmail(Profile* profile) { +@@ -235,7 +235,7 @@ std::string GetProfileEmail(Profile* profile) { std::string email = GetProfileEmail(IdentityManagerFactory::GetForProfile(profile)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (email.empty()) { email = profile->GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserEmail); diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc index 1382503940d2..312e6d0fc6d6 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc -@@ -52,7 +52,7 @@ +@@ -53,7 +53,7 @@ #include "base/strings/utf_string_conversions.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #include "components/device_signals/core/browser/signals_aggregator.h" -@@ -157,7 +157,7 @@ void RealtimeReportingClient::ReportPastEvent(const st +@@ -158,7 +158,7 @@ void RealtimeReportingClient::ReportPastEvent(const st /*include_profile_user_name=*/false); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AddCrowdstrikeSignalsToEvent( base::Value::Dict& event, -@@ -193,7 +193,7 @@ std::string RealtimeReportingClient::GetProfileUserNam +@@ -194,7 +194,7 @@ std::string RealtimeReportingClient::GetProfileUserNam username_ = identity_manager_ ? GetProfileEmail(identity_manager_) : std::string(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (username_.empty()) { username_ = Profile::FromBrowserContext(context_)->GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserEmail); -@@ -245,7 +245,7 @@ std::string RealtimeReportingClient::GetBrowserClientI +@@ -251,7 +251,7 @@ std::string RealtimeReportingClient::GetBrowserClientI return client_id; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) void RealtimeReportingClient::MaybeCollectDeviceSignalsAndReportEvent( ::chrome::cros::reporting::proto::Event event, policy::CloudPolicyClient* client, diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h index 0056f483beea..d87fe5a01ed6 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h @@ -1,29 +1,29 @@ ---- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h @@ -19,7 +19,7 @@ #include "components/keyed_service/core/keyed_service.h" #include "components/policy/core/common/cloud/cloud_policy_client.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/device_signals/core/browser/signals_types.h" #endif -@@ -118,7 +118,7 @@ class RealtimeReportingClient : public RealtimeReporti +@@ -119,7 +119,7 @@ class RealtimeReportingClient : public RealtimeReporti const std::string& dm_token) override; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) // DEPRECATED: Use MaybeCollectDeviceSignalsAndReportEvent(Event, ...). void MaybeCollectDeviceSignalsAndReportEventDeprecated( base::Value::Dict event, -@@ -168,7 +168,7 @@ class RealtimeReportingClient : public RealtimeReporti +@@ -169,7 +169,7 @@ class RealtimeReportingClient : public RealtimeReporti base::WeakPtrFactory weak_ptr_factory_{this}; }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Populate event dict with CrowdStrike signal values. If those signals are // available in `response`, this function returns a Dict with the following // fields added: diff --git a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc deleted file mode 100644 index 7c672ac5f5f6..000000000000 --- a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service__factory.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/enterprise/reporting/cloud_profile_reporting_service_factory.cc.orig 2025-07-02 06:08:04 UTC -+++ chrome/browser/enterprise/reporting/cloud_profile_reporting_service_factory.cc -@@ -10,7 +10,7 @@ - #include "components/enterprise/browser/reporting/report_scheduler.h" - #include "services/network/public/cpp/shared_url_loader_factory.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) - -@@ -48,7 +48,7 @@ CloudProfileReportingServiceFactory::CloudProfileRepor - ProfileSelections::BuildForRegularProfile()) { - DependsOn(enterprise::ProfileIdServiceFactory::GetInstance()); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Depends on this service because - // `CloudProfileReportingService.profile_request_generator_` has a dependency - // on it. diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc new file mode 100644 index 000000000000..ec6e10a8480d --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_signals__aggregator__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/signals/signals_aggregator_factory.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/enterprise/signals/signals_aggregator_factory.cc +@@ -49,7 +49,7 @@ + #include "components/device_signals/core/browser/settings_client.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/device_signals/core/browser/agent_signals_collector.h" + #include "components/device_signals/core/browser/crowdstrike_client.h" + #include "components/device_signals/core/browser/detected_agent_client.h" +@@ -114,7 +114,7 @@ SignalsAggregatorFactory::BuildServiceInstanceForBrows + service_host)); + #endif // !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + collectors.push_back(std::make_unique( + device_signals::CrowdStrikeClient::Create(), + device_signals::DetectedAgentClient::Create())); diff --git a/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc b/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc index 2ada0ace0369..620b01a637c6 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc @@ -1,29 +1,38 @@ ---- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/enterprise/util/managed_browser_utils.cc -@@ -213,7 +213,7 @@ void SetUserAcceptedAccountManagement(Profile* profile +@@ -220,7 +220,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) - if (accepted && base::FeatureList::IsEnabled( - features::kEnterpriseUpdatedProfileCreationScreen)) { - profile->GetPrefs()->SetBoolean( -@@ -225,7 +225,7 @@ void SetUserAcceptedAccountManagement(Profile* profile + profile->GetPrefs()->SetBoolean( + device_signals::prefs::kDeviceSignalsPermanentConsentReceived, accepted); + #endif +@@ -229,7 +229,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); -@@ -344,7 +344,7 @@ bool CanShowEnterpriseProfileUI(Profile* profile) { +@@ -348,7 +348,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) { +@@ -366,7 +366,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()) { - return false; + ->IsBrowserManaged() || + !g_browser_process->local_state()->GetBoolean( diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index 8c90d2627296..59904e9ca526 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1493,6 +1493,10 @@ source_set("extensions") { +@@ -1516,6 +1516,10 @@ source_set("extensions") { deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_pdf) { deps += [ "//chrome/browser/pdf", diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc index 334bc33d1bad..5bbd2fd3c51c 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc -@@ -635,7 +635,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem +@@ -647,7 +647,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem } void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) PasswordsPrivateEventRouter* router = PasswordsPrivateEventRouterFactory::GetForProfile(profile_); if (router) { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc index 481c02106e4b..4c61667ba0b9 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -326,7 +326,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor +@@ -356,7 +356,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor } else if (strcmp(os, "linux") == 0) { info->os = extensions::api::runtime::PlatformOs::kLinux; } else if (strcmp(os, "openbsd") == 0) { - info->os = extensions::api::runtime::PlatformOs::kOpenbsd; + info->os = extensions::api::runtime::PlatformOs::kLinux; + } else if (strcmp(os, "freebsd") == 0) { + info->os = extensions::api::runtime::PlatformOs::kLinux; } else if (strcmp(os, "android") == 0) { info->os = extensions::api::runtime::PlatformOs::kAndroid; } else { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index f16233cfe00a..19963115b990 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc @@ -197,7 +197,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] = settings_api::PrefType::kBoolean; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) (*s_allowlist)[autofill::prefs::kAutofillBnplEnabled] = settings_api::PrefType::kBoolean; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -215,7 +215,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + (*s_allowlist)[autofill::prefs::kAutofillAiOptInStatus] = +@@ -217,7 +217,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 -@@ -229,7 +229,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -231,7 +231,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString; (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kSystemTheme] = settings_api::PrefType::kNumber; #endif (*s_allowlist)[::prefs::kHomePage] = settings_api::PrefType::kUrl; diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc similarity index 66% rename from www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc rename to www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc index b271ec72f156..de1342c90ef8 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api__non__android.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2025-08-07 06:57:29 UTC -+++ chrome/browser/extensions/api/tabs/tabs_api.cc -@@ -992,7 +992,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio +--- chrome/browser/extensions/api/tabs/tabs_api_non_android.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/extensions/api/tabs/tabs_api_non_android.cc +@@ -756,7 +756,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() == ui::mojom::WindowShowState::kMinimized) { new_window->window()->Minimize(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc index 0e29da45b7f2..ceb8a880304d 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc @@ -1,20 +1,11 @@ ---- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/component_extensions_allowlist/allowlist.cc @@ -48,7 +48,7 @@ bool IsComponentExtensionAllowlisted(const std::string #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_CHROMEOS) extension_misc::kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extension_misc::kTTSEngineExtensionId, extension_misc::kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -85,7 +85,7 @@ bool IsComponentExtensionAllowlisted(int manifest_reso - case IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST: - case IDR_NETWORK_SPEECH_SYNTHESIS_MANIFEST_MV3: - case IDR_READING_MODE_GDOCS_HELPER_MANIFEST: --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - case IDR_TTS_ENGINE_MANIFEST: - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) - case IDR_WEBSTORE_MANIFEST: diff --git a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index 882dfca58565..b574af9e0d87 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -828,7 +828,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -827,7 +827,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( -@@ -856,7 +856,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -855,7 +855,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index f46250d3a64d..f452aaccb3f6 100644 --- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -341,7 +341,7 @@ GenerateBlockedPath() { - FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), - BlockType::kDontBlockChildren}, +@@ -374,7 +374,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}, - // And security sensitive data in /proc and /sys. + // On Linux also block access to devices via /dev. + {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), + BlockType::kBlockAllChildren}, diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc index c23dd9f61720..dfda4d34b34e 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,192 +1,182 @@ ---- chrome/browser/flag_descriptions.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/flag_descriptions.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/flag_descriptions.cc -@@ -694,7 +694,7 @@ const char kAutofillEnableAllowlistForBmoCardCategoryB +@@ -667,7 +667,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_CHROMEOS) || BUILDFLAG(IS_BSD) const char kAutofillEnableAmountExtractionAllowlistDesktopName[] = "Enable loading and querying the checkout amount extraction allowlist on " "Chrome Desktop"; -@@ -712,7 +712,7 @@ const char kAutofillEnableAmountExtractionDesktopDescr +@@ -685,7 +685,7 @@ const char kAutofillEnableAmountExtractionDesktopDescr // BUILDFLAG(IS_CHROMEOS) #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 kAutofillEnableAmountExtractionTestingName[] = "Enable amount extraction testing on Chrome desktop and Clank"; const char kAutofillEnableAmountExtractionTestingDescription[] = -@@ -723,7 +723,7 @@ const char kAutofillEnableAmountExtractionTestingDescr +@@ -696,7 +696,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_CHROMEOS) || BUILDFLAG(IS_BSD) const char kAutofillEnableBuyNowPayLaterName[] = "Enable buy now pay later on Autofill"; const char kAutofillEnableBuyNowPayLaterDescription[] = -@@ -1193,7 +1193,7 @@ const char kDevicePostureDescription[] = +@@ -1189,7 +1189,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[] = -@@ -1341,7 +1341,7 @@ const char kContextMenuEmptySpaceDescription[] = +@@ -1335,7 +1335,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."; -@@ -1735,7 +1735,7 @@ const char kEnableIsolatedWebAppDevModeName[] = +@@ -1686,7 +1686,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[] = -@@ -3725,7 +3725,7 @@ const char kReduceTransferSizeUpdatedIPCDescription[] +@@ -3621,14 +3621,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[] = -@@ -3757,7 +3757,7 @@ const char kRetainOmniboxOnFocusDescription[] = - "exhibit a change in behavior."; - #endif // BUILDFLAG(IS_ANDROID) + "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[] = +@@ -3666,7 +3666,7 @@ const char kRobustWindowManagementDescription[] = + "experiencing predictable and reliable window behavior similar to desktop " + "browsers."; -#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."; -@@ -4004,7 +4004,7 @@ const char kDefaultSiteInstanceGroupsDescription[] = +@@ -3916,7 +3916,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 " -@@ -4273,7 +4273,7 @@ const char kTranslateForceTriggerOnEnglishDescription[ - "Force the Translate Triggering on English pages experiment to be enabled " - "with the selected language model active."; +@@ -4189,7 +4189,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 kEnableHistorySyncOptinName[] = "History Sync Opt-in"; const char kEnableHistorySyncOptinDescription[] = "Enables the History Sync Opt-in screen on Desktop platforms. The screen " -@@ -6060,7 +6060,7 @@ const char kTranslateOpenSettingsDescription[] = - "Add an option to the translate bubble menu to open language settings."; - #endif - --#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 kWasmTtsComponentUpdaterEnabledName[] = - "Enable Wasm TTS Extension Component"; - const char kWasmTtsComponentUpdaterEnabledDescription[] = -@@ -8103,7 +8103,7 @@ const char kTetheringExperimentalFunctionalityDescript +@@ -7759,7 +7759,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 " -@@ -8332,7 +8332,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b +@@ -7986,7 +7986,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b // Linux ----------------------------------------------------------------------- -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kOzonePlatformHintChoiceDefault[] = "Default"; - const char kOzonePlatformHintChoiceAuto[] = "Auto"; - const char kOzonePlatformHintChoiceX11[] = "X11"; -@@ -8382,6 +8382,18 @@ const char kWaylandUiScalingDescription[] = + + + const char kPulseaudioLoopbackForCastName[] = +@@ -8024,6 +8024,18 @@ const char kWaylandUiScalingDescription[] = "Enable experimental support for text scaling in the Wayland backend " "backed by full UI scaling. Requires #wayland-per-window-scaling to be " "enabled too."; + +#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 ----------------------------------------------- -@@ -8394,7 +8406,7 @@ const char kZeroCopyVideoCaptureDescription[] = - #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel"; - const char kFollowingFeedSidepanelDescription[] = - "Enables the following feed in the sidepanel."; -@@ -8444,7 +8456,7 @@ const char kGroupPromoPrototypeCpaDescription[] = +@@ -8073,7 +8085,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[] = -@@ -8465,7 +8477,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti +@@ -8094,7 +8106,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti "Bluetooth"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - #if BUILDFLAG(ENABLE_PRINTING) +-#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[] = -@@ -8614,7 +8626,7 @@ const char kElementCaptureDescription[] = + "Use the CUPS IPP printing backend instead of the original CUPS backend " +@@ -8230,7 +8242,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."; -@@ -8665,7 +8677,7 @@ const char kComposeUpfrontInputModesDescription[] = - "Enables upfront input modes in the Compose dialog"; - #endif // BUILDFLAG(ENABLE_COMPOSE) +@@ -8267,7 +8279,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 kThirdPartyProfileManagementName[] = "Third party profile management"; const char kThirdPartyProfileManagementDescription[] = -@@ -8783,7 +8795,7 @@ const char kSupervisedUserBlockInterstitialV3Name[] = +@@ -8390,7 +8402,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 kSupervisedProfileHideGuestName[] = "Supervised Profile Hide Guest"; - const char kSupervisedProfileHideGuestDescription[] = - "Hides Guest Profile entry points for supervised users"; + const char kSupervisedUserLocalWebApprovalsName[] = + "Enable local web approvals feature"; + const char kSupervisedUserLocalWebApprovalsDescription[] = diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 244a7dd8f0ca..b3220ab60e9f 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,182 +1,173 @@ ---- chrome/browser/flag_descriptions.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/flag_descriptions.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/flag_descriptions.h -@@ -437,7 +437,7 @@ extern const char +@@ -435,7 +435,7 @@ extern const char kAutofillEnableAllowlistForBmoCardCategoryBenefitsDescription[]; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kAutofillEnableAmountExtractionAllowlistDesktopName[]; extern const char kAutofillEnableAmountExtractionAllowlistDesktopDescription[]; extern const char kAutofillEnableAmountExtractionDesktopName[]; -@@ -446,14 +446,14 @@ extern const char kAutofillEnableAmountExtractionDeskt +@@ -444,14 +444,14 @@ extern const char kAutofillEnableAmountExtractionDeskt // BUILDFLAG(IS_CHROMEOS) #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 kAutofillEnableAmountExtractionTestingName[]; extern const char kAutofillEnableAmountExtractionTestingDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kAutofillEnableBuyNowPayLaterName[]; extern const char kAutofillEnableBuyNowPayLaterDescription[]; -@@ -703,7 +703,7 @@ extern const char kContextMenuEmptySpaceName[]; +@@ -714,7 +714,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 kGlicZeroStateSuggestionsName[]; -@@ -892,7 +892,7 @@ extern const char kDevicePostureName[]; - extern const char kDevicePostureDescription[]; + extern const char kGlicActorName[]; +@@ -885,7 +885,7 @@ extern const char kDocumentPatchingName[]; + extern const char kDocumentPatchingDescription[]; #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[]; -@@ -1063,7 +1063,7 @@ extern const char kEnableIsolatedWebAppAllowlistDescri +@@ -1054,7 +1054,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) -@@ -2139,7 +2139,7 @@ extern const char kRetainOmniboxOnFocusName[]; - extern const char kRetainOmniboxOnFocusDescription[]; - #endif // BUILDFLAG(IS_ANDROID) +@@ -2061,7 +2061,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) || +@@ -2075,7 +2075,7 @@ extern const char kRetainOmniboxOnFocusDescription[]; + extern const char kRobustWindowManagementName[]; + extern const char kRobustWindowManagementDescription[]; -#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) -@@ -2280,7 +2280,7 @@ extern const char kDefaultSiteInstanceGroupsName[]; +@@ -2216,7 +2216,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 -@@ -2457,7 +2457,7 @@ extern const char kTouchTextEditingRedesignDescription - extern const char kTranslateForceTriggerOnEnglishName[]; - extern const char kTranslateForceTriggerOnEnglishDescription[]; +@@ -2392,7 +2392,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 kEnableHistorySyncOptinName[]; extern const char kEnableHistorySyncOptinDescription[]; -@@ -2728,7 +2728,7 @@ extern const char kReduceAcceptLanguageDescription[]; +@@ -2662,7 +2662,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) -@@ -3538,7 +3538,7 @@ extern const char kTranslateOpenSettingsName[]; - extern const char kTranslateOpenSettingsDescription[]; - #endif - --#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 kWasmTtsComponentUpdaterEnabledName[]; - extern const char kWasmTtsComponentUpdaterEnabledDescription[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -4747,7 +4747,7 @@ extern const char kTetheringExperimentalFunctionalityD +@@ -4478,7 +4478,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) -@@ -4882,7 +4882,7 @@ extern const char kEnableArmHwdrmDescription[]; +@@ -4610,7 +4610,7 @@ extern const char kEnableArmHwdrmDescription[]; // Linux --------------------------------------------------------------------- -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kOzonePlatformHintChoiceDefault[]; - extern const char kOzonePlatformHintChoiceAuto[]; - extern const char kOzonePlatformHintChoiceX11[]; -@@ -4913,6 +4913,9 @@ extern const char kWaylandTextInputV3Description[]; + + + extern const char kPulseaudioLoopbackForCastName[]; +@@ -4632,6 +4632,9 @@ extern const char kWaylandSessionManagementDescription extern const char kWaylandUiScalingName[]; extern const char kWaylandUiScalingDescription[]; + +extern const char kAudioBackendName[]; +extern const char kAudioBackendDescription[]; #endif // BUILDFLAG(IS_LINUX) // Random platform combinations ----------------------------------------------- -@@ -4927,7 +4930,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa +@@ -4646,7 +4649,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa extern const char kWebBluetoothConfirmPairingSupportDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - #if BUILDFLAG(ENABLE_PRINTING) +-#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[]; -@@ -4940,7 +4943,7 @@ extern const char kScreenlockReauthCardDescription[]; - #endif // BUILDFLAG(IS_CHROMEOS) - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kFollowingFeedSidepanelName[]; - extern const char kFollowingFeedSidepanelDescription[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -4957,7 +4960,7 @@ extern const char kTaskManagerDesktopRefreshName[]; + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_PRINTING) +@@ -4670,7 +4673,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[]; -@@ -5054,7 +5057,7 @@ extern const char kElementCaptureName[]; +@@ -4753,7 +4756,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 -@@ -5093,7 +5096,7 @@ extern const char kComposeUpfrontInputModesName[]; - extern const char kComposeUpfrontInputModesDescription[]; - #endif // BUILDFLAG(ENABLE_COMPOSE) +@@ -4781,7 +4784,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 kThirdPartyProfileManagementName[]; extern const char kThirdPartyProfileManagementDescription[]; -@@ -5167,7 +5170,7 @@ extern const char kEnablePolicyPromotionBannerDescript +@@ -4857,7 +4860,7 @@ extern const char kEnableManagementPromotionBannerDesc 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 kSupervisedProfileHideGuestName[]; - extern const char kSupervisedProfileHideGuestDescription[]; - + extern const char kSupervisedUserLocalWebApprovalsName[]; + extern const char kSupervisedUserLocalWebApprovalsDescription[]; + #endif // #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc new file mode 100644 index 000000000000..f32efb12004f --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc @@ -0,0 +1,11 @@ +--- chrome/browser/glic/widget/glic_widget.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/glic/widget/glic_widget.cc +@@ -127,7 +127,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"; +-#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 diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn index 48e101dedec0..082059ab795c 100644 --- a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/media/router/discovery/BUILD.gn -@@ -79,7 +79,7 @@ static_library("discovery") { +@@ -81,7 +81,7 @@ static_library("discovery") { ] configs += [ "//build/config/compiler:wexit_time_destructors" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "discovery_network_list_wifi_linux.cc" ] } diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc index 639f940efa96..6893cc794adf 100644 --- a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc +++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc @@ -1,30 +1,30 @@ ---- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc -@@ -9,7 +9,11 @@ +@@ -4,7 +4,11 @@ #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" +#include "build/build_config.h" + +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include #include -@@ -24,6 +28,7 @@ namespace media_router { +@@ -20,6 +24,7 @@ namespace media_router { bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { DCHECK(ssid_out); +#if !BUILDFLAG(IS_BSD) base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0)); if (!ioctl_socket.is_valid()) { // AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there -@@ -46,6 +51,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std: +@@ -42,6 +47,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std: ssid_out->assign(ssid); return true; } +#endif return false; } diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc index 965a1feb7652..2a8236f176de 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc -@@ -93,7 +93,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur - #if BUILDFLAG(IS_MAC) - return request_source == Params::RequestSource::kCast || - base::FeatureList::IsEnabled(media::kMacLoopbackAudioForScreenShare); +@@ -99,7 +99,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur + base::FeatureList::IsEnabled( + media::kMacCatapLoopbackAudioForScreenShare)); + } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (request_source == Params::RequestSource::kCast) { return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); } else { diff --git a/www/chromium/files/patch-chrome_browser_memory__details.cc b/www/chromium/files/patch-chrome_browser_memory__details.cc index 63cffb111fbc..a1f562d7bfe0 100644 --- a/www/chromium/files/patch-chrome_browser_memory__details.cc +++ b/www/chromium/files/patch-chrome_browser_memory__details.cc @@ -1,11 +1,11 @@ ---- chrome/browser/memory_details.cc.orig 2025-01-15 09:18:26 UTC +--- chrome/browser/memory_details.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/memory_details.cc -@@ -335,7 +335,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { +@@ -334,7 +334,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { }); } -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) if (content::ZygoteHost::GetInstance()->IsZygotePid(process.pid)) { process.process_type = content::PROCESS_TYPE_ZYGOTE; } diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index 0e731fcb4dec..a1911c540b12 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,97 +1,115 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc @@ -202,11 +202,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 -@@ -238,7 +238,7 @@ const int kMaxHistogramGatheringWaitDuration = 60000; +@@ -224,7 +224,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) +@@ -244,7 +244,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) - base::LazyInstance::Leaky g_crash_reporter = - LAZY_INSTANCE_INITIALIZER; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -@@ -546,7 +546,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg + ChromeMetricsServiceCrashReporter& GetCrashReporter() { + static base::NoDestructor crash_reporter; + return *crash_reporter; +@@ -554,7 +554,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) -@@ -628,7 +628,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri +@@ -636,7 +636,7 @@ std::string ChromeMetricsServiceClient::GetVersionStri void ChromeMetricsServiceClient::OnEnvironmentUpdate(std::string* environment) { // TODO(https://bugs.chromium.org/p/crashpad/issues/detail?id=135): call this // on Mac when the Crashpad API supports it. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Register the environment with the crash reporter. Note that there is a // window from startup to this point during which crash reports will not have // an environment set. -@@ -730,7 +730,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -738,7 +738,7 @@ void ChromeMetricsServiceClient::Initialize() { std::make_unique(this, local_state); } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) metrics::structured::Recorder::GetInstance()->SetUiTaskRunner( base::SequencedTaskRunner::GetCurrentDefault()); #endif -@@ -790,7 +790,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -798,7 +798,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic metrics_service_->RegisterMetricsProvider( std::make_unique()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); #endif -@@ -879,7 +879,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -886,7 +886,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) -@@ -985,7 +985,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -988,7 +988,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())); +@@ -1000,7 +1000,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) -@@ -1176,7 +1176,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1191,7 +1191,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( -@@ -1525,7 +1525,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1540,7 +1540,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = base::MakeRefCounted( cros_system_profile_provider_.get()); -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Make sure that Structured Metrics recording delegates have been created // before the service is created. This is handled in other places for ChromeOS diff --git a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc index 46770e040784..0d44fbed42bf 100644 --- a/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc +++ b/www/chromium/files/patch-chrome_browser_net_profile__network__context__service.cc @@ -1,29 +1,29 @@ ---- chrome/browser/net/profile_network_context_service.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/net/profile_network_context_service.cc -@@ -136,7 +136,7 @@ +@@ -137,7 +137,7 @@ #include "extensions/common/constants.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/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" -@@ -277,7 +277,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet +@@ -286,7 +286,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet }); } -#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 GetWrappedCertStore( Profile* profile, std::unique_ptr platform_store) { -@@ -1245,7 +1245,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1289,7 +1289,7 @@ ProfileNetworkContextService::CreateClientCertStore() std::make_unique( base::BindRepeating(&CreateCryptoModuleBlockingPasswordDelegate, kCryptoModulePasswordClientAuth)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetWrappedCertStore(profile_, std::move(store)); #else return store; diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index d53897fdb8a2..aaea059f51bc 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,138 +1,138 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -140,7 +140,7 @@ SystemNetworkContextManager* g_system_network_context_ - // received a failed launch for a sandboxed network service. - bool g_previously_failed_to_launch_sandboxed_service = false; +@@ -142,7 +142,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; -@@ -148,7 +148,7 @@ bool g_network_service_will_allow_gssapi_library_load +@@ -150,7 +150,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) -@@ -194,7 +194,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -196,7 +196,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) -@@ -209,7 +209,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -211,7 +211,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) -@@ -219,7 +219,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -221,7 +221,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 -@@ -261,11 +261,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() - if (g_previously_failed_to_launch_sandboxed_service) { - return NetworkSandboxState::kDisabledBecauseOfFailedLaunch; +@@ -269,11 +269,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 || -@@ -281,7 +281,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -289,7 +289,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) -@@ -527,7 +527,7 @@ void SystemNetworkContextManager::DeleteInstance() { +@@ -594,7 +594,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) {} -@@ -585,7 +585,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -652,7 +652,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) -@@ -599,7 +599,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -666,7 +666,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) -@@ -670,7 +670,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -738,7 +738,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) -@@ -695,11 +695,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -763,11 +763,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) -@@ -753,7 +753,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -821,7 +821,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) -@@ -980,7 +980,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1048,7 +1048,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab break; } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!enabled) { g_network_service_will_allow_gssapi_library_load = true; } diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h index 938cca5d9553..e09e9ae67896 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.h @@ -1,20 +1,20 @@ ---- chrome/browser/net/system_network_context_manager.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/net/system_network_context_manager.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/net/system_network_context_manager.h -@@ -202,7 +202,7 @@ class SystemNetworkContextManager { +@@ -212,7 +212,7 @@ class SystemNetworkContextManager { class URLLoaderFactoryForSystem; class NetworkProcessLaunchWatcher; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class GssapiLibraryLoadObserver : public network::mojom::GssapiLibraryLoadObserver { public: -@@ -285,7 +285,7 @@ class SystemNetworkContextManager { +@@ -295,7 +295,7 @@ class SystemNetworkContextManager { std::unique_ptr network_annotation_monitor_; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GssapiLibraryLoadObserver gssapi_library_loader_observer_{this}; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index 76b2d13bb7c9..a1754e6a340f 100644 --- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -764,7 +764,7 @@ void ChromePasswordManagerClient:: +@@ -729,7 +729,7 @@ void ChromePasswordManagerClient:: 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; } -@@ -1043,7 +1043,7 @@ void ChromePasswordManagerClient::NotifyUserCredential +@@ -1008,7 +1008,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) { -@@ -2101,7 +2101,7 @@ void ChromePasswordManagerClient::HideFillingUI() { +@@ -2083,7 +2083,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; } -@@ -2140,7 +2140,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement +@@ -2122,7 +2122,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_password__manager_password__reuse__manager__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_factories_password__reuse__manager__factory.cc similarity index 74% rename from www/ungoogled-chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc rename to www/chromium/files/patch-chrome_browser_password__manager_factories_password__reuse__manager__factory.cc index b63b7d749774..b2657f2c2aff 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_factories_password__reuse__manager__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2025-05-31 17:16:41 UTC -+++ chrome/browser/password_manager/password_reuse_manager_factory.cc +--- chrome/browser/password_manager/factories/password_reuse_manager_factory.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/password_manager/factories/password_reuse_manager_factory.cc @@ -128,7 +128,7 @@ PasswordReuseManagerFactory::BuildServiceInstanceForBr // Prepare password hash data for reuse detection. reuse_manager->PreparePasswordHashData(GetSignInStateForMetrics(profile)); -#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 notifier = std::make_unique< password_manager::PasswordReuseManagerSigninNotifierImpl>( diff --git a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index 6b8c8c1dc680..4b15693524e4 100644 --- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -1,47 +1,47 @@ ---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc -@@ -60,7 +60,7 @@ +@@ -57,7 +57,7 @@ #include "chrome/browser/policy/browser_dm_token_storage_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/browser_dm_token_storage_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -69,7 +69,7 @@ +@@ -66,7 +66,7 @@ #include "chrome/install_static/install_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/browser_context_delegate.h" #include "chrome/browser/enterprise/client_certificates/cert_utils.h" #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h" -@@ -115,7 +115,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -111,7 +111,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: #if BUILDFLAG(IS_MAC) storage_delegate = std::make_unique(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) storage_delegate = std::make_unique(); #elif BUILDFLAG(IS_WIN) storage_delegate = std::make_unique(); -@@ -286,7 +286,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC +@@ -275,7 +275,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC std::unique_ptr ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) auto* browser_dm_token_storage = BrowserDMTokenStorage::Get(); auto* device_management_service = GetDeviceManagementService(); auto shared_url_loader_factory = GetSharedURLLoaderFactory(); -@@ -308,7 +308,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD +@@ -297,7 +297,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD std::unique_ptr ChromeBrowserCloudManagementControllerDesktop:: CreateCertificateProvisioningService() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!certificate_store_) { certificate_store_ = std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index 3baa9c6fc702..061d18991b19 100644 --- a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,206 +1,206 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -249,7 +249,7 @@ +@@ -246,7 +246,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" -@@ -574,7 +574,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -583,7 +583,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 }, -@@ -945,7 +945,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -957,7 +957,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 }, -@@ -957,7 +957,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -969,7 +969,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 }, @@ -1839,7 +1839,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 }, -@@ -1898,7 +1898,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1904,7 +1904,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, - #endif // BUILDFLAG(IS_WIN) + #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 }, -@@ -1918,12 +1918,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1924,12 +1924,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 }, -@@ -1937,7 +1937,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1943,7 +1943,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 }, -@@ -1949,7 +1949,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1955,7 +1955,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 }, -@@ -2050,7 +2050,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2059,7 +2059,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 }, -@@ -2149,7 +2149,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2164,7 +2164,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 }, -@@ -2223,7 +2223,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2238,7 +2238,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 }, -@@ -2255,7 +2255,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - prefs::kUiAutomationProviderEnabled, +@@ -2273,7 +2273,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 }, -@@ -2286,7 +2286,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2304,7 +2304,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}, -@@ -2309,7 +2309,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2327,7 +2327,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 }, -@@ -2390,7 +2390,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2403,7 +2403,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = policy_prefs::kBuiltInAIAPIsEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) -#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 }, -@@ -2524,7 +2524,7 @@ std::unique_ptr BuildH +@@ -2537,7 +2537,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, -@@ -2803,7 +2803,7 @@ std::unique_ptr BuildH +@@ -2816,7 +2816,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()); -@@ -2903,7 +2903,7 @@ std::unique_ptr BuildH +@@ -2910,7 +2910,7 @@ std::unique_ptr BuildH std::vector> signin_legacy_policies; #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) signin_legacy_policies.push_back(std::make_unique( key::kForceBrowserSignin, prefs::kForceBrowserSignin, base::Value::Type::BOOLEAN)); -@@ -3269,7 +3269,7 @@ std::unique_ptr BuildH +@@ -3288,7 +3288,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( -@@ -3277,7 +3277,7 @@ std::unique_ptr BuildH +@@ -3296,7 +3296,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)); -@@ -3330,7 +3330,7 @@ std::unique_ptr BuildH +@@ -3349,7 +3349,7 @@ std::unique_ptr BuildH std::vector gen_ai_default_policies; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) gen_ai_default_policies.emplace_back( key::kAutofillPredictionSettings, optimization_guide::prefs:: diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index defc0b79da73..a556f705e411 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,67 +1,67 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -327,7 +327,7 @@ +@@ -326,7 +326,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 @@ +@@ -493,11 +493,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 @@ +@@ -525,7 +525,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 -@@ -1791,7 +1791,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1705,7 +1705,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 -@@ -1945,7 +1945,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1860,7 +1860,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 -@@ -2310,12 +2310,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2231,12 +2231,12 @@ 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); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); enterprise_signin::RegisterProfilePrefs(registry); #endif diff --git a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc index 2c7f76b52fb9..c24cc3860b9e 100644 --- a/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc +++ b/www/chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -1,29 +1,29 @@ ---- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/printing/print_backend_service_manager.cc -@@ -37,7 +37,7 @@ +@@ -36,7 +36,7 @@ #include "printing/printing_context.h" #include "printing/printing_features.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "content/public/common/content_switches.h" #include "ui/linux/linux_ui.h" #endif -@@ -909,7 +909,7 @@ PrintBackendServiceManager::GetServiceFromBundle( +@@ -886,7 +886,7 @@ PrintBackendServiceManager::GetServiceFromBundle( << remote_id << "`"; std::vector extra_switches; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { extra_switches = linux_ui->GetCmdLineFlagsForCopy(); } -@@ -1095,7 +1095,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate +@@ -1072,7 +1072,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate return kNoClientsRegisteredResetOnIdleTimeout; case ClientType::kQueryWithUi: -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No need to update if there were other query with UI clients. if (HasQueryWithUiClientForRemoteId(remote_id)) { return std::nullopt; diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 386d37a7ae7f..9bcc295f058d 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,137 +1,132 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -368,7 +368,7 @@ +@@ -375,7 +375,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/idle/idle_service_factory.h" + #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" #endif - -@@ -411,7 +411,7 @@ +@@ -419,14 +419,14 @@ #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/enterprise/signals/user_permission_service_factory.h" -@@ -419,7 +419,7 @@ + #include "chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_observer_factory.h" #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.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 -@@ -427,7 +427,7 @@ +@@ -434,7 +434,7 @@ #include "chrome/browser/history_embeddings/history_embeddings_service_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/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h" -@@ -753,7 +753,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -760,7 +760,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(); -@@ -812,13 +812,13 @@ void ChromeBrowserMainExtraPartsProfiles:: - collaboration::CollaborationServiceFactory::GetInstance(); +@@ -821,13 +821,13 @@ 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(); ConsentAuditorFactory::GetInstance(); ContentIndexProviderFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) contextual_cueing::ContextualCueingServiceFactory::GetInstance(); #endif CookieControlsServiceFactory::GetInstance(); -@@ -880,31 +880,31 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -886,17 +886,17 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_connectors::ConnectorsServiceFactory::GetInstance(); enterprise_connectors::ReportingEventRouterFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance(); enterprise_connectors::DeviceTrustServiceFactory::GetInstance(); #endif -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) enterprise_connectors::LocalBinaryUploadServiceFactory::GetInstance(); #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 - #if !BUILDFLAG(IS_CHROMEOS) - enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance(); +@@ -905,10 +905,10 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif enterprise_reporting::LegacyTechServiceFactory::GetInstance(); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - enterprise_signals::SignalsAggregatorFactory::GetInstance(); - #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) +- 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) -@@ -1036,7 +1036,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1044,7 +1044,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) -@@ -1163,7 +1163,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1174,7 +1174,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 -@@ -1209,7 +1209,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1217,7 +1217,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) ProfileStatisticsFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ProfileTokenWebSigninInterceptorFactory::GetInstance(); OidcAuthenticationSigninInterceptorFactory::GetInstance(); #endif -@@ -1229,7 +1229,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1237,7 +1237,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) diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc index 5783e415663d..23e88e38e4e2 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,40 +1,40 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -267,6 +267,10 @@ +@@ -269,6 +269,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 +@@ -603,7 +607,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async policy_provider = GetUserCloudPolicyManagerAsh(); #else // !BUILDFLAG(IS_CHROMEOS) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileManager* profile_manager = g_browser_process->profile_manager(); ProfileAttributesEntry* entry = profile_manager->GetProfileAttributesStorage() -@@ -884,7 +888,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -886,7 +890,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } base::FilePath ProfileImpl::last_selected_directory() { +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (sandbox->unveil_initialized()) + return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); + else + return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#else return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#endif } void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { diff --git a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc index b42bc309272f..a714a722cd06 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/renderer_preferences_util.cc @@ -40,7 +40,7 @@ #include "ui/views/controls/textfield/textfield.h" #endif -#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) +#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #include "ui/linux/linux_ui.h" -@@ -180,7 +180,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -185,7 +185,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc prefs->caret_blink_interval = views::Textfield::GetCaretBlinkInterval(); #endif -#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) +#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile); if (linux_ui_theme) { if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { -@@ -203,7 +203,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -208,7 +208,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc index 8c222775573e..d19fe6847e6e 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1269,7 +1269,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1261,7 +1261,7 @@ std::string ChromePasswordProtectionService::GetOrgani ReusedPasswordAccountType password_type) const { if (base::FeatureList::IsEnabled( safe_browsing::kEnterprisePasswordReuseUiRefresh)) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetPrefs()->GetString(prefs::kEnterpriseCustomLabelForProfile); #else return std::string(); diff --git a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc index 591d50a7b636..3c6a1ffa977d 100644 --- a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc +++ b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sessions/session_restore.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/sessions/session_restore.cc @@ -108,7 +108,7 @@ #include "ui/wm/core/scoped_animation_disabler.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1118,7 +1118,7 @@ class SessionRestoreImpl : public BrowserListObserver +@@ -1182,7 +1182,7 @@ class SessionRestoreImpl : public BrowserListObserver bool is_first_tab = true; for (const auto& startup_tab : startup_tabs) { const GURL& url = startup_tab.url; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (url == whats_new::GetWebUIStartupURL()) { whats_new::StartWhatsNewFetch(browser); continue; diff --git a/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc b/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc new file mode 100644 index 000000000000..24a52a798281 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_signin_chrome__signin__client.cc @@ -0,0 +1,11 @@ +--- chrome/browser/signin/chrome_signin_client.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/signin/chrome_signin_client.cc +@@ -163,7 +163,7 @@ signin_metrics::ProfileSignout kAlwaysAllowedSignoutSo + std::string HatsSurveyTriggerForAccessPoint( + signin_metrics::AccessPoint access_point) { + switch (access_point) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + case signin_metrics::AccessPoint::kAddressBubble: + return kHatsSurveyTriggerIdentityAddressBubbleSignin; + case signin_metrics::AccessPoint::kAvatarBubbleSignIn: diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc new file mode 100644 index 000000000000..d8889a8a4ff2 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/signin/signin_hats_util.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/signin/signin_hats_util.cc +@@ -36,7 +36,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( + 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 + 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/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc index 64c0a726911c..30ee02568cb1 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/signin/signin_util.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/signin/signin_util.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/signin/signin_util.cc -@@ -84,7 +84,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour +@@ -90,7 +90,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour CookiesMover::~CookiesMover() = default; void CookiesMover::StartMovingCookies() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool allow_cookies_to_be_moved = base::FeatureList::IsEnabled( profile_management::features::kThirdPartyProfileManagement); #else -@@ -344,7 +344,7 @@ SignedInState GetSignedInState( - return SignedInState::kSignedOut; +@@ -369,7 +369,7 @@ std::string SignedInStateToString(SignedInState state) + } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool ShouldShowHistorySyncOptinScreen(Profile& profile) { if (GetSignedInState(IdentityManagerFactory::GetForProfile(&profile)) != signin_util::SignedInState::kSignedIn) { diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__util.h b/www/chromium/files/patch-chrome_browser_signin_signin__util.h index 3e47f64318cb..77bee021d5ab 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__util.h +++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.h @@ -1,11 +1,11 @@ ---- chrome/browser/signin/signin_util.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/signin/signin_util.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/signin/signin_util.h -@@ -168,7 +168,7 @@ bool IsSigninPending(signin::IdentityManager* identity - // Returns the current state of the primary account that is used in Chrome. - SignedInState GetSignedInState(const signin::IdentityManager* identity_manager); +@@ -171,7 +171,7 @@ SignedInState GetSignedInState(const signin::IdentityM + // Returns a string representation of `SignedInState`. + std::string SignedInStateToString(SignedInState state); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Returns if the necessary conditions to show the History Sync Optin screen // are met. // This method does not take into account any feature flags related to the above diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc index b2659af38afa..0834a772d354 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc -@@ -197,7 +197,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte +@@ -205,7 +205,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte return; } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) CHECK(contents.value()); content::WebContents* web_contents = contents.value().get(); // Always invoke the parent permission dialog. diff --git a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc index 1415d7789cbd..3d9dfc30db74 100644 --- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc +++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/sync/chrome_sync_controller_builder.cc -@@ -289,7 +289,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService +@@ -304,7 +304,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService #if BUILDFLAG(ENABLE_SPELLCHECK) // Chrome prefers OS provided spell checkers where they exist. So only sync // the custom dictionary on platforms that typically don't provide one. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Dictionary sync is enabled by default. if (spellcheck_service_.value()) { controllers.push_back( diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc index c2f191e6e3fa..3b6bfd851d1f 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/task_manager/sampling/task_group.cc -@@ -36,7 +36,7 @@ const int kBackgroundRefreshTypesMask = +@@ -32,7 +32,7 @@ const int kBackgroundRefreshTypesMask = #if BUILDFLAG(IS_WIN) REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) REFRESH_TYPE_FD_COUNT | #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) - #if BUILDFLAG(ENABLE_NACL) -@@ -117,7 +117,7 @@ TaskGroup::TaskGroup( - #if BUILDFLAG(ENABLE_NACL) - nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown), - #endif // BUILDFLAG(ENABLE_NACL) + REFRESH_TYPE_PRIORITY; +@@ -100,7 +100,7 @@ TaskGroup::TaskGroup( + user_peak_handles_(-1), + hard_faults_per_second_(-1), + #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) open_fd_count_(-1), #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) idle_wakeups_per_second_(-1), -@@ -132,7 +132,7 @@ TaskGroup::TaskGroup( +@@ -115,7 +115,7 @@ TaskGroup::TaskGroup( weak_ptr_factory_.GetWeakPtr()), base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone, weak_ptr_factory_.GetWeakPtr()), -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone, weak_ptr_factory_.GetWeakPtr()), #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -302,7 +302,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac +@@ -257,7 +257,7 @@ void TaskGroup::RefreshWindowsHandles() { + #endif // BUILDFLAG(IS_WIN) } - #endif // BUILDFLAG(ENABLE_NACL) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h index 2eea6fa2ee81..77659c327c81 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/task_manager/sampling/task_group.h -@@ -41,7 +41,7 @@ inline constexpr int kUnsupportedVMRefreshFlags = +@@ -40,7 +40,7 @@ inline constexpr int kUnsupportedVMRefreshFlags = REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE | - REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES | - REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY | + REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES | REFRESH_TYPE_START_TIME | + REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY | -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) REFRESH_TYPE_FD_COUNT | #endif REFRESH_TYPE_HARD_FAULTS; -@@ -144,7 +144,7 @@ class TaskGroup { - } - #endif // BUILDFLAG(ENABLE_NACL) +@@ -136,7 +136,7 @@ class TaskGroup { + int64_t hard_faults_per_second() const { return hard_faults_per_second_; } + #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) int open_fd_count() const { return open_fd_count_; } void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -164,7 +164,7 @@ class TaskGroup { - void RefreshNaClDebugStubPort(int child_process_unique_id); - void OnRefreshNaClDebugStubPortDone(int port); - #endif +@@ -151,7 +151,7 @@ class TaskGroup { + + void RefreshWindowsHandles(); + -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void OnOpenFdCountRefreshDone(int open_fd_count); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -235,7 +235,7 @@ class TaskGroup { - #if BUILDFLAG(ENABLE_NACL) - int nacl_debug_stub_port_; - #endif // BUILDFLAG(ENABLE_NACL) +@@ -219,7 +219,7 @@ class TaskGroup { + int64_t user_peak_handles_; + int64_t hard_faults_per_second_; + #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The number of file descriptors currently open by the process. int open_fd_count_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc index e585a82235c6..1cfa14dc809e 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/task_manager/sampling/task_manager_impl.cc -@@ -235,7 +235,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, +@@ -226,7 +226,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, } int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return GetTaskGroupByTaskId(task_id)->open_fd_count(); #else return -1; diff --git a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h index c31a1c12a19f..8e35faf43e69 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h @@ -1,11 +1,11 @@ ---- chrome/browser/task_manager/task_manager_observer.h.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/task_manager/task_manager_observer.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/task_manager/task_manager_observer.h -@@ -46,7 +46,7 @@ enum RefreshType { +@@ -45,7 +45,7 @@ enum RefreshType { // or backgrounded. - REFRESH_TYPE_PRIORITY = 1 << 13, + REFRESH_TYPE_PRIORITY = 1 << 12, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // For observers interested in getting the number of open file descriptors of // processes. - REFRESH_TYPE_FD_COUNT = 1 << 14, + REFRESH_TYPE_FD_COUNT = 1 << 13, diff --git a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 4d0a296b0127..11fac96c531d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h +++ b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -504,7 +504,7 @@ +@@ -508,7 +508,7 @@ #if BUILDFLAG(IS_CHROMEOS) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kToggleMultitaskMenu, IDC_TOGGLE_MULTITASK_MENU) -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kUseSystemTitleBar, IDC_USE_SYSTEM_TITLE_BAR) \ E(kRestoreWindow, IDC_RESTORE_WINDOW) diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc index 9cd89c3a2142..ef5099e85f03 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc @@ -58,7 +58,7 @@ gfx::Rect GetPopupSizeForBnpl() { DesktopPaymentsWindowManager::DesktopPaymentsWindowManager( ContentAutofillClient* client) : client_(CHECK_DEREF(client)) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) scoped_observation_.Observe(BrowserList::GetInstance()); #endif // BUILDFLAG(IS_LINUX) } -@@ -144,7 +144,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye +@@ -151,7 +151,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void DesktopPaymentsWindowManager::OnBrowserSetLastActive(Browser* browser) { // If there is an ongoing payments window manager pop-up flow, and the // original tab's WebContents become active, activate the pop-up's diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h index d01abd876afc..7338116c07ea 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h @@ -1,38 +1,38 @@ ---- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h @@ -14,7 +14,7 @@ #include "components/autofill/core/browser/payments/payments_window_manager.h" #include "content/public/browser/web_contents_observer.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/scoped_observation.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_list_observer.h" @@ -39,7 +39,7 @@ class PaymentsWindowUserConsentDialogControllerImpl; // WebContents of the original tab that the pop-up is created in. If there is a // pop-up currently present, `this` will observe the WebContents of that pop-up. class DesktopPaymentsWindowManager : public PaymentsWindowManager, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) public BrowserListObserver, #endif // BUILDFLAG(IS_LINUX) public content::WebContentsObserver { @@ -59,7 +59,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi content::NavigationHandle* navigation_handle) override; void WebContentsDestroyed() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // BrowserListObserver: void OnBrowserSetLastActive(Browser* browser) override; #endif // BUILDFLAG(IS_LINUX) -@@ -165,7 +165,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi +@@ -130,7 +130,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi // Used in tests to notify the test infrastructure that the pop-up has closed. base::RepeatingClosure popup_closed_closure_for_testing_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::ScopedObservation scoped_observation_{ this}; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_browser.h b/www/chromium/files/patch-chrome_browser_ui_browser.h index a813b0fa3523..472b23784605 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser.h +++ b/www/chromium/files/patch-chrome_browser_ui_browser.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/browser.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/browser.h -@@ -293,7 +293,7 @@ class Browser : public TabStripModelObserver, +@@ -279,7 +279,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/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index aed4bbf6599e..7c47499e7f94 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,74 +1,74 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -127,7 +127,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" -@@ -137,7 +137,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) -@@ -363,7 +363,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -366,7 +366,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(); -@@ -632,7 +632,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -654,7 +654,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; -@@ -849,7 +849,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -871,7 +871,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( -@@ -1018,7 +1018,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1044,7 +1044,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 -@@ -1395,7 +1395,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1421,7 +1421,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); -@@ -1747,7 +1747,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -1774,7 +1774,7 @@ void BrowserCommandController::UpdateCommandsForTabSta bool can_create_web_app = web_app::CanCreateWebApp(browser_); command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled( IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(current_web_contents)); diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc index c29b81db75fc..ba28cd5333ac 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser_commands.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -2195,7 +2195,7 @@ void OpenUpdateChromeDialog(Browser* browser) { +@@ -2214,7 +2214,7 @@ void OpenUpdateChromeDialog(Browser* browser) { } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) { UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate(); } else { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) { chrome::AttemptRelaunch(); return; diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc index 9c3d5df4696e..949112b56b62 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/browser_ui_prefs.cc -@@ -80,7 +80,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry +@@ -84,7 +84,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry registry->RegisterTimePref(prefs::kPdfInfoBarLastShown, base::Time()); registry->RegisterIntegerPref(prefs::kPdfInfoBarTimesShown, 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, -@@ -203,7 +203,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -208,7 +208,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry registry->RegisterDictionaryPref(prefs::kHttpsUpgradeFallbacks); registry->RegisterDictionaryPref(prefs::kHttpsUpgradeNavigations); registry->RegisterBooleanPref(prefs::kHttpsOnlyModeAutoEnabled, false); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForProfile, std::string()); registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForProfile, diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc index 0bc1586eae70..79c685f4a486 100644 --- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/chrome_pages.cc @@ -85,7 +85,7 @@ #include "components/signin/public/identity_manager/identity_manager.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/web_applications/web_app_utils.h" #endif -@@ -382,7 +382,7 @@ void ShowChromeTips(Browser* browser) { +@@ -393,7 +393,7 @@ void ShowChromeTips(Browser* browser) { ShowSingletonTab(browser, GURL(kChromeTipsURL)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowChromeWhatsNew(Browser* browser) { ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL)); } -@@ -706,7 +706,7 @@ void ShowShortcutCustomizationApp(Profile* profile, +@@ -717,7 +717,7 @@ void ShowShortcutCustomizationApp(Profile* profile, } #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowWebAppSettingsImpl(Browser* browser, Profile* profile, const std::string& app_id, diff --git a/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc new file mode 100644 index 000000000000..2f6e6e9ed792 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/hats/survey_config.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/ui/hats/survey_config.cc +@@ -495,7 +495,7 @@ std::vector GetAllSurveyConfigs() + &features::kHappinessTrackingSurveysForWallpaperSearch, + kHatsSurveyTriggerWallpaperSearch); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::vector identity_string_psd_fields{ + "Channel", "Chrome Version", "Number of Chrome Profiles", + "Number of Google Accounts", "Sign-in Status"}; diff --git a/www/chromium/files/patch-chrome_browser_ui_hats_trust__safety__sentiment__service__factory.cc b/www/chromium/files/patch-chrome_browser_ui_hats_trust__safety__sentiment__service__factory.cc new file mode 100644 index 000000000000..49cddeec457d --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_hats_trust__safety__sentiment__service__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/hats/trust_safety_sentiment_service_factory.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/ui/hats/trust_safety_sentiment_service_factory.cc +@@ -59,7 +59,7 @@ TrustSafetySentimentServiceFactory::BuildServiceInstan + // TrustSafetySentimentSurvey is conducted only for Windows, MacOS and Linux + // currently. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS)) + + // TrustSafetySentimentSurvey is conducted only in English currently. + const std::string& application_locale = diff --git a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc index a629b57d28a8..45785b7660c9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc -@@ -108,7 +108,7 @@ namespace { +@@ -113,7 +113,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; -@@ -567,7 +567,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor +@@ -622,7 +622,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor } void ManagePasswordsUIController::OnKeychainError() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CHECK(!dialog_controller_); PrefService* prefs = Profile::FromBrowserContext(web_contents()->GetBrowserContext()) diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc index 4b8bbab8c233..0553f1c5af36 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -472,7 +472,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -476,7 +476,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() { CHECK(base::FeatureList::IsEnabled(switches::kEnableHistorySyncOptin)); CloseModalSignin(); -@@ -486,7 +486,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -491,7 +491,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi void SigninViewController::ShowModalManagedUserNoticeDialog( std::unique_ptr create_param) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CloseModalSignin(); dialog_ = std::make_unique( SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h index 75c80d9e9346..7ff3517beeb7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/signin/signin_view_controller.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/signin/signin_view_controller.h -@@ -166,7 +166,7 @@ class SigninViewController { +@@ -169,7 +169,7 @@ class SigninViewController { void ShowModalSyncConfirmationDialog(bool is_signin_intercept, bool is_sync_promo); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Shows the modal history sync opt in dialog as a browser-modal dialog on top // of the `browser_`'s window. void ShowModalHistorySyncOptInDialog(); diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h index 222e0242949b..d0ec8ea9fa5e 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/signin/signin_view_controller_delegate.h -@@ -48,7 +48,7 @@ class SigninViewControllerDelegate { +@@ -49,7 +49,7 @@ class SigninViewControllerDelegate { SyncConfirmationStyle style, bool is_sync_promo); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns a platform-specific SigninViewControllerDelegate instance that // displays the modal history sync opt in dialog. The returned object should // delete itself when the window it's managing is closed. -@@ -87,7 +87,7 @@ class SigninViewControllerDelegate { +@@ -89,7 +89,7 @@ class SigninViewControllerDelegate { SignoutConfirmationCallback callback); #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) // Returns a platform-specific SigninViewContolllerDelegate instance that // displays the managed user notice modal dialog. The returned object // should delete itself when the window it's managing is closed. diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc index 8f44393146a6..270b75babfe7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc +++ b/www/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-08-07 06:57:29 UTC +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -96,7 +96,7 @@ const char* const kBadFlags[] = { +@@ -105,7 +105,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/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc index 14b81d4506ae..0d2d3377a3d7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc @@ -134,7 +134,7 @@ #include "chrome/credential_provider/common/gcp_strings.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_util.h" #include "chrome/browser/ui/startup/web_app_info_recorder_utils.h" #include "components/headless/policy/headless_mode_policy.h" -@@ -980,7 +980,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1019,7 +1019,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())) { -@@ -1083,7 +1083,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1122,7 +1122,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) && -@@ -1300,7 +1300,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1339,7 +1339,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( CHECK_EQ(profile_info.mode, StartupProfileMode::kBrowserWindow) << "Failed launch with app: couldn't pick a profile"; std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If Chrome Apps are deprecated and |app_id| is a Chrome App, display the // deprecation UI instead of launching the app. if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index bfc7d3ab690f..a1f615522cd3 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -74,7 +74,7 @@ +@@ -80,7 +80,7 @@ #include "components/app_restore/full_restore_utils.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -206,7 +206,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -214,7 +214,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( // at the state of the MessageLoop. Browser::CreateParams params = Browser::CreateParams(profile_, false); params.creation_source = Browser::CreationSource::kStartupCreator; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.startup_id = command_line_->GetSwitchValueASCII("desktop-startup-id"); #endif -@@ -236,7 +236,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -244,7 +244,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( continue; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Start the What's New fetch but don't add the tab at this point. The tab // will open as the foreground tab only if the remote content can be // retrieved successfully. This prevents needing to automatically close the diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc index b3e0f42afb55..df2b011866fe 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/features.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/tabs/features.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/tabs/features.cc -@@ -59,7 +59,7 @@ bool CanShowTabSearchPositionSetting() { +@@ -60,7 +60,7 @@ bool CanShowTabSearchPositionSetting() { } // Mac and other platforms will always have the tab search position in the // correct location, cros/linux/win git the user the option to change. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(kTabSearchPositionSetting); #else return false; diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc index 78836f7ae54f..43e180b938d9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc +++ b/www/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-08-07 06:57:29 UTC +--- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/tabs/tab_dialog_manager.cc -@@ -85,7 +85,7 @@ bool SupportsGlobalScreenCoordinates() { +@@ -88,7 +88,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/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc index 62239a8b676a..08278a72e532 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/tabs/tab_features.cc -@@ -338,7 +338,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -356,7 +356,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(); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h index 6bca2d88332b..053c8f4280bc 100644 --- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h +++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/task_manager/task_manager_columns.h.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/ui/task_manager/task_manager_columns.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/task_manager/task_manager_columns.h -@@ -277,7 +277,7 @@ inline constexpr std::array kColumns = { +@@ -264,7 +264,7 @@ inline constexpr std::array kColumns = { .default_visibility = false}, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) TableColumnData{.id = IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, .align = ui::TableColumn::RIGHT, .width = -1, diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc index 4f24e7558f74..9f49b33920cb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc +++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -419,7 +419,7 @@ TaskManagerTableModel::~TaskManagerTableModel() { +@@ -376,7 +376,7 @@ TaskManagerTableModel::~TaskManagerTableModel() { // Note: system_total_time_ is used for both since there is no functional // difference between browser & system (they are essentially the same tab). // Instead, the data is routed to the platform appropriate bucket. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) task_manager::RecordTabSwitchEvent(CategoryRecord::kBrowser, system_total_time_); #elif BUILDFLAG(IS_CHROMEOS) -@@ -560,7 +560,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r +@@ -509,7 +509,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r ? stringifier_->backgrounded_string() : stringifier_->foregrounded_string(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); return fd_count >= 0 ? base::FormatNumber(fd_count) -@@ -723,7 +723,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, +@@ -667,7 +667,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, return BooleanCompare(is_proc1_bg, is_proc2_bg); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { const int proc1_fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row1]); -@@ -1040,7 +1040,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -979,7 +979,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col type = REFRESH_TYPE_KEEPALIVE_COUNT; break; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: type = REFRESH_TYPE_FD_COUNT; break; diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc index 4593528941ff..d018b961e767 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/ui_features.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/ui_features.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/ui_features.cc @@ -38,7 +38,7 @@ BASE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick, "CloseOmniboxPopupOnInactiveAreaClick", 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) // Enables the feature to remove the last confirmation dialog when relaunching // to update Chrome. BASE_FEATURE(kFewerUpdateConfirmations, -@@ -320,7 +320,7 @@ BASE_FEATURE(kViewsJSAppModalDialog, +@@ -398,7 +398,7 @@ 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, "UsePortalAccentColor", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.h b/www/chromium/files/patch-chrome_browser_ui_ui__features.h index 2af4ee335833..4ecff189fdaf 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/ui_features.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/ui_features.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/ui_features.h @@ -28,7 +28,7 @@ BASE_DECLARE_FEATURE(kAllowEyeDropperWGCScreenCapture) BASE_DECLARE_FEATURE(kCloseOmniboxPopupOnInactiveAreaClick); -#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 -@@ -311,7 +311,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); +@@ -292,7 +292,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/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index 1da388f6b7c2..aa34b7c5885f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc -@@ -39,7 +39,7 @@ +@@ -36,7 +36,7 @@ #include "ui/wm/core/wm_state.h" #endif // defined(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include -@@ -143,7 +143,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -131,7 +131,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( return controller; })); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On the Linux desktop, we want to prevent the user from logging in as root, // so that we don't destroy the profile. Now that we have some minimal ui // initialized, check to see if we're running as root and bail if we are. diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc index bb568d3dd833..171cf5201a76 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2024-05-21 18:07:39 UTC +--- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/chrome_views_delegate_linux.cc -@@ -26,7 +26,7 @@ bool IsDesktopEnvironmentUnity() { +@@ -27,7 +27,7 @@ bool IsDesktopEnvironmentUnity() { return desktop_env == base::nix::DESKTOP_ENVIRONMENT_UNITY; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) int GetWindowIconResourceId() { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) switch (chrome::GetChannel()) { -@@ -80,7 +80,7 @@ views::NativeWidget* ChromeViewsDelegate::CreateNative +@@ -85,7 +85,7 @@ views::NativeWidget* ChromeViewsDelegate::CreateNative delegate); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::ImageSkia* ChromeViewsDelegate::GetDefaultWindowIcon() const { ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); return rb.GetImageSkiaNamed(GetWindowIconResourceId()); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc index 0280c3d311eb..551a2217b03c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc -@@ -15,7 +15,7 @@ +@@ -17,7 +17,7 @@ #include "chrome/browser/ui/views/frame/browser_frame_view_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux.h" #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.h" #include "chrome/browser/ui/views/frame/browser_frame_view_linux_native.h" -@@ -33,7 +33,7 @@ namespace { - std::unique_ptr CreateOpaqueBrowserFrameView( - BrowserFrame* frame, - BrowserView* browser_view) { +@@ -32,7 +32,7 @@ namespace chrome { + + namespace { + -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - auto* profile = browser_view->browser()->profile(); - auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile); - auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile); -@@ -83,7 +83,7 @@ std::unique_ptr CreateBrows + std::unique_ptr CreateOpaqueBrowserFrameViewLinux( BrowserFrame* frame, BrowserView* browser_view) { - if (browser_view->browser()->is_type_picture_in_picture()) { --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return std::make_unique( - frame, browser_view); - #else diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index e0dae6b029c8..80b225b8fcce 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2608,7 +2608,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2476,7 +2476,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - GetContentsWebView()->SetFastResize(is_dragging); - if (multi_contents_view_) { - multi_contents_view_->GetInactiveContentsView()->SetFastResize(is_dragging); -@@ -6027,7 +6027,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { + std::vector contents_web_views = + GetAllVisibleContentsWebViews(); + +@@ -5961,7 +5961,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; } diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc index 1474a00cc564..7f81d4130ef5 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc -@@ -69,7 +69,7 @@ +@@ -74,7 +74,7 @@ // Windows, Mac and CrOS do not clip child widgets to their parents, so we // don't have to worry about resizing quite as much. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define PLATFORM_CLIPS_CHILD_WINDOWS #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc index ba4a03c3d96b..fd11991eb637 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc -@@ -75,7 +75,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM +@@ -74,7 +74,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM void SystemMenuModelBuilder::BuildSystemMenuForBrowserWindow( ui::SimpleMenuModel* model) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU); model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU); model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU); -@@ -101,7 +101,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -100,7 +100,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER_CONTEXT_MENU, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); bool supports_server_side_decorations = true; #if BUILDFLAG(IS_OZONE) && !BUILDFLAG(IS_CHROMEOS) -@@ -175,7 +175,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -174,7 +174,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc index 28da5e167084..bf1b1746cc6d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,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" - #include "components/prefs/pref_service.h" #endif -@@ -39,7 +39,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( + +@@ -38,7 +38,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); -@@ -65,7 +65,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -64,7 +64,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c } bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_maximized = browser_->window()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc index 3a485c613160..31ef3ae1e8d5 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/frame/tab_strip_region_view.cc @@ -222,7 +222,7 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr - new_tab_button_->GetViewAccessibility().SetName( - l10n_util::GetStringUTF16(IDS_ACCNAME_NEWTAB)); + new_tab_button_->GetViewAccessibility().SetName( + l10n_util::GetStringUTF16(IDS_ACCNAME_NEWTAB)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The New Tab Button can be middle-clicked on Linux. new_tab_button_->SetTriggerableEventFlags( new_tab_button_->GetTriggerableEventFlags() | diff --git a/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc index 95e8f974ebce..842d642b4b02 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_new__tab__footer_footer__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/new_tab_footer/footer_controller.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/new_tab_footer/footer_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/new_tab_footer/footer_controller.cc -@@ -37,7 +37,7 @@ NewTabFooterController::NewTabFooterController(Browser - base::BindRepeating(&NewTabFooterController::UpdateFooterVisibility, +@@ -44,7 +44,7 @@ NewTabFooterController::NewTabFooterController( + base::BindRepeating(&NewTabFooterController::UpdateFooterVisibilities, weak_factory_.GetWeakPtr(), /*log_on_load_metric=*/false)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) local_state_pref_change_registrar_.Init(g_browser_process->local_state()); local_state_pref_change_registrar_.Add( prefs::kNTPFooterManagementNoticeEnabled, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc index 05159671a385..aad1273edb31 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/omnibox/omnibox_view_views.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/omnibox/omnibox_view_views.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/omnibox/omnibox_view_views.cc -@@ -2191,7 +2191,7 @@ void OmniboxViewViews::MaybeAddSendTabToSelfItem( +@@ -2320,7 +2320,7 @@ void OmniboxViewViews::MaybeAddSendTabToSelfItem( } void OmniboxViewViews::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 diff --git a/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc index b42fed194d86..7f15adfea54c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/views/controls/button/button.h" -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/passwords/password_relaunch_chrome_view.h" #endif @@ -163,7 +163,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create } else if (model_state == password_manager::ui::NOTIFY_RECEIVED_SHARED_CREDENTIALS) { view = new SharedPasswordsNotificationView(web_contents, anchor_view); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) } else if (model_state == password_manager::ui::KEYCHAIN_ERROR_STATE) { view = new RelaunchChromeView( web_contents, anchor_view, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index a4c6840a69f3..4c2267a67d2c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc -@@ -331,7 +331,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() +@@ -407,7 +407,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { if (!base::FeatureList::IsEnabled( feature_engagement::kIPHSupervisedUserProfileSigninFeature)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h index 0d054a0e5f93..76af8eb0954f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -91,7 +91,7 @@ class AvatarToolbarButton : public ToolbarButton { +@@ -96,7 +96,7 @@ class AvatarToolbarButton : public ToolbarButton, // Attempts showing the In-Produce-Help for profile Switching. void MaybeShowProfileSwitchIPH(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Attempts showing the In-Produce-Help when a supervised user signs-in in a // profile. void MaybeShowSupervisedUserSignInIPH(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc index 928b37d51392..791dcf1595dc 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc -@@ -47,7 +47,7 @@ void ProfileMenuCoordinator::Show( - user_education_->NotifyFeaturePromoFeatureUsed( - feature_engagement::kIPHProfileSwitchFeature, - FeaturePromoFeatureUsedAction::kClosePromoIfPresent); +@@ -55,7 +55,7 @@ void ProfileMenuCoordinator::Show( + ->NotifyFeaturePromoFeatureUsed( + feature_engagement::kIPHProfileSwitchFeature, + FeaturePromoFeatureUsedAction::kClosePromoIfPresent); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - user_education_->NotifyFeaturePromoFeatureUsed( - feature_engagement::kIPHSupervisedUserProfileSigninFeature, - FeaturePromoFeatureUsedAction::kClosePromoIfPresent); + BrowserUserEducationInterface::From(GetBrowser()) + ->NotifyFeaturePromoFeatureUsed( + feature_engagement::kIPHSupervisedUserProfileSigninFeature, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc index cb939771be8c..c7562f808fcb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -99,7 +99,7 @@ +@@ -102,7 +102,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 -@@ -399,7 +399,7 @@ void ProfileMenuView::OnSigninButtonClicked( - } - GetWidget()->CloseWithReason(views::Widget::ClosedReason::kUnspecified); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // TODO(crbug.com/404807488): Update the button and the dialog strings. - if (base::FeatureList::IsEnabled(switches::kEnableHistorySyncOptin)) { - browser() -@@ -538,7 +538,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -585,7 +585,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { case signin_util::SignedInState::kSignedOut: case signin_util::SignedInState::kWebOnlySignedIn: { std::string profile_user_display_name, profile_user_email; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_user_display_name = profile().GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserDisplayName); profile_user_email = profile().GetPrefs()->GetString( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc index 393855d2e4e3..64ce994538cb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/profile_picker_view.cc -@@ -84,7 +84,7 @@ +@@ -81,7 +81,7 @@ #include "chrome/browser/global_keyboard_shortcuts_mac.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -114,7 +114,7 @@ class ProfilePickerWidget : public views::Widget { +@@ -107,7 +107,7 @@ class ProfilePickerWidget : public views::Widget { views::Widget::InitParams params( views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); params.delegate = profile_picker_view_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.wm_class_name = shell_integration_linux::GetProgramClassName(); params.wm_class_class = shell_integration_linux::GetProgramClassClass(); params.wayland_app_id = params.wm_class_class; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index 152d705f22f4..c99e859ac720 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -1,73 +1,73 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc @@ -63,14 +63,14 @@ #include "chrome/browser/ui/webui/signin/signout_confirmation/signout_confirmation_ui.h" #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) namespace { const int kModalDialogWidth = 448; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const int kManagedUserNoticeConfirmationDialogWidth = 512; - const int kManagedUserNoticeConfirmationDialogHeight = 576; - const int kManagedUserNoticeConfirmationUpdatedDialogWidth = 780; -@@ -139,7 +139,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat + const int kManagedUserNoticeConfirmationDialogWidth = 780; + const int kManagedUserNoticeConfirmationDialogHeight = 560; + #endif +@@ -137,7 +137,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat kSyncConfirmationDialogWidth, InitializeSigninWebDialogUI(true)); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr SigninViewControllerDelegateViews::CreateHistorySyncOptInWebView( - Browser* browser) { -@@ -225,7 +225,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir + Browser* browser, +@@ -227,7 +227,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir } #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static std::unique_ptr SigninViewControllerDelegateViews::CreateManagedUserNoticeConfirmationWebView( -@@ -410,7 +410,7 @@ SigninViewControllerDelegateViews::SigninViewControlle +@@ -402,7 +402,7 @@ SigninViewControllerDelegateViews::SigninViewControlle SetButtons(static_cast(ui::mojom::DialogButton::kNone)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On the local profile creation dialog, cancelling the dialog (for instance // through the VKEY_ESCAPE accelerator) should delete the profile. if (delete_profile_on_cancel) { -@@ -502,7 +502,7 @@ void SigninViewControllerDelegateViews::DisplayModal() +@@ -494,7 +494,7 @@ void SigninViewControllerDelegateViews::DisplayModal() content_view_->RequestFocus(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SigninViewControllerDelegateViews::DeleteProfileOnCancel() { ProfileAttributesEntry* entry = g_browser_process->profile_manager() -@@ -542,7 +542,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe +@@ -534,7 +534,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe /*animate_on_resize=*/true); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static SigninViewControllerDelegate* - SigninViewControllerDelegate::CreateSyncHistoryOptInDelegate(Browser* browser) { -@@ -596,7 +596,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio + SigninViewControllerDelegate::CreateSyncHistoryOptInDelegate( +@@ -591,7 +591,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio } #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static SigninViewControllerDelegate* SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h index 4148b24bc48d..d59466bc048c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h -@@ -57,7 +57,7 @@ class SigninViewControllerDelegateViews +@@ -58,7 +58,7 @@ class SigninViewControllerDelegateViews SyncConfirmationStyle style, bool is_sync_promo); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static std::unique_ptr CreateHistorySyncOptInWebView( - Browser* browser); - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -78,7 +78,7 @@ class SigninViewControllerDelegateViews + Browser* browser, + HistorySyncOptinLaunchContext launch_context); +@@ -80,7 +80,7 @@ class SigninViewControllerDelegateViews SignoutConfirmationCallback callback); #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static std::unique_ptr CreateManagedUserNoticeConfirmationWebView( Browser* browser, -@@ -149,7 +149,7 @@ class SigninViewControllerDelegateViews +@@ -151,7 +151,7 @@ class SigninViewControllerDelegateViews std::optional dialog_width, InitializeSigninWebDialogUI initialize_signin_web_dialog_ui); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Deletes the ephemeral profile when cancelling the local profile creation // dialog. void DeleteProfileOnCancel(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index 7b05a8019709..fc74f5a26174 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -193,7 +193,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { +@@ -194,7 +194,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(); -@@ -384,7 +384,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -406,7 +406,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_ = -@@ -892,7 +892,7 @@ TabDragController::Liveness TabDragController::DragBro +@@ -980,7 +980,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. -@@ -2024,7 +2024,7 @@ void TabDragController::CompleteDrag() { +@@ -2132,7 +2132,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 -@@ -2441,7 +2441,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2549,7 +2549,7 @@ TabDragController::Liveness TabDragController::GetLoca } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Exclude windows which are pending deletion via Browser::TabStripEmpty(). // These windows can be returned in the Linux Aura port because the browser // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index 41c8fd403b13..8358238c1fad 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -657,7 +657,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -670,7 +670,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Move the hit test area for hovering up so that it is not overlapped by tab // hover cards when they are shown. // TODO(crbug.com/41467565): Once Linux/CrOS widget transparency is solved, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc deleted file mode 100644 index a40b3a551ca8..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/views/tabs/tab_strip_combo_button.cc.orig 2025-07-02 06:08:04 UTC -+++ chrome/browser/ui/views/tabs/tab_strip_combo_button.cc -@@ -94,7 +94,7 @@ TabStripComboButton::TabStripComboButton(BrowserWindow - base::BindRepeating(&TabStripComboButton::OnNewTabButtonStateChanged, - base::Unretained(this)))); - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // The New Tab Button can be middle-clicked on Linux. - new_tab_button->SetTriggerableEventFlags( - new_tab_button->GetTriggerableEventFlags() | ui::EF_MIDDLE_MOUSE_BUTTON); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc index 3286b8c77bd5..5c1a9efe165b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -574,7 +574,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -575,7 +575,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/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc index 8f397040cd70..a81e79f5ba4a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1054,7 +1054,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1090,7 +1090,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered when a shared tab becomes the active tab."))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // kIPHSupervisedUserProfileSigninFeature registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( -@@ -1312,7 +1312,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1337,7 +1337,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered to inform users of the availability of the " "new translate screen feature on the Lens Overlay."))); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc index 32d349559593..13dc6996ea16 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc @@ -1,83 +1,83 @@ ---- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc @@ -516,7 +516,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; -@@ -2078,7 +2078,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2076,7 +2076,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( -@@ -3396,7 +3396,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3394,7 +3394,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 -@@ -3411,7 +3411,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3409,7 +3409,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 -@@ -3421,7 +3421,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3419,7 +3419,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; } -@@ -3437,7 +3437,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3435,7 +3435,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; } -@@ -4262,7 +4262,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4260,7 +4260,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 -@@ -4462,7 +4462,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4460,7 +4460,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); -@@ -4506,7 +4506,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4504,7 +4504,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr do_icon_colors_match = (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SkColor expected_icon_pixel_color = GetSiteConfigurationFromAppName(name).icon_color; std::optional actual_color_install_icon_size = diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h index 8ad9eeb10923..381c137e5e60 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/web_app_dialogs.h.orig 2025-01-15 09:18:26 UTC +--- chrome/browser/ui/web_applications/web_app_dialogs.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/web_applications/web_app_dialogs.h -@@ -21,7 +21,7 @@ +@@ -24,7 +24,7 @@ #include "ui/gfx/native_widget_types.h" static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS)); + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)); class GURL; class Profile; diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc index a344ebb76ed8..6eee4bdea253 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -566,7 +566,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun +@@ -564,7 +564,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); -@@ -795,7 +795,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( +@@ -793,7 +793,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 Browser* browser) { diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h index 069e168b5d2c..5245f9f93382 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h -@@ -245,7 +245,7 @@ class WebAppUiManagerImpl : public BrowserListObserver +@@ -243,7 +243,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(const Browser* browser, + void ShowIPHPromoForAppsLaunchedViaLinkCapturing(Browser* browser, const webapps::AppId& app_id, bool is_activated); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc b/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc new file mode 100644 index 000000000000..a798b32d2c62 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui_browser/webui_browser_window.cc.orig 2025-09-06 10:01:20 UTC ++++ chrome/browser/ui/webui_browser/webui_browser_window.cc +@@ -22,7 +22,7 @@ namespace { + + // Copied from chrome/browser/ui/views/frame/browser_frame.cc. + bool IsUsingLinuxSystemTheme(Profile* profile) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); + #else + return false; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc index 53569c4c9d4e..57a1b6fda25e 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc @@ -1,65 +1,74 @@ ---- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc @@ -55,7 +55,7 @@ #include "net/ssl/client_cert_store_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" -@@ -178,7 +178,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto +@@ -130,7 +130,7 @@ class ClientCertStoreLoader { + active_requests_; + }; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class ClientCertStoreFactoryNSS : public ClientCertStoreFactory { + public: + std::unique_ptr CreateClientCertStore() override { +@@ -155,7 +155,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto }; #endif -#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::unique_ptr CreatePlatformClientCertLoader( Profile* profile) { #if BUILDFLAG(IS_WIN) -@@ -193,7 +193,7 @@ std::unique_ptr CreatePlatformC +@@ -170,7 +170,7 @@ std::unique_ptr CreatePlatformC } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // ClientCertStore implementation that always returns an empty list. The // CertificateProvisioningService implementation expects to wrap a platform // cert store, but here we only want to get results from the provisioning -@@ -369,7 +369,7 @@ class ClientCertSource : public CertificateManagerPage +@@ -345,7 +345,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 -@@ -1099,7 +1099,7 @@ CreatePlatformClientCertSource( +@@ -1066,7 +1066,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( -@@ -1107,7 +1107,7 @@ CreatePlatformClientCertSource( +@@ -1074,7 +1074,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( -@@ -1157,7 +1157,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow +@@ -1124,7 +1124,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow return client_cert_policy_ == ClientCertificateManagementPermission::kAll; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ClientCertManagementAccessControls::ClientCertManagementAccessControls( Profile* profile) {} diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc index 75a1e5978d1b..bf4b2af47365 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc @@ -1,85 +1,70 @@ ---- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -144,7 +144,7 @@ +@@ -152,7 +152,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" -@@ -152,19 +152,19 @@ +@@ -160,13 +160,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_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" - #endif // 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_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) -@@ -192,7 +192,7 @@ +@@ -194,7 +194,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) -@@ -333,7 +333,7 @@ void RegisterChromeWebUIConfigs() { +@@ -347,7 +347,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) -@@ -363,7 +363,7 @@ void RegisterChromeWebUIConfigs() { +@@ -377,7 +377,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()); -@@ -372,20 +372,20 @@ void RegisterChromeWebUIConfigs() { +@@ -386,13 +386,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_CHROMEOS) || BUILDFLAG(IS_BSD) - map.AddWebUIConfig( - std::make_unique()); - #endif // 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_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/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index e7baae19468a..666a1fba5b75 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,40 +1,40 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -117,16 +117,16 @@ +@@ -116,16 +116,16 @@ #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" #endif #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 -@@ -410,7 +410,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -409,7 +409,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) { return WhatsNewUI::GetFaviconResourceBytes(scale_factor); } -@@ -449,7 +449,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -448,7 +448,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) { return commerce::ProductSpecificationsUI::GetFaviconResourceBytes( scale_factor); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc index ba9689f69e5e..23f022630bc9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc -@@ -82,7 +82,7 @@ connectors_internals::mojom::ClientIdentityPtr GetIden - } +@@ -85,7 +85,7 @@ connectors_internals::mojom::ClientIdentityPtr GetIden #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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::string GetStringFromTimestamp(base::Time timestamp) { return (timestamp == base::Time()) ? std::string() : base::UnlocalizedTimeFormatWithPattern( -@@ -191,7 +191,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific - +@@ -202,7 +202,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific void ConnectorsInternalsPageHandler::GetSignalsReportingState( GetSignalsReportingStateCallback callback) { --#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_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) auto* profile_prefs = profile_->GetPrefs(); std::string last_upload_attempt_time_string = diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc index 60a15121d8a4..7ad93d57c9a2 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/interstitials/interstitial_ui.cc -@@ -77,7 +77,7 @@ +@@ -75,7 +75,7 @@ #include "components/security_interstitials/content/captive_portal_blocking_page.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/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" -@@ -413,7 +413,7 @@ std::unique_ptr CreateEnterpriseWa +@@ -404,7 +404,7 @@ std::unique_ptr CreateEnterpriseWa } #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::unique_ptr CreateSupervisedUserVerificationPageForYouTube( content::WebContents* web_contents, -@@ -640,7 +640,7 @@ void InterstitialHTMLSource::StartDataRequest( +@@ -631,7 +631,7 @@ void InterstitialHTMLSource::StartDataRequest( interstitial_delegate = CreateInsecureFormPage(web_contents); } else if (path_without_query == "/https_only") { interstitial_delegate = CreateHttpsOnlyModePage(web_contents); -#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 (path_without_query == "/supervised-user-verify") { interstitial_delegate = CreateSupervisedUserVerificationPageForYouTube( web_contents, /*is_main_frame=*/true); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc index 1a2a23e2d105..1735c6cb8453 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc @@ -1,16 +1,16 @@ ---- chrome/browser/ui/webui/management/management_ui.cc.orig 2025-05-28 14:55:43 UTC +--- chrome/browser/ui/webui/management/management_ui.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/management/management_ui.cc -@@ -181,11 +181,11 @@ void ManagementUI::GetLocalizedStrings( +@@ -183,11 +183,11 @@ void ManagementUI::GetLocalizedStrings( IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA}, {kManagementReportFileEvents, IDS_MANAGEMENT_REPORT_FILE_EVENTS}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {kManagementScreenCaptureEvent, IDS_MANAGEMENT_SCREEN_CAPTURE_EVENT}, {kManagementScreenCaptureData, IDS_MANAGEMENT_SCREEN_CAPTURE_DATA}, #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {kManagementDeviceSignalsDisclosure, IDS_MANAGEMENT_DEVICE_SIGNALS_DISCLOSURE}, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc index 8cfe7622ce14..9ac4a9bd3233 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.cc -@@ -58,7 +58,7 @@ +@@ -68,7 +68,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/web_ui_util.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signals/user_permission_service_factory.h" #include "components/device_signals/core/browser/user_permission_service.h" // nogncheck #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -359,7 +359,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -381,7 +381,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value report_sources->Append(std::move(data)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto device_signal_data = GetDeviceSignalGrantedMessage(); if (!device_signal_data.empty()) { report_sources->Append(std::move(device_signal_data)); -@@ -381,7 +381,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value +@@ -403,7 +403,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value report_sources->Append(std::move(data)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto device_signal_data = GetDeviceSignalGrantedMessage(); if (!device_signal_data.empty()) { report_sources->Append(std::move(device_signal_data)); -@@ -567,7 +567,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS +@@ -589,7 +589,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS ->policy_service(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) device_signals::UserPermissionService* ManagementUIHandler::GetUserPermissionService() { return enterprise_signals::UserPermissionServiceFactory::GetForProfile( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h index ed4fe91cb02c..54f4919fdb14 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h +++ b/www/chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.h -@@ -29,7 +29,7 @@ namespace policy { - class PolicyService; - } // namespace policy +@@ -34,7 +34,7 @@ namespace enterprise_management { + class GetUserEligiblePromotionsResponse; + } // namespace enterprise_management -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace device_signals { class UserPermissionService; } // namespace device_signals -@@ -70,7 +70,7 @@ class ManagementUIHandler : public content::WebUIMessa +@@ -91,7 +91,7 @@ class ManagementUIHandler : public content::WebUIMessa base::Value::List GetManagedWebsitesInfo(Profile* profile) const; base::Value::List GetApplicationsInfo(Profile* profile) const; virtual policy::PolicyService* GetPolicyService(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual device_signals::UserPermissionService* GetUserPermissionService(); base::Value::Dict GetDeviceSignalGrantedMessage(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_new__tab__page_new__tab__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_new__tab__page_new__tab__page__handler.cc deleted file mode 100644 index a9d4e10d8e92..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_webui_new__tab__page_new__tab__page__handler.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc.orig 2025-08-07 06:57:29 UTC -+++ chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc -@@ -540,7 +540,7 @@ NewTabPageHandler::NewTabPageHandler( - prefs::kNtpFooterVisible, - base::BindRepeating(&NewTabPageHandler::OnFooterVisibilityUpdated, - base::Unretained(this))); --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - local_state_pref_change_registrar_.Init(g_browser_process->local_state()); - local_state_pref_change_registrar_.Add( - prefs::kNTPFooterManagementNoticeEnabled, diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index 0099f41660a4..edd56bfe05ca 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -1,65 +1,70 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc @@ -137,7 +137,7 @@ #include "chrome/browser/ui/webui/settings/system_handler.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif @@ -153,7 +153,7 @@ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui_factory.h" #include "ui/ozone/public/ozone_platform.h" #endif -@@ -282,7 +282,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -278,7 +278,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", -@@ -551,7 +551,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -548,7 +548,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}, -@@ -559,7 +559,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -556,11 +556,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) -@@ -581,7 +581,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -582,7 +582,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; -@@ -1556,7 +1556,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1591,7 +1591,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* g_browser_process->GetApplicationLocale()) .spec(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) html_source->AddString( "syncDisconnectManagedProfileExplanation", l10n_util::GetStringFUTF8( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc index 3e3c79b61e7f..78485da73d75 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.cc -@@ -145,7 +145,7 @@ CustomizeChromePageHandler::CustomizeChromePageHandler - base::BindRepeating(&CustomizeChromePageHandler::UpdateFooterSettings, - base::Unretained(this))); - +@@ -516,7 +516,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) - PrefService* local_state = g_browser_process->local_state(); - if (local_state) { - browser_pref_change_registrar_.Init(local_state); + enterprise_util::BrowserManagementNoticeState state = + enterprise_util::GetManagementNoticeStateForNTPFooter(profile_); + switch (state) { diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h index 319afd2525d1..0eb6efdef908 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_side__panel_customize__chrome_customize__chrome__page__handler.h +++ b/www/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-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h -@@ -194,7 +194,7 @@ class CustomizeChromePageHandler +@@ -206,7 +206,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/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc index 2623bb418db4..c1392534b1f2 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-08-14 19:12:25 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -169,7 +169,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr +@@ -168,7 +168,7 @@ base::Value::Dict CreateProfileEntry(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 (base::FeatureList::IsEnabled( - supervised_user::kShowKiteForSupervisedUsers) && - entry->IsSupervised()) { + } else if (entry->IsSupervised()) { + profileCardButtonLabel = l10n_util::GetStringFUTF16( + IDS_PROFILE_PICKER_PROFILE_CARD_LABEL_SUPERVISED, local_profile_name); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc index 2cb8c20863b4..caa940b91934 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc -@@ -47,7 +47,7 @@ +@@ -49,7 +49,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/resource_path.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_navigator_params.h" #include "net/base/url_util.h" -@@ -87,7 +87,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( +@@ -89,7 +89,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( } whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return g_browser_process->GetFeatures()->whats_new_registry(); #else return nullptr; -@@ -877,7 +877,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats +@@ -912,7 +912,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats } void UserEducationInternalsPageHandlerImpl::LaunchWhatsNewStaging() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GURL url = net::AppendQueryParameter(GURL(chrome::kChromeUIWhatsNewURL), "staging", "true"); NavigateParams params(profile_, url, ui::PAGE_TRANSITION_TYPED); diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc index f15b08428f30..056b8ea297cb 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc -@@ -54,7 +54,7 @@ proto::os_state::RunOnOsLogin::Mode ConvertWebAppRunOn +@@ -55,7 +55,7 @@ proto::os_state::RunOnOsLogin::Mode ConvertWebAppRunOn // different from other platforms, see web_app_run_on_os_login_manager.h for // more info. bool DoesRunOnOsLoginRequireExecution() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kDesktopPWAsRunOnOsLogin); #else return false; diff --git a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc index a6bba21078ae..5fcaab9eb0f1 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2025-03-05 08:14:56 UTC +--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc -@@ -199,7 +199,7 @@ void ShortcutSubManager::Execute( +@@ -198,7 +198,7 @@ void ShortcutSubManager::Execute( return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Protocol handler update detection. Shortcuts need to be updated in this // case on Linux & Mac because the shortcut itself includes the protocol // handling metadata. diff --git a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc index 284c5306fb0c..26439e7b9206 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -551,7 +551,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc +@@ -549,7 +549,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc g_observer->ConfiguringCable(request_type); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No caBLEv1 on Linux. It tends to crash bluez. if (base::Contains(pairings_from_extension, device::CableDiscoveryData::Version::V1, diff --git a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc index 26119bd8950a..a79ebafeb744 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/enclave_manager.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -688,7 +688,7 @@ base::flat_set GetGaiaIDs( +@@ -709,7 +709,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"); -@@ -698,7 +698,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -719,7 +719,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer std::optional UserVerifyingKeyLabelFromString( std::string saved_label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return saved_label; #else return std::nullopt; diff --git a/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc b/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc index 4b32bb40e936..61536f1927da 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_password__credential__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/password_credential_controller.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/browser/webauthn/password_credential_controller.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/browser/webauthn/password_credential_controller.cc @@ -46,7 +46,7 @@ password_manager::PasswordManagerClient* GetPasswordMa - } + #if !BUILDFLAG(IS_ANDROID) std::u16string GetAuthenticationMessage(std::string_view rp_id) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return u""; #else return l10n_util::GetStringFUTF16(IDS_PASSWORD_MANAGER_FILLING_REAUTH, diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc index 84511104b6d4..1b6c9bf95e72 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,56 +1,56 @@ ---- chrome/common/chrome_features.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_features.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_features.cc -@@ -81,7 +81,7 @@ BASE_FEATURE(kUseAdHocSigningForWebAppShims, +@@ -80,7 +80,7 @@ BASE_FEATURE(kUseAdHocSigningForWebAppShims, #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, -@@ -99,7 +99,7 @@ BASE_FEATURE(kAutofillPasswordSurvey, +@@ -98,7 +98,7 @@ 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. -@@ -241,7 +241,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, +@@ -257,7 +257,7 @@ BASE_FEATURE(kDesktopPWAsElidedExtensionsMenu, BASE_FEATURE(kDesktopPWAsRunOnOsLogin, "DesktopPWAsRunOnOsLogin", #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 -@@ -281,7 +281,7 @@ BASE_FEATURE(kEnableExclusiveAccessManager, +@@ -304,7 +304,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, 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) // 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. -@@ -1081,7 +1081,7 @@ BASE_FEATURE(kKAnonymityServiceStorage, +@@ -1170,7 +1170,7 @@ BASE_FEATURE(kKAnonymityServiceStorage, "KAnonymityServiceStorage", base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) BASE_FEATURE(kLinuxLowMemoryMonitor, "LinuxLowMemoryMonitor", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1094,7 +1094,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1183,7 +1183,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, "ListWebAppsSwitch", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h index 1188c0b5f864..e2e91ac39665 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.h +++ b/www/chromium/files/patch-chrome_common_chrome__features.h @@ -1,45 +1,45 @@ ---- chrome/common/chrome_features.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_features.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_features.h -@@ -50,13 +50,13 @@ BASE_DECLARE_FEATURE(kUseAdHocSigningForWebAppShims); +@@ -49,13 +49,13 @@ BASE_DECLARE_FEATURE(kUseAdHocSigningForWebAppShims); #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) -@@ -146,7 +146,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsPreventClose); +@@ -153,7 +153,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsPreventClose); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); -#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); -@@ -634,7 +634,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); +@@ -697,7 +697,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; -@@ -642,7 +642,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -705,7 +705,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorCriticalLevel; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch); #endif diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc index 80947244bcc0..f4629be8462c 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,82 +1,82 @@ ---- chrome/common/chrome_paths.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_paths.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_paths.cc -@@ -32,7 +32,7 @@ +@@ -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 -@@ -48,14 +48,14 @@ namespace { +@@ -47,14 +47,14 @@ namespace { std::optional g_override_using_default_data_directory_for_testing; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The path to the external extension .json files. // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ const base::FilePath::CharType kFilepathSinglePrefExtensions[] = #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -212,7 +212,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -188,7 +188,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; } -@@ -504,13 +504,13 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -436,13 +436,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)) { -@@ -520,7 +520,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -452,7 +452,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; -@@ -559,7 +559,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -491,7 +491,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if BUILDFLAG(IS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -573,6 +573,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -505,6 +505,9 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath( FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts")); +#elif BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chromium/native-messaging-hosts")); #else cur = base::FilePath( FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts")); diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.h b/www/chromium/files/patch-chrome_common_chrome__paths.h index de79a896dda9..415768d8b8c7 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.h +++ b/www/chromium/files/patch-chrome_common_chrome__paths.h @@ -1,29 +1,29 @@ ---- chrome/common/chrome_paths.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_paths.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_paths.h -@@ -56,7 +56,7 @@ enum { +@@ -58,7 +58,7 @@ enum { // to set policies for chrome. This directory // contains subdirectories. #endif -#if BUILDFLAG(IS_CHROMEOS) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || BUILDFLAG(IS_MAC) DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions // on Chrome Mac and Chromium Linux. -@@ -65,7 +65,7 @@ enum { +@@ -67,7 +67,7 @@ enum { // create it. #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' // definition manifest files that // describe extensions which are to be -@@ -113,7 +113,7 @@ enum { +@@ -112,7 +112,7 @@ enum { #endif #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) DIR_NATIVE_MESSAGING, // System directory where native messaging host // manifest files are stored. DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc index 2dc4cf39aa53..7974a82b4328 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_switches.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_switches.cc -@@ -895,7 +895,7 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- +@@ -908,7 +908,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. -@@ -924,7 +924,7 @@ const char kGlicDev[] = "glic-dev"; +@@ -937,7 +937,7 @@ const char kGlicDev[] = "glic-dev"; const char kGlicHostLogging[] = "glic-host-logging"; #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 optional diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h index 62b38b29f62e..e611ffe24958 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.h +++ b/www/chromium/files/patch-chrome_common_chrome__switches.h @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/chrome_switches.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/chrome_switches.h -@@ -276,7 +276,7 @@ extern const char kAllowNaClSocketAPI[]; +@@ -275,7 +275,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[]; -@@ -294,7 +294,7 @@ extern const char kGlicDev[]; +@@ -293,7 +293,7 @@ extern const char kGlicDev[]; extern const char kGlicHostLogging[]; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kListApps[]; extern const char kProfileBaseName[]; extern const char kProfileManagementAttributes[]; diff --git a/www/chromium/files/patch-chrome_common_crash__keys.cc b/www/chromium/files/patch-chrome_common_crash__keys.cc index b84744159f4e..93c3159facf7 100644 --- a/www/chromium/files/patch-chrome_common_crash__keys.cc +++ b/www/chromium/files/patch-chrome_common_crash__keys.cc @@ -1,28 +1,28 @@ ---- chrome/common/crash_keys.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/common/crash_keys.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/common/crash_keys.cc @@ -51,7 +51,9 @@ class CrashKeyWithName { ~CrashKeyWithName() = delete; std::string_view Name() const { return name_; } +#if BUILDFLAG(USE_CRASHPAD_ANNOTATION) std::string_view Value() const { return crash_key_.value(); } +#endif void Clear() { crash_key_.Clear(); } void Set(std::string_view value) { crash_key_.Set(value); } -@@ -196,6 +198,7 @@ void AllocateCrashKeyInBrowserAndChildren(std::string_ +@@ -195,6 +197,7 @@ void AllocateCrashKeyInBrowserAndChildren(std::string_ GetCommandLineStringAnnotations().emplace_back(std::string(key)).Set(value); } +#if BUILDFLAG(USE_CRASHPAD_ANNOTATION) void AppendStringAnnotationsCommandLineSwitch(base::CommandLine* command_line) { std::string string_annotations; for (const auto& crash_key : GetCommandLineStringAnnotations()) { -@@ -210,6 +213,7 @@ void AppendStringAnnotationsCommandLineSwitch(base::Co +@@ -209,6 +212,7 @@ void AppendStringAnnotationsCommandLineSwitch(base::Co } command_line->AppendSwitchASCII(kStringAnnotationsSwitch, string_annotations); } +#endif void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) { SetStringAnnotations(command_line); diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index 0aed5cad617a..d88f5a25ad61 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.h +++ b/www/chromium/files/patch-chrome_common_pref__names.h @@ -1,91 +1,92 @@ ---- chrome/common/pref_names.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/pref_names.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/pref_names.h -@@ -1334,7 +1334,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem +@@ -1333,7 +1333,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 -@@ -1504,7 +1504,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = +@@ -1503,7 +1503,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"; -@@ -2141,7 +2141,7 @@ inline constexpr char kDownloadDefaultDirectory[] = +@@ -2156,7 +2156,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 -@@ -2644,14 +2644,14 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -2659,7 +2659,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[] = - "net.network_service_sandbox"; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +@@ -2673,7 +2673,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"; -@@ -2743,7 +2743,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ +@@ -2765,7 +2765,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[] = -@@ -3266,7 +3266,7 @@ inline constexpr char kKioskApplicationLogCollectionEn +@@ -3288,7 +3288,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 -@@ -3781,7 +3781,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -3806,7 +3806,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[] = -@@ -3979,7 +3979,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -3997,7 +3997,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 -@@ -4076,7 +4076,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -4094,7 +4094,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ "printing.oauth2_authorization_servers"; #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this exists and is true, Chrome may run system DNS resolution out of the // network process. If false, Chrome will run system DNS resolution in the // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h index b1ecc8fff477..e1ec0ae488e1 100644 --- a/www/chromium/files/patch-chrome_common_url__constants.h +++ b/www/chromium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2025-07-02 06:08:04 UTC +--- chrome/common/url_constants.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/url_constants.h -@@ -997,7 +997,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -993,7 +993,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = inline constexpr char kPhoneHubPermissionLearnMoreURL[] = "https://support.google.com/chromebook?p=multidevice"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // "Learn more" URL for the chrome apps deprecation dialog. inline constexpr char kChromeAppsDeprecationLearnMoreURL[] = "https://support.google.com/chrome?p=chrome_app_deprecation"; diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.cc b/www/chromium/files/patch-chrome_common_webui__url__constants.cc index 570f393aea4c..c11327124c63 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,28 +1,23 @@ ---- chrome/common/webui_url_constants.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/common/webui_url_constants.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/common/webui_url_constants.cc -@@ -194,21 +194,21 @@ base::span ChromeURLHosts() +@@ -194,17 +194,17 @@ base::span ChromeURLHosts() kChromeUIAssistantOptInHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - kChromeUIConnectorsInternalsHost, - #endif - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) kChromeUIDiscardsHost, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kChromeUIWebAppSettingsHost, #endif #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) kChromeUILinuxProxyConfigHost, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) kChromeUISandboxHost, #endif #if BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.h b/www/chromium/files/patch-chrome_common_webui__url__constants.h index 3f412f64083f..385df434eee9 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,47 +1,40 @@ ---- chrome/common/webui_url_constants.h.orig 2025-08-07 06:57:29 UTC +--- chrome/common/webui_url_constants.h.orig 2025-09-06 10:01:20 UTC +++ chrome/common/webui_url_constants.h -@@ -541,18 +541,18 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome +@@ -557,12 +557,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_CHROMEOS) || BUILDFLAG(IS_BSD) - inline constexpr char kChromeUIConnectorsInternalsHost[] = - "connectors-internals"; - #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) 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"; -@@ -564,11 +564,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -574,11 +574,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"; -@@ -593,7 +593,7 @@ inline constexpr char kChromeUIHistorySyncOptinURL[] = +@@ -603,7 +603,7 @@ inline constexpr char kChromeUIHistorySyncOptinURL[] = "chrome://history-sync-optin/"; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ -+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc index 35e58e5cfdc3..b78d4a0e7775 100644 --- a/www/chromium/files/patch-chrome_utility_services.cc +++ b/www/chromium/files/patch-chrome_utility_services.cc @@ -1,29 +1,29 @@ ---- chrome/utility/services.cc.orig 2025-05-05 10:57:53 UTC +--- chrome/utility/services.cc.orig 2025-09-06 10:01:20 UTC +++ chrome/utility/services.cc -@@ -48,7 +48,7 @@ +@@ -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) -@@ -205,7 +205,7 @@ auto RunMacNotificationService( +@@ -215,7 +215,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) { -@@ -479,7 +479,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -490,7 +490,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services.Add(RunWindowsIconReader); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) services.Add(RunSystemSignalsService); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc index d35852ea340a..82880757423e 100644 --- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc +++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -1,38 +1,38 @@ ---- chromecast/browser/cast_browser_main_parts.cc.orig 2025-07-02 06:08:04 UTC +--- chromecast/browser/cast_browser_main_parts.cc.orig 2025-09-06 10:01:20 UTC +++ chromecast/browser/cast_browser_main_parts.cc -@@ -100,7 +100,7 @@ +@@ -99,7 +99,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include #include -@@ -282,7 +282,7 @@ class CastViewsDelegate : public views::ViewsDelegate +@@ -280,7 +280,7 @@ class CastViewsDelegate : public views::ViewsDelegate #endif // defined(USE_AURA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath GetApplicationFontsDir() { std::unique_ptr env(base::Environment::Create()); -@@ -327,7 +327,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { +@@ -325,7 +325,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { {switches::kDisableThreadedAnimation, ""}, #endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(ARCH_CPU_X86_FAMILY) // This is needed for now to enable the x11 Ozone platform to work with // current Linux/NVidia OpenGL drivers. -@@ -504,7 +504,7 @@ void CastBrowserMainParts::ToolkitInitialized() { +@@ -502,7 +502,7 @@ void CastBrowserMainParts::ToolkitInitialized() { views_delegate_ = std::make_unique(); #endif // defined(USE_AURA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath dir_font = GetApplicationFontsDir(); const FcChar8* dir_font_char8 = reinterpret_cast(dir_font.value().data()); diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn index 1ff16a894532..be1f1a58b8fb 100644 --- a/www/chromium/files/patch-components_BUILD.gn +++ b/www/chromium/files/patch-components_BUILD.gn @@ -1,28 +1,28 @@ ---- components/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- components/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ components/BUILD.gn -@@ -214,7 +214,6 @@ test("components_unittests") { +@@ -216,7 +216,6 @@ test("components_unittests") { "//components/content_settings/core/browser:unit_tests", "//components/content_settings/core/common: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", -@@ -623,7 +622,7 @@ test("components_unittests") { - deps += [ "//components/cast:unit_tests" ] - } +@@ -625,7 +624,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", @@ -784,7 +783,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" ] - } - + deps += [ + "//components/stability_report:unit_tests", + "//components/webapps/isolated_web_apps:unit_tests", diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc index 5bf04ab18043..6575366434a6 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc @@ -1,47 +1,47 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.cc -@@ -472,7 +472,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone( +@@ -471,7 +471,7 @@ void PaymentsDataManager::OnWebDataServiceRequestDone( bool PaymentsDataManager::ShouldShowBnplSettings() const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || 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 -@@ -1001,7 +1001,7 @@ void PaymentsDataManager::SetPrefService(PrefService* +@@ -1000,7 +1000,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_CHROMEOS) || BUILDFLAG(IS_BSD) pref_registrar_.Add( prefs::kAutofillBnplEnabled, base::BindRepeating(&PaymentsDataManager::OnBnplEnabledPrefChange, -@@ -1075,7 +1075,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { +@@ -1074,7 +1074,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool PaymentsDataManager::IsAutofillHasSeenBnplPrefEnabled() const { return prefs::HasSeenBnpl(pref_service_); } -@@ -2078,7 +2078,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( +@@ -2084,7 +2084,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( bool PaymentsDataManager::AreBnplIssuersSupported() const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - return app_locale_ == "en-US" && GetCountryCodeForExperimentGroup() == "US" && - base::FeatureList::IsEnabled( - features::kAutofillEnableBuyNowPayLaterSyncing); -@@ -2111,7 +2111,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() + return (app_locale_ == "en-US" || app_locale_ == "en-GB" || + app_locale_ == "en-CA") && + GetCountryCodeForExperimentGroup() == "US" && +@@ -2119,7 +2119,7 @@ void PaymentsDataManager::ClearAllCreditCardBenefits() } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void PaymentsDataManager::OnBnplEnabledPrefChange() { // On pref change to `false`, clearing BNPL issuers is implicitly handled by // `GetBnplIssuers()`, since it returns an empty vector when diff --git a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h index fdadd7a49e90..139f3ac65fde 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h +++ b/www/chromium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h @@ -1,20 +1,20 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.h @@ -370,7 +370,7 @@ class PaymentsDataManager : public AutofillWebDataServ void SetAutofillHasSeenIban(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns the value of the kAutofillHasSeenBnpl pref. bool IsAutofillHasSeenBnplPrefEnabled() const; -@@ -693,7 +693,7 @@ class PaymentsDataManager : public AutofillWebDataServ +@@ -699,7 +699,7 @@ class PaymentsDataManager : public AutofillWebDataServ void ClearAllCreditCardBenefits(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Monitors the `kAutofillBnplEnabled` preference for changes and controls the // clearing/loading of payment instruments accordingly. Will also log the // `Autofill.SettingsPage.BnplToggled` metric. diff --git a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc index 5e0e49ce8924..54747776cbd8 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -746,7 +746,7 @@ BrowserAutofillManager::GetCreditCardAccessManager() c +@@ -779,7 +779,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { payments::BnplManager* BrowserAutofillManager::GetPaymentsBnplManager() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!bnpl_manager_) { bnpl_manager_ = std::make_unique(this); } diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc index 9915b307844d..cf3727ce6a99 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc @@ -1,29 +1,29 @@ ---- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/browser/payments/amount_extraction_manager.cc -@@ -177,7 +177,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived +@@ -178,7 +178,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived bnpl_manager->OnAmountExtractionReturned(parsed_extracted_amount); } 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 " -@@ -200,7 +200,7 @@ void AmountExtractionManager::OnTimeoutReached() { - autofill_metrics::AmountExtractionResult::kTimeout); +@@ -206,7 +206,7 @@ void AmountExtractionManager::OnTimeoutReached() { + } // TODO(crbug.com/378517983): Add BNPL flow action logic here. 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 " -@@ -219,7 +219,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe +@@ -225,7 +225,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe // Check eligibility of BNPL feature. // Currently, BNPL is only offered for desktop platforms. if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) { if (BnplManager* bnpl_manager = autofill_manager_->GetPaymentsBnplManager(); bnpl_manager && bnpl_manager->IsEligibleForBnpl()) { eligible_features.insert(EligibleFeature::kBnpl); diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc index 4dbdd1937824..8ed2c4df9b53 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -467,7 +467,7 @@ void BnplManager::MaybeUpdateSuggestionsWithBnpl( +@@ -497,7 +497,7 @@ void BnplManager::MaybeUpdateSuggestionsWithBnpl( .OnBnplSuggestionShown(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) payments_autofill_client().GetPaymentsDataManager().SetAutofillHasSeenBnpl(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc index af1ce2fb722e..a44baeaa49c7 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -365,7 +365,7 @@ BASE_FEATURE(kDisableAutofillStrikeSystem, +@@ -345,7 +345,7 @@ BASE_FEATURE(kDisableAutofillStrikeSystem, base::FEATURE_DISABLED_BY_DEFAULT); bool ShouldShowImprovedUserConsentForCreditCardSave() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The new user consent UI is fully launched on MacOS, Windows and Linux. return true; #else diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc index 5828f3e62dad..5a92dbc184c0 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.cc @@ -1,38 +1,38 @@ ---- components/autofill/core/common/autofill_prefs.cc.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/common/autofill_prefs.cc.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/common/autofill_prefs.cc -@@ -104,7 +104,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -118,7 +118,7 @@ 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) registry->RegisterBooleanPref( kAutofillBnplEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); -@@ -298,7 +298,7 @@ bool IsFacilitatedPaymentsPixAccountLinkingEnabled(con +@@ -360,7 +360,7 @@ void SetFacilitatedPaymentsA2ATriggeredOnce(PrefServic } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void SetAutofillBnplEnabled(PrefService* prefs, bool value) { prefs->SetBoolean(kAutofillBnplEnabled, value); } -@@ -307,7 +307,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -369,7 +369,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_CHROMEOS) || BUILDFLAG(IS_BSD) return prefs->GetBoolean(kAutofillBnplEnabled); #else return false; -@@ -316,7 +316,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { +@@ -378,7 +378,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If called, always sets the pref to true, and once true, it will follow the // user around forever. void SetAutofillHasSeenBnpl(PrefService* prefs) { diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h index acad2cc79fc2..66e7738cb819 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__prefs.h @@ -1,29 +1,29 @@ ---- components/autofill/core/common/autofill_prefs.h.orig 2025-08-07 06:57:29 UTC +--- components/autofill/core/common/autofill_prefs.h.orig 2025-09-06 10:01:20 UTC +++ components/autofill/core/common/autofill_prefs.h @@ -32,7 +32,7 @@ inline constexpr std::string_view kAutofillAblationSee inline constexpr char kAutofillAiOptInStatus[] = "autofill.autofill_ai.opt_in_status"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || 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. -@@ -226,7 +226,7 @@ void SetFacilitatedPaymentsPixAccountLinking(PrefServi - bool IsFacilitatedPaymentsPixAccountLinkingEnabled(const PrefService* prefs); +@@ -247,7 +247,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_CHROMEOS) || BUILDFLAG(IS_BSD) void SetAutofillBnplEnabled(PrefService* prefs, bool value); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -234,7 +234,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -255,7 +255,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_CHROMEOS) || BUILDFLAG(IS_BSD) void SetAutofillHasSeenBnpl(PrefService* prefs); bool HasSeenBnpl(const PrefService* prefs); diff --git a/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc index 5343e85868fe..dcb423d30584 100644 --- a/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc +++ b/www/chromium/files/patch-components_commerce_core_commerce__feature__list.cc @@ -1,39 +1,20 @@ ---- components/commerce/core/commerce_feature_list.cc.orig 2025-08-07 06:57:29 UTC +--- components/commerce/core/commerce_feature_list.cc.orig 2025-09-06 10:01:20 UTC +++ components/commerce/core/commerce_feature_list.cc -@@ -157,7 +157,8 @@ BASE_FEATURE(kPriceInsights, - "PriceInsights", - base::FEATURE_DISABLED_BY_DEFAULT); - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) || \ -+ BUILDFLAG(IS_BSD) - BASE_FEATURE(kPriceInsightsRegionLaunched, - "PriceInsightsRegionLaunched", - base::FEATURE_ENABLED_BY_DEFAULT); -@@ -235,7 +236,7 @@ BASE_FEATURE(kShoppingAlternateServer, +@@ -209,7 +209,7 @@ BASE_FEATURE(kShoppingAlternateServer, 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) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const base::FeatureParam kDiscountOnShoppyPage{ &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, true}; #else -@@ -244,7 +245,7 @@ const base::FeatureParam kDiscountOnShoppyPage{ - #endif - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - BASE_FEATURE(kEnableDiscountInfoApiRegionLaunched, - "EnableDiscountInfoApiRegionLaunched", - base::FEATURE_ENABLED_BY_DEFAULT); -@@ -259,7 +260,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi +@@ -222,7 +222,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) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDiscountDialogAutoPopupBehaviorSetting, "DiscountDialogAutoPopupBehaviorSetting", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_crash_core_app_BUILD.gn b/www/chromium/files/patch-components_crash_core_app_BUILD.gn index 3424a92d29d0..202695d1237b 100644 --- a/www/chromium/files/patch-components_crash_core_app_BUILD.gn +++ b/www/chromium/files/patch-components_crash_core_app_BUILD.gn @@ -1,43 +1,43 @@ ---- components/crash/core/app/BUILD.gn.orig 2025-05-05 10:57:53 UTC +--- components/crash/core/app/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ components/crash/core/app/BUILD.gn @@ -70,6 +70,10 @@ static_library("app") { ] } + if (is_bsd) { + sources -= [ "crashpad.cc" ] + } + defines = [ "CRASH_IMPLEMENTATION" ] public_deps = [ ":lib" ] @@ -83,7 +87,7 @@ static_library("app") { "//third_party/crashpad/crashpad/util", ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "crashpad_linux.cc" ] data_deps = [ ":chrome_crashpad_handler" ] } @@ -105,7 +109,7 @@ static_library("app") { libs = [ "log" ] } - if (is_android || is_linux || is_chromeos) { + if ((is_android || is_linux || is_chromeos) && !is_bsd) { deps += [ "//base:base_static", "//components/crash/core/common", -@@ -237,11 +241,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { +@@ -241,11 +245,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { # define custom UserStreamDataSources. executable("chrome_crashpad_handler") { sources = [ "chrome_crashpad_handler.cc" ] - - deps = [ - ":crashpad_handler_main", - "//third_party/crashpad/crashpad/handler", - ] if (is_mac && (is_component_build || is_asan || is_ubsan_any)) { ldflags = [ diff --git a/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h b/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h index 9343582483ab..9b18e6e64a3e 100644 --- a/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h +++ b/www/chromium/files/patch-components_device__signals_core_browser_browser__utils.h @@ -1,20 +1,20 @@ ---- components/device_signals/core/browser/browser_utils.h.orig 2025-05-28 14:55:43 UTC +--- components/device_signals/core/browser/browser_utils.h.orig 2025-09-06 10:01:20 UTC +++ components/device_signals/core/browser/browser_utils.h -@@ -36,7 +36,7 @@ bool GetSiteIsolationEnabled(); - // Returns the hostname of the current machine. +@@ -38,7 +38,7 @@ bool GetSiteIsolationEnabled(); std::string GetHostName(); + #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) // Returns the hostname of the current machine. std::vector GetSystemDnsServers(); -@@ -44,7 +44,7 @@ std::vector GetSystemDnsServers(); +@@ -46,7 +46,7 @@ std::vector GetSystemDnsServers(); SettingValue GetOSFirewall(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns the path to the ufw configuration file. const char** GetUfwConfigPath(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc b/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc new file mode 100644 index 000000000000..527aa2860dfc --- /dev/null +++ b/www/chromium/files/patch-components_device__signals_core_browser_desktop_desktop__os__signals__collector.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/desktop/desktop_os_signals_collector.cc.orig 2025-09-06 10:01:20 UTC ++++ components/device_signals/core/browser/desktop/desktop_os_signals_collector.cc +@@ -43,7 +43,7 @@ std::unique_ptr AddAsyncOsSignals( + os_signals_response->disk_encryption = device_signals::GetDiskEncrypted(); + os_signals_response->os_firewall = device_signals::GetOSFirewall(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + os_signals_response->distribution_version = + device_signals::GetDistributionVersion(); + #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc b/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc index ac217e22428d..2a8687078447 100644 --- a/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc +++ b/www/chromium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc @@ -1,78 +1,78 @@ ---- components/device_signals/core/common/linux/platform_utils_linux.cc.orig 2025-08-07 06:57:29 UTC +--- components/device_signals/core/common/linux/platform_utils_linux.cc.orig 2025-09-06 10:01:20 UTC +++ components/device_signals/core/common/linux/platform_utils_linux.cc @@ -4,12 +4,23 @@ #include "components/device_signals/core/common/platform_utils.h" +#include "build/build_config.h" + #if defined(USE_GIO) #include #endif // defined(USE_GIO) #include +#if !BUILDFLAG(IS_BSD) #include +#endif +#if BUILDFLAG(IS_BSD) +#include +#include +#include +#include +#endif + #include #include #include -@@ -100,6 +111,7 @@ SettingValue GetScreenlockSecured() { +@@ -111,6 +122,7 @@ SettingValue GetScreenlockSecured() { // Implements the logic from the native host installation script. First find the // root device identifier, then locate its parent and get its type. SettingValue GetDiskEncrypted() { +#if !BUILDFLAG(IS_BSD) struct stat info; // First figure out the device identifier. Fail fast if this fails. if (stat("/", &info) != 0) { -@@ -122,11 +134,35 @@ SettingValue GetDiskEncrypted() { +@@ -133,11 +145,35 @@ SettingValue GetDiskEncrypted() { } return SettingValue::UNKNOWN; } +#endif return SettingValue::DISABLED; } - std::vector GetMacAddresses() { + std::vector internal::GetMacAddressesImpl() { std::vector result; +#if BUILDFLAG(IS_BSD) + struct ifaddrs* ifa = nullptr; + + if (getifaddrs(&ifa) != 0) + return result; + + struct ifaddrs* interface = ifa; + for (; interface != nullptr; interface = interface->ifa_next) { + if (interface->ifa_addr == nullptr || + interface->ifa_addr->sa_family != AF_LINK) { + continue; + } + struct sockaddr_dl* sdl = + reinterpret_cast(interface->ifa_addr); + if (!sdl || sdl->sdl_alen != 6) + continue; + char* link_address = static_cast(LLADDR(sdl)); + result.push_back(base::StringPrintf( + "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff, + link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff, + link_address[4] & 0xff, link_address[5] & 0xff)); + } +#else base::DirReaderPosix reader("/sys/class/net"); if (!reader.IsValid()) { return result; -@@ -151,6 +187,7 @@ std::vector GetMacAddresses() { +@@ -162,6 +198,7 @@ std::vector internal::GetMacAddressesImpl &address); result.push_back(address); } +#endif return result; } diff --git a/www/chromium/files/patch-components_device__signals_core_common_platform__utils.h b/www/chromium/files/patch-components_device__signals_core_common_platform__utils.h new file mode 100644 index 000000000000..19af4f6ecca8 --- /dev/null +++ b/www/chromium/files/patch-components_device__signals_core_common_platform__utils.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/common/platform_utils.h.orig 2025-09-06 10:01:20 UTC ++++ components/device_signals/core/common/platform_utils.h +@@ -57,7 +57,7 @@ SettingValue GetSecureBootEnabled(); + std::optional GetWindowsMachineDomain(); + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Return the distribution VERSION_ID contained in + // /etc/os-release, if it exists. + std::optional GetDistributionVersion(); diff --git a/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc b/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc index 16418c1fe4c9..e50650c4645f 100644 --- a/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc +++ b/www/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-05-28 14:55:43 UTC +--- components/device_signals/core/common/signals_features.cc.orig 2025-09-06 10:01:20 UTC +++ components/device_signals/core/common/signals_features.cc -@@ -43,7 +43,7 @@ bool IsBrowserSignalsReportingEnabled() { +@@ -55,7 +55,7 @@ bool IsDetectedAgentSignalCollectionEnabled() { } #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/chromium/files/patch-components_device__signals_core_common_signals__features.h b/www/chromium/files/patch-components_device__signals_core_common_signals__features.h index 4b3a60a02309..eebd069f6fad 100644 --- a/www/chromium/files/patch-components_device__signals_core_common_signals__features.h +++ b/www/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-05-28 14:55:43 UTC +--- components/device_signals/core/common/signals_features.h.orig 2025-09-06 10:01:20 UTC +++ components/device_signals/core/common/signals_features.h -@@ -29,7 +29,7 @@ bool IsProfileSignalsReportingEnabled(); - bool IsBrowserSignalsReportingEnabled(); +@@ -33,7 +33,7 @@ bool IsBrowserSignalsReportingEnabled(); + bool IsDetectedAgentSignalCollectionEnabled(); #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/chromium/files/patch-components_embedder__support_user__agent__utils.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc index 8e89efe8d771..c4e7b9df1685 100644 --- a/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc +++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils.cc @@ -1,56 +1,65 @@ ---- components/embedder_support/user_agent_utils.cc.orig 2025-08-07 06:57:29 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2025-09-06 10:01:20 UTC +++ components/embedder_support/user_agent_utils.cc -@@ -322,7 +322,7 @@ std::string GetUserAgentPlatform() { +@@ -317,7 +317,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; "; -@@ -348,7 +348,7 @@ std::string GetUnifiedPlatform() { +@@ -333,7 +333,7 @@ std::string GetUserAgentPlatform() { + } + + std::string GetUnifiedPlatform() { +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This constant is only used on Android (desktop) and Linux. + constexpr char kUnifiedPlatformLinuxX64[] = "X11; Linux x86_64"; + #endif +@@ -353,7 +353,7 @@ std::string GetUnifiedPlatform() { return "Windows NT 10.0; Win64; x64"; #elif BUILDFLAG(IS_FUCHSIA) return "Fuchsia"; -#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return "X11; Linux x86_64"; ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return kUnifiedPlatformLinuxX64; #elif BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { -@@ -605,6 +605,9 @@ std::string GetPlatformForUAMetadata() { +@@ -615,7 +615,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)) { +@@ -661,6 +661,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 -@@ -664,7 +667,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(const Pr - base::StringPrintf("%d.%d.%d", major, minor, bugfix); - #endif - --#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)) { -@@ -827,6 +830,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -873,6 +876,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons "Android %s", os_version.c_str() #elif BUILDFLAG(IS_FUCHSIA) "Fuchsia" +#elif BUILDFLAG(IS_BSD) +#if defined(__x86_64__) + "Linux x86_64; %s %s", +#elif defined(__aarch64__) + "Linux aarch64; %s %s", +#else + "Linux i686; %s %s", +#endif + unixinfo.sysname, // e.g. Linux + cpu_type.c_str() // e.g. i686 #elif BUILDFLAG(IS_IOS) "CPU %s OS %s like Mac OS X", cpu_type.c_str(), os_version.c_str() diff --git a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc index c1a01656aa07..dd1caa9a5554 100644 --- a/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc +++ b/www/chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -1,29 +1,29 @@ ---- components/embedder_support/user_agent_utils_unittest.cc.orig 2025-08-07 06:57:29 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ components/embedder_support/user_agent_utils_unittest.cc -@@ -153,7 +153,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) +@@ -152,7 +152,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) ASSERT_EQ("CrOS", pieces[0]); ASSERT_EQ("x86_64", pieces[1]); ASSERT_EQ("14541.0.0", pieces[2]); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Post-UA Reduction there is a single value for Linux: // X11; Linux x86_64 ASSERT_EQ(2u, pieces.size()); -@@ -341,7 +341,7 @@ class UserAgentUtilsTest : public testing::Test, +@@ -340,7 +340,7 @@ class UserAgentUtilsTest : public testing::Test, "X11; CrOS x86_64 14541.0.0"; #elif BUILDFLAG(IS_FUCHSIA) "Fuchsia"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "X11; Linux x86_64"; #elif BUILDFLAG(IS_MAC) "Macintosh; Intel Mac OS X 10_15_7"; -@@ -721,7 +721,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { +@@ -720,7 +720,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { #endif #elif BUILDFLAG(IS_ANDROID) EXPECT_EQ(metadata.platform, "Android"); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_EQ(metadata.platform, "Linux"); #elif BUILDFLAG(IS_FREEBSD) EXPECT_EQ(metadata.platform, "FreeBSD"); diff --git a/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc b/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc new file mode 100644 index 000000000000..14f74b5a782e --- /dev/null +++ b/www/chromium/files/patch-components_enterprise_browser_reporting_report__util.cc @@ -0,0 +1,11 @@ +--- components/enterprise/browser/reporting/report_util.cc.orig 2025-09-06 10:01:20 UTC ++++ components/enterprise/browser/reporting/report_util.cc +@@ -199,7 +199,7 @@ std::string GetSecuritySignalsInReport( + signals_dict.Set("antivirus_info", std::move(anti_virus_list)); + + signals_dict.Set("hotfixes", RepeatedFieldptrToList(os_report.hotfixes())); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (os_report.has_distribution_version()) { + signals_dict.Set("distribution_version", + os_report.distribution_version()); diff --git a/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.cc b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.cc new file mode 100644 index 000000000000..9a412c386ba7 --- /dev/null +++ b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.cc @@ -0,0 +1,11 @@ +--- components/enterprise/data_controls/core/browser/features.cc.orig 2025-09-06 10:01:20 UTC ++++ components/enterprise/data_controls/core/browser/features.cc +@@ -13,7 +13,7 @@ BASE_FEATURE(kEnableClipboardDataControlsAndroid, + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kEnableDownloadDataControlsDesktop, + "EnableDownloadDataControlsDesktop", + base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.h b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.h new file mode 100644 index 000000000000..d4ce0632a931 --- /dev/null +++ b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_features.h @@ -0,0 +1,11 @@ +--- components/enterprise/data_controls/core/browser/features.h.orig 2025-09-06 10:01:20 UTC ++++ components/enterprise/data_controls/core/browser/features.h +@@ -16,7 +16,7 @@ BASE_DECLARE_FEATURE(kEnableClipboardDataControlsAndro + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Controls enabling Data Controls rules for downloads on desktop + BASE_DECLARE_FEATURE(kEnableDownloadDataControlsDesktop); + #endif diff --git a/www/chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc new file mode 100644 index 000000000000..76bbc6f2ae06 --- /dev/null +++ b/www/chromium/files/patch-components_enterprise_data__controls_core_browser_rule.cc @@ -0,0 +1,29 @@ +--- components/enterprise/data_controls/core/browser/rule.cc.orig 2025-09-06 10:01:20 UTC ++++ components/enterprise/data_controls/core/browser/rule.cc +@@ -105,7 +105,7 @@ policy::PolicyErrorPath CreateErrorPath( + // a type of restriction should be applied or not, check it here. + bool IgnoreRestriction(Rule::Restriction restriction) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (restriction == Rule::Restriction::kFileDownload) { + return !base::FeatureList::IsEnabled(kEnableDownloadDataControlsDesktop); + } +@@ -538,7 +538,7 @@ bool Rule::AddUnsupportedAttributeErrors( + }, + }, + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + { + Restriction::kFileDownload, + { +@@ -617,7 +617,7 @@ bool Rule::AddUnsupportedRestrictionErrors( + }, + #endif // BUILDFLAG(ENTERPRISE_SCREENSHOT_PROTECTION) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + { + Restriction::kFileDownload, + { diff --git a/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc b/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc index 418e0e580df8..94290d50614d 100644 --- a/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc +++ b/www/chromium/files/patch-components_enterprise_watermarking_watermark.cc @@ -1,20 +1,20 @@ ---- components/enterprise/watermarking/watermark.cc.orig 2025-02-19 07:43:18 UTC +--- components/enterprise/watermarking/watermark.cc.orig 2025-09-06 10:01:20 UTC +++ components/enterprise/watermarking/watermark.cc -@@ -31,7 +31,7 @@ gfx::Font WatermarkFont() { +@@ -29,7 +29,7 @@ gfx::Font WatermarkFont(int font_size) { "Segoe UI", #elif BUILDFLAG(IS_MAC) "SF Pro Text", -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "Ubuntu", #elif BUILDFLAG(IS_CHROMEOS) "Google Sans", -@@ -47,7 +47,7 @@ const gfx::FontList& WatermarkFontList() { +@@ -40,7 +40,7 @@ gfx::Font WatermarkFont(int font_size) { } gfx::Font::Weight WatermarkFontWeight() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return gfx::Font::Weight::SEMIBOLD; #else return gfx::Font::Weight::MEDIUM; diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc index 718e8c2614a5..5b3079b81720 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,30 +1,30 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2025-08-07 06:57:29 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2025-09-06 10:01:20 UTC +++ components/feature_engagement/public/feature_configurations.cc @@ -100,7 +100,7 @@ std::optional CreateNewUserGestureInPro std::optional GetClientSideFeatureConfig( const base::Feature* feature) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // The IPH bubble for link capturing has a trigger set to ANY so that it // always shows up. The per app specific guardrails are independently stored @@ -119,7 +119,7 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { FeatureConfig config; config.valid = true; -@@ -1924,7 +1924,8 @@ std::optional GetClientSideFeatureConfi +@@ -1956,7 +1956,8 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { // The credit card benefit IPH appears up to three times over 10 years and diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc index 8a2257203730..96c28ee6270e 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2025-08-07 06:57:29 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2025-09-06 10:01:20 UTC +++ components/feature_engagement/public/feature_constants.cc -@@ -28,7 +28,7 @@ bool IsOnDeviceStorageEnabled() { +@@ -34,7 +34,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", -@@ -802,7 +802,7 @@ BASE_FEATURE(kDefaultBrowserTriggerCriteriaExperiment, +@@ -829,7 +829,7 @@ BASE_FEATURE(kDefaultBrowserTriggerCriteriaExperiment, #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", -@@ -958,7 +958,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, +@@ -985,7 +985,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/chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h index 0c5e24565ace..36af4ec6bf3b 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2025-08-07 06:57:29 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2025-09-06 10:01:20 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 -@@ -361,7 +361,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kDefaultBrowserTrigg +@@ -371,7 +371,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kDefaultBrowserTrigg #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( -@@ -425,7 +425,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA +@@ -435,7 +435,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(kIPHSupervisedUserProfileSigninFeature); diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc index df229613da9b..2ea14312f8f3 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2025-08-07 06:57:29 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2025-09-06 10:01:20 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -193,7 +193,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHIOSPageActionMenu, +@@ -198,7 +198,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSHomepageCustomizationNewBadge, #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 -@@ -266,7 +266,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -271,7 +271,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, -@@ -323,7 +323,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -328,7 +328,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, &kIPHSupervisedUserProfileSigninFeature, diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h index f5539fbbc9bb..f86fe048351b 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,58 +1,58 @@ ---- components/feature_engagement/public/feature_list.h.orig 2025-08-07 06:57:29 UTC +--- components/feature_engagement/public/feature_list.h.orig 2025-09-06 10:01:20 UTC +++ components/feature_engagement/public/feature_list.h -@@ -342,7 +342,7 @@ DEFINE_VARIATION_PARAM(kIPHIOSPageActionMenu, "IPH_iOS +@@ -353,7 +353,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSHomepageCustomizationNew #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 -@@ -460,7 +460,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -471,7 +471,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"); -@@ -560,7 +561,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphHelpAppBasedTenF +@@ -571,7 +572,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, -@@ -752,7 +753,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -765,7 +766,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHiOSSafariImportFeature), VARIATION_ENTRY(kIPHIOSPageActionMenu), #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), -@@ -812,7 +813,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -825,7 +826,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(kIPHAutofillCreditCardBenefitFeature), VARIATION_ENTRY(kIPHAutofillCardInfoRetrievalSuggestionFeature), -@@ -866,7 +868,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -879,7 +881,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(kIPHSupervisedUserProfileSigninFeature), diff --git a/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc index 584bc5882bb5..0f69c0fc0b71 100644 --- a/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc +++ b/www/chromium/files/patch-components_gwp__asan_client_gwp__asan__features.cc @@ -1,11 +1,20 @@ ---- components/gwp_asan/client/gwp_asan_features.cc.orig 2024-01-30 07:53:34 UTC +--- components/gwp_asan/client/gwp_asan_features.cc.orig 2025-09-06 10:01:20 UTC +++ components/gwp_asan/client/gwp_asan_features.cc @@ -9,7 +9,7 @@ namespace gwp_asan::internal { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) constexpr base::FeatureState kDefaultEnabled = base::FEATURE_ENABLED_BY_DEFAULT; #else +@@ -72,7 +72,7 @@ GWP_ASAN_EXPORT extern const base::FeatureParam + kGwpAsanMallocGpuAllocationSamplingRange{&kGwpAsanMalloc, + "GpuAllocationSamplingRange", 16}; + +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // Browser reservation params. + GWP_ASAN_EXPORT extern const base::FeatureParam diff --git a/www/chromium/files/patch-components_media__router_common_media__source.cc b/www/chromium/files/patch-components_media__router_common_media__source.cc index db829769475d..608f8069d2c6 100644 --- a/www/chromium/files/patch-components_media__router_common_media__source.cc +++ b/www/chromium/files/patch-components_media__router_common_media__source.cc @@ -1,11 +1,11 @@ ---- components/media_router/common/media_source.cc.orig 2025-08-07 06:57:29 UTC +--- components/media_router/common/media_source.cc.orig 2025-09-06 10:01:20 UTC +++ components/media_router/common/media_source.cc -@@ -59,7 +59,7 @@ bool IsSystemAudioCaptureSupported() { - if (!media::IsSystemLoopbackCaptureSupported()) { - return false; - } --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +@@ -62,7 +62,7 @@ bool IsSystemAudioCaptureSupported() { + #if BUILDFLAG(IS_MAC) + return media::IsMacSckSystemLoopbackCaptureSupported() || + base::FeatureList::IsEnabled(media::kMacCatapLoopbackAudioForCast); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); #else return true; diff --git a/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc b/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc index e0413d739385..44e01884aa14 100644 --- a/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc +++ b/www/chromium/files/patch-components_metrics_dwa_dwa__service.cc @@ -1,11 +1,11 @@ ---- components/metrics/dwa/dwa_service.cc.orig 2025-04-04 08:52:13 UTC +--- components/metrics/dwa/dwa_service.cc.orig 2025-09-06 10:01:20 UTC +++ components/metrics/dwa/dwa_service.cc -@@ -162,7 +162,7 @@ void DwaService::RecordCoarseSystemInformation( +@@ -187,7 +187,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/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc index a66063097807..dc2a5eca6ce6 100644 --- a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc +++ b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-08-07 06:57:29 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-09-06 10:01:20 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -133,7 +133,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, - // Whether to use the on device model service in optimization guide. +@@ -119,7 +119,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, BASE_FEATURE(kOptimizationGuideOnDeviceModel, "OptimizationGuideOnDeviceModel", --#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/chromium/files/patch-components_os__crypt_sync_os__crypt.h b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h index 8789cff9b334..ebc3cb1d2abc 100644 --- a/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h +++ b/www/chromium/files/patch-components_os__crypt_sync_os__crypt.h @@ -1,63 +1,63 @@ ---- components/os_crypt/sync/os_crypt.h.orig 2025-08-07 06:57:29 UTC +--- components/os_crypt/sync/os_crypt.h.orig 2025-09-06 10:01:20 UTC +++ components/os_crypt/sync/os_crypt.h -@@ -23,7 +23,7 @@ class AppleKeychain; +@@ -23,7 +23,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; // 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 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 { // 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 { 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 { bool DeriveKey(); #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // This lock is used to make the GetEncryptionKey and // GetRawEncryptionKey methods thread-safe. static base::Lock& GetLock(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static constexpr size_t kDerivedKeyBytes = 16; crypto::SubtlePassKey MakeCryptoPassKey(); diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc index 1590d064cb4b..1cfa767d5b1f 100644 --- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc +++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2024-01-30 07:53:34 UTC +--- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ components/paint_preview/browser/paint_preview_client_unittest.cc -@@ -174,8 +174,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa +@@ -172,8 +172,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); - chromeVersion->set_major(current_chrome_version.components()[0]); - chromeVersion->set_minor(current_chrome_version.components()[1]); + chromeVersion->set_gmajor(current_chrome_version.components()[0]); + chromeVersion->set_gminor(current_chrome_version.components()[1]); chromeVersion->set_build(current_chrome_version.components()[2]); chromeVersion->set_patch(current_chrome_version.components()[3]); PaintPreviewFrameProto* main_frame = expected_proto.mutable_root_frame(); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc index e4b12166dbb9..6a5be9be20f2 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2025-08-07 06:57:29 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/features/password_features.cc -@@ -47,7 +47,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, +@@ -62,7 +62,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 -@@ -124,7 +124,7 @@ BASE_FEATURE(kReuseDetectionBasedOnPasswordHashes, +@@ -131,7 +131,7 @@ BASE_FEATURE(kReuseDetectionBasedOnPasswordHashes, "ReuseDetectionBasedOnPasswordHashes", base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kRestartToGainAccessToKeychain, "RestartToGainAccessToKeychain", #if BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h index 9bfdf2d8c128..e993ec7ca35d 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/features/password_features.h.orig 2025-08-07 06:57:29 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -118,7 +118,7 @@ BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); +@@ -131,7 +131,7 @@ BASE_DECLARE_FEATURE(kPasswordManagerLogToTerminal); // Detects password reuse based on hashed password values. BASE_DECLARE_FEATURE(kReuseDetectionBasedOnPasswordHashes); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables "Needs access to keychain, restart chrome" bubble and banner. BASE_DECLARE_FEATURE(kRestartToGainAccessToKeychain); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc index 0058add31bcb..2be03a8752df 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_autofill_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/password_manager/core/browser/password_autofill_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_autofill_manager.cc -@@ -288,7 +288,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( - } +@@ -308,7 +308,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, -@@ -525,7 +525,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { +@@ -538,7 +538,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { manual_fallback_metrics_recorder_ = std::make_unique(); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) cross_domain_confirmation_controller_.reset(); #endif wait_for_passkeys_timer_.Stop(); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h index ee1009f47c72..01c046a1c981 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_autofill_manager.h.orig 2025-08-07 06:57:29 UTC +--- components/password_manager/core/browser/password_autofill_manager.h.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_autofill_manager.h -@@ -267,7 +267,7 @@ class PasswordAutofillManager : public autofill::Autof +@@ -285,7 +285,7 @@ class PasswordAutofillManager : public autofill::Autof // Stores the controller of warning popup UI on cross domain filling. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::unique_ptr cross_domain_confirmation_controller_; #endif diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc index 37414ef9b9b1..7708eecae896 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_form_filling.cc.orig 2025-05-28 14:55:43 UTC +--- components/password_manager/core/browser/password_form_filling.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_form_filling.cc -@@ -165,7 +165,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -178,7 +178,7 @@ LikelyFormFilling SendFillInformationToRenderer( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!should_show_popup_without_passwords) { client->MaybeShowSavePasswordPrimingPromo(observed_form.url); } diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc index 0d2039dcf4a7..816e565e8a46 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc @@ -1,29 +1,29 @@ ---- components/password_manager/core/browser/password_form_manager.cc.orig 2025-08-07 06:57:29 UTC +--- components/password_manager/core/browser/password_form_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_form_manager.cc @@ -66,7 +66,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 -@@ -242,7 +242,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest +@@ -233,7 +233,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()) { -@@ -916,7 +916,7 @@ void PasswordFormManager::OnFetchCompleted() { +@@ -931,7 +931,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/chromium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc index 419129b5c5e7..3dc67745916e 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manager.cc.orig 2025-07-02 06:08:04 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -507,7 +507,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -586,7 +586,7 @@ void PasswordManager::RegisterProfilePrefs( prefs::kAutofillableCredentialsAccountStoreLoginDatabase, false); #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 -@@ -520,7 +520,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -599,7 +599,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/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h index 8e454dba845c..f11d132621d7 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h +++ b/www/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-08-07 06:57:29 UTC +--- components/password_manager/core/browser/password_manager_client.h.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_manager_client.h -@@ -30,7 +30,7 @@ +@@ -31,7 +31,7 @@ #include "net/cert/cert_status_flags.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/i18n/rtl.h" #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #include "ui/gfx/geometry/rect_f.h" -@@ -544,7 +544,7 @@ class PasswordManagerClient { +@@ -545,7 +545,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/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc index cc9594688b2f..19e985e521b9 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc @@ -1,29 +1,29 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2025-05-28 14:55:43 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.cc @@ -46,7 +46,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns the password form corresponding to the `payload` data. In most // cases there is only one such form stored, but having more than one or no // forms is also possible. If there is more than one form, showing any of them -@@ -297,7 +297,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( +@@ -300,7 +300,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( } case autofill::SuggestionType::kViewPasswordDetails: { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::optional credentials = GetCorrespondingPasswordForm( suggestion.GetPayload(), -@@ -427,7 +427,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass +@@ -436,7 +436,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass const Suggestion::PasswordSuggestionDetails& payload, base::OnceClosure on_allowed) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (payload.is_cross_domain) { + CHECK(payload.display_signon_realm); cross_domain_confirmation_popup_controller_ = - password_client_->ShowCrossDomainConfirmationPopup( diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h index 504ccff1fbd8..a9de8e28b089 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2025-05-05 10:57:53 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.h @@ -19,7 +19,7 @@ #include "components/password_manager/core/browser/ui/saved_passwords_presenter.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_CHROMEOS) -@@ -180,7 +180,7 @@ class PasswordManualFallbackFlow : public autofill::Au +@@ -183,7 +183,7 @@ class PasswordManualFallbackFlow : public autofill::Au std::unique_ptr authenticator_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr cross_domain_confirmation_popup_controller_; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc index 3e535601d642..af911ab8d411 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store_factory_util.cc.orig 2024-10-22 08:31:56 UTC +--- components/password_manager/core/browser/password_store_factory_util.cc.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/browser/password_store_factory_util.cc -@@ -29,7 +29,7 @@ namespace { +@@ -30,7 +30,7 @@ namespace { LoginDatabase::DeletingUndecryptablePasswordsEnabled GetPolicyFromPrefs( PrefService* prefs) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) return LoginDatabase::DeletingUndecryptablePasswordsEnabled( prefs->GetBoolean(prefs::kDeletingUndecryptablePasswordsEnabled)); #else diff --git a/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h b/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h index a16f5a0c0d0e..c8df5c906f00 100644 --- a/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h +++ b/www/chromium/files/patch-components_password__manager_core_common_password__manager__pref__names.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/common/password_manager_pref_names.h.orig 2025-07-02 06:08:04 UTC +--- components/password_manager/core/common/password_manager_pref_names.h.orig 2025-09-06 10:01:20 UTC +++ components/password_manager/core/common/password_manager_pref_names.h @@ -59,7 +59,7 @@ inline constexpr char kCredentialProviderEnabledOnStar #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) // Boolean pref controlled by the DeletingUndecryptablePasswordsEnabled policy. // If set to false it blocks deleting undecryptable passwords, otherwise the // deletion can happen. -@@ -346,7 +346,7 @@ inline constexpr char kAutofillableCredentialsAccountS +@@ -285,7 +285,7 @@ inline constexpr char kAutofillableCredentialsAccountS inline constexpr char kPasswordSharingEnabled[] = "password_manager.password_sharing_enabled"; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Integer pref indicating how many times relaunch Chrome bubble was dismissed. inline constexpr char kRelaunchChromeBubbleDismissedCounter[] = "password_manager.relaunch_chrome_bubble_dismissed_counter"; diff --git a/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc index 88173690d1d0..f2b94850aae9 100644 --- a/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc +++ b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/policy_pref_names.cc.orig 2025-08-07 06:57:29 UTC +--- components/policy/core/common/policy_pref_names.cc.orig 2025-09-06 10:01:20 UTC +++ components/policy/core/common/policy_pref_names.cc -@@ -186,7 +186,7 @@ const char kFloatingWorkspaceEnabled[] = "ash.floating +@@ -199,7 +199,7 @@ const char kFloatingWorkspaceEnabled[] = "ash.floating // A boolean value indicating whether the built-in AI APIs are enabled. const char kBuiltInAIAPIsEnabled[] = "policy.built_in_ai_apis_enabled"; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // List of urls for which password manager is disabled/blocked. const char kPasswordManagerBlocklist[] = "policy.password_manager_blocklist"; #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || diff --git a/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h index 259b685103c1..0469954e97dc 100644 --- a/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h +++ b/www/chromium/files/patch-components_policy_core_common_policy__pref__names.h @@ -1,11 +1,11 @@ ---- components/policy/core/common/policy_pref_names.h.orig 2025-08-07 06:57:29 UTC +--- components/policy/core/common/policy_pref_names.h.orig 2025-09-06 10:01:20 UTC +++ components/policy/core/common/policy_pref_names.h -@@ -90,7 +90,7 @@ extern const char kFloatingWorkspaceEnabled[]; +@@ -94,7 +94,7 @@ extern const char kFloatingWorkspaceEnabled[]; #endif extern const char kBuiltInAIAPIsEnabled[]; #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extern const char kPasswordManagerBlocklist[]; #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc deleted file mode 100644 index 79f417f89747..000000000000 --- a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__service.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/regional_capabilities/regional_capabilities_service.cc.orig 2025-08-07 06:57:29 UTC -+++ components/regional_capabilities/regional_capabilities_service.cc -@@ -234,7 +234,7 @@ std::optional RegionalCapabilitiesService:: - return persisted_country_id; - } - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled(switches::kClearPrefForUnknownCountry)) { - profile_prefs_->ClearPref(prefs::kCountryIDAtInstall); - base::UmaHistogramEnumeration(kUnknownCountryIdStored, diff --git a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc index f0e216dbf66d..99bd76bb1b60 100644 --- a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc +++ b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc @@ -1,18 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-08-07 06:57:29 UTC +--- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-09-06 10:01:20 UTC +++ components/regional_capabilities/regional_capabilities_switches.cc -@@ -10,13 +10,13 @@ - - namespace switches { - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - BASE_FEATURE(kClearPrefForUnknownCountry, - "ClearCountryPrefForStoredUnknownCountry", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -18,7 +18,7 @@ BASE_FEATURE(kMitigateLegacySearchEnginePromoOverlap, + base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kUseFinchPermanentCountryForFetchCountryId, "UseFinchPermanentCountyForFetchCountryId", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h index 27d425f9b3be..91b36a97032f 100644 --- a/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h +++ b/www/chromium/files/patch-components_regional__capabilities_regional__capabilities__switches.h @@ -1,19 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_switches.h.orig 2025-08-07 06:57:29 UTC +--- components/regional_capabilities/regional_capabilities_switches.h.orig 2025-09-06 10:01:20 UTC +++ components/regional_capabilities/regional_capabilities_switches.h -@@ -26,14 +26,14 @@ inline constexpr char kSearchEngineChoiceCountry[] = - inline constexpr char kDefaultListCountryOverride[] = "DEFAULT_EEA"; - inline constexpr char kEeaListCountryOverride[] = "EEA_ALL"; - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // When an invalid `country_codes::CountryId` is stored in prefs and this - // feature is enabled the pref will be cleared allowing a valid country to be - // set again. - BASE_DECLARE_FEATURE(kClearPrefForUnknownCountry); +@@ -33,7 +33,7 @@ inline constexpr char kEeaListCountryOverride[] = "EEA + BASE_DECLARE_FEATURE(kMitigateLegacySearchEnginePromoOverlap); #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use finch permanent country instead of finch latest country for fetching // country ID. BASE_DECLARE_FEATURE(kUseFinchPermanentCountryForFetchCountryId); diff --git a/www/chromium/files/patch-components_search__engines_template__url__service.cc b/www/chromium/files/patch-components_search__engines_template__url__service.cc index 055332f9ef9f..08be7a796180 100644 --- a/www/chromium/files/patch-components_search__engines_template__url__service.cc +++ b/www/chromium/files/patch-components_search__engines_template__url__service.cc @@ -1,11 +1,11 @@ ---- components/search_engines/template_url_service.cc.orig 2025-08-07 06:57:29 UTC +--- components/search_engines/template_url_service.cc.orig 2025-09-06 10:01:20 UTC +++ components/search_engines/template_url_service.cc -@@ -3600,7 +3600,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3591,7 +3591,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( std::unique_ptr TemplateURLService::GetEnterpriseSearchManager(PrefService* prefs) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return std::make_unique( prefs, base::BindRepeating(&TemplateURLService::EnterpriseSearchChanged, base::Unretained(this))); diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc index edd00c307f28..4d7b0d26292e 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc @@ -1,20 +1,20 @@ ---- components/signin/public/base/signin_switches.cc.orig 2025-08-07 06:57:29 UTC +--- components/signin/public/base/signin_switches.cc.orig 2025-09-06 10:01:20 UTC +++ components/signin/public/base/signin_switches.cc -@@ -60,7 +60,7 @@ BASE_FEATURE(kMakeAccountsAvailableInIdentityManager, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -73,7 +73,7 @@ BASE_FEATURE(kSmartEmailLineBreaking, + base::FEATURE_ENABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables the History Sync Opt-in on Desktop. BASE_FEATURE(kEnableHistorySyncOptin, "EnableHistorySyncOptin", -@@ -250,7 +250,7 @@ BASE_FEATURE(kDeferWebSigninTrackerCreation, - "DeferWebSigninTrackerCreation", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -292,7 +292,7 @@ BASE_FEATURE(kSyncEnableBookmarksInTransportMode, + #endif // BUILDFLAG(IS_IOS) + ); -#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, "SignInPromoMaterialNextUI", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.h b/www/chromium/files/patch-components_signin_public_base_signin__switches.h index 82b692749990..d59285672f7b 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.h +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.h @@ -1,20 +1,20 @@ ---- components/signin/public/base/signin_switches.h.orig 2025-08-07 06:57:29 UTC +--- components/signin/public/base/signin_switches.h.orig 2025-09-06 10:01:20 UTC +++ components/signin/public/base/signin_switches.h -@@ -55,7 +55,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) - BASE_DECLARE_FEATURE(kMakeAccountsAvailableInIdentityManager); +@@ -61,7 +61,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kSmartEmailLineBreaking); #endif -#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(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kEnableHistorySyncOptin); COMPONENT_EXPORT(SIGNIN_SWITCHES) -@@ -189,7 +189,7 @@ bool IsExtensionsExplicitBrowserSigninEnabled(); +@@ -222,7 +222,7 @@ BASE_DECLARE_FEATURE(kSyncEnableBookmarksInTransportMo COMPONENT_EXPORT(SIGNIN_SWITCHES) - BASE_DECLARE_FEATURE(kDeferWebSigninTrackerCreation); + bool IsExtensionsExplicitBrowserSigninEnabled(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Uses the Material Next theme for the signin promo. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSignInPromoMaterialNextUI); diff --git a/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc index dc5ff7946665..0d4300bab365 100644 --- a/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc +++ b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc @@ -1,11 +1,11 @@ ---- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2024-08-26 12:06:38 UTC +--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2025-09-06 10:01:20 UTC +++ components/startup_metric_utils/common/startup_metric_utils.cc -@@ -94,7 +94,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi +@@ -95,7 +95,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi // Enabling this logic on OS X causes a significant performance regression. // TODO(crbug.com/40464036): Remove IS_APPLE ifdef once utility processes // set their desired main thread priority. -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) static bool statics_initialized = false; if (!statics_initialized) { statics_initialized = true; diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc b/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc new file mode 100644 index 000000000000..d9a7a0362a6e --- /dev/null +++ b/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc @@ -0,0 +1,11 @@ +--- components/supervised_user/core/browser/child_account_service.cc.orig 2025-09-06 10:01:20 UTC ++++ components/supervised_user/core/browser/child_account_service.cc +@@ -170,7 +170,7 @@ void ChildAccountService::OnPrimaryAccountChanged( + void ChildAccountService::UpdateForceGoogleSafeSearch() { + // On platforms without web sign-out (where the primary account is always + // authenticated), there's no need to force SafeSearch. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + bool is_subject_to_parental_controls = + IsPrimaryAccountSubjectToParentalControls(identity_manager_) == + signin::Tribool::kTrue; diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc index 74118cafb833..476edb0b4223 100644 --- a/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc +++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2025-08-07 06:57:29 UTC +--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2025-09-06 10:01:20 UTC +++ components/supervised_user/core/browser/supervised_user_metrics_service.cc -@@ -83,7 +83,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer +@@ -103,7 +103,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer std::move(metrics_service_accessor_delegate)) { DCHECK(pref_service_); supervised_user_service_observation_.Observe(&supervised_user_service); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CHECK(extensions_metrics_delegate_) << "Extensions metrics delegate must exist on Win/Linux/Mac"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_supervised__user_core_common_features.cc b/www/chromium/files/patch-components_supervised__user_core_common_features.cc index 0ebf41823a53..871ace2a4bf1 100644 --- a/www/chromium/files/patch-components_supervised__user_core_common_features.cc +++ b/www/chromium/files/patch-components_supervised__user_core_common_features.cc @@ -1,45 +1,38 @@ ---- components/supervised_user/core/common/features.cc.orig 2025-08-07 06:57:29 UTC +--- components/supervised_user/core/common/features.cc.orig 2025-09-06 10:01:20 UTC +++ components/supervised_user/core/common/features.cc -@@ -37,7 +37,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, +@@ -35,7 +35,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, #endif #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_BSD) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000; const base::FeatureParam kLocalWebApprovalBottomSheetLoadTimeoutMs{ -@@ -46,7 +46,7 @@ const base::FeatureParam kLocalWebApprovalBottomS +@@ -44,7 +44,7 @@ const base::FeatureParam kLocalWebApprovalBottomS #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableLocalWebApprovalErrorDialog, "EnableLocalWebApprovalErrorDialog", base::FEATURE_ENABLED_BY_DEFAULT); -@@ -89,7 +89,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() { - return base::FeatureList::IsEnabled(kAllowSubframeLocalWebApprovals); - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - BASE_FEATURE(kCustomProfileStringsForSupervisedUsers, - "CustomProfileStringsForSupervisedUsers", - base::FEATURE_ENABLED_BY_DEFAULT); -@@ -101,13 +101,13 @@ BASE_FEATURE(kShowKiteForSupervisedUsers, - - BASE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers, - "ForceSafeSearchForUnauthenticatedSupervisedUsers", --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) +@@ -58,7 +58,7 @@ BASE_FEATURE(kLocalWebApprovalsWidgetSupportsUrlPayloa + BASE_FEATURE(kSupervisedUserBlockInterstitialV3, + "SupervisedUserBlockInterstitialV3", + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); - #endif +@@ -94,7 +94,7 @@ bool IsLocalWebApprovalsEnabledForSubframes() { + return base::FeatureList::IsEnabled(kAllowSubframeLocalWebApprovals); + } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableSupervisedUserVersionSignOutDialog, "EnableSupervisedUserVersionSignOutDialog", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_supervised__user_core_common_features.h b/www/chromium/files/patch-components_supervised__user_core_common_features.h index 1319fe53139a..65da99ff6610 100644 --- a/www/chromium/files/patch-components_supervised__user_core_common_features.h +++ b/www/chromium/files/patch-components_supervised__user_core_common_features.h @@ -1,35 +1,26 @@ ---- components/supervised_user/core/common/features.h.orig 2025-05-28 14:55:43 UTC +--- components/supervised_user/core/common/features.h.orig 2025-09-06 10:01:20 UTC +++ components/supervised_user/core/common/features.h @@ -20,12 +20,12 @@ BASE_DECLARE_FEATURE(kLocalWebApprovals); BASE_DECLARE_FEATURE(kAllowSubframeLocalWebApprovals); #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const base::FeatureParam kLocalWebApprovalBottomSheetLoadTimeoutMs; #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Whether we show an error screen in case of failure of a local web approval. BASE_DECLARE_FEATURE(kEnableLocalWebApprovalErrorDialog); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) @@ -37,7 +37,7 @@ BASE_DECLARE_FEATURE(kLocalWebApprovalsWidgetSupportsU // Whether supervised users see an updated URL filter interstitial. BASE_DECLARE_FEATURE(kSupervisedUserBlockInterstitialV3); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - // Enable different web sign in interception behaviour for supervised users: - // - // 1. Supervised user signs in to existing signed out Profile: show modal -@@ -55,7 +55,7 @@ BASE_DECLARE_FEATURE(kShowKiteForSupervisedUsers); - // unauthenticated (e.g. signed out of the content area) account. - BASE_DECLARE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Uses supervised user strings on the signout dialog. BASE_DECLARE_FEATURE(kEnableSupervisedUserVersionSignOutDialog); #endif diff --git a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc index 5e04ea253ddc..2da6bb6d7c71 100644 --- a/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc +++ b/www/chromium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc @@ -1,11 +1,11 @@ ---- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-08-07 06:57:29 UTC +--- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-09-06 10:01:20 UTC +++ components/sync_preferences/common_syncable_prefs_database.cc -@@ -343,7 +343,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = +@@ -337,7 +337,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_CHROMEOS) || BUILDFLAG(IS_BSD) {autofill::prefs::kAutofillBnplEnabled, {syncable_prefs_ids::kAutofillBnplEnabled, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index 6533a7ab2ff3..a19a0b0d63c7 100644 --- a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2025-07-02 06:08:04 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2025-09-06 10:01:20 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1503,7 +1503,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1498,7 +1498,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/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index d9915f027691..7b07b20a764d 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-08-07 06:57:29 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-09-06 10:01:20 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc @@ -142,7 +142,7 @@ RootCompositorFrameSinkImpl::Create( output_surface->SetNeedsSwapSizeNotifications( params->send_swap_size_notifications); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) // For X11, we need notify client about swap completion after resizing, so the // client can use it for synchronize with X11 WM. output_surface->SetNeedsSwapSizeNotifications(true); -@@ -911,7 +911,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -902,7 +902,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw if (display_client_ && enable_swap_completion_callback_) { display_client_->DidCompleteSwapWithSize(pixel_size); } -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) if (display_client_ && pixel_size != last_swap_pixel_size_) { last_swap_pixel_size_ = pixel_size; display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index 62177b354915..34aadc2f89f5 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2025-08-07 06:57:29 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2025-09-06 10:01:20 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -229,7 +229,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -223,7 +223,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl base::TimeDelta display_frame_interval_ = BeginFrameArgs::DefaultInterval(); base::TimeDelta preferred_frame_interval_; -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) gfx::Size last_swap_pixel_size_; #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc index 445b9446efcc..29e822e740d1 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/gl/gpu_service_impl.cc.orig 2025-08-07 06:57:29 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2025-09-06 10:01:20 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -514,7 +514,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -501,7 +501,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 -@@ -1372,7 +1372,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1266,7 +1266,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()); - auto buffer_format = gfx::BufferFormat::YUV_420_BIPLANAR; + diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h index 955bd62f4058..701257426aa9 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/gl/gpu_service_impl.h.orig 2025-07-02 06:08:04 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2025-09-06 10:01:20 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -487,7 +487,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -450,7 +450,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl void OnBeginFrameOnIO(const BeginFrameArgs& args); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGMBNV12Supported(); #endif diff --git a/www/chromium/files/patch-content_app_BUILD.gn b/www/chromium/files/patch-content_app_BUILD.gn index 285eb9386ce9..aedfaaae5770 100644 --- a/www/chromium/files/patch-content_app_BUILD.gn +++ b/www/chromium/files/patch-content_app_BUILD.gn @@ -1,15 +1,15 @@ ---- content/app/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- content/app/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ content/app/BUILD.gn -@@ -89,9 +89,9 @@ source_set("content_main_runner_app") { +@@ -91,9 +91,9 @@ source_set("content_main_runner_app") { "//third_party/tflite:buildflags", "//tools/v8_context_snapshot:buildflags", ] - if (build_tflite_with_xnnpack) { - deps += [ "//third_party/cpuinfo" ] - } +# if (build_tflite_with_xnnpack) { +# deps += [ "//third_party/cpuinfo" ] +# } } - source_set("app") { + if (is_android && enable_javaless_renderers) { diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc index d15082f7ba07..7592d161b68c 100644 --- a/www/chromium/files/patch-content_app_content__main.cc +++ b/www/chromium/files/patch-content_app_content__main.cc @@ -1,20 +1,20 @@ ---- content/app/content_main.cc.orig 2025-08-07 06:57:29 UTC +--- content/app/content_main.cc.orig 2025-09-06 10:01:20 UTC +++ content/app/content_main.cc -@@ -226,7 +226,7 @@ NO_STACK_PROTECTOR int RunContentProcess( +@@ -225,7 +225,7 @@ NO_STACK_PROTECTOR int RunContentProcess( base::EnableTerminationOnOutOfMemory(); logging::RegisterAbslAbortHook(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The various desktop environments set this environment variable that // allows the dbus client library to connect directly to the bus. When this // variable is not set (test environments like xvfb-run), the dbus client -@@ -320,7 +320,7 @@ NO_STACK_PROTECTOR int RunContentProcess( +@@ -319,7 +319,7 @@ NO_STACK_PROTECTOR int RunContentProcess( #endif #endif -#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) +#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) && defined(notyet) base::subtle::EnableFDOwnershipEnforcement(true); #endif diff --git a/www/chromium/files/patch-content_app_content__main__runner__impl.cc b/www/chromium/files/patch-content_app_content__main__runner__impl.cc index ebe78bb1ed46..2a37e0f901bb 100644 --- a/www/chromium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/chromium/files/patch-content_app_content__main__runner__impl.cc @@ -1,131 +1,149 @@ ---- content/app/content_main_runner_impl.cc.orig 2025-08-07 06:57:29 UTC +--- content/app/content_main_runner_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/app/content_main_runner_impl.cc -@@ -149,18 +149,20 @@ +@@ -150,18 +150,20 @@ #include "content/browser/posix_file_descriptor_info_impl.h" #include "content/public/common/content_descriptors.h" -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) #include "content/public/common/zygote/zygote_fork_delegate_linux.h" #endif #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/file_path_watcher_inotify.h" #include "base/native_library.h" #include "base/rand_util.h" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "third_party/boringssl/src/include/openssl/crypto.h" #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck -@@ -189,6 +191,10 @@ +@@ -185,6 +187,10 @@ #include "media/base/media_switches.h" #endif +#if BUILDFLAG(IS_BSD) +#include "base/system/sys_info.h" +#endif + #if BUILDFLAG(IS_ANDROID) #include "base/system/sys_info.h" #include "content/browser/android/battery_metrics.h" -@@ -390,7 +396,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -381,7 +387,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #if BUILDFLAG(ENABLE_PPAPI) - // Loads the (native) libraries but does not initialize them (i.e., does not -@@ -428,7 +434,10 @@ void PreloadLibraryCdms() { + #if BUILDFLAG(ENABLE_LIBRARY_CDMS) + // Loads registered library CDMs but does not initialize them. This is needed by +@@ -400,7 +406,10 @@ void PreloadLibraryCdms() { void PreSandboxInit() { // Ensure the /dev/urandom is opened. + // we use arc4random +#if !BUILDFLAG(IS_BSD) base::GetUrandomFD(); +#endif // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/ // files. -@@ -440,9 +449,16 @@ void PreSandboxInit() { +@@ -412,9 +421,16 @@ void PreSandboxInit() { // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md CRYPTO_pre_sandbox_init(); +#if BUILDFLAG(IS_BSD) + // "cache" the amount of physical memory before pledge(2) + base::SysInfo::AmountOfPhysicalMemoryMB(); +#endif + +#if !BUILDFLAG(IS_BSD) // Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be // allowed by the sandbox. base::GetMaxNumberOfInotifyWatches(); +#endif - #if BUILDFLAG(ENABLE_PPAPI) - // Ensure access to the Pepper plugins before the sandbox is turned on. -@@ -765,7 +781,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( + #if BUILDFLAG(ENABLE_LIBRARY_CDMS) + // Ensure access to the library CDMs before the sandbox is turned on. +@@ -634,7 +650,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* + + // Once Zygote forks and feature list initializes we can start a thread to + // begin tracing immediately. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (process_type == switches::kGpuProcess) { + tracing::InitTracingPostFeatureList(/*enable_consumer=*/false, + /*will_trace_thread_restart=*/true); +@@ -733,7 +749,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( base::HangWatcher::CreateHangWatcherInstance(); unregister_thread_closure = base::HangWatcher::RegisterThread( base::HangWatcher::ThreadType::kMainThread); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is // initialized, because the sandbox can't be started with multiple threads. // TODO(mpdenton): start the HangWatcher after the sandbox is initialized. -@@ -883,11 +899,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -851,11 +867,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam base::GlobalDescriptors::kBaseDescriptor); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) g_fds->Set(kCrashDumpSignal, kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_OPENBSD) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_WIN) -@@ -1088,10 +1103,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1007,7 +1022,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + // SeatbeltExecServer. + CHECK(sandbox::Seatbelt::IsSandboxed()); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // In sandboxed processes and zygotes, certain resource should be pre-warmed + // as they cannot be initialized under a sandbox. In addition, loading these + // resources in zygotes (including the unsandboxed zygote) allows them to be +@@ -1017,10 +1032,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam process_type == switches::kZygoteProcess) { PreSandboxInit(); } +#elif BUILDFLAG(IS_BSD) + PreSandboxInit(); #elif BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_IOS_TVOS) ChildProcessEnterSandbox(); #endif +#if BUILDFLAG(IS_BSD) + if (process_type.empty()) { + sandbox::policy::SandboxLinux::Options sandbox_options; + sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( + sandbox::policy::SandboxTypeFromCommandLine( + *base::CommandLine::ForCurrentProcess()), + sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); + } +#endif + delegate_->SandboxInitialized(process_type); #if BUILDFLAG(USE_ZYGOTE) -@@ -1191,6 +1218,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1122,6 +1149,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { content_main_params_.reset(); RegisterMainThreadFactories(); + +#if BUILDFLAG(IS_BSD) + if (!process_type.empty()) + PreSandboxInit(); +#endif if (process_type.empty()) return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index 860783d4e1ec..d1b54e6440aa 100644 --- a/www/chromium/files/patch-content_browser_BUILD.gn +++ b/www/chromium/files/patch-content_browser_BUILD.gn @@ -1,33 +1,33 @@ ---- content/browser/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- content/browser/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ content/browser/BUILD.gn -@@ -2581,6 +2581,14 @@ source_set("browser") { +@@ -2599,6 +2599,14 @@ source_set("browser") { ] } + if (is_bsd) { + sources += [ + "file_system_access/file_path_watcher/file_path_watcher_bsd.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.h", + ] + } + if (is_linux || is_chromeos) { sources -= [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ] -@@ -2629,6 +2637,15 @@ source_set("browser") { +@@ -2647,6 +2655,15 @@ source_set("browser") { if (allow_oop_video_decoder) { sources += [ "media/oop_video_decoder_factory.cc" ] deps += [ "//media/mojo/mojom" ] + } + + if (is_bsd) { + sources -= [ + "file_system_access/file_path_watcher/file_path_watcher_inotify.cc", + "file_system_access/file_path_watcher/file_path_watcher_inotify.h", + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] } if (is_chromeos) { diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc index cc760a7abf89..17568a95f026 100644 --- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc +++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/accessibility/browser_accessibility_state_impl.cc -@@ -295,7 +295,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta +@@ -296,7 +296,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta // On Android, Mac, Windows and Linux there are platform-specific subclasses. #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && \ - !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) + !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static std::unique_ptr BrowserAccessibilityStateImpl::Create() { diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc index d544a50dd897..0813a5447738 100644 --- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc +++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc @@ -1,42 +1,29 @@ ---- content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc -@@ -12,6 +12,8 @@ +@@ -12,6 +12,7 @@ #include #include +#include "base/notimplemented.h" -+ #include "base/debug/crash_logging.h" #include "base/metrics/histogram_macros.h" #include "base/task/thread_pool.h" -@@ -34,7 +36,11 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al - std::string cmdline; - std::stringstream ss(cmdline_all); - while (std::getline(ss, cmdline, '\0')) { -+#if BUILDFLAG(IS_BSD) -+ re2::RE2 orca_regex(R"((^|/)(usr/)?(local/)?bin/orca(\s|$))"); -+#else - re2::RE2 orca_regex(R"((^|/)(usr/)?bin/orca(\s|$))"); -+#endif - if (re2::RE2::PartialMatch(cmdline, orca_regex)) { - return true; // Orca was found - } -@@ -44,6 +50,10 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al +@@ -43,6 +44,10 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al // Returns true if Orca is active. bool DiscoverOrca() { +#if BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + return false; +#else // NOTE: this method is run from another thread to reduce jank, since // there's no guarantee these system calls will return quickly. std::unique_ptr proc_dir(opendir("/proc"), -@@ -81,6 +91,7 @@ bool DiscoverOrca() { +@@ -80,6 +85,7 @@ bool DiscoverOrca() { } return is_orca_active; +#endif } } // namespace diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc index 0922fcb37da7..7b22e09fe7f7 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -1,19 +1,19 @@ ---- content/browser/browser_child_process_host_impl.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/browser_child_process_host_impl.cc -@@ -326,6 +326,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo +@@ -297,6 +297,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kLogBestEffortTasks, switches::kPerfettoDisableInterning, switches::kTraceToConsole, + switches::kDisableUnveil, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); -@@ -696,7 +697,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() +@@ -650,7 +651,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() ->child_process()); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(process.Pid()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h index f5673dcef553..0b90a5967a14 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.h @@ -1,20 +1,20 @@ ---- content/browser/browser_child_process_host_impl.h.orig 2025-03-05 08:14:56 UTC +--- content/browser/browser_child_process_host_impl.h.orig 2025-09-06 10:01:20 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) -@@ -287,7 +287,7 @@ class BrowserChildProcessHostImpl +@@ -276,7 +276,7 @@ class BrowserChildProcessHostImpl std::unique_ptr system_tracing_service_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChildThreadTypeSwitcher child_thread_type_switcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-content_browser_browser__interface__binders.cc b/www/chromium/files/patch-content_browser_browser__interface__binders.cc new file mode 100644 index 000000000000..af9c564eb27e --- /dev/null +++ b/www/chromium/files/patch-content_browser_browser__interface__binders.cc @@ -0,0 +1,20 @@ +--- content/browser/browser_interface_binders.cc.orig 2025-09-06 10:01:20 UTC ++++ content/browser/browser_interface_binders.cc +@@ -234,7 +234,7 @@ + #include "content/browser/xr/webxr_internals/webxr_internals_ui.h" + #endif + +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (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" +@@ -271,7 +271,7 @@ shape_detection::mojom::ShapeDetectionService* GetShap + mojo::Remote> + remote; + if (!*remote) { +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + ServiceProcessHost::Launch( + remote->BindNewPipeAndPassReceiver(), + ServiceProcessHost::Options() diff --git a/www/chromium/files/patch-content_browser_browser__main__loop.cc b/www/chromium/files/patch-content_browser_browser__main__loop.cc index 585fa0055c2f..9bfb1f523b75 100644 --- a/www/chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/browser_main_loop.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/browser_main_loop.cc -@@ -250,6 +250,12 @@ +@@ -251,6 +251,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 -@@ -550,6 +556,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -551,6 +557,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 -@@ -582,7 +594,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -583,7 +595,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/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc index 1a42fbd56aa1..b50d91559367 100644 --- a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc +++ b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -104,7 +104,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -103,7 +103,7 @@ class HostDisplayClient : public viz::HostDisplayClien HostDisplayClient& operator=(const HostDisplayClient&) = delete; // viz::HostDisplayClient: -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override { compositor_->OnCompleteSwapWithNewSize(size); } diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h index c23acf32e286..16e5257b2e8d 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.h.orig 2025-07-02 06:08:04 UTC +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2025-09-06 10:01:20 UTC +++ content/browser/gpu/gpu_data_manager_impl.h -@@ -225,7 +225,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa +@@ -224,7 +224,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index 388892949a45..6a1dc9bba1b7 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1703,7 +1703,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1705,7 +1705,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { return gpu_extra_info_.is_gmb_nv12_supported; } diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc index 5d31ab2094d2..022dac5d33af 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -1,19 +1,19 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -274,6 +274,7 @@ static const char* const kSwitchNames[] = { +@@ -275,6 +275,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, -@@ -302,7 +303,7 @@ static const char* const kSwitchNames[] = { +@@ -303,7 +304,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/chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc index 74bcc08b0254..d0c3ad87de0e 100644 --- a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/network_service_instance_impl.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/network_service_instance_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/network_service_instance_impl.cc -@@ -85,7 +85,7 @@ +@@ -87,7 +87,7 @@ #include "content/browser/network/network_service_process_tracker_win.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/system_dns_resolution/system_dns_resolver.h" #include "services/network/public/mojom/system_dns_resolution.mojom-forward.h" #endif -@@ -335,7 +335,7 @@ void CreateInProcessNetworkService( +@@ -327,7 +327,7 @@ void CreateInProcessNetworkService( std::move(receiver))); } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Runs a self-owned SystemDnsResolverMojoImpl. This is meant to run on a // high-priority thread pool. void RunSystemDnsResolverOnThreadPool( -@@ -402,7 +402,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -394,7 +394,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS } #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (GetContentClient() ->browser() ->ShouldRunOutOfProcessSystemDnsResolution() && diff --git a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/www/chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc deleted file mode 100644 index db671fc88b41..000000000000 --- a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2022-02-28 16:54:41 UTC -+++ content/browser/ppapi_plugin_process_host_receiver_bindings.cc -@@ -8,7 +8,7 @@ - - #include "build/build_config.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck - #include "content/browser/font_service.h" // nogncheck - #endif -@@ -17,7 +17,7 @@ namespace content { - - void PpapiPluginProcessHost::BindHostReceiver( - mojo::GenericPendingReceiver receiver) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (auto font_receiver = receiver.As()) - ConnectToFontService(std::move(font_receiver)); - #endif diff --git a/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc deleted file mode 100644 index afba2231feba..000000000000 --- a/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2024-01-30 07:53:34 UTC -+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc -@@ -462,7 +462,7 @@ void PepperFileIOHost::OnLocalFileOpened( - ppapi::host::ReplyMessageContext reply_context, - const base::FilePath& path, - base::File::Error error_code) { --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Quarantining a file before its contents are available is only supported on - // Windows and Linux. - if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) { -@@ -496,7 +496,7 @@ void PepperFileIOHost::OnLocalFileOpened( - #endif - } - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void PepperFileIOHost::OnLocalFileQuarantined( - ppapi::host::ReplyMessageContext reply_context, - const base::FilePath& path, diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index 34d889ce90a9..edc107faf805 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -1,55 +1,55 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -223,7 +223,7 @@ +@@ -224,7 +224,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 -@@ -1127,7 +1127,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1114,7 +1114,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; -@@ -1334,7 +1334,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1321,7 +1321,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) } -@@ -3436,7 +3436,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3416,7 +3416,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() && -@@ -3491,6 +3491,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3472,6 +3472,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, -@@ -5339,7 +5340,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5350,7 +5351,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr // - Win: https://crbug.com/707022 . uint64_t total_size = 0; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) total_size = dump->platform_private_footprint->rss_anon_bytes + dump->platform_private_footprint->vm_swap_bytes; #elif BUILDFLAG(IS_APPLE) diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h index f6add77fe581..e84b98e4a2aa 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -1,29 +1,29 @@ ---- content/browser/renderer_host/render_process_host_impl.h.orig 2025-08-07 06:57:29 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -101,7 +101,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 -@@ -996,7 +996,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -997,7 +997,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 }; -@@ -1239,7 +1239,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1240,7 +1240,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // if the request isn't handled on the IO thread. void OnBindHostReceiver(mojo::GenericPendingReceiver receiver); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Provides /proc/{renderer pid}/status and statm files for the renderer, // because the files are required to calculate the renderer's private // footprint on Chromium Linux. Regarding MacOS X and Windows, we have diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc index 2a44264eb401..b08a5e4d131f 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc @@ -1,29 +1,29 @@ ---- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,7 @@ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck #include "content/browser/font_service.h" // nogncheck #endif -@@ -336,7 +336,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -348,7 +348,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto font_receiver = receiver.As()) { ConnectToFontService(std::move(font_receiver)); return; -@@ -364,7 +364,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -376,7 +376,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc index a8bb5458fa6e..7774e59d87b0 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_view_host_impl.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -271,7 +271,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -275,7 +275,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( display::win::GetScreenWin()->GetSystemMetricsInDIP(SM_CYVSCROLL); prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips = display::win::GetScreenWin()->GetSystemMetricsInDIP(SM_CXHSCROLL); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (command_line->HasSwitch(switches::kSystemFontFamily)) { prefs->system_font_family_name = diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 447262e51fea..13d88d330445 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -122,7 +122,7 @@ #include "ui/gfx/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" @@ -479,7 +479,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()) @@ -1883,7 +1883,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) { -@@ -2859,7 +2859,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2866,7 +2866,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3043,7 +3043,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3050,7 +3050,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* linux_ui = ui::LinuxUi::instance(); if (!event.skip_if_unhandled && linux_ui && event.os_event) { const auto command = linux_ui->GetTextEditCommandForEvent( diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc index e96650ca22ad..47edfd467ae0 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc -@@ -603,7 +603,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand +@@ -618,7 +618,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand if (event->type() == ui::EventType::kMouseExited) { if (mouse_locked || selection_popup) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Don't forward the mouse leave message which is received when the context // menu is displayed by the page. This confuses the page and causes state // changes. diff --git a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc index dcf5437a0601..dba9466e06b1 100644 --- a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc +++ b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc @@ -1,38 +1,38 @@ ---- content/browser/service_host/utility_process_host.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/service_host/utility_process_host.cc @@ -68,7 +68,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" -@@ -96,7 +96,7 @@ namespace content { +@@ -97,7 +97,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; -@@ -491,7 +491,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -494,7 +494,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) { -@@ -509,7 +509,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -512,7 +512,7 @@ bool UtilityProcessHost::StartProcess() { video_capture::mojom::VideoCaptureService::Name_) { bool pass_gpu_buffer_flag = switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Check if NV12 GPU memory buffer supported at the same time. pass_gpu_buffer_flag = pass_gpu_buffer_flag && diff --git a/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc index 0956ff8d29f0..ebc613f6e870 100644 --- a/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc +++ b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc @@ -1,34 +1,57 @@ ---- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-07-02 06:08:04 UTC +--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/service_host/utility_sandbox_delegate.cc -@@ -91,14 +91,14 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -28,7 +28,7 @@ + #include "chromeos/ash/components/assistant/buildflags.h" + #endif // BUILDFLAG(IS_CHROMEOS) + +-#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) + 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) #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 || -@@ -159,11 +159,11 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe +@@ -164,15 +164,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe + #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) #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) diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index b0652b4816a1..9b694c8400f5 100644 --- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc @@ -1,29 +1,29 @@ ---- content/browser/web_contents/web_contents_view_aura.cc.orig 2025-08-07 06:57:29 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/web_contents/web_contents_view_aura.cc -@@ -174,7 +174,7 @@ class WebDragSourceAura : public content::WebContentsO +@@ -175,7 +175,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, -@@ -259,7 +259,7 @@ void PrepareDragData(const DropData& drop_data, +@@ -260,7 +260,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. -@@ -1325,7 +1325,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1326,7 +1326,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* // Linux window managers like to handle raise-on-click themselves. If we // raise-on-click manually, this may override user settings that prevent // focus-stealing. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // It is possible for the web-contents to be destroyed while it is being // activated. Use a weak-ptr to track whether that happened or not. // More in https://crbug.com/1040725 diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc index a1d4cae882f8..a9ccf3ba10e9 100644 --- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc +++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc @@ -1,74 +1,74 @@ ---- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-04-04 08:52:13 UTC +--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ content/browser/web_contents/web_contents_view_aura_unittest.cc -@@ -40,7 +40,7 @@ +@@ -41,7 +41,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" -@@ -96,7 +96,7 @@ class TestDragDropClient : public aura::client::DragDr +@@ -97,7 +97,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 -@@ -231,7 +231,7 @@ TEST_F(WebContentsViewAuraTest, WebContentsDestroyedDu +@@ -232,7 +232,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); -@@ -297,7 +297,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { +@@ -298,7 +298,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 || -@@ -337,7 +337,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFiles) { +@@ -338,7 +338,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 || -@@ -395,7 +395,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri +@@ -396,7 +396,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 || -@@ -427,7 +427,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropFilesOri +@@ -428,7 +428,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 || -@@ -458,7 +458,7 @@ TEST_F(WebContentsViewAuraTest, MAYBE_DragDropImageFro +@@ -459,7 +459,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/chromium/files/patch-content_child_child__process.cc b/www/chromium/files/patch-content_child_child__process.cc index 8f32ac959520..b1e569660a0b 100644 --- a/www/chromium/files/patch-content_child_child__process.cc +++ b/www/chromium/files/patch-content_child_child__process.cc @@ -1,20 +1,20 @@ ---- content/child/child_process.cc.orig 2025-04-04 08:52:13 UTC +--- content/child/child_process.cc.orig 2025-09-06 10:01:20 UTC +++ content/child/child_process.cc -@@ -31,7 +31,7 @@ +@@ -34,7 +34,7 @@ #include "content/common/android/cpu_time_metrics.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -177,7 +177,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th +@@ -192,7 +192,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th main_thread_.reset(thread); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ChildProcess::SetIOThreadType(base::ThreadType thread_type) { if (!io_thread_) { return; diff --git a/www/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn index 0966e727f322..e42bf05c912a 100644 --- a/www/chromium/files/patch-content_common_BUILD.gn +++ b/www/chromium/files/patch-content_common_BUILD.gn @@ -1,36 +1,36 @@ ---- content/common/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- content/common/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ content/common/BUILD.gn -@@ -381,19 +381,28 @@ source_set("common") { +@@ -367,19 +367,28 @@ source_set("common") { } if (is_linux || is_chromeos) { - sources += [ - "gpu_pre_sandbox_hook_linux.cc", - "gpu_pre_sandbox_hook_linux.h", - ] + if (is_bsd) { + sources += [ + "gpu_pre_sandbox_hook_bsd.cc", + "gpu_pre_sandbox_hook_bsd.h", + ] + } else { + sources += [ + "gpu_pre_sandbox_hook_linux.cc", + "gpu_pre_sandbox_hook_linux.h", + ] + } public_deps += [ "//sandbox/policy" ] deps += [ ":sandbox_support_linux", "//media/gpu:buildflags", "//sandbox/linux:sandbox_services", - "//sandbox/linux:seccomp_bpf", "//sandbox/policy:chromecast_sandbox_allowlist_buildflags", "//third_party/fontconfig", ] + if (use_seccomp_bpf) { + deps += [ "//sandbox/linux:seccomp_bpf" ] + } if (use_v4l2_codec) { deps += [ "//media/gpu/v4l2" ] } diff --git a/www/chromium/files/patch-content_common_features.cc b/www/chromium/files/patch-content_common_features.cc index 1d65558bb020..559bc67c3b5e 100644 --- a/www/chromium/files/patch-content_common_features.cc +++ b/www/chromium/files/patch-content_common_features.cc @@ -1,11 +1,11 @@ ---- content/common/features.cc.orig 2025-08-07 06:57:29 UTC +--- content/common/features.cc.orig 2025-09-06 10:01:20 UTC +++ content/common/features.cc -@@ -169,7 +169,7 @@ BASE_FEATURE(kEmbeddingRequiresOptIn, +@@ -170,7 +170,7 @@ 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, "EnableDevToolsJsErrorReporting", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-content_common_features.h b/www/chromium/files/patch-content_common_features.h index 4f17dd3bce7f..d583a869cbad 100644 --- a/www/chromium/files/patch-content_common_features.h +++ b/www/chromium/files/patch-content_common_features.h @@ -1,11 +1,11 @@ ---- content/common/features.h.orig 2025-07-02 06:08:04 UTC +--- content/common/features.h.orig 2025-09-06 10:01:20 UTC +++ content/common/features.h @@ -60,7 +60,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginEn CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginTracking); CONTENT_EXPORT BASE_DECLARE_FEATURE(kCriticalClientHint); 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(kEmbeddingRequiresOptIn); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnforceSameDocumentOriginInvariants); diff --git a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc index b3b5ba3fb25d..40acc1884daa 100644 --- a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc +++ b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc @@ -1,71 +1,71 @@ ---- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2024-04-19 13:02:56 UTC +--- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2025-09-06 10:01:20 UTC +++ content/common/gpu_pre_sandbox_hook_bsd.cc @@ -0,0 +1,68 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/common/gpu_pre_sandbox_hook_bsd.h" + +#include +#include +#include + +#include +#include +#include +#include + +#include "base/base_paths.h" +#include "base/files/file_enumerator.h" +#include "base/files/file_path.h" +#include "base/files/scoped_file.h" +#include "base/functional/bind.h" +#include "base/logging.h" +#include "base/path_service.h" +#include "base/strings/stringprintf.h" +#include "build/build_config.h" +#include "build/buildflag.h" +#include "build/chromeos_buildflags.h" +#include "content/public/common/content_switches.h" +#include "media/gpu/buildflags.h" + +namespace content { +namespace { + +constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE; + +void LoadVulkanLibraries() { + // Try to preload Vulkan libraries. Failure is not an error as not all may be + // present. + const char* kLibraries[] = { + "libvulkan.so", + "libvulkan_intel.so", + "libvulkan_intel_hasvk.so", + "libvulkan_radeon.so", + }; + for (const auto* library : kLibraries) { + dlopen(library, dlopen_flag); + } +} + ++} // namespace ++ +bool LoadLibrariesForGpu( + const sandbox::policy::SandboxSeccompBPF::Options& options) { + LoadVulkanLibraries(); + + return true; +} + -+} // namespace -+ +bool GpuPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { + if (!LoadLibrariesForGpu(options)) + return false; + + // TODO(tsepez): enable namspace sandbox here once crashes are understood. + + errno = 0; + return true; +} + +} // namespace content diff --git a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h index c2eab1f687ba..0a71e0fc0219 100644 --- a/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h +++ b/www/chromium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h @@ -1,16 +1,18 @@ ---- content/common/gpu_pre_sandbox_hook_linux.h.orig 2024-04-19 13:02:56 UTC +--- content/common/gpu_pre_sandbox_hook_linux.h.orig 2025-09-06 10:01:20 UTC +++ content/common/gpu_pre_sandbox_hook_linux.h -@@ -5,8 +5,13 @@ - #ifndef CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_ - #define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_ +@@ -7,7 +7,15 @@ + + #include +#include "build/build_config.h" - #include "base/component_export.h" ++ +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" ++#include "sandbox/linux/syscall_broker/broker_command.h" ++#include "sandbox/linux/syscall_broker/broker_file_permission.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif - namespace content { - + namespace sandbox::syscall_broker { + class BrokerFilePermission; diff --git a/www/chromium/files/patch-content_gpu_gpu__child__thread.cc b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc index 2b2c00bc447f..6a487a60422d 100644 --- a/www/chromium/files/patch-content_gpu_gpu__child__thread.cc +++ b/www/chromium/files/patch-content_gpu_gpu__child__thread.cc @@ -1,21 +1,21 @@ ---- content/gpu/gpu_child_thread.cc.orig 2025-02-19 07:43:18 UTC +--- content/gpu/gpu_child_thread.cc.orig 2025-09-06 10:01:20 UTC +++ content/gpu/gpu_child_thread.cc -@@ -57,7 +57,7 @@ +@@ -56,7 +56,7 @@ #include "third_party/skia/include/ports/SkFontConfigInterface.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -147,7 +147,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce +@@ -146,7 +146,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce viz_main_.gpu_service()->set_start_time(process_start_time); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); #endif diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc index c3c11eef0c4b..8ede10528f42 100644 --- a/www/chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/chromium/files/patch-content_gpu_gpu__main.cc @@ -1,73 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2025-08-07 06:57:29 UTC +--- content/gpu/gpu_main.cc.orig 2025-09-06 10:01:20 UTC +++ content/gpu/gpu_main.cc -@@ -103,10 +103,14 @@ +@@ -107,10 +107,14 @@ #include "sandbox/win/src/sandbox.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #include "content/common/gpu_pre_sandbox_hook_linux.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox_type.h" #endif -@@ -124,7 +128,7 @@ namespace content { +@@ -128,7 +132,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread*, const gpu::GPUInfo*, const gpu::GpuPreferences&); -@@ -186,7 +190,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel +@@ -190,7 +194,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) override { TRACE_EVENT("gpu,startup", "gpu_main::EnsureSandboxInitialized"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); #elif BUILDFLAG(IS_WIN) return StartSandboxWindows(sandbox_info_); -@@ -302,7 +306,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -306,7 +310,7 @@ int GpuMain(MainFunctionParams parameters) { std::make_unique( gpu_preferences.message_pump_type); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #error "Unsupported Linux platform." #elif BUILDFLAG(IS_MAC) // Cross-process CoreAnimation requires a CFRunLoop to function at all, and -@@ -327,7 +331,8 @@ int GpuMain(MainFunctionParams parameters) { +@@ -331,7 +335,8 @@ int GpuMain(MainFunctionParams parameters) { base::PlatformThread::SetName("CrGpuMain"); mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) // Thread type delegate of the process should be registered before // thread type change below for the main thread and for thread pool in // ChildProcess constructor. -@@ -459,7 +464,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -479,7 +484,7 @@ int GpuMain(MainFunctionParams parameters) { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) { -@@ -507,7 +512,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo +@@ -527,7 +532,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo sandbox_options.accelerated_video_encode_enabled = !gpu_prefs.disable_accelerated_video_encode; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Video decoding of many video streams can use thousands of FDs as well as // Exo clients. // See https://crbug.com/1417237 diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc deleted file mode 100644 index 5282341d40c8..000000000000 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2024-02-23 21:04:38 UTC -+++ content/ppapi_plugin/ppapi_blink_platform_impl.cc -@@ -21,7 +21,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 "mojo/public/cpp/bindings/pending_remote.h" - #endif -@@ -36,7 +36,7 @@ typedef struct CGFont* CGFontRef; - namespace content { - - PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - mojo::PendingRemote font_service; - ChildThread::Get()->BindHostReceiver( - font_service.InitWithNewPipeAndPassReceiver()); -@@ -55,7 +55,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() { - void PpapiBlinkPlatformImpl::Shutdown() {} - - blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - return sandbox_support_.get(); - #else - return nullptr; diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h deleted file mode 100644 index 5143ca044cb9..000000000000 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h +++ /dev/null @@ -1,11 +0,0 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2024-07-30 11:12:21 UTC -+++ content/ppapi_plugin/ppapi_blink_platform_impl.h -@@ -36,7 +36,7 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp - blink::WebString DefaultLocale() override; - - private: --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - std::unique_ptr sandbox_support_; - #endif - }; diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc deleted file mode 100644 index 2d0f03ae81d3..000000000000 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc +++ /dev/null @@ -1,23 +0,0 @@ ---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2025-03-05 08:14:56 UTC -+++ content/ppapi_plugin/ppapi_plugin_main.cc -@@ -52,6 +52,11 @@ - #include "gin/v8_initializer.h" - #endif - -+#if BUILDFLAG(IS_BSD) -+#include "sandbox/policy/sandbox.h" -+#include "sandbox/policy/sandbox_type.h" -+#endif -+ - #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) - #include - #endif -@@ -139,7 +144,7 @@ int PpapiPluginMain(MainFunctionParams parameters) { - gin::V8Initializer::LoadV8Snapshot(); - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) - sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( - sandbox::policy::SandboxTypeFromCommandLine(command_line), - sandbox::policy::SandboxLinux::PreSandboxHook(), diff --git a/www/chromium/files/patch-content_public_browser_content__browser__client.cc b/www/chromium/files/patch-content_public_browser_content__browser__client.cc index c5bf79ebe1c3..ffb2865ce584 100644 --- a/www/chromium/files/patch-content_public_browser_content__browser__client.cc +++ b/www/chromium/files/patch-content_public_browser_content__browser__client.cc @@ -1,11 +1,11 @@ ---- content/public/browser/content_browser_client.cc.orig 2025-08-07 06:57:29 UTC +--- content/public/browser/content_browser_client.cc.orig 2025-09-06 10:01:20 UTC +++ content/public/browser/content_browser_client.cc -@@ -1429,7 +1429,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1394,7 +1394,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem // that can be adequately sandboxed. // Currently Android's network service will not run out of process or sandboxed, // so OutOfProcessSystemDnsResolution is not currently enabled on Android. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/chromium/files/patch-content_public_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc index 41a7264e9a70..61aa9c4a8ea3 100644 --- a/www/chromium/files/patch-content_public_common_content__features.cc +++ b/www/chromium/files/patch-content_public_common_content__features.cc @@ -1,35 +1,35 @@ ---- content/public/common/content_features.cc.orig 2025-08-07 06:57:29 UTC +--- content/public/common/content_features.cc.orig 2025-09-06 10:01:20 UTC +++ content/public/common/content_features.cc -@@ -91,7 +91,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, +@@ -103,7 +103,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, // Runs the audio service in a separate process. BASE_FEATURE(kAudioServiceOutOfProcess, "AudioServiceOutOfProcess", -#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 -@@ -1319,9 +1319,9 @@ BASE_FEATURE(kWebAssemblyTiering, +@@ -1394,9 +1394,9 @@ BASE_FEATURE(kWebAssemblyTiering, BASE_FEATURE(kWebAssemblyTrapHandler, "WebAssemblyTrapHandler", #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC)) && \ + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ defined(ARCH_CPU_X86_64)) || \ - ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1381,7 +1381,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended, +@@ -1453,7 +1453,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended, // Controls whether the WebUSB API is enabled: // https://wicg.github.io/webusb +#if BUILDFLAG(IS_BSD) +BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT); +#else BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT); +#endif // Apply `PrefetchPriority::kHighest` for Webview Prefetch API. BASE_FEATURE(kWebViewPrefetchHighestPrefetchPriority, diff --git a/www/chromium/files/patch-content_public_common_content__switches.cc b/www/chromium/files/patch-content_public_common_content__switches.cc index 50e6523eed32..344c9b227640 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.cc +++ b/www/chromium/files/patch-content_public_common_content__switches.cc @@ -1,20 +1,20 @@ ---- content/public/common/content_switches.cc.orig 2025-08-07 06:57:29 UTC +--- content/public/common/content_switches.cc.orig 2025-09-06 10:01:20 UTC +++ content/public/common/content_switches.cc -@@ -345,6 +345,8 @@ const char kEnableIsolatedWebAppsInRenderer[] = +@@ -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. -@@ -958,7 +960,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/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h index 7968e8989cd1..e5f4d5cc6eda 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.h +++ b/www/chromium/files/patch-content_public_common_content__switches.h @@ -1,19 +1,19 @@ ---- content/public/common/content_switches.h.orig 2025-08-07 06:57:29 UTC +--- content/public/common/content_switches.h.orig 2025-09-06 10:01:20 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[]; -@@ -261,7 +262,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -257,7 +258,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[]; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/chromium/files/patch-content_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc index f11e95517d8b..43d061689e5f 100644 --- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2025-08-07 06:57:29 UTC +--- content/renderer/render_thread_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/renderer/render_thread_impl.cc -@@ -204,6 +204,8 @@ +@@ -203,6 +203,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -1061,7 +1063,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1026,7 +1028,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: kGpuStreamIdMedia, kGpuStreamPriorityMedia); 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) && -@@ -1070,7 +1072,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1035,7 +1037,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) && -@@ -1845,7 +1847,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1809,7 +1811,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( bool enable_video_encode_accelerator) { mojo::PendingRemote vea_provider; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) { BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver()); } else { diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc index 2678166322aa..05bdf7dc3912 100644 --- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc +++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -1,45 +1,45 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2025-08-07 06:57:29 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2025-09-06 10:01:20 UTC +++ content/renderer/renderer_blink_platform_impl.cc @@ -124,7 +124,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 -@@ -192,13 +192,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -193,13 +193,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()); -@@ -223,7 +223,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -224,7 +224,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(); -@@ -296,7 +296,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes +@@ -297,7 +297,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/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h index b94a7555e927..5a612433f5aa 100644 --- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,11 +1,11 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2025-08-07 06:57:29 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2025-09-06 10:01:20 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -270,7 +270,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -273,7 +273,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi const gpu::GPUInfo& gpu_info) const; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index 05cda5599dae..21416fda7108 100644 --- a/www/chromium/files/patch-content_shell_BUILD.gn +++ b/www/chromium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2025-05-28 14:55:43 UTC +--- content/shell/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ content/shell/BUILD.gn -@@ -1111,7 +1111,7 @@ group("content_shell_crash_test") { +@@ -1102,7 +1102,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc index bad2e3df5507..b2babc305922 100644 --- a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc +++ b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc @@ -1,11 +1,11 @@ ---- content/shell/app/shell_main_delegate.cc.orig 2025-08-07 06:57:29 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ content/shell/app/shell_main_delegate.cc -@@ -287,7 +287,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -289,7 +289,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/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc index 26421ce2a6fc..21c1d67714bb 100644 --- a/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc +++ b/www/chromium/files/patch-content_shell_renderer_shell__content__renderer__client.cc @@ -1,11 +1,11 @@ ---- content/shell/renderer/shell_content_renderer_client.cc.orig 2025-02-19 07:43:18 UTC +--- content/shell/renderer/shell_content_renderer_client.cc.orig 2025-09-06 10:01:20 UTC +++ content/shell/renderer/shell_content_renderer_client.cc -@@ -55,7 +55,7 @@ +@@ -50,7 +50,7 @@ #include "media/base/media_switches.h" #endif -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)) #define ENABLE_WEB_ASSEMBLY_TRAP_HANDLER_LINUX #include "base/debug/stack_trace.h" diff --git a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc index 8d59de4f66eb..17056087522b 100644 --- a/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc +++ b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -1,20 +1,20 @@ ---- content/shell/utility/shell_content_utility_client.cc.orig 2025-03-05 08:14:56 UTC +--- content/shell/utility/shell_content_utility_client.cc.orig 2025-09-06 10:01:20 UTC +++ content/shell/utility/shell_content_utility_client.cc @@ -43,7 +43,7 @@ #include "sandbox/policy/sandbox.h" #include "services/test/echo/echo_service.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/test/sandbox_status_service.h" #endif @@ -192,7 +192,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow binders->Add( - base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver), + &PowerMonitorTestImpl::MakeSelfOwnedReceiver, base::SingleThreadTaskRunner::GetCurrentDefault()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (register_sandbox_status_helper_) { binders->Add( base::BindRepeating( diff --git a/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc new file mode 100644 index 000000000000..44c9039b73b2 --- /dev/null +++ b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.cc @@ -0,0 +1,84 @@ +--- content/utility/on_device_model/on_device_model_sandbox_init.cc.orig 2025-09-06 10:01:20 UTC ++++ content/utility/on_device_model/on_device_model_sandbox_init.cc +@@ -17,16 +17,20 @@ + #include "services/on_device_model/ml/gpu_blocklist.h" // nogncheck + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include + + #include "content/common/gpu_pre_sandbox_hook_linux.h" + #include "gpu/config/gpu_info_collector.h" // nogncheck ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" + #endif ++#endif + + #if !BUILDFLAG(IS_FUCHSIA) && \ +- !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) ++ !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + #include "base/feature_list.h" + #include "third_party/dawn/include/dawn/dawn_proc.h" // nogncheck + #include "third_party/dawn/include/dawn/native/DawnNative.h" // nogncheck +@@ -37,7 +41,7 @@ namespace on_device_model { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + constexpr uint32_t kVendorIdAMD = 0x1002; + constexpr uint32_t kVendorIdIntel = 0x8086; + constexpr uint32_t kVendorIdNVIDIA = 0x10DE; +@@ -66,13 +70,13 @@ void UpdateSandboxOptionsForGpu( + #endif + + #if !BUILDFLAG(IS_FUCHSIA) && \ +- !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) ++ !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + // If this feature is enabled, a WebGPU device is created for each valid + // adapter. This makes sure any relevant drivers or other libs are loaded before + // enabling the sandbox. + BASE_FEATURE(kOnDeviceModelWarmDrivers, + "OnDeviceModelWarmDrivers", +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -101,7 +105,7 @@ bool PreSandboxInit() { + #endif + + #if !BUILDFLAG(IS_FUCHSIA) && \ +- !(BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_CAST_RECEIVER)) ++ !((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_CAST_RECEIVER)) + if (base::FeatureList::IsEnabled(kOnDeviceModelWarmDrivers) + #if defined(ENABLE_ML_INTERNAL) + && !ml::IsGpuBlocked(ml::ChromeML::Get()->api(), /*log_histogram=*/false) +@@ -141,7 +145,7 @@ bool PreSandboxInit() { + return true; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void AddSandboxLinuxOptions(sandbox::policy::SandboxLinux::Options& options) { + // Make sure any necessary vendor-specific options are set. + gpu::GPUInfo info; +@@ -153,6 +157,7 @@ void AddSandboxLinuxOptions(sandbox::policy::SandboxLi + } + + bool PreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + std::vector file_permissions = + content::FilePermissionsForGpu(options); + file_permissions.push_back( +@@ -161,6 +166,7 @@ bool PreSandboxHook(sandbox::policy::SandboxLinux::Opt + + sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( + content::CommandSetForGPU(options), file_permissions, options); ++#endif + + if (!content::LoadLibrariesForGpu(options)) { + return false; diff --git a/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.h b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.h new file mode 100644 index 000000000000..97273b95ef1c --- /dev/null +++ b/www/chromium/files/patch-content_utility_on__device__model_on__device__model__sandbox__init.h @@ -0,0 +1,22 @@ +--- content/utility/on_device_model/on_device_model_sandbox_init.h.orig 2025-09-06 10:01:20 UTC ++++ content/utility/on_device_model/on_device_model_sandbox_init.h +@@ -11,6 +11,10 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#endif ++ + namespace on_device_model { + + // Must be called in the service's process before sandbox initialization. +@@ -21,7 +25,7 @@ namespace on_device_model { + // Must be called in the service's process after the run loop finished. + [[nodiscard]] bool Shutdown(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void AddSandboxLinuxOptions(sandbox::policy::SandboxLinux::Options& options); + + [[nodiscard]] bool PreSandboxHook( diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc index 2f938f3a09db..5d903f50bbfb 100644 --- a/www/chromium/files/patch-content_utility_services.cc +++ b/www/chromium/files/patch-content_utility_services.cc @@ -1,20 +1,45 @@ ---- content/utility/services.cc.orig 2025-07-02 06:08:04 UTC +--- content/utility/services.cc.orig 2025-09-06 10:01:20 UTC +++ content/utility/services.cc -@@ -73,7 +73,7 @@ +@@ -74,13 +74,13 @@ 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" -@@ -233,7 +233,7 @@ auto RunAudio(mojo::PendingReceiver + receiver) { +@@ -432,7 +432,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + services.Add(RunOnDeviceModel); + } + +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + services.Add(RunShapeDetectionService); + #endif + diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index cbb896bebdc2..16f94dca3000 100644 --- a/www/chromium/files/patch-content_utility_utility__main.cc +++ b/www/chromium/files/patch-content_utility_utility__main.cc @@ -1,112 +1,124 @@ ---- content/utility/utility_main.cc.orig 2025-08-07 06:57:29 UTC +--- content/utility/utility_main.cc.orig 2025-09-06 10:01:20 UTC +++ content/utility/utility_main.cc -@@ -38,15 +38,19 @@ +@@ -39,17 +39,21 @@ #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" -@@ -77,7 +81,12 @@ +@@ -84,7 +88,12 @@ #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) -@@ -112,7 +121,7 @@ +@@ -121,7 +130,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) -@@ -120,7 +129,7 @@ namespace content { +@@ -129,7 +138,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( -@@ -268,7 +277,8 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -284,7 +293,7 @@ int UtilityMain(MainFunctionParams parameters) { + CHECK(on_device_model::PreSandboxInit()); } - #endif // BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) && BUILDFLAG(USE_VAAPI) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+// XXX BSD -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) - // Thread type delegate of the process should be registered before first ++#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 +@@ -299,7 +308,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 -@@ -276,7 +286,7 @@ int UtilityMain(MainFunctionParams parameters) { + // application of the sandbox. ++// XXX BSD ++#if !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::Create(); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#endif --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Initializes the sandbox before any threads are created. // TODO(jorgelo): move this after GTK initialization when we enable a strict - // Seccomp-BPF policy. -@@ -308,7 +318,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -331,7 +343,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); -@@ -324,7 +334,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -347,7 +359,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 = -@@ -359,6 +369,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -355,7 +367,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); +@@ -390,6 +402,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 = -@@ -366,6 +377,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -397,6 +410,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 - // Start the HangWatcher now that the sandbox is engaged, if it hasn't - // already been started. + // Startup tracing creates a tracing thread, which is incompatible on + // platforms that require single-threaded sandbox initialization. In these diff --git a/www/chromium/files/patch-content_zygote_BUILD.gn b/www/chromium/files/patch-content_zygote_BUILD.gn index b9c3d8fe8cdc..58ce376803ad 100644 --- a/www/chromium/files/patch-content_zygote_BUILD.gn +++ b/www/chromium/files/patch-content_zygote_BUILD.gn @@ -1,11 +1,11 @@ ---- content/zygote/BUILD.gn.orig 2022-02-07 13:39:41 UTC +--- content/zygote/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ content/zygote/BUILD.gn -@@ -5,7 +5,7 @@ - import("//build/config/nacl/config.gni") +@@ -4,7 +4,7 @@ + import("//content/public/common/zygote/features.gni") -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { source_set("zygote") { sources = [ "zygote_linux.cc", diff --git a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc index 1adece5516fb..87d690f8a8a8 100644 --- a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc +++ b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -1,20 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2025-08-07 06:57:29 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2025-09-06 10:01:20 UTC +++ extensions/browser/api/messaging/message_service.cc -@@ -81,7 +81,7 @@ namespace { +@@ -82,7 +82,7 @@ namespace { const char kReceivingEndDoesntExistError[] = "Could not establish connection. Receiving end does not exist."; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; const char kProhibitedByPoliciesError[] = -@@ -674,7 +674,7 @@ void MessageService::OpenChannelToNativeAppImpl( +@@ -675,7 +675,7 @@ void MessageService::OpenChannelToNativeAppImpl( return; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) bool has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); if (!has_permission) { diff --git a/www/chromium/files/patch-extensions_common_api___permission__features.json b/www/chromium/files/patch-extensions_common_api___permission__features.json index e0795e22829e..0b74b5638147 100644 --- a/www/chromium/files/patch-extensions_common_api___permission__features.json +++ b/www/chromium/files/patch-extensions_common_api___permission__features.json @@ -1,29 +1,187 @@ ---- extensions/common/api/_permission_features.json.orig 2025-08-07 06:57:29 UTC +--- extensions/common/api/_permission_features.json.orig 2025-09-06 10:01:20 UTC +++ extensions/common/api/_permission_features.json -@@ -134,7 +134,7 @@ +@@ -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 -@@ -420,7 +420,7 @@ - }, { +@@ -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"] + }, + "diagnostics": [ + { +@@ -262,7 +262,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 +@@ -284,12 +284,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 +@@ -326,13 +326,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 +@@ -441,7 +441,7 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], -- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], -+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"], + // "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 -@@ -464,7 +464,7 @@ - "networkingPrivate": { +@@ -486,7 +486,7 @@ "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], -- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], -+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"], + // "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. +@@ -566,7 +566,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. +@@ -578,13 +578,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": [ + { +@@ -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 + } + ], +@@ -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 + } + ], +@@ -721,7 +721,7 @@ + "channel": "stable", + "extension_types": ["platform_app"], + // "desktop_android" is not supported. +- "platforms": ["chromeos", "linux", "mac", "win"] ++ "platforms": ["chromeos", "linux", "mac", "win", "openbsd", "freebsd"] + }, + { + "channel": "dev", +@@ -807,7 +807,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/chromium/files/patch-extensions_common_command.cc b/www/chromium/files/patch-extensions_common_command.cc index f05df69f862b..283c250f8c64 100644 --- a/www/chromium/files/patch-extensions_common_command.cc +++ b/www/chromium/files/patch-extensions_common_command.cc @@ -1,11 +1,11 @@ ---- extensions/common/command.cc.orig 2025-08-07 06:57:29 UTC +--- extensions/common/command.cc.orig 2025-09-06 10:01:20 UTC +++ extensions/common/command.cc @@ -117,7 +117,7 @@ std::string Command::CommandPlatform() { return ui::kKeybindingPlatformMac; #elif BUILDFLAG(IS_CHROMEOS) return ui::kKeybindingPlatformChromeOs; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ui::kKeybindingPlatformLinux; - #elif BUILDFLAG(IS_FUCHSIA) - // TODO(crbug.com/40220501): Change this once we decide what string should be + #elif BUILDFLAG(IS_DESKTOP_ANDROID) + // For now, we use linux keybindings on desktop android. diff --git a/www/chromium/files/patch-extensions_common_features_feature.cc b/www/chromium/files/patch-extensions_common_features_feature.cc index 7dfd18742145..dd7ad648ff60 100644 --- a/www/chromium/files/patch-extensions_common_features_feature.cc +++ b/www/chromium/files/patch-extensions_common_features_feature.cc @@ -1,11 +1,11 @@ ---- extensions/common/features/feature.cc.orig 2025-08-07 06:57:29 UTC +--- extensions/common/features/feature.cc.orig 2025-09-06 10:01:20 UTC +++ extensions/common/features/feature.cc -@@ -32,6 +32,8 @@ Feature::Platform Feature::GetCurrentPlatform() { - return FUCHSIA_PLATFORM; +@@ -30,6 +30,8 @@ Feature::Platform Feature::GetCurrentPlatform() { + return WIN_PLATFORM; #elif BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS) return DESKTOP_ANDROID_PLATFORM; +#elif BUILDFLAG(IS_BSD) + return LINUX_PLATFORM; #else return UNSPECIFIED_PLATFORM; #endif diff --git a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc deleted file mode 100644 index adcb4cf7cc94..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- gpu/command_buffer/client/fake_gpu_memory_buffer.cc.orig 2025-07-02 06:08:04 UTC -+++ gpu/command_buffer/client/fake_gpu_memory_buffer.cc -@@ -14,7 +14,7 @@ - #include "media/base/format_utils.h" - #include "media/base/video_frame.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include - #include - #include -@@ -29,7 +29,7 @@ namespace gpu { - - namespace { - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - base::ScopedFD GetDummyFD() { - base::ScopedFD fd(open("/dev/zero", O_RDWR)); - DCHECK(fd.is_valid()); -@@ -41,7 +41,7 @@ static base::AtomicSequenceNumber buffer_id_generator; - - } // namespace - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - gfx::GpuMemoryBufferHandle CreatePixmapHandleForTesting( - const gfx::Size& size, - gfx::BufferFormat format, diff --git a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h b/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h deleted file mode 100644 index aed66a84d9b0..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_client_fake__gpu__memory__buffer.h +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/command_buffer/client/fake_gpu_memory_buffer.h.orig 2025-07-02 06:08:04 UTC -+++ gpu/command_buffer/client/fake_gpu_memory_buffer.h -@@ -12,7 +12,7 @@ - - namespace gpu { - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // This method is used by tests to create a fake pixmap handle instead of - // creating a FakeGpuMemoryBuffer. Once all tests are converted to use it, - // FakeGpuMemoryBuffer will be removed and this file will be renamed diff --git a/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc b/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc new file mode 100644 index 000000000000..4a431da9ba3d --- /dev/null +++ b/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/client/test_shared_image_interface.cc.orig 2025-09-06 10:01:20 UTC ++++ gpu/command_buffer/client/test_shared_image_interface.cc +@@ -30,7 +30,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) { diff --git a/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.h b/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.h new file mode 100644 index 000000000000..401c95e97d8d --- /dev/null +++ b/www/chromium/files/patch-gpu_command__buffer_client_test__shared__image__interface.h @@ -0,0 +1,11 @@ +--- gpu/command_buffer/client/test_shared_image_interface.h.orig 2025-09-06 10:01:20 UTC ++++ gpu/command_buffer/client/test_shared_image_interface.h +@@ -37,7 +37,7 @@ class TestSharedImageInterface : public SharedImageInt + public: + TestSharedImageInterface(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(blundell): Fold this inside of a TestSII::CreateSI() variant and have + // test clients that need the handle grab it from the created SI. + static gfx::GpuMemoryBufferHandle CreatePixmapHandle( diff --git a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index 9228fac786be..670549705410 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-08-07 06:57:29 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -2863,7 +2863,7 @@ GLES2Decoder* GLES2Decoder::Create( +@@ -2851,7 +2851,7 @@ GLES2Decoder* 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 new GLES2DecoderImpl(client, command_buffer_service, outputter, group); #else LOG(FATAL) << "Validating command decoder is not supported."; diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc index bcfe68c08759..921ca2de8cd1 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.cc @@ -1,29 +1,29 @@ ---- gpu/command_buffer/service/shared_context_state.cc.orig 2025-08-07 06:57:29 UTC +--- gpu/command_buffer/service/shared_context_state.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/shared_context_state.cc @@ -65,7 +65,7 @@ #include "gpu/vulkan/vulkan_implementation.h" #include "gpu/vulkan/vulkan_util.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/external_semaphore_pool.h" #endif -@@ -302,7 +302,7 @@ SharedContextState::SharedContextState( +@@ -304,7 +304,7 @@ SharedContextState::SharedContextState( if (gr_context_type_ == GrContextType::kVulkan) { if (vk_context_provider_) { #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) external_semaphore_pool_ = std::make_unique(this); #endif use_virtualized_gl_contexts_ = false; -@@ -339,7 +339,7 @@ SharedContextState::~SharedContextState() { +@@ -341,7 +341,7 @@ SharedContextState::~SharedContextState() { } #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) external_semaphore_pool_.reset(); #endif diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h index f87d84bcb7ca..fa3c96cafdc2 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__context__state.h @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_context_state.h.orig 2025-08-07 06:57:29 UTC +--- gpu/command_buffer/service/shared_context_state.h.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/shared_context_state.h -@@ -234,7 +234,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -236,7 +236,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(); } -@@ -399,7 +399,7 @@ class GPU_GLES2_EXPORT SharedContextState +@@ -401,7 +401,7 @@ class GPU_GLES2_EXPORT SharedContextState bool disable_check_reset_status_throttling_for_test_ = false; #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) std::unique_ptr external_semaphore_pool_; #endif diff --git a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc index d472cfb6f87f..b42cf420217f 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc +++ b/www/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-08-07 06:57:29 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc -@@ -57,7 +57,7 @@ +@@ -56,7 +56,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/scoped_binders.h" -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" #if BUILDFLAG(DAWN_ENABLE_BACKEND_OPENGLES) #include "gpu/command_buffer/service/shared_image/dawn_gl_texture_representation.h" -@@ -697,7 +697,7 @@ std::unique_ptr ExternalVkIma +@@ -696,7 +696,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/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index 5fd08e28c167..418f20c1904f 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -1,38 +1,38 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-08-07 06:57:29 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc -@@ -51,7 +51,7 @@ +@@ -50,7 +50,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 -@@ -105,7 +105,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -104,7 +104,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 -@@ -126,7 +126,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -125,7 +125,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; -@@ -298,7 +298,7 @@ SharedImageFactory::SharedImageFactory( +@@ -297,7 +297,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/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc index 3ec9f6f00512..942fbaf9538d 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-07-02 06:08:04 UTC +--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/shared_image/shared_image_manager.cc -@@ -736,7 +736,7 @@ bool SharedImageManager::SupportsScanoutImages() { +@@ -760,7 +760,7 @@ bool SharedImageManager::SupportsScanoutImages() { return true; #elif BUILDFLAG(IS_ANDROID) return base::AndroidHardwareBufferCompat::IsSupportAvailable(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return supports_overlays_on_ozone_; #elif BUILDFLAG(IS_WIN) return gl::DirectCompositionTextureSupported(); diff --git a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index 7d3c01e20ad5..20265ee0f3e3 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-08-07 06:57:29 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1725,7 +1725,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1741,7 +1741,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}; -@@ -1970,7 +1970,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -1986,7 +1986,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( } #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ - !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) if (usage & wgpu::TextureUsage::StorageBinding) { LOG(ERROR) << "AssociateMailbox: wgpu::TextureUsage::StorageBinding is NOT " "supported yet on this platform."; diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc deleted file mode 100644 index 9344ba32bcf4..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2025-08-07 06:57:29 UTC -+++ gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc -@@ -29,7 +29,7 @@ - #include "ui/gfx/half_float.h" - #include "ui/gl/test/gl_test_support.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" - #endif - -@@ -71,7 +71,7 @@ class GpuMemoryBufferTest : public testing::TestWithPa - GLManager gl_; - }; - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - class GpuMemoryBufferTestEGL : public testing::Test, - public gpu::GpuCommandBufferTestEGL { - public: diff --git a/www/chromium/files/patch-gpu_config_gpu__control__list.cc b/www/chromium/files/patch-gpu_config_gpu__control__list.cc index 0627315ce916..084c416b6123 100644 --- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc +++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_control_list.cc.orig 2025-07-02 06:08:04 UTC +--- gpu/config/gpu_control_list.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/config/gpu_control_list.cc -@@ -830,7 +830,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { +@@ -843,7 +843,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { return kOsAndroid; #elif BUILDFLAG(IS_FUCHSIA) return kOsFuchsia; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_MAC) return kOsMacosx; diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h deleted file mode 100644 index 2b2bacdd6138..000000000000 --- a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2025-08-07 06:57:29 UTC -+++ gpu/ipc/common/gpu_memory_buffer_support.h -@@ -22,7 +22,7 @@ - #include "ui/gfx/geometry/size.h" - #include "ui/gfx/gpu_memory_buffer_handle.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) - namespace gfx { - class ClientNativePixmapFactory; - } // namespace gfx diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc index 45c16ef8bb2e..7ec6893236eb 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2025-08-07 06:57:29 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/ipc/service/gpu_init.cc @@ -155,7 +155,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; -@@ -393,7 +393,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -417,7 +417,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 -@@ -431,7 +431,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -455,7 +455,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. -@@ -528,7 +528,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -552,7 +552,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 -@@ -586,7 +586,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -610,7 +610,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; -@@ -754,7 +754,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -778,7 +778,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. -@@ -806,7 +806,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -830,7 +830,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 -@@ -1008,7 +1008,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1032,7 +1032,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 -@@ -1064,7 +1064,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1088,7 +1088,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc index e6b775a9e6e8..81555e5694c5 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -1,20 +1,20 @@ ---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2024-10-22 08:31:56 UTC +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2025-09-06 10:01:20 UTC +++ gpu/ipc/service/gpu_memory_buffer_factory.cc @@ -14,7 +14,7 @@ #include "gpu/ipc/service/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/ipc/service/gpu_memory_buffer_factory_native_pixmap.h" #endif -@@ -71,7 +71,7 @@ GpuMemoryBufferFactory::CreateNativeType( +@@ -65,7 +65,7 @@ GpuMemoryBufferFactory::CreateNativeType( // to have a factory that vends invalid GMB handles rather than having no // factory at all. 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/chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h index e50d3fc98eeb..4707504d2397 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.h +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_image.h.orig 2023-02-08 09:03:45 UTC +--- gpu/vulkan/vulkan_image.h.orig 2025-09-06 10:01:20 UTC +++ gpu/vulkan/vulkan_image.h -@@ -87,7 +87,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { +@@ -86,7 +86,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageUsageFlags usage, VkImageCreateFlags flags); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static std::unique_ptr CreateWithExternalMemoryAndModifiers( VulkanDeviceQueue* device_queue, const gfx::Size& size, -@@ -199,7 +199,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { +@@ -198,7 +198,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageTiling image_tiling, uint32_t queue_family_index); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool InitializeWithExternalMemoryAndModifiers(VulkanDeviceQueue* device_queue, const gfx::Size& size, VkFormat format, diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc index 2fd247eaa0a2..01c6bb99b79a 100644 --- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2025-08-07 06:57:29 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2025-09-06 10:01:20 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -407,7 +407,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -411,7 +411,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( if (process_type != ::switches::kZygoteProcess) { g_headless_crash_client.Pointer()->set_crash_dumps_dir( command_line.GetSwitchValuePath(switches::kCrashDumpsDir)); -#if !BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) crash_reporter::InitializeCrashpad(process_type.empty(), process_type); #endif // !BUILDFLAG(IS_WIN) crash_keys::SetSwitchesFromCommandLine(command_line, nullptr); diff --git a/www/chromium/files/patch-ipc_ipc__channel.h b/www/chromium/files/patch-ipc_ipc__channel.h index 6e8f63c5006d..e19a68d4f1db 100644 --- a/www/chromium/files/patch-ipc_ipc__channel.h +++ b/www/chromium/files/patch-ipc_ipc__channel.h @@ -1,11 +1,11 @@ ---- ipc/ipc_channel.h.orig 2024-06-17 12:56:06 UTC +--- ipc/ipc_channel.h.orig 2025-09-06 10:01:20 UTC +++ ipc/ipc_channel.h -@@ -218,7 +218,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { +@@ -199,7 +199,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { + // Generates a channel ID that's non-predictable and unique. static std::string GenerateUniqueRandomChannelID(); - #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Sandboxed processes live in a PID namespace, so when sending the IPC hello // message from client to server we need to send the PID from the global // PID namespace. diff --git a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc index 0dcf959a6109..32abe3ef3e94 100644 --- a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc +++ b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc @@ -1,11 +1,11 @@ ---- ipc/ipc_channel_mojo.cc.orig 2023-02-08 09:03:45 UTC +--- ipc/ipc_channel_mojo.cc.orig 2025-09-06 10:01:20 UTC +++ ipc/ipc_channel_mojo.cc -@@ -105,7 +105,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe +@@ -104,7 +104,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/chromium/files/patch-ipc_ipc__message__utils.h b/www/chromium/files/patch-ipc_ipc__message__utils.h index 4618c63ee766..48f8f102853c 100644 --- a/www/chromium/files/patch-ipc_ipc__message__utils.h +++ b/www/chromium/files/patch-ipc_ipc__message__utils.h @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.h.orig 2025-05-05 10:57:53 UTC +--- ipc/ipc_message_utils.h.orig 2025-09-06 10:01:20 UTC +++ ipc/ipc_message_utils.h -@@ -216,7 +216,7 @@ struct ParamTraits { +@@ -211,7 +211,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/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn index ae5427149201..eb1dd46dbfcf 100644 --- a/www/chromium/files/patch-media_BUILD.gn +++ b/www/chromium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2025-05-05 10:57:53 UTC +--- media/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ media/BUILD.gn -@@ -105,6 +105,9 @@ config("media_config") { +@@ -107,6 +107,9 @@ config("media_config") { defines += [ "DLOPEN_PULSEAUDIO" ] } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } } # Internal grouping of the configs necessary to support sub-folders having their diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn index 04357e3a968e..000f42e73441 100644 --- a/www/chromium/files/patch-media_audio_BUILD.gn +++ b/www/chromium/files/patch-media_audio_BUILD.gn @@ -1,27 +1,27 @@ ---- media/audio/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- media/audio/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ media/audio/BUILD.gn -@@ -290,9 +290,23 @@ source_set("audio") { +@@ -289,9 +289,23 @@ source_set("audio") { deps += [ "//media/base/android:media_jni_headers" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/audio_manager_linux.cc" ] } + + if (is_bsd) { + sources += [ "sndio/audio_manager_sndio.cc" ] + } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", + "sndio/sndio_output.h" + ] + } if (use_alsa) { libs += [ "asound" ] diff --git a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc index dda7610a87cf..f0e387dd9df2 100644 --- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -1,54 +1,54 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2025-05-28 14:55:43 UTC +--- media/audio/alsa/audio_manager_alsa.cc.orig 2025-09-06 10:01:20 UTC +++ media/audio/alsa/audio_manager_alsa.cc -@@ -106,7 +106,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType +@@ -103,7 +103,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType int card = -1; // Loop through the physical sound cards to get ALSA device hints. +#if !BUILDFLAG(IS_BSD) while (!wrapper_->CardNext(&card) && card >= 0) { +#endif void** hints = nullptr; int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { -@@ -118,7 +120,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType +@@ -115,7 +117,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " << wrapper_->StrError(error); } +#if !BUILDFLAG(IS_BSD) } +#endif } void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type, -@@ -202,7 +206,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable( +@@ -199,7 +203,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(AudioMana // goes through software conversion if needed (e.g. incompatible // sample rate). // TODO(joi): Should we prefer "hw" instead? +#if BUILDFLAG(IS_BSD) -+ static const char kDeviceTypeDesired[] = "plug"; ++ static constexpr std::string_view kDeviceTypeDesired = "plug"; +#else - static const char kDeviceTypeDesired[] = "plughw"; + static constexpr std::string_view kDeviceTypeDesired = "plughw"; +#endif - return strncmp(kDeviceTypeDesired, device_name, - std::size(kDeviceTypeDesired) - 1) == 0; + return device_name.starts_with(kDeviceTypeDesired); } -@@ -254,7 +262,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( + +@@ -250,7 +258,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( // Loop through the sound cards. // Don't use snd_device_name_hint(-1,..) since there is an access violation // inside this ALSA API with libasound.so.2.0.0. +#if !BUILDFLAG(IS_BSD) while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) { +#endif int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { - for (void** hint_iter = hints; *hint_iter != nullptr; hint_iter++) { + const std::string_view unwanted_type = @@ -279,7 +289,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: " << wrapper_->StrError(error); } +#if !BUILDFLAG(IS_BSD) } +#endif return has_device; } diff --git a/www/chromium/files/patch-media_audio_audio__input__device.cc b/www/chromium/files/patch-media_audio_audio__input__device.cc index 162f83363e38..33cba09eb733 100644 --- a/www/chromium/files/patch-media_audio_audio__input__device.cc +++ b/www/chromium/files/patch-media_audio_audio__input__device.cc @@ -1,11 +1,11 @@ ---- media/audio/audio_input_device.cc.orig 2025-02-19 07:43:18 UTC +--- media/audio/audio_input_device.cc.orig 2025-09-06 10:01:20 UTC +++ media/audio/audio_input_device.cc -@@ -275,7 +275,7 @@ void AudioInputDevice::OnStreamCreated( +@@ -271,7 +271,7 @@ void AudioInputDevice::OnStreamCreated( // here. See comments in AliveChecker and PowerObserverHelper for details and // todos. if (detect_dead_stream_ == DeadStreamDetection::kEnabled) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const bool stop_at_first_alive_notification = true; const bool pause_check_during_suspend = false; #else diff --git a/www/chromium/files/patch-media_audio_pulse_pulse__util.cc b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc index ccb79f1f1543..6793f854d879 100644 --- a/www/chromium/files/patch-media_audio_pulse_pulse__util.cc +++ b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc @@ -1,14 +1,14 @@ ---- media/audio/pulse/pulse_util.cc.orig 2024-09-30 07:45:04 UTC +--- media/audio/pulse/pulse_util.cc.orig 2025-09-06 10:01:20 UTC +++ media/audio/pulse/pulse_util.cc -@@ -50,7 +50,11 @@ constexpr char kBrowserDisplayName[] = "chromium-brows +@@ -45,7 +45,11 @@ constexpr char kBrowserDisplayName[] = "chromium-brows #if defined(DLOPEN_PULSEAUDIO) static const base::FilePath::CharType kPulseLib[] = +#if BUILDFLAG(IS_BSD) + FILE_PATH_LITERAL("libpulse.so"); +#else FILE_PATH_LITERAL("libpulse.so.0"); +#endif #endif void DestroyMainloop(pa_threaded_mainloop* mainloop) { diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc index 77ef6c87435e..cc8c304caf23 100644 --- a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc +++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -1,216 +1,218 @@ ---- media/audio/sndio/audio_manager_sndio.cc.orig 2025-07-02 06:08:04 UTC +--- media/audio/sndio/audio_manager_sndio.cc.orig 2025-09-03 06:34:22 UTC +++ media/audio/sndio/audio_manager_sndio.cc -@@ -0,0 +1,213 @@ +@@ -0,0 +1,215 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/command_line.h" +#include "base/metrics/histogram_macros.h" +#include "base/memory/ptr_util.h" + ++#include "base/logging.h" ++ +#include "media/audio/sndio/audio_manager_sndio.h" + +#include "media/audio/audio_device_description.h" +#include "media/audio/audio_output_dispatcher.h" +#if defined(USE_SNDIO) +#include "media/audio/sndio/sndio_input.h" +#include "media/audio/sndio/sndio_output.h" +#endif +#if defined(USE_PULSEAUDIO) +#include "media/audio/pulse/audio_manager_pulse.h" +#include "media/audio/pulse/pulse_util.h" +#endif +#if defined(USE_ALSA) +#include "media/audio/alsa/audio_manager_alsa.h" +#endif +#include "media/audio/fake_audio_manager.h" +#include "media/base/limits.h" +#include "media/base/media_switches.h" + +namespace media { + +#if defined(USE_SNDIO) +// Maximum number of output streams that can be open simultaneously. +static const int kMaxOutputStreams = 50; + +// Default sample rate for input and output streams. +static const int kDefaultSampleRate = 48000; + +void AddDefaultDevice(AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + device_names->push_front(AudioDeviceName::CreateDefault()); +} + +bool AudioManagerSndio::HasAudioOutputDevices() { + return true; +} + +bool AudioManagerSndio::HasAudioInputDevices() { + return true; +} + +void AudioManagerSndio::GetAudioInputDeviceNames( + AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + AddDefaultDevice(device_names); +} + +void AudioManagerSndio::GetAudioOutputDeviceNames( + AudioDeviceNames* device_names) { + AddDefaultDevice(device_names); +} + +#if defined(USE_SNDIO) +const std::string_view AudioManagerSndio::GetName() { + return "SNDIO"; +} +#endif + +AudioParameters AudioManagerSndio::GetInputStreamParameters( + const std::string& device_id) { + static const int kDefaultInputBufferSize = 1024; + + int user_buffer_size = GetUserBufferSize(); + int buffer_size = user_buffer_size ? + user_buffer_size : kDefaultInputBufferSize; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, ChannelLayoutConfig::Stereo(), + kDefaultSampleRate, buffer_size); +} + +AudioManagerSndio::AudioManagerSndio(std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) + : AudioManagerBase(std::move(audio_thread), + audio_log_factory) { + DLOG(WARNING) << "AudioManagerSndio"; + SetMaxOutputStreamsAllowed(kMaxOutputStreams); +} + +AudioManagerSndio::~AudioManagerSndio() = default; + +AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeOutputStream(params); +} + +AudioOutputStream* AudioManagerSndio::MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeOutputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeInputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeInputStream(params); +} + +AudioParameters AudioManagerSndio::GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) { + // TODO(tommi): Support |output_device_id|. + DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; + static const int kDefaultOutputBufferSize = 2048; + + ChannelLayoutConfig channel_layout_config = ChannelLayoutConfig::Stereo(); + int sample_rate = kDefaultSampleRate; + int buffer_size = kDefaultOutputBufferSize; + if (input_params.IsValid()) { + sample_rate = input_params.sample_rate(); + channel_layout_config = input_params.channel_layout_config(); + buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); + } + + int user_buffer_size = GetUserBufferSize(); + if (user_buffer_size) + buffer_size = user_buffer_size; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, + channel_layout_config, sample_rate, buffer_size); +} + +AudioInputStream* AudioManagerSndio::MakeInputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeInputStream"; + return new SndioAudioInputStream(this, + AudioDeviceDescription::kDefaultDeviceId, params); +} + +AudioOutputStream* AudioManagerSndio::MakeOutputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeOutputStream"; + return new SndioAudioOutputStream(params, this); +} +#endif + +std::unique_ptr CreateAudioManager( + std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) { + DLOG(WARNING) << "CreateAudioManager"; + + auto _ab = kAudioBackendParam.Get(); + + // For testing allow audio output to be disabled. + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioOutput) || + !base::FeatureList::IsEnabled(media::kAudioBackend)) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } + +#if defined(USE_PULSEAUDIO) + pa_threaded_mainloop* pa_mainloop = nullptr; + pa_context* pa_context = nullptr; + if (_ab != AudioBackend::kSndio && _ab != AudioBackend::kAlsa && + pulse::InitPulse(&pa_mainloop, &pa_context)) { + return std::make_unique( + std::move(audio_thread), audio_log_factory, pa_mainloop, pa_context); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to SNDIO for audio output. PulseAudio is not " + "available or could not be initialized."; + } +#endif + +#if defined(USE_SNDIO) + if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kAlsa) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to ALSA audio output. SNDIO is not " + "available or could not be initialized."; + } +#endif + +#if defined(USE_ALSA) + if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kSndio) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } else if (_ab == AudioBackend::kAuto) { + LOG(WARNING) << "Falling back to fake audio output. ALSA is not " + "available or could not be initialized."; + } +#endif + + return std::make_unique(std::move(audio_thread), + audio_log_factory); +} + +} // namespace media diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc index da2f0c91ade2..1f3c069c2142 100644 --- a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc +++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc @@ -1,203 +1,204 @@ ---- media/audio/sndio/sndio_input.cc.orig 2023-04-28 17:01:32 UTC +--- media/audio/sndio/sndio_input.cc.orig 2025-09-06 10:01:20 UTC +++ media/audio/sndio/sndio_input.cc -@@ -0,0 +1,200 @@ +@@ -0,0 +1,201 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/logging.h" ++#include "media/base/audio_sample_types.h" +#include "media/base/audio_timestamp_helper.h" +#include "media/audio/sndio/audio_manager_sndio.h" +#include "media/audio/audio_manager.h" +#include "media/audio/sndio/sndio_input.h" + +namespace media { + +static const SampleFormat kSampleFormat = kSampleFormatS16; + +void SndioAudioInputStream::OnMoveCallback(void *arg, int delta) +{ + SndioAudioInputStream* self = static_cast(arg); + + self->hw_delay += delta; +} + +void *SndioAudioInputStream::ThreadEntry(void *arg) { + SndioAudioInputStream* self = static_cast(arg); + + self->ThreadLoop(); + return NULL; +} + +SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager, + const std::string& device_name, + const AudioParameters& params) + : manager(manager), + params(params), + audio_bus(AudioBus::Create(params)), + state(kClosed) { +} + +SndioAudioInputStream::~SndioAudioInputStream() { + if (state != kClosed) + Close(); +} + +AudioInputStream::OpenOutcome SndioAudioInputStream::Open() { + struct sio_par par; + int sig; + + if (state != kClosed) + return OpenOutcome::kFailed; + + if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && + params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { + LOG(WARNING) << "Unsupported audio format."; + return OpenOutcome::kFailed; + } + + sio_initpar(&par); + par.rate = params.sample_rate(); + par.rchan = params.channels(); + par.bits = SampleFormatToBitsPerChannel(kSampleFormat); + par.bps = par.bits / 8; + par.sig = sig = par.bits != 8 ? 1 : 0; + par.le = SIO_LE_NATIVE; + par.appbufsz = params.frames_per_buffer(); + + hdl = sio_open(SIO_DEVANY, SIO_REC, 0); + + if (hdl == NULL) { + LOG(ERROR) << "Couldn't open audio device."; + return OpenOutcome::kFailed; + } + + if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { + LOG(ERROR) << "Couldn't set audio parameters."; + goto bad_close; + } + + if (par.rate != (unsigned int)params.sample_rate() || + par.rchan != (unsigned int)params.channels() || + par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || + par.sig != (unsigned int)sig || + (par.bps > 1 && par.le != SIO_LE_NATIVE) || + (par.bits != par.bps * 8)) { + LOG(ERROR) << "Unsupported audio parameters."; + goto bad_close; + } + state = kStopped; + buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; + sio_onmove(hdl, &OnMoveCallback, this); + return OpenOutcome::kSuccess; +bad_close: + sio_close(hdl); + return OpenOutcome::kFailed; +} + +void SndioAudioInputStream::Start(AudioInputCallback* cb) { + + StartAgc(); + + state = kRunning; + hw_delay = 0; + callback = cb; + sio_start(hdl); + if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { + LOG(ERROR) << "Failed to create real-time thread for recording."; + sio_stop(hdl); + state = kStopped; + } +} + +void SndioAudioInputStream::Stop() { + + if (state == kStopped) + return; + + state = kStopWait; + pthread_join(thread, NULL); + sio_stop(hdl); + state = kStopped; + + StopAgc(); +} + +void SndioAudioInputStream::Close() { + + if (state == kClosed) + goto release; + + if (state == kRunning) + Stop(); + + state = kClosed; + delete [] buffer; + sio_close(hdl); + +release: + manager->ReleaseInputStream(this); +} + +double SndioAudioInputStream::GetMaxVolume() { + // Not supported + return 0.0; +} + +void SndioAudioInputStream::SetVolume(double volume) { + // Not supported. Do nothing. +} + +double SndioAudioInputStream::GetVolume() { + // Not supported. + return 0.0; +} + +bool SndioAudioInputStream::IsMuted() { + // Not supported. + return false; +} + +void SndioAudioInputStream::SetOutputDeviceForAec( + const std::string& output_device_id) { + // Not supported. +} + +void SndioAudioInputStream::ThreadLoop(void) { + size_t todo, n; + char *data; + unsigned int nframes; + double normalized_volume = 0.0; + + nframes = audio_bus->frames(); + + while (state == kRunning && !sio_eof(hdl)) { + + GetAgcVolume(&normalized_volume); + + // read one block + todo = nframes * params.GetBytesPerFrame(kSampleFormat); + data = buffer; + while (todo > 0) { + n = sio_read(hdl, data, todo); + if (n == 0) + return; // unrecoverable I/O error + todo -= n; + data += n; + } + hw_delay -= nframes; + + // convert frames count to TimeDelta + const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, + params.sample_rate()); + + // push into bus + audio_bus->FromInterleaved(reinterpret_cast(buffer), nframes); + + + // invoke callback + callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1., {}); + } +} + +} // namespace media diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__output.cc b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc index e875d0c0d87b..7ae294448601 100644 --- a/www/chromium/files/patch-media_audio_sndio_sndio__output.cc +++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc @@ -1,190 +1,191 @@ ---- media/audio/sndio/sndio_output.cc.orig 2023-02-08 09:03:45 UTC +--- media/audio/sndio/sndio_output.cc.orig 2025-09-06 10:01:20 UTC +++ media/audio/sndio/sndio_output.cc -@@ -0,0 +1,187 @@ +@@ -0,0 +1,188 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/logging.h" +#include "base/time/time.h" +#include "base/time/default_tick_clock.h" +#include "media/audio/audio_manager_base.h" ++#include "media/base/audio_sample_types.h" +#include "media/base/audio_timestamp_helper.h" +#include "media/audio/sndio/sndio_output.h" + +namespace media { + +static const SampleFormat kSampleFormat = kSampleFormatS16; + +void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) { + SndioAudioOutputStream* self = static_cast(arg); + + self->hw_delay -= delta; +} + +void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { + SndioAudioOutputStream* self = static_cast(arg); + + self->vol = vol; +} + +void *SndioAudioOutputStream::ThreadEntry(void *arg) { + SndioAudioOutputStream* self = static_cast(arg); + + self->ThreadLoop(); + return NULL; +} + +SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params, + AudioManagerBase* manager) + : manager(manager), + params(params), + audio_bus(AudioBus::Create(params)), + state(kClosed), + mutex(PTHREAD_MUTEX_INITIALIZER) { +} + +SndioAudioOutputStream::~SndioAudioOutputStream() { + if (state != kClosed) + Close(); +} + +bool SndioAudioOutputStream::Open() { + if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && + params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { + LOG(WARNING) << "Unsupported audio format."; + return false; + } + state = kStopped; + volpending = 0; + vol = SIO_MAXVOL; + buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; + return true; +} + +void SndioAudioOutputStream::Close() { + if (state == kClosed) + goto release; + if (state == kRunning) + Stop(); + state = kClosed; + delete [] buffer; +release: + manager->ReleaseOutputStream(this); // Calls the destructor +} + +void SndioAudioOutputStream::Start(AudioSourceCallback* callback) { + struct sio_par par; + int sig; + + sio_initpar(&par); + par.rate = params.sample_rate(); + par.pchan = params.channels(); + par.bits = SampleFormatToBitsPerChannel(kSampleFormat); + par.bps = par.bits / 8; + par.sig = sig = par.bits != 8 ? 1 : 0; + par.le = SIO_LE_NATIVE; + par.appbufsz = params.frames_per_buffer(); + + hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0); + if (hdl == NULL) { + LOG(ERROR) << "Couldn't open audio device."; + return; + } + if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { + LOG(ERROR) << "Couldn't set audio parameters."; + sio_close(hdl); + return; + } + if (par.rate != (unsigned int)params.sample_rate() || + par.pchan != (unsigned int)params.channels() || + par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || + par.sig != (unsigned int)sig || + (par.bps > 1 && par.le != SIO_LE_NATIVE) || + (par.bits != par.bps * 8)) { + LOG(ERROR) << "Unsupported audio parameters."; + sio_close(hdl); + return; + } + + sio_onmove(hdl, &OnMoveCallback, this); + sio_onvol(hdl, &OnVolCallback, this); + + state = kRunning; + hw_delay = 0; + source = callback; + sio_start(hdl); + + if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { + LOG(ERROR) << "Failed to create real-time thread."; + sio_stop(hdl); + sio_close(hdl); + state = kStopped; + } +} + +void SndioAudioOutputStream::Stop() { + if (state == kStopped) + return; + state = kStopWait; + pthread_join(thread, NULL); + sio_stop(hdl); + sio_close(hdl); + state = kStopped; +} + +void SndioAudioOutputStream::SetVolume(double v) { + pthread_mutex_lock(&mutex); + vol = v * SIO_MAXVOL; + volpending = 1; + pthread_mutex_unlock(&mutex); +} + +void SndioAudioOutputStream::GetVolume(double* v) { + pthread_mutex_lock(&mutex); + *v = vol * (1. / SIO_MAXVOL); + pthread_mutex_unlock(&mutex); +} + +// This stream is always used with sub second buffer sizes, where it's +// sufficient to simply always flush upon Start(). +void SndioAudioOutputStream::Flush() {} + +void SndioAudioOutputStream::ThreadLoop(void) { + int avail, count, result; + + while (state == kRunning) { + // Update volume if needed + pthread_mutex_lock(&mutex); + if (volpending) { + volpending = 0; + sio_setvol(hdl, vol); + } + pthread_mutex_unlock(&mutex); + + // Get data to play + const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, + params.sample_rate()); + count = source->OnMoreData(delay, base::TimeTicks::Now(), {}, audio_bus.get()); + audio_bus->ToInterleaved(count, reinterpret_cast(buffer)); + if (count == 0) { + // We have to submit something to the device + count = audio_bus->frames(); + memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat)); + LOG(WARNING) << "No data to play, running empty cycle."; + } + + // Submit data to the device + avail = count * params.GetBytesPerFrame(kSampleFormat); + result = sio_write(hdl, buffer, avail); + if (result == 0) { + LOG(WARNING) << "Audio device disconnected."; + break; + } + + // Update hardware pointer + hw_delay += count; + } +} + +} // namespace media diff --git a/www/chromium/files/patch-media_base_audio__latency.cc b/www/chromium/files/patch-media_base_audio__latency.cc index 8bc6f327581e..d8aff6b4c012 100644 --- a/www/chromium/files/patch-media_base_audio__latency.cc +++ b/www/chromium/files/patch-media_base_audio__latency.cc @@ -1,11 +1,11 @@ ---- media/base/audio_latency.cc.orig 2025-04-04 08:52:13 UTC +--- media/base/audio_latency.cc.orig 2025-09-06 10:01:20 UTC +++ media/base/audio_latency.cc -@@ -147,7 +147,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in +@@ -143,7 +143,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // On Linux, MacOS and Fuchsia, the low level IO implementations on the // browser side supports all buffer size the clients want. We use the native // peer connection buffer size (10ms) to achieve best possible performance. diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index 26164df546f3..e42332dae9de 100644 --- a/www/chromium/files/patch-media_base_media__switches.cc +++ b/www/chromium/files/patch-media_base_media__switches.cc @@ -1,114 +1,123 @@ ---- media/base/media_switches.cc.orig 2025-08-07 06:57:29 UTC +--- media/base/media_switches.cc.orig 2025-09-06 10:01:20 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 -@@ -371,8 +371,8 @@ BASE_FEATURE(kUseSCContentSharingPicker, +@@ -380,8 +380,8 @@ BASE_FEATURE(kUseSCContentSharingPicker, "UseSCContentSharingPicker", 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, "PulseaudioLoopbackForCast", -@@ -382,6 +382,28 @@ BASE_FEATURE(kPulseaudioLoopbackForCast, +@@ -391,6 +391,28 @@ BASE_FEATURE(kPulseaudioLoopbackForCast, BASE_FEATURE(kPulseaudioLoopbackForScreenShare, "PulseaudioLoopbackForScreenShare", 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 -@@ -684,7 +706,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, +@@ -705,7 +727,7 @@ BASE_FEATURE(kFileDialogsTuckPictureInPicture, // Show toolbar button that opens dialog for controlling media sessions. BASE_FEATURE(kGlobalMediaControls, "GlobalMediaControls", -#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 -@@ -707,7 +729,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, +@@ -728,7 +750,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, // If enabled, users can request Media Remoting without fullscreen-in-tab. BASE_FEATURE(kMediaRemotingWithoutFullscreen, "MediaRemotingWithoutFullscreen", -#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 -@@ -719,7 +741,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, +@@ -740,7 +762,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, BASE_FEATURE(kGlobalMediaControlsPictureInPicture, "GlobalMediaControlsPictureInPicture", #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 -@@ -748,7 +770,7 @@ BASE_FEATURE(kUnifiedAutoplay, +@@ -775,7 +797,7 @@ BASE_FEATURE(kUnifiedAutoplay, "UnifiedAutoplay", 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, -@@ -821,7 +843,7 @@ BASE_FEATURE(kVSyncMjpegDecoding, +@@ -848,7 +870,7 @@ BASE_FEATURE(kVSyncMjpegDecoding, "VSyncMjpegDecoding", 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, "V4L2H264TemporalLayerHWEncoding", -@@ -1398,7 +1420,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, +@@ -1444,7 +1466,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, ); #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, -@@ -1480,7 +1502,7 @@ BASE_FEATURE(kRecordWebAudioEngagement, +@@ -1526,7 +1548,7 @@ BASE_FEATURE(kRecordWebAudioEngagement, "RecordWebAudioEngagement", 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. +@@ -1843,7 +1865,7 @@ bool IsSystemLoopbackCaptureSupported() { + #elif BUILDFLAG(IS_MAC) + return (IsMacSckSystemLoopbackCaptureSupported() || + IsMacCatapSystemLoopbackCaptureSupported()); +-#elif BUILDFLAG(IS_LINUX) && defined(USE_PULSEAUDIO) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_PULSEAUDIO) + return true; + #else + return false; diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h index ec90f94782a3..935d851bba2d 100644 --- a/www/chromium/files/patch-media_base_media__switches.h +++ b/www/chromium/files/patch-media_base_media__switches.h @@ -1,57 +1,57 @@ ---- media/base/media_switches.h.orig 2025-08-07 06:57:29 UTC +--- media/base/media_switches.h.orig 2025-09-06 10:01:20 UTC +++ media/base/media_switches.h -@@ -340,13 +340,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -338,13 +338,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); -@@ -360,7 +372,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kSuspendMutedAudio); - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -363,7 +375,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); -@@ -376,7 +388,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -379,7 +391,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); -@@ -498,7 +510,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBackgroundListening +@@ -497,7 +509,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kBackgroundListening MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc index 6ad9519f0f0f..703204f7ea01 100644 --- a/www/chromium/files/patch-media_base_video__frame.cc +++ b/www/chromium/files/patch-media_base_video__frame.cc @@ -1,47 +1,47 @@ ---- media/base/video_frame.cc.orig 2025-08-07 06:57:29 UTC +--- media/base/video_frame.cc.orig 2025-09-06 10:01:20 UTC +++ media/base/video_frame.cc -@@ -96,7 +96,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -87,7 +87,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 -@@ -110,7 +110,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -101,7 +101,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 && -@@ -421,7 +421,7 @@ VideoFrame::CreateFrameForGpuMemoryBufferOrMappableSII +@@ -396,7 +396,7 @@ scoped_refptr VideoFrame::CreateFrameForMa 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 = - gpu_memory_buffer - ? (gpu_memory_buffer->GetType() != gfx::SHARED_MEMORY_BUFFER) -@@ -850,7 +850,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM - return frame; + bool is_native_buffer = !shared_image->IsSharedMemoryForVideoFrame(); + if (is_native_buffer) { + const auto gmb_handle = shared_image->CloneGpuMemoryBufferHandle(); +@@ -861,7 +861,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, -@@ -1541,7 +1541,7 @@ scoped_refptr VideoFrame::shar +@@ -1535,7 +1535,7 @@ scoped_refptr VideoFrame::shar return wrapped_frame_ ? wrapped_frame_->shared_image() : shared_image_; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) size_t VideoFrame::NumDmabufFds() const { if (wrapped_frame_) { return wrapped_frame_->NumDmabufFds(); diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h index 6d532d788aa5..51b2c2913136 100644 --- a/www/chromium/files/patch-media_base_video__frame.h +++ b/www/chromium/files/patch-media_base_video__frame.h @@ -1,47 +1,47 @@ ---- media/base/video_frame.h.orig 2025-08-07 06:57:29 UTC +--- media/base/video_frame.h.orig 2025-09-06 10:01:20 UTC +++ media/base/video_frame.h -@@ -42,7 +42,7 @@ +@@ -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) -@@ -88,7 +88,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -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, -@@ -400,7 +400,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte - ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb, +@@ -370,7 +370,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 -@@ -716,7 +716,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -692,7 +692,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. -@@ -954,7 +954,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -927,7 +927,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/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py index 9b83eed1f968..de016ddcc962 100644 --- a/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py +++ b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py @@ -1,66 +1,66 @@ ---- media/ffmpeg/scripts/build_ffmpeg.py.orig 2025-07-02 06:08:04 UTC +--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2025-09-06 10:01:20 UTC +++ media/ffmpeg/scripts/build_ffmpeg.py @@ -33,7 +33,7 @@ NDK_ROOT_DIR = os.path.abspath( SUCCESS_TOKEN = 'THIS_BUILD_WORKED' sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build')) -import gn_helpers +#import gn_helpers BRANDINGS = [ 'Chrome', @@ -43,6 +43,8 @@ BRANDINGS = [ ARCH_MAP = { 'android': ['ia32', 'x64', 'arm-neon', 'arm64'], - 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'], + 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64', 'riscv64'], + 'openbsd': ['x64', 'arm64', 'ia32'], + 'freebsd': ['x64', 'arm64', 'ia32'], 'mac': ['x64', 'arm64'], 'win': ['ia32', 'x64', 'arm64'], } -@@ -122,7 +124,7 @@ def PrintAndCheckCall(argv, *args, **kwargs): +@@ -124,7 +126,7 @@ def PrintAndCheckCall(argv, *args, **kwargs): def GetDsoName(target_os, dso_name, dso_version): - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): return 'lib%s.so.%s' % (dso_name, dso_version) elif target_os == 'mac': return 'lib%s.%s.dylib' % (dso_name, dso_version) -@@ -473,7 +475,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ +@@ -475,7 +477,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ # removing soon, so this is needed to silence a deprecation # #warning which will be converted to an error via -Werror. # There is also no prctl.h - if target_os in ['linux', 'linux-noasm']: + if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']: pre_make_rewrites += [ (r'(#define HAVE_SYSCTL [01])', r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'), -@@ -596,7 +598,7 @@ def main(argv): +@@ -598,7 +600,7 @@ def main(argv): configure_args = args[2:] if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', - 'all'): + 'all', 'openbsd', 'freebsd'): parser.print_help() return 1 -@@ -710,7 +712,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -712,7 +714,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, '--optflags="-O2"', ]) - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): if target_arch == 'x64': if target_os == 'android': configure_flags['Common'].extend([ -@@ -825,9 +827,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -827,9 +829,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, configure_flags['Common'].extend([ '--target-os=linux', - '--sysroot=' + - os.path.join(CHROMIUM_ROOT_DIR, - 'build/linux/debian_bullseye_arm64-sysroot'), # See crbug.com/1467681. These could be removed eventually '--disable-dotprod', '--disable-i8mm', diff --git a/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py index ab5ebfcfc23c..663f2ac6ed62 100644 --- a/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py +++ b/www/chromium/files/patch-media_ffmpeg_scripts_robo__lib_config.py @@ -1,56 +1,56 @@ ---- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-08-07 06:57:29 UTC +--- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-09-06 10:01:20 UTC +++ media/ffmpeg/scripts/robo_lib/config.py @@ -56,19 +56,13 @@ class RoboConfiguration: self._llvm_path = os.path.join(self.chrome_src(), "third_party", "llvm-build", "Release+Asserts", "bin") - self.EnsurePathContainsLLVM() - self.EnsureNoMakeInfo() self.EnsureFFmpegHome() self.EnsureGNConfig() - self.ComputeBranchName() if not quiet: shell.log(f"Using chrome src: {self.chrome_src()}") shell.log(f"Using script dir: {self._script_directory}") shell.log(f"Using ffmpeg home: {self.ffmpeg_home()}") - shell.log(f"On branch: {self.branch_name()}") - if self.sushi_branch_name(): - shell.log(f"On sushi branch: {self.sushi_branch_name()}") # Filename that we'll ask generate_gn.py to write git commands to. # TODO: Should this use script_directory, or stay with ffmpeg? As long @@ -187,9 +181,9 @@ class RoboConfiguration: if re.match(r"i.86", platform.machine()): self._host_architecture = "ia32" - elif platform.machine() == "x86_64" or platform.machine() == "AMD64": + elif platform.machine() == "x86_64" or platform.machine() == "AMD64" or platform.machine() == "amd64": self._host_architecture = "x64" - elif platform.machine() == "aarch64": + elif platform.machine() == "aarch64" or platform.machine() == "arm64": self._host_architecture = "arm64" elif platform.machine() == "mips32": self._host_architecture = "mipsel" -@@ -228,6 +222,10 @@ class RoboConfiguration: +@@ -230,6 +224,10 @@ class RoboConfiguration: elif platform.system() == "Windows" or "CYGWIN_NT" in platform.system( ): self._host_operating_system = "win" + elif platform.system() == "OpenBSD": + self._host_operating_system = "openbsd" + elif platform.system() == "FreeBSD": + self._host_operating_system = "freebsd" else: raise ValueError(f"Unsupported platform: {platform.system()}") -@@ -236,8 +234,8 @@ class RoboConfiguration: +@@ -238,8 +236,8 @@ class RoboConfiguration: wd = os.getcwd() # Walk up the tree until we find src/AUTHORS while wd != "/": - if os.path.isfile(os.path.join(wd, "src", "AUTHORS")): - self._chrome_src = os.path.join(wd, "src") + if os.path.isfile(os.path.join(wd, "third_party", "DEPS")): + self._chrome_src = wd return wd = os.path.dirname(wd) raise Exception("could not find src/AUTHORS in any parent of the wd") diff --git a/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc index c103c07306e8..e14826eea5cf 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc @@ -1,11 +1,11 @@ ---- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2025-05-05 10:57:53 UTC +--- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2025-09-06 10:01:20 UTC +++ media/gpu/chromeos/mailbox_video_frame_converter.cc -@@ -68,7 +68,7 @@ viz::SharedImageFormat GetSharedImageFormat(gfx::Buffe - << static_cast(buffer_format); - NOTREACHED(); +@@ -321,7 +321,7 @@ bool MailboxVideoFrameConverter::GenerateSharedImage( + VideoPixelFormatToString(origin_frame->format())); + return false; } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If format is true multiplanar format, we prefer external sampler on // ChromeOS and Linux. - if (format.is_multi_plane()) { + if (si_format->is_multi_plane()) { diff --git a/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc index c8ada7c79f9d..a46931e30834 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-07-02 06:08:04 UTC +--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-09-06 10:01:20 UTC +++ media/gpu/chromeos/platform_video_frame_utils.cc -@@ -69,7 +69,7 @@ static std::unique_ptr CreateGbmDevice( +@@ -71,7 +71,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 -@@ -190,7 +190,7 @@ class GbmDeviceWrapper { +@@ -192,7 +192,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/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc index 5401fc494c18..af2cc38e4100 100644 --- a/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc +++ b/www/chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc @@ -1,20 +1,20 @@ ---- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-05-05 10:57:53 UTC +--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-09-06 10:01:20 UTC +++ media/gpu/gpu_video_encode_accelerator_factory.cc -@@ -160,7 +160,7 @@ std::vector GetVEAFactoryFunctions +@@ -162,7 +162,7 @@ std::vector GetVEAFactoryFunctions } #if BUILDFLAG(USE_VAAPI) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); } -@@ -168,7 +168,7 @@ std::vector GetVEAFactoryFunctions +@@ -170,7 +170,7 @@ std::vector GetVEAFactoryFunctions vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); #endif #elif BUILDFLAG(USE_V4L2_CODEC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { vea_factory_functions->push_back(base::BindRepeating(&CreateV4L2VEA)); } diff --git a/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc b/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc index 2774a9a9b427..ca0ed63cffc5 100644 --- a/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc +++ b/www/chromium/files/patch-media_gpu_test_video__frame__validator.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_validator.cc.orig 2025-08-07 06:57:29 UTC +--- media/gpu/test/video_frame_validator.cc.orig 2025-09-06 10:01:20 UTC +++ media/gpu/test/video_frame_validator.cc -@@ -33,7 +33,7 @@ +@@ -29,7 +29,7 @@ #include "media/media_buildflags.h" #include "testing/gtest/include/gtest/gtest.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc index 7d713531903c..6a586e88afc9 100644 --- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-08-07 06:57:29 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-09-06 10:01:20 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -785,7 +785,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -787,7 +787,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree const gfx::Size decoder_natural_size = aspect_ratio_.GetNaturalSize(decoder_visible_rect); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::optional allocator = base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); std::vector candidates = { diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni index 88d69961b266..c5ac175dbd70 100644 --- a/www/chromium/files/patch-media_media__options.gni +++ b/www/chromium/files/patch-media_media__options.gni @@ -1,19 +1,19 @@ ---- media/media_options.gni.orig 2025-07-02 06:08:04 UTC +--- media/media_options.gni.orig 2025-09-06 10:01:20 UTC +++ media/media_options.gni -@@ -200,12 +200,15 @@ declare_args() { +@@ -206,12 +206,15 @@ declare_args() { # Enables runtime selection of ALSA library for audio. use_alsa = false + # Enable runtime selection of sndio(7) + use_sndio = false + # Alsa should be used on all non-Android, non-Mac POSIX systems - with the # exception of CastOS desktop builds. # # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting # desktop Chromecast builds. - if (is_posix && !is_android && !is_apple && + if (is_posix && !is_android && !is_apple && !is_bsd && (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || is_cast_audio_only)) { use_alsa = true diff --git a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn index bac04658cf39..e54f25e5148b 100644 --- a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn +++ b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- media/mojo/mojom/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- media/mojo/mojom/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ media/mojo/mojom/BUILD.gn -@@ -979,7 +979,7 @@ source_set("test_support") { +@@ -962,7 +962,7 @@ source_set("test_support") { sources = [] deps = [] - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "buffer_handle_test_util.cc", "buffer_handle_test_util.h", diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc index aa3411ee0679..4c72fc20de0a 100644 --- a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc +++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,38 +1,38 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-08-07 06:57:29 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2025-09-06 10:01:20 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -23,7 +23,7 @@ +@@ -21,7 +21,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) -@@ -160,7 +160,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -188,7 +188,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. -@@ -191,7 +191,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -219,7 +219,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, -@@ -430,7 +430,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 -@@ -1054,7 +1054,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo - media::IOSurfaceIsWebGPUCompatible(handle.io_surface.get()); +@@ -1052,7 +1052,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; -@@ -1226,7 +1226,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr +@@ -1220,7 +1220,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr si_usage |= gpu::SHARED_IMAGE_USAGE_SCANOUT; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40194712): Always add the flag once the // OzoneImageBacking is by default turned on. if (base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc index 15c58a7e2664..50bae2580ff2 100644 --- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2025-08-07 06:57:29 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2025-09-06 10:01:20 UTC +++ media/video/video_encode_accelerator_adapter.cc -@@ -470,7 +470,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele +@@ -467,7 +467,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele auto format = PIXEL_FORMAT_I420; auto storage_type = VideoEncodeAccelerator::Config::StorageType::kShmem; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Linux/ChromeOS require a special configuration to use dmabuf storage. // We need to keep sending frames with the same storage type. // Other platforms will happily mix GpuMemoryBuffer storage with shared-mem diff --git a/www/chromium/files/patch-media_webrtc_audio__processor.cc b/www/chromium/files/patch-media_webrtc_audio__processor.cc index cf52d6b63a2f..f6bdaa9ab780 100644 --- a/www/chromium/files/patch-media_webrtc_audio__processor.cc +++ b/www/chromium/files/patch-media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- media/webrtc/audio_processor.cc.orig 2025-07-02 06:08:04 UTC +--- media/webrtc/audio_processor.cc.orig 2025-09-06 10:01:20 UTC +++ media/webrtc/audio_processor.cc -@@ -507,7 +507,7 @@ std::optional AudioProcessor::ProcessData( +@@ -510,7 +510,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/chromium/files/patch-media_webrtc_helpers__unittests.cc b/www/chromium/files/patch-media_webrtc_helpers__unittests.cc index cc67a9e7177e..afba69847ae4 100644 --- a/www/chromium/files/patch-media_webrtc_helpers__unittests.cc +++ b/www/chromium/files/patch-media_webrtc_helpers__unittests.cc @@ -1,38 +1,38 @@ ---- media/webrtc/helpers_unittests.cc.orig 2025-02-19 07:43:18 UTC +--- media/webrtc/helpers_unittests.cc.orig 2025-09-06 10:01:20 UTC +++ media/webrtc/helpers_unittests.cc -@@ -39,7 +39,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau +@@ -38,7 +38,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) -@@ -66,7 +66,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -65,7 +65,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; -@@ -82,7 +82,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -81,7 +81,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; -@@ -99,7 +99,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, +@@ -98,7 +98,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) TEST(CreateWebRtcAudioProcessingModuleTest, OnlyOneInputVolumeControllerEnabledOnDesktopPlatforms) { auto config = CreateApmGetConfig( diff --git a/www/chromium/files/patch-mojo_core_BUILD.gn b/www/chromium/files/patch-mojo_core_BUILD.gn index acb8f8d8386f..08dfed902da3 100644 --- a/www/chromium/files/patch-mojo_core_BUILD.gn +++ b/www/chromium/files/patch-mojo_core_BUILD.gn @@ -1,11 +1,11 @@ ---- mojo/core/BUILD.gn.orig 2025-07-02 06:08:04 UTC +--- mojo/core/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ mojo/core/BUILD.gn -@@ -164,7 +164,7 @@ source_set("impl_for_embedder") { - ] - } +@@ -161,7 +161,7 @@ source_set("impl_for_embedder") { + "channel_posix.h", + ] -- if ((is_linux || is_chromeos || is_android) && !is_nacl) { -+ if ((is_linux || is_chromeos || is_android) && !is_nacl && !is_bsd) { +- if (is_linux || is_chromeos || is_android) { ++ if ((is_linux || is_chromeos || is_android) && !is_bsd) { sources += [ "channel_linux.cc", "channel_linux.h", diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc index a00b2f95b61f..bf4014dcada0 100644 --- a/www/chromium/files/patch-mojo_core_channel.cc +++ b/www/chromium/files/patch-mojo_core_channel.cc @@ -1,14 +1,23 @@ ---- mojo/core/channel.cc.orig 2025-08-07 06:57:29 UTC +--- mojo/core/channel.cc.orig 2025-09-06 10:01:20 UTC +++ mojo/core/channel.cc -@@ -84,7 +84,11 @@ const size_t kMaxAttachedHandles = 64; +@@ -80,7 +80,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 +@@ -1162,7 +1166,7 @@ void Channel::LogHistogramForIPCMetrics(MessageType ty + } + + // Currently only CrOs, Linux, and Android support upgrades. +-#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) ++#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + // static + MOJO_SYSTEM_IMPL_EXPORT bool Channel::SupportsChannelUpgrade() { + return false; diff --git a/www/chromium/files/patch-mojo_core_embedder_features.h b/www/chromium/files/patch-mojo_core_embedder_features.h index bf298c54db6c..af452a35d6c5 100644 --- a/www/chromium/files/patch-mojo_core_embedder_features.h +++ b/www/chromium/files/patch-mojo_core_embedder_features.h @@ -1,11 +1,11 @@ ---- mojo/core/embedder/features.h.orig 2023-04-28 17:01:32 UTC +--- mojo/core/embedder/features.h.orig 2025-09-06 10:01:20 UTC +++ mojo/core/embedder/features.h -@@ -16,7 +16,7 @@ namespace core { +@@ -15,7 +15,7 @@ namespace mojo { + namespace core { - #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && \ - !BUILDFLAG(MOJO_USE_APPLE_CHANNEL) + #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); diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni index 69e69e009bda..15d5df3b9489 100644 --- a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni +++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -1,19 +1,19 @@ ---- mojo/public/tools/bindings/mojom.gni.orig 2025-05-05 10:57:53 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2025-09-06 10:01:20 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -774,6 +774,16 @@ template("mojom") { +@@ -762,6 +762,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/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn index e9e4804fd0c0..614982b709d1 100644 --- a/www/chromium/files/patch-net_BUILD.gn +++ b/www/chromium/files/patch-net_BUILD.gn @@ -1,95 +1,95 @@ ---- net/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- net/BUILD.gn.orig 2025-09-06 10:01:20 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" ] } -@@ -1349,6 +1349,19 @@ component("net") { +@@ -1356,6 +1356,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", -@@ -1512,7 +1525,7 @@ component("net") { +@@ -1519,7 +1532,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", -@@ -2236,7 +2249,7 @@ static_library("test_support") { +@@ -2252,7 +2265,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", -@@ -3056,14 +3069,14 @@ target(_test_target_type, "net_unittests") { +@@ -3050,14 +3063,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", -@@ -3164,6 +3177,10 @@ target(_test_target_type, "net_unittests") { +@@ -3158,6 +3171,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3229,7 +3246,7 @@ target(_test_target_type, "net_unittests") { - ] - } +@@ -3214,7 +3231,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" ] } -@@ -3367,7 +3384,7 @@ target(_test_target_type, "net_unittests") { +@@ -3344,7 +3361,7 @@ target(_test_target_type, "net_unittests") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if (is_posix && !is_linux && !is_chromeos && !is_bsd) { sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_base_features.cc b/www/chromium/files/patch-net_base_features.cc index 46045ee1946b..5301b3269f9d 100644 --- a/www/chromium/files/patch-net_base_features.cc +++ b/www/chromium/files/patch-net_base_features.cc @@ -1,11 +1,20 @@ ---- net/base/features.cc.orig 2025-07-02 06:08:04 UTC +--- net/base/features.cc.orig 2025-09-06 10:01:20 UTC +++ net/base/features.cc -@@ -31,7 +31,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, +@@ -32,7 +32,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, BASE_FEATURE(kAsyncDns, "AsyncDns", #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 +@@ -711,7 +711,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues + + BASE_FEATURE(kSimdutfBase64Support, + "SimdutfBase64Support", +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-net_disk__cache_backend__experiment.h b/www/chromium/files/patch-net_disk__cache_backend__experiment.h index b286abed6dda..c1b1db6d1af3 100644 --- a/www/chromium/files/patch-net_disk__cache_backend__experiment.h +++ b/www/chromium/files/patch-net_disk__cache_backend__experiment.h @@ -1,11 +1,11 @@ ---- net/disk_cache/backend_experiment.h.orig 2024-11-14 07:57:23 UTC +--- net/disk_cache/backend_experiment.h.orig 2025-09-06 10:01:20 UTC +++ net/disk_cache/backend_experiment.h -@@ -14,7 +14,7 @@ namespace disk_cache { +@@ -15,7 +15,7 @@ namespace disk_cache { // default. constexpr bool IsSimpleBackendEnabledByDefaultPlatform() { return BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC); + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD); } // True if assigned to any of disk cache backend experiment groups. diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn index 2a4999bdc858..5fc058539d26 100644 --- a/www/chromium/files/patch-net_dns_BUILD.gn +++ b/www/chromium/files/patch-net_dns_BUILD.gn @@ -1,31 +1,39 @@ ---- net/dns/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- net/dns/BUILD.gn.orig 2025-09-03 06:34:22 UTC +++ net/dns/BUILD.gn @@ -140,7 +140,7 @@ source_set("dns") { "dns_config_service_android.cc", "dns_config_service_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", -@@ -181,6 +181,7 @@ source_set("dns") { +@@ -174,6 +174,7 @@ source_set("dns") { + } + + deps = [ "//net:net_deps" ] ++ deps += [ "//services/screen_ai/buildflags" ] + + public_deps = [ + ":dns_client", +@@ -181,6 +182,7 @@ source_set("dns") { ":host_resolver_manager", ":mdns_client", "//net:net_public_deps", + "//printing/buildflags", ] if (enable_mdns) { -@@ -454,9 +455,9 @@ source_set("tests") { +@@ -454,9 +456,9 @@ source_set("tests") { if (is_android) { sources += [ "dns_config_service_android_unittest.cc" ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux_unittest.cc" ] - } else if (is_posix) { + } else if (is_posix && !is_bsd) { sources += [ "dns_config_service_posix_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_dns_address__sorter__posix.cc b/www/chromium/files/patch-net_dns_address__sorter__posix.cc index 974c87f29130..60a4e68c95f3 100644 --- a/www/chromium/files/patch-net_dns_address__sorter__posix.cc +++ b/www/chromium/files/patch-net_dns_address__sorter__posix.cc @@ -1,10 +1,10 @@ ---- net/dns/address_sorter_posix.cc.orig 2024-07-30 11:12:21 UTC +--- net/dns/address_sorter_posix.cc.orig 2025-09-06 10:01:20 UTC +++ net/dns/address_sorter_posix.cc -@@ -32,6 +32,7 @@ +@@ -33,6 +33,7 @@ #include "net/dns/netinet_in_var_ios.h" #else #include +#include #endif // BUILDFLAG(IS_IOS) #endif #include diff --git a/www/chromium/files/patch-net_dns_public_resolv__reader.cc b/www/chromium/files/patch-net_dns_public_resolv__reader.cc new file mode 100644 index 000000000000..95af21540dbb --- /dev/null +++ b/www/chromium/files/patch-net_dns_public_resolv__reader.cc @@ -0,0 +1,11 @@ +--- net/dns/public/resolv_reader.cc.orig 2025-09-06 10:01:20 UTC ++++ net/dns/public/resolv_reader.cc +@@ -34,7 +34,7 @@ std::unique_ptr ResolvReader::GetResSt + } + + bool ResolvReader::IsLikelySystemdResolved() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Look for a single 127.0.0.53:53 nameserver endpoint. The only known + // significant usage of such a configuration is the systemd-resolved local + // resolver, so it is then a fairly safe assumption that any DNS queries to diff --git a/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc b/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc deleted file mode 100644 index b2d6fe26fc37..000000000000 --- a/www/chromium/files/patch-net_quic_quic__network__transaction__unittest.cc +++ /dev/null @@ -1,28 +0,0 @@ ---- net/quic/quic_network_transaction_unittest.cc.orig 2025-08-07 06:57:29 UTC -+++ net/quic/quic_network_transaction_unittest.cc -@@ -5203,10 +5203,10 @@ TEST_P(QuicNetworkTransactionTest, RstStreamBeforeHead - - TEST_P(QuicNetworkTransactionTest, BrokenAlternateProtocol) { - // Alternate-protocol job -- std::unique_ptr close( -+ std::unique_ptr test_close( - ConstructServerConnectionClosePacket(1)); - MockRead quic_reads[] = { -- MockRead(ASYNC, close->data(), close->length()), -+ MockRead(ASYNC, test_close->data(), test_close->length()), - MockRead(ASYNC, ERR_IO_PENDING), // No more data to read - MockRead(ASYNC, OK), // EOF - }; -@@ -5249,10 +5249,10 @@ TEST_P(QuicNetworkTransactionTest, - http_server_properties_ = std::make_unique(); - - // Alternate-protocol job -- std::unique_ptr close( -+ std::unique_ptr test_close( - ConstructServerConnectionClosePacket(1)); - MockRead quic_reads[] = { -- MockRead(ASYNC, close->data(), close->length()), -+ MockRead(ASYNC, test_close->data(), test_close->length()), - MockRead(ASYNC, ERR_IO_PENDING), // No more data to read - MockRead(ASYNC, OK), // EOF - }; diff --git a/www/chromium/files/patch-net_url__request_url__request__context.cc b/www/chromium/files/patch-net_url__request_url__request__context.cc index a21256a72eb2..7191cd6fdb72 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context.cc +++ b/www/chromium/files/patch-net_url__request_url__request__context.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context.cc.orig 2025-08-07 06:57:29 UTC +--- net/url_request/url_request_context.cc.orig 2025-09-06 10:01:20 UTC +++ net/url_request/url_request_context.cc -@@ -120,7 +120,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge +@@ -128,7 +128,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge return &network_session->context(); } -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) std::unique_ptr URLRequestContext::CreateRequest( const GURL& url, RequestPriority priority, diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc index 6de33a948c95..2a5ec6da18b3 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2025-05-28 14:55:43 UTC +--- net/url_request/url_request_context_builder.cc.orig 2025-09-06 10:01:20 UTC +++ net/url_request/url_request_context_builder.cc -@@ -444,7 +444,7 @@ std::unique_ptr URLRequestContextBu +@@ -446,7 +446,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) // TODO(willchan): Switch to using this code when // ProxyConfigService::CreateSystemProxyConfigService()'s // signature doesn't suck. diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 5831d642c428..f46f08c8a6d2 100644 --- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2025-08-07 06:57:29 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2025-09-06 10:01:20 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -114,7 +114,7 @@ +@@ -113,7 +113,7 @@ #include "ui/accessibility/ax_features.mojom-features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "pdf/pdfium/pdfium_font_linux.h" #endif -@@ -566,7 +566,7 @@ void InitializeSDK(bool enable_v8, +@@ -565,7 +565,7 @@ void InitializeSDK(bool enable_v8, FPDF_InitLibraryWithConfig(&config); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) g_font_mapping_mode = font_mapping_mode; InitializeLinuxFontMapper(); #endif diff --git a/www/chromium/files/patch-printing_backend_cups__helper.cc b/www/chromium/files/patch-printing_backend_cups__helper.cc new file mode 100644 index 000000000000..33af1098f672 --- /dev/null +++ b/www/chromium/files/patch-printing_backend_cups__helper.cc @@ -0,0 +1,52 @@ +--- printing/backend/cups_helper.cc.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/cups_helper.cc +@@ -13,7 +13,7 @@ + #include "base/time/time.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include + #include + #include +@@ -43,11 +43,11 @@ + #include "url/gurl.h" + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "printing/backend/cups_weak_functions.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + using base::EqualsCaseInsensitiveASCII; + #endif // BUILDFLAG(IS_LINUX) + +@@ -60,7 +60,7 @@ namespace { + // able to start and respond on all systems within this duration. + constexpr base::TimeDelta kCupsTimeout = base::Seconds(5); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute). + constexpr int32_t kDefaultMaxCopies = 9999; + constexpr char kCupsMaxCopies[] = "cupsMaxCopies"; +@@ -766,7 +766,7 @@ const int kDefaultIPPServerPort = 631; + + } // namespace + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Helper wrapper around http_t structure, with connection and cleanup + // functionality. + HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url, +@@ -971,7 +971,7 @@ ScopedHttpPtr HttpConnect2(const char* host, + int blocking, + int msec, + int* cancel) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ScopedHttpPtr http; + if (httpConnect2) { + http.reset(httpConnect2(host, port, diff --git a/www/chromium/files/patch-printing_backend_cups__helper.h b/www/chromium/files/patch-printing_backend_cups__helper.h new file mode 100644 index 000000000000..a3f15a0b998f --- /dev/null +++ b/www/chromium/files/patch-printing_backend_cups__helper.h @@ -0,0 +1,11 @@ +--- printing/backend/cups_helper.h.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/cups_helper.h +@@ -32,7 +32,7 @@ constexpr int kCupsTimeoutMs = 3000; + constexpr cups_ptype_t kDestinationsFilterMask = + CUPS_PRINTER_FAX | CUPS_PRINTER_SCANNER | CUPS_PRINTER_DISCOVERED; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Helper wrapper around http_t structure, with connection and cleanup + // functionality. + class COMPONENT_EXPORT(PRINT_BACKEND) HttpConnectionCUPS { diff --git a/www/chromium/files/patch-printing_backend_cups__jobs.cc b/www/chromium/files/patch-printing_backend_cups__jobs.cc new file mode 100644 index 000000000000..db68a179781d --- /dev/null +++ b/www/chromium/files/patch-printing_backend_cups__jobs.cc @@ -0,0 +1,11 @@ +--- printing/backend/cups_jobs.cc.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/cups_jobs.cc +@@ -31,7 +31,7 @@ + #include "printing/backend/cups_ipp_helper.h" + #include "printing/printer_status.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "printing/backend/cups_weak_functions.h" + #endif + diff --git a/www/chromium/files/patch-printing_backend_cups__printer.cc b/www/chromium/files/patch-printing_backend_cups__printer.cc new file mode 100644 index 000000000000..ac836b1b93c8 --- /dev/null +++ b/www/chromium/files/patch-printing_backend_cups__printer.cc @@ -0,0 +1,11 @@ +--- printing/backend/cups_printer.cc.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/cups_printer.cc +@@ -24,7 +24,7 @@ + #include "printing/print_job_constants.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "printing/backend/cups_weak_functions.h" + #endif + diff --git a/www/chromium/files/patch-printing_backend_cups__weak__functions.h b/www/chromium/files/patch-printing_backend_cups__weak__functions.h new file mode 100644 index 000000000000..94a7f8468390 --- /dev/null +++ b/www/chromium/files/patch-printing_backend_cups__weak__functions.h @@ -0,0 +1,11 @@ +--- printing/backend/cups_weak_functions.h.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/cups_weak_functions.h +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-static_assert(BUILDFLAG(IS_LINUX)); ++static_assert(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); + + // Function availability can be tested by checking whether its address is not + // nullptr. Weak symbols remove the need for platform specific build flags and diff --git a/www/chromium/files/patch-printing_backend_print__backend__cups.cc b/www/chromium/files/patch-printing_backend_print__backend__cups.cc deleted file mode 100644 index 677125631cfa..000000000000 --- a/www/chromium/files/patch-printing_backend_print__backend__cups.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- printing/backend/print_backend_cups.cc.orig 2025-04-04 08:52:13 UTC -+++ printing/backend/print_backend_cups.cc -@@ -29,7 +29,7 @@ - #include "printing/mojom/print.mojom.h" - #include "url/gurl.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - #include "base/feature_list.h" - #include "printing/backend/cups_connection.h" - #include "printing/backend/print_backend_cups_ipp.h" -@@ -59,7 +59,7 @@ int CaptureCupsDestCallback(void* data, unsigned flags - return 1; // Keep going. - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - // This may be removed when Amazon Linux 2 reaches EOL (30 Jun 2025). - bool AreNewerCupsFunctionsAvailable() { - return cupsFindDestDefault && cupsFindDestSupported && cupsUserAgent && -@@ -286,7 +286,7 @@ bool PrintBackendCUPS::IsValidPrinter(const std::strin - #if !BUILDFLAG(IS_CHROMEOS) - scoped_refptr PrintBackend::CreateInstanceImpl( - const std::string& locale) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - if (AreNewerCupsFunctionsAvailable() && - base::FeatureList::IsEnabled(features::kCupsIppPrintingBackend)) { - return base::MakeRefCounted(CupsConnection::Create()); diff --git a/www/chromium/files/patch-printing_backend_print__backend__cups.h b/www/chromium/files/patch-printing_backend_print__backend__cups.h new file mode 100644 index 000000000000..3706100fbb28 --- /dev/null +++ b/www/chromium/files/patch-printing_backend_print__backend__cups.h @@ -0,0 +1,11 @@ +--- printing/backend/print_backend_cups.h.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/print_backend_cups.h +@@ -17,7 +17,7 @@ + #include "printing/mojom/print.mojom.h" + #include "url/gurl.h" + +-static_assert(BUILDFLAG(IS_LINUX)); ++static_assert(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); + + namespace printing { + diff --git a/www/chromium/files/patch-printing_backend_print__backend__cups__ipp.cc b/www/chromium/files/patch-printing_backend_print__backend__cups__ipp.cc new file mode 100644 index 000000000000..72b2ddcd1678 --- /dev/null +++ b/www/chromium/files/patch-printing_backend_print__backend__cups__ipp.cc @@ -0,0 +1,11 @@ +--- printing/backend/print_backend_cups_ipp.cc.orig 2025-09-06 10:01:20 UTC ++++ printing/backend/print_backend_cups_ipp.cc +@@ -21,7 +21,7 @@ + #include "printing/mojom/print.mojom.h" + #include "printing/units.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "printing/backend/cups_weak_functions.h" + #endif + diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc index 38059b76e472..5bdeb7a46fd0 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -1,29 +1,29 @@ ---- printing/mojom/printing_context_mojom_traits.cc.orig 2025-05-28 14:55:43 UTC +--- printing/mojom/printing_context_mojom_traits.cc.orig 2025-09-06 10:01:20 UTC +++ printing/mojom/printing_context_mojom_traits.cc @@ -19,7 +19,7 @@ #include "base/numerics/safe_conversions.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "mojo/public/mojom/base/values.mojom.h" #endif -@@ -162,7 +162,7 @@ bool StructTraits< +@@ -217,7 +217,7 @@ bool StructTraits< } out->set_pages_per_sheet(data.pages_per_sheet()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DCHECK(out->advanced_settings().empty()); if (!data.ReadAdvancedSettings(&out->advanced_settings())) return false; -@@ -239,7 +239,7 @@ bool StructTraits< +@@ -294,7 +294,7 @@ bool StructTraits< if (system_print_dialog_data.size() != dictionary_entries) { return false; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The dictionary must contain three strings. const base::Value* value = system_print_dialog_data.Find( printing::kLinuxSystemPrintDialogDataPrinter); diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc index 30b28cd77325..1220712b000a 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits__unittest.cc @@ -1,65 +1,65 @@ ---- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2025-05-28 14:55:43 UTC +--- printing/mojom/printing_context_mojom_traits_unittest.cc.orig 2025-09-06 10:01:20 UTC +++ printing/mojom/printing_context_mojom_traits_unittest.cc -@@ -79,7 +79,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( +@@ -80,7 +80,7 @@ base::Value::Dict GenerateSampleSystemPrintDialogData( data.Set(kMacSystemPrintDialogDataDestinationLocation, "/foo/bar.pdf"); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) data.Set(kLinuxSystemPrintDialogDataPrinter, "printer-name"); data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings-foo"); data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup-bar"); -@@ -116,7 +116,7 @@ const PageMargins kPrintSettingsCustomMarginsInMicrons +@@ -117,7 +117,7 @@ const PageMargins kPrintSettingsCustomMarginsInMicrons /*top=*/10583, /*bottom=*/12347); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PrintSettings::AdvancedSettings GenerateSampleAdvancedSettings() { PrintSettings::AdvancedSettings advanced_settings; advanced_settings.emplace("advanced-setting-A", base::Value("setting-A")); -@@ -209,7 +209,7 @@ PrintSettings GenerateSamplePrintSettingsCommon() { +@@ -210,7 +210,7 @@ PrintSettings GenerateSamplePrintSettingsCommon() { settings.set_device_name(kPrintSettingsDeviceName); settings.set_requested_media(kPrintSettingsRequestedMedia); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PrintSettings::AdvancedSettings& advanced_settings = settings.advanced_settings(); for (const auto& item : kPrintSettingsAdvancedSettings) -@@ -547,7 +547,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -548,7 +548,7 @@ TEST(PrintingContextMojomTraitsTest, EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet1); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings); #endif -@@ -600,7 +600,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -601,7 +601,7 @@ TEST(PrintingContextMojomTraitsTest, kPrintSettingsCustomMarginsInMicrons)); EXPECT_EQ(output.pages_per_sheet(), kPrintSettingsPagesPerSheet2); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_EQ(output.advanced_settings(), kPrintSettingsAdvancedSettings); #endif -@@ -639,7 +639,7 @@ TEST(PrintingContextMojomTraitsTest, +@@ -674,7 +674,7 @@ TEST(PrintingContextMojomTraitsTest, EXPECT_EQ(output.page_setup_device_units(), kInput.page_setup_device_units()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) TEST(PrintingContextMojomTraitsTest, TestSerializeAndDeserializePrintSettingsEmptyAdvancedSettings) { PrintSettings input = GenerateSamplePrintSettingsDefaultMargins(); -@@ -837,7 +837,7 @@ TEST( +@@ -872,7 +872,7 @@ TEST( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) TEST( PrintingContextMojomTraitsTest, TestSerializeAndDeserializePrintSettingsSystemPrintDialogPrinterInvalidDataType) { diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h index 532a1c289baf..510b5a40d686 100644 --- a/www/chromium/files/patch-printing_print__settings.h +++ b/www/chromium/files/patch-printing_print__settings.h @@ -1,47 +1,47 @@ ---- printing/print_settings.h.orig 2025-07-02 06:08:04 UTC +--- printing/print_settings.h.orig 2025-09-06 10:01:20 UTC +++ printing/print_settings.h @@ -25,7 +25,7 @@ #include "base/values.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/values.h" -@@ -51,7 +51,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe +@@ -52,7 +52,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe "print_settings"; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name"; inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] = "print_settings"; -@@ -101,7 +101,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -102,7 +102,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting std::string vendor_id; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) using AdvancedSettings = std::map; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -276,7 +276,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -290,7 +290,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting pages_per_sheet_ = pages_per_sheet; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) AdvancedSettings& advanced_settings() { return advanced_settings_; } const AdvancedSettings& advanced_settings() const { return advanced_settings_; -@@ -437,7 +437,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -451,7 +451,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting // Number of pages per sheet. int pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-printing_printing__features.cc b/www/chromium/files/patch-printing_printing__features.cc index 82bbeb4661c8..f4921d74bad0 100644 --- a/www/chromium/files/patch-printing_printing__features.cc +++ b/www/chromium/files/patch-printing_printing__features.cc @@ -1,26 +1,20 @@ ---- printing/printing_features.cc.orig 2025-05-05 10:57:53 UTC +--- printing/printing_features.cc.orig 2025-09-06 10:01:20 UTC +++ printing/printing_features.cc -@@ -26,12 +26,12 @@ BASE_FEATURE(kApiPrintingMarginsAndScale, +@@ -26,7 +26,7 @@ BASE_FEATURE(kApiPrintingMarginsAndScale, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the CUPS IPP printing backend instead of the original CUPS backend that // calls the deprecated PPD API. BASE_FEATURE(kCupsIppPrintingBackend, - "CupsIppPrintingBackend", --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - base::FEATURE_DISABLED_BY_DEFAULT - #else - base::FEATURE_ENABLED_BY_DEFAULT -@@ -81,7 +81,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf, +@@ -70,7 +70,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf, // out-of-process. BASE_FEATURE(kEnableOopPrintDrivers, "EnableOopPrintDrivers", -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-printing_printing__features.h b/www/chromium/files/patch-printing_printing__features.h index e4d23f9607ce..c34436afb0cc 100644 --- a/www/chromium/files/patch-printing_printing__features.h +++ b/www/chromium/files/patch-printing_printing__features.h @@ -1,11 +1,11 @@ ---- printing/printing_features.h.orig 2025-05-05 10:57:53 UTC +--- printing/printing_features.h.orig 2025-09-06 10:01:20 UTC +++ printing/printing_features.h @@ -24,7 +24,7 @@ COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kApiPrintingMarginsAndScale); #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kCupsIppPrintingBackend); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) + #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc index 1be89b8b6748..a0ef68c18b48 100644 --- a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc +++ b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -1,29 +1,29 @@ ---- remoting/host/me2me_desktop_environment.cc.orig 2025-04-04 08:52:13 UTC +--- remoting/host/me2me_desktop_environment.cc.orig 2025-09-06 10:01:20 UTC +++ remoting/host/me2me_desktop_environment.cc -@@ -112,7 +112,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() +@@ -113,7 +113,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() capabilities += protocol::kRemoteWebAuthnCapability; } -#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) capabilities += " "; capabilities += protocol::kMultiStreamCapability; - -@@ -150,7 +150,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( + capabilities += " "; +@@ -158,7 +158,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( // properly under Xvfb. mutable_desktop_capture_options()->set_use_update_notifications(true); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Setting this option to false means that the capture differ wrapper will not // be used when the X11 capturer is selected. This reduces the X11 capture // time by a few milliseconds per frame and is safe because we can rely on -@@ -178,7 +178,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( +@@ -185,7 +185,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( // Otherwise, if the session is shared with the local user start monitoring // the local input and create the in-session UI. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool want_user_interface = false; #elif BUILDFLAG(IS_APPLE) // Don't try to display any UI on top of the system's login screen as this diff --git a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc index 2979792e5fe7..97498cd0c589 100644 --- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,146 +1,146 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2025-08-07 06:57:29 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2025-09-06 10:01:20 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -140,7 +140,7 @@ +@@ -139,7 +139,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 -@@ -150,7 +150,7 @@ +@@ -149,7 +149,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" -@@ -165,7 +165,7 @@ +@@ -164,7 +164,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) -@@ -199,7 +199,7 @@ const char kApplicationName[] = "chromoting"; +@@ -198,7 +198,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, +@@ -446,7 +446,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) -@@ -513,7 +513,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -508,7 +508,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_; -@@ -840,7 +840,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -835,7 +835,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) } -@@ -917,7 +917,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -912,7 +912,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, -@@ -1059,7 +1059,7 @@ void HostProcess::StartOnUiThread() { +@@ -1050,7 +1050,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 = -@@ -1138,7 +1138,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1129,7 +1129,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. -@@ -1146,7 +1146,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1137,7 +1137,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(); })); -@@ -1929,7 +1929,7 @@ void HostProcess::StartHost() { +@@ -1908,7 +1908,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_ = -@@ -1965,7 +1965,7 @@ void HostProcess::StartHost() { +@@ -1944,7 +1944,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(); -@@ -2110,7 +2110,7 @@ int HostProcessMain() { +@@ -2089,7 +2089,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 ...) -@@ -2155,7 +2155,7 @@ int HostProcessMain() { +@@ -2134,7 +2134,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. -@@ -2175,7 +2175,7 @@ int HostProcessMain() { +@@ -2154,7 +2154,7 @@ int HostProcessMain() { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = diff --git a/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc index 66e2af2f59cc..cd6e8b17d80f 100644 --- a/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc +++ b/www/chromium/files/patch-remoting_protocol_webrtc__video__stream.cc @@ -1,11 +1,11 @@ ---- remoting/protocol/webrtc_video_stream.cc.orig 2025-03-05 08:14:56 UTC +--- remoting/protocol/webrtc_video_stream.cc.orig 2025-09-06 10:01:20 UTC +++ remoting/protocol/webrtc_video_stream.cc -@@ -267,7 +267,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti +@@ -271,7 +271,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti : session_options_(session_options) { // TODO(joedow): Dig into the threading model on other platforms to see if they // can also be updated to run on a dedicated thread. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) core_task_runner_ = base::ThreadPool::CreateSingleThreadTaskRunner( {base::TaskPriority::HIGHEST}, base::SingleThreadTaskRunnerThreadMode::DEDICATED); diff --git a/www/chromium/files/patch-sandbox_linux_BUILD.gn b/www/chromium/files/patch-sandbox_linux_BUILD.gn index 6b3014a09e85..218995084a3d 100644 --- a/www/chromium/files/patch-sandbox_linux_BUILD.gn +++ b/www/chromium/files/patch-sandbox_linux_BUILD.gn @@ -1,35 +1,35 @@ ---- sandbox/linux/BUILD.gn.orig 2025-05-05 10:57:53 UTC +--- sandbox/linux/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ sandbox/linux/BUILD.gn -@@ -12,11 +12,11 @@ if (is_android) { +@@ -11,11 +11,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 -@@ -369,6 +369,17 @@ component("sandbox_services") { +@@ -373,6 +373,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/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc index 46e9d66c26e0..c982dc9370eb 100644 --- a/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc +++ b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -1,15 +1,15 @@ ---- sandbox/linux/services/init_process_reaper.cc.orig 2025-03-05 08:14:56 UTC +--- sandbox/linux/services/init_process_reaper.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/linux/services/init_process_reaper.cc -@@ -7,6 +7,7 @@ - #pragma allow_unsafe_libc_calls - #endif +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. +#if 0 #include "sandbox/linux/services/init_process_reaper.h" #include -@@ -105,3 +106,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo +@@ -101,3 +102,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo } } // namespace sandbox. +#endif diff --git a/www/chromium/files/patch-sandbox_policy_BUILD.gn b/www/chromium/files/patch-sandbox_policy_BUILD.gn index 8a0aafacdf7e..c132a3fcb81b 100644 --- a/www/chromium/files/patch-sandbox_policy_BUILD.gn +++ b/www/chromium/files/patch-sandbox_policy_BUILD.gn @@ -1,39 +1,39 @@ ---- sandbox/policy/BUILD.gn.orig 2025-07-02 06:08:04 UTC +--- sandbox/policy/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/BUILD.gn -@@ -46,7 +46,7 @@ component("policy") { +@@ -45,7 +45,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", -@@ -115,6 +115,27 @@ component("policy") { +@@ -113,6 +113,27 @@ 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", + ] + deps += [ + "//sandbox:sandbox_buildflags", + "//ui/gfx/x", + ] + libs = [ "util" ] + } + if (is_freebsd) { + sources += [ + "freebsd/sandbox_freebsd.cc", + "freebsd/sandbox_freebsd.h", + ] + deps += [ + "//sandbox:sandbox_buildflags", + "//ui/gfx/x", ] } if (is_chromeos) { diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc index 28f8771959c2..6b26b6bf0554 100644 --- a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc +++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -1,214 +1,213 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2024-11-14 07:57:23 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.cc -@@ -0,0 +1,211 @@ +@@ -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 "ppapi/buildflags/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("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/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom index 8b927e59c4d1..d26a8139d27e 100644 --- a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom +++ b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -1,15 +1,15 @@ ---- sandbox/policy/mojom/sandbox.mojom.orig 2025-02-19 07:43:18 UTC +--- sandbox/policy/mojom/sandbox.mojom.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/mojom/sandbox.mojom -@@ -74,6 +74,12 @@ enum Sandbox { +@@ -71,6 +71,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/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index 421d198975d1..3b7cb6964b07 100644 --- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,403 +1,396 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-07-02 06:08:04 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc -@@ -0,0 +1,400 @@ +@@ -0,0 +1,393 @@ +// 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 "ppapi/buildflags/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 +#include "ui/gfx/linux/fontconfig_util.h" + +#define MAXTOKENS 3 + +#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; +#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; +#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; + +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(); + + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + { + FcConfig* config = gfx::GetGlobalFontConfig(); + DCHECK(config); + break; + } + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { + FILE *fp; + char *s = NULL; + size_t len = 0; + ssize_t read; + + if (pstring != NULL) { + if (pledge(pstring, NULL) == -1) + goto err; + VLOG(5) << "pledge " << pstring; + } else if (ppath != NULL) { + fp = fopen(ppath, "r"); + if (fp != NULL) { + while ((read = getline(&s, &len, fp)) != -1 ) { + if (s[strlen(s)-1] == '\n') + s[strlen(s)-1] = '\0'; + if (pledge(s, NULL) == -1) + goto err; + VLOG(5) << "pledge " << s; + } + fclose(fp); + } else { + LOG(ERROR) << "fopen(" << ppath << ") failed, errno: " << errno; + return false; + } + } + return true; +err: + LOG(ERROR) << "pledge() failed, errno: " << errno; + return false; +} + +bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { + FILE *fp; + char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; + char *xdg_var = NULL; + char path[PATH_MAX]; + const char *ufile; + size_t len = 0, lineno = 0; + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + ufile = _UNVEIL_MAIN; + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + ufile = _UNVEIL_GPU; + break; + case sandbox::mojom::Sandbox::kNetwork: + ufile = _UNVEIL_UTILITY_NETWORK; + break; + case sandbox::mojom::Sandbox::kAudio: + ufile = _UNVEIL_UTILITY_AUDIO; + break; + case sandbox::mojom::Sandbox::kVideoCapture: + ufile = _UNVEIL_UTILITY_VIDEO; + break; + default: + unveil("/dev/null", "r"); + goto done; + } + + fp = fopen(ufile, "r"); + if (fp != NULL) { + while (!feof(fp)) { + if ((s = fparseln(fp, &len, &lineno, NULL, + FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { + if (ferror(fp)) { + LOG(ERROR) << "ferror(), errno: " << errno; + _exit(1); + } else { + continue; + } + } + cp = s; + cp += strspn(cp, " \t\n"); /* eat whitespace */ + if (cp[0] == '\0') + continue; + + for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && + (*ap = strsep(&cp, " \t")) != NULL;) { + if (**ap != '\0') + ap++; + } + *ap = NULL; + + if (tokens[1] == NULL) { + LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; + _exit(1); + } + + if (tokens[0][0] == '~') { + if ((home = getenv("HOME")) == NULL || *home == '\0') { + LOG(ERROR) << "failed to get home"; + _exit(1); + } + memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); + strncpy(path, home, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); + } else if (strncmp(tokens[0], "XDG_", 4) == 0) { + if ((xdg_var = getenv(tokens[0])) == NULL || *xdg_var == '\0') { + LOG(ERROR) << "failed to get " << tokens[0]; + continue; + } + strncpy(path, xdg_var, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } else { + strncpy(path, tokens[0], sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } + + if (unveil(path, tokens[1]) == -1) { + LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; + _exit(1); + } else { + VLOG(5) << "unveiling " << path << " with permissions " << tokens[1]; + } + } + fclose(fp); + } else { + LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; + _exit(1); + } + +done: + unveil_initialized_ = true; + + return true; +} + +bool SandboxLinux::unveil_initialized() const { + return unveil_initialized_; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << sandbox_type; + + // Only one thread is running, pre-initialize if not already done. + if (!pre_initialized_) + PreinitializeSandbox(sandbox_type); + + // Attempt to limit the future size of the address space of the process. + int error = 0; + const bool limited_as = LimitAddressSpace(&error); + if (error) { + // Restore errno. Internally to |LimitAddressSpace|, the errno due to + // setrlimit may be lost. + errno = error; + PCHECK(limited_as); + } + + if (hook) + CHECK(std::move(hook).Run(options)); + + if (!command_line->HasSwitch(switches::kDisableUnveil)) + SetUnveil(process_type, sandbox_type); + + switch(sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + SetPledge(NULL, "/etc/chromium/pledge.main"); + break; + case sandbox::mojom::Sandbox::kRenderer: + // prot_exec needed by v8 + // flock needed by sqlite3 locking + SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd tmppath unix", NULL); + break; -+#if BUILDFLAG(ENABLE_PPAPI) -+ case sandbox::mojom::Sandbox::kPpapi: -+ // prot_exec needed by v8 -+ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL); -+ break; -+#endif + case sandbox::mojom::Sandbox::kAudio: + SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: + SetPledge(NULL, "/etc/chromium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: + SetPledge(NULL, "/etc/chromium/pledge.utility_video"); + break; + case sandbox::mojom::Sandbox::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/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc index cfa13b30c1b2..c6fb901063bc 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2024-04-19 13:02:56 UTC +--- sandbox/policy/sandbox.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/sandbox.cc @@ -18,6 +18,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif // BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) #include "sandbox/mac/seatbelt.h" #endif // BUILDFLAG(IS_MAC) -@@ -32,7 +36,7 @@ +@@ -34,7 +38,7 @@ namespace sandbox { namespace policy { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options) { diff --git a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc index 89a2a4231d20..b01ed0083c17 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -1,184 +1,178 @@ ---- sandbox/policy/sandbox_type.cc.orig 2025-07-02 06:08:04 UTC +--- sandbox/policy/sandbox_type.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/sandbox_type.cc -@@ -17,7 +17,7 @@ +@@ -16,7 +16,7 @@ #include "chromeos/ash/components/assistant/buildflags.h" #endif // BUILDFLAG(IS_CHROMEOS) -#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 - -@@ -42,7 +42,7 @@ constexpr char kPpapiSandbox[] = "ppapi"; - #endif +@@ -38,7 +38,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 -@@ -60,15 +60,15 @@ constexpr char kWindowsSystemProxyResolverSandbox[] = +@@ -56,15 +56,15 @@ 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 - // platforms, only one those that need to evaluate the use..., hence this -@@ -88,7 +88,7 @@ constexpr char kLibassistantSandbox[] = "libassistant" +@@ -85,7 +85,7 @@ constexpr char kLibassistantSandbox[] = "libassistant" #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) #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) -@@ -150,7 +150,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -135,7 +135,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) -@@ -161,7 +161,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -146,7 +146,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: - case Sandbox::kHardwareVideoEncoding: -@@ -179,15 +179,15 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -165,15 +165,15 @@ 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) == -@@ -197,7 +197,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -183,7 +183,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi switches::kServiceSandboxType, StringFromUtilitySandboxType(sandbox_type)); - break; + return; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: - break; + return; #endif -@@ -237,7 +237,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( - return Sandbox::kUtility; +@@ -214,7 +214,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; -@@ -279,7 +279,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -252,7 +252,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 -@@ -290,17 +290,17 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -263,17 +263,17 @@ 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 -@@ -320,7 +320,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -293,7 +293,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) - #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) - case Sandbox::kHardwareVideoDecoding: - return kHardwareVideoDecodingSandbox; -@@ -343,7 +343,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(); -@@ -421,7 +421,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( + case Sandbox::kShapeDetection: + return kShapeDetectionSandbox; + #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) +@@ -394,7 +394,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; } -@@ -429,7 +429,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -402,22 +402,22 @@ 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; } -@@ -439,12 +439,12 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( + #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 BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) - if (sandbox_string == kHardwareVideoDecodingSandbox) { - return Sandbox::kHardwareVideoDecoding; + if (sandbox_string == kShapeDetectionSandbox) { + return Sandbox::kShapeDetection; + } diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc index 1b42116d2891..6845b69551c1 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.cc +++ b/www/chromium/files/patch-sandbox_policy_switches.cc @@ -1,13 +1,13 @@ ---- sandbox/policy/switches.cc.orig 2025-04-04 08:52:13 UTC +--- sandbox/policy/switches.cc.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/switches.cc -@@ -37,7 +37,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f +@@ -40,7 +40,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f // Meant to be used as a browser-level switch for testing purposes only. const char kNoSandbox[] = "no-sandbox"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +const char kDisableUnveil[] = "disable-unveil"; + +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Instructs the zygote to launch without a sandbox. Processes forked from this // type of zygote will apply their own custom sandboxes later. const char kNoZygoteSandbox[] = "no-zygote-sandbox"; diff --git a/www/chromium/files/patch-sandbox_policy_switches.h b/www/chromium/files/patch-sandbox_policy_switches.h index b19609d509fb..f10ddbb6c2a0 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.h +++ b/www/chromium/files/patch-sandbox_policy_switches.h @@ -1,12 +1,12 @@ ---- sandbox/policy/switches.h.orig 2025-02-19 07:43:18 UTC +--- sandbox/policy/switches.h.orig 2025-09-06 10:01:20 UTC +++ sandbox/policy/switches.h -@@ -23,7 +23,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid +@@ -24,7 +24,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[]; SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[]; SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +SANDBOX_POLICY_EXPORT extern const char kDisableUnveil[]; +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[]; #endif #if BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-services_device_public_cpp_device__features.cc b/www/chromium/files/patch-services_device_public_cpp_device__features.cc index 625b5a28ce7b..53b9f37f2843 100644 --- a/www/chromium/files/patch-services_device_public_cpp_device__features.cc +++ b/www/chromium/files/patch-services_device_public_cpp_device__features.cc @@ -1,11 +1,11 @@ ---- services/device/public/cpp/device_features.cc.orig 2025-05-28 14:55:43 UTC +--- services/device/public/cpp/device_features.cc.orig 2025-09-06 10:01:20 UTC +++ services/device/public/cpp/device_features.cc -@@ -140,7 +140,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { - - // Controls whether Chrome will try to automatically detach kernel drivers when - // a USB interface is busy. --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +@@ -144,7 +144,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { + BASE_FEATURE(kAutomaticUsbDetach, + "AutomaticUsbDetach", + base::FEATURE_ENABLED_BY_DEFAULT); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAutomaticUsbDetach, "AutomaticUsbDetach", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-services_device_public_mojom_BUILD.gn b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn index 761b2ec2e862..0b7de8f9397c 100644 --- a/www/chromium/files/patch-services_device_public_mojom_BUILD.gn +++ b/www/chromium/files/patch-services_device_public_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/public/mojom/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- services/device/public/mojom/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ services/device/public/mojom/BUILD.gn -@@ -107,7 +107,7 @@ mojom("device_service") { +@@ -95,7 +95,7 @@ mojom("device_service") { enable_js_fuzzing = false enabled_features = [] - if ((is_linux || is_chromeos) && use_udev) { + if ((is_linux || is_chromeos) && !is_bsd && use_udev) { enabled_features += [ "enable_input_device_manager" ] } diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn index 8ee159e01f40..fbac826275f2 100644 --- a/www/chromium/files/patch-services_network_BUILD.gn +++ b/www/chromium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- services/network/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ services/network/BUILD.gn -@@ -423,7 +423,6 @@ if (is_linux || is_chromeos) { +@@ -421,7 +421,6 @@ if (is_linux || is_chromeos) { ] deps = [ - "//base:base", + "//base", - "//sandbox/linux:sandbox_services", - "//sandbox/policy:policy", + "//sandbox/policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc index e5ae17d32dfe..889d7c5068c4 100644 --- a/www/chromium/files/patch-services_network_network__context.cc +++ b/www/chromium/files/patch-services_network_network__context.cc @@ -1,20 +1,20 @@ ---- services/network/network_context.cc.orig 2025-08-07 06:57:29 UTC +--- services/network/network_context.cc.orig 2025-09-06 10:01:20 UTC +++ services/network/network_context.cc -@@ -628,7 +628,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: +@@ -629,7 +629,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_) { -@@ -2596,7 +2596,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2598,7 +2598,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( http_auth_dynamic_network_service_params->android_negotiate_account_type); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) http_auth_merged_preferences_.set_allow_gssapi_library_load( http_auth_dynamic_network_service_params->allow_gssapi_library_load); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_network__context.h b/www/chromium/files/patch-services_network_network__context.h index 84a973894e9e..ece629da24bd 100644 --- a/www/chromium/files/patch-services_network_network__context.h +++ b/www/chromium/files/patch-services_network_network__context.h @@ -1,11 +1,11 @@ ---- services/network/network_context.h.orig 2025-08-07 06:57:29 UTC +--- services/network/network_context.h.orig 2025-09-06 10:01:20 UTC +++ services/network/network_context.h -@@ -737,7 +737,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -738,7 +738,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext public: explicit NetworkContextHttpAuthPreferences(NetworkService* network_service); ~NetworkContextHttpAuthPreferences() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool AllowGssapiLibraryLoad() const override; #endif // BUILDFLAG(IS_LINUX) private: diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc index 3b649fec2422..04ed0c4e8a7e 100644 --- a/www/chromium/files/patch-services_network_network__service.cc +++ b/www/chromium/files/patch-services_network_network__service.cc @@ -1,34 +1,34 @@ ---- services/network/network_service.cc.orig 2025-08-07 06:57:29 UTC +--- services/network/network_service.cc.orig 2025-09-06 10:01:20 UTC +++ services/network/network_service.cc -@@ -104,11 +104,11 @@ +@@ -107,11 +107,11 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS) #include "components/os_crypt/sync/key_storage_config_linux.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "services/network/network_change_notifier_passive_factory.h" #endif -@@ -1049,7 +1049,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1035,7 +1035,7 @@ void NetworkService::SetExplicitlyAllowedPorts( net::SetExplicitlyAllowedPorts(ports); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) { -@@ -1155,7 +1155,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1174,7 +1174,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo ); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::OnBeforeGssapiLibraryLoad() { if (gssapi_library_load_observer_.is_bound()) { gssapi_library_load_observer_->OnBeforeGssapiLibraryLoad(); diff --git a/www/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h index 6ebb4e68425c..a3b65d5178ab 100644 --- a/www/chromium/files/patch-services_network_network__service.h +++ b/www/chromium/files/patch-services_network_network__service.h @@ -1,29 +1,29 @@ ---- services/network/network_service.h.orig 2025-08-07 06:57:29 UTC +--- services/network/network_service.h.orig 2025-09-06 10:01:20 UTC +++ services/network/network_service.h -@@ -252,7 +252,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -243,7 +243,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService const std::vector& settings) override; void SetExplicitlyAllowedPorts(const std::vector& ports) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) override; -@@ -295,7 +295,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -292,7 +292,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService std::unique_ptr CreateHttpAuthHandlerFactory( NetworkContext* network_context); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This is called just before a GSSAPI library may be loaded. void OnBeforeGssapiLibraryLoad(); #endif // BUILDFLAG(IS_LINUX) -@@ -553,7 +553,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -550,7 +550,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService // leaking stale listeners between tests. std::unique_ptr mock_network_change_notifier_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) mojo::Remote gssapi_library_load_observer_; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_public_cpp_BUILD.gn b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn index f791848f3a4a..f14d391b9445 100644 --- a/www/chromium/files/patch-services_network_public_cpp_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn @@ -1,11 +1,11 @@ ---- services/network/public/cpp/BUILD.gn.orig 2025-08-07 06:57:29 UTC +--- services/network/public/cpp/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ services/network/public/cpp/BUILD.gn -@@ -677,7 +677,7 @@ component("cpp_base") { +@@ -699,7 +699,7 @@ component("cpp_base") { sources += [ "transferable_directory_fuchsia.cc" ] } - if (is_linux) { + if (is_linux && !is_bsd) { sources += [ "network_interface_change_listener_mojom_traits.cc", "network_interface_change_listener_mojom_traits.h", diff --git a/www/chromium/files/patch-services_network_public_cpp_features.cc b/www/chromium/files/patch-services_network_public_cpp_features.cc index 255576606b5e..fb3ce2627b29 100644 --- a/www/chromium/files/patch-services_network_public_cpp_features.cc +++ b/www/chromium/files/patch-services_network_public_cpp_features.cc @@ -1,20 +1,20 @@ ---- services/network/public/cpp/features.cc.orig 2025-07-02 06:08:04 UTC +--- services/network/public/cpp/features.cc.orig 2025-09-06 10:01:20 UTC +++ services/network/public/cpp/features.cc @@ -109,7 +109,7 @@ BASE_FEATURE(kSplitAuthCacheByNetworkIsolationKey, BASE_FEATURE(kDnsOverHttpsUpgrade, "DnsOverHttpsUpgrade", #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -359,7 +359,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, +@@ -378,7 +378,7 @@ BASE_FEATURE(kAvoidResourceRequestCopies, BASE_FEATURE(kDocumentIsolationPolicy, "DocumentIsolationPolicy", #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn index a456691abc98..5ca8cb832e6c 100644 --- a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn @@ -1,25 +1,34 @@ ---- services/network/public/mojom/BUILD.gn.orig 2025-07-02 06:08:04 UTC +--- services/network/public/mojom/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ services/network/public/mojom/BUILD.gn -@@ -679,11 +679,11 @@ mojom("url_loader_base") { +@@ -690,11 +690,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" ] -@@ -1795,7 +1795,7 @@ mojom("mojom") { +@@ -1007,7 +1007,7 @@ mojom("url_loader_base") { + }, + ] + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + cpp_typemaps += [ + { + types = [ +@@ -1797,7 +1797,7 @@ mojom("mojom") { } } - if (is_linux) { + if (is_linux && !is_bsd) { # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does # not include lacros. enabled_features += [ "use_network_interface_change_listener" ] diff --git a/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h b/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h index 95eaff0bbd97..cd921146581d 100644 --- a/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h +++ b/www/chromium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h @@ -1,11 +1,11 @@ ---- services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2023-08-17 07:33:31 UTC +--- services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2025-09-06 10:01:20 UTC +++ services/network/shared_dictionary/shared_dictionary_writer_in_memory.h @@ -9,6 +9,8 @@ #include #include +#include + #include "base/component_export.h" #include "base/functional/callback.h" - #include "crypto/secure_hash.h" + #include "crypto/hash.h" diff --git a/www/chromium/files/patch-services_on__device__model_on__device__model__service.h b/www/chromium/files/patch-services_on__device__model_on__device__model__service.h deleted file mode 100644 index 6ed7c0ea0f90..000000000000 --- a/www/chromium/files/patch-services_on__device__model_on__device__model__service.h +++ /dev/null @@ -1,22 +0,0 @@ ---- services/on_device_model/on_device_model_service.h.orig 2025-08-07 06:57:29 UTC -+++ services/on_device_model/on_device_model_service.h -@@ -31,6 +31,10 @@ class OnDeviceModelInternalImpl; - class TsHolder; - } - -+#if BUILDFLAG(IS_BSD) -+#include "sandbox/policy/sandbox.h" -+#endif -+ - namespace on_device_model { - - inline constexpr base::TimeDelta kDefaultModelIdleTimeout = base::Minutes(5); -@@ -46,7 +50,7 @@ class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelS - // Must be called in the service's process after the run loop finished. - [[nodiscard]] static bool Shutdown(); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - static void AddSandboxLinuxOptions( - sandbox::policy::SandboxLinux::Options& options); - #endif diff --git a/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc b/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc deleted file mode 100644 index f8e1c16d2a26..000000000000 --- a/www/chromium/files/patch-services_on__device__model_pre__sandbox__init.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- services/on_device_model/pre_sandbox_init.cc.orig 2025-08-07 06:57:29 UTC -+++ services/on_device_model/pre_sandbox_init.cc -@@ -15,7 +15,7 @@ - #include "services/on_device_model/ml/gpu_blocklist.h" // nogncheck - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "gpu/config/gpu_info_collector.h" // nogncheck - #endif - -@@ -29,7 +29,7 @@ namespace on_device_model { - - namespace { - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - constexpr uint32_t kVendorIdAMD = 0x1002; - constexpr uint32_t kVendorIdIntel = 0x8086; - constexpr uint32_t kVendorIdNVIDIA = 0x10DE; -@@ -63,7 +63,7 @@ void UpdateSandboxOptionsForGpu( - // enabling the sandbox. - BASE_FEATURE(kOnDeviceModelWarmDrivers, - "OnDeviceModelWarmDrivers", --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -132,7 +132,7 @@ bool OnDeviceModelService::PreSandboxInit() { - return true; - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // static - void OnDeviceModelService::AddSandboxLinuxOptions( - sandbox::policy::SandboxLinux::Options& options) { diff --git a/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.cc b/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.cc new file mode 100644 index 000000000000..31120b9315f5 --- /dev/null +++ b/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.cc @@ -0,0 +1,13 @@ +--- services/shape_detection/shape_detection_sandbox_hook.cc.orig 2025-09-06 10:01:20 UTC ++++ services/shape_detection/shape_detection_sandbox_hook.cc +@@ -31,8 +31,10 @@ bool ShapeDetectionPreSandboxHook( + DVLOG(1) << "Successfully opened Chrome Shape Detection shared library."; + } + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) ++#if !BUILDFLAG(IS_BSD) + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + return true; + } + diff --git a/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.h b/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.h new file mode 100644 index 000000000000..634d0011b0c1 --- /dev/null +++ b/www/chromium/files/patch-services_shape__detection_shape__detection__sandbox__hook.h @@ -0,0 +1,16 @@ +--- services/shape_detection/shape_detection_sandbox_hook.h.orig 2025-09-06 10:01:20 UTC ++++ services/shape_detection/shape_detection_sandbox_hook.h +@@ -5,7 +5,13 @@ + #ifndef SERVICES_SHAPE_DETECTION_SHAPE_DETECTION_SANDBOX_HOOK_H_ + #define SERVICES_SHAPE_DETECTION_SHAPE_DETECTION_SANDBOX_HOOK_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace shape_detection { + diff --git a/www/chromium/files/patch-services_shape__detection_shape__detection__service.cc b/www/chromium/files/patch-services_shape__detection_shape__detection__service.cc new file mode 100644 index 000000000000..f5c8f6111bbd --- /dev/null +++ b/www/chromium/files/patch-services_shape__detection_shape__detection__service.cc @@ -0,0 +1,20 @@ +--- services/shape_detection/shape_detection_service.cc.orig 2025-09-06 10:01:20 UTC ++++ services/shape_detection/shape_detection_service.cc +@@ -22,7 +22,7 @@ + #elif BUILDFLAG(IS_ANDROID) + // No C++ code, barcode detection comes from Java. + #elif BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + #include "services/shape_detection/barcode_detection_provider_chrome.h" + #else + #include "services/shape_detection/barcode_detection_provider_impl.h" +@@ -56,7 +56,7 @@ void ShapeDetectionService::BindBarcodeDetectionProvid + #elif BUILDFLAG(IS_MAC) + BarcodeDetectionProviderMac::Create(std::move(receiver)); + #elif BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + BarcodeDetectionProviderChrome::Create(std::move(receiver)); + #else + BarcodeDetectionProviderImpl::Create(std::move(receiver)); diff --git a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc b/www/chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc new file mode 100644 index 000000000000..cf779b35e02c --- /dev/null +++ b/www/chromium/files/patch-services_tracing_public_cpp_perfetto_track__name__recorder.cc @@ -0,0 +1,11 @@ +--- services/tracing/public/cpp/perfetto/track_name_recorder.cc.orig 2025-09-06 10:01:20 UTC ++++ services/tracing/public/cpp/perfetto/track_name_recorder.cc +@@ -51,7 +51,7 @@ void FillThreadTrack(const perfetto::ThreadTrack& trac + if (thread_type != ChromeThreadDescriptor::THREAD_UNSPECIFIED) { + desc.mutable_chrome_thread()->set_thread_type(thread_type); + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + if (base::GetCurrentProcId() != + base::trace_event::TraceLog::GetInstance()->process_id()) { + desc.mutable_chrome_thread()->set_is_sandboxed_tid(true); diff --git a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc index d84fbd75962f..512cc6197d7c 100644 --- a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc +++ b/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc @@ -1,11 +1,38 @@ ---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2024-01-30 07:53:34 UTC +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2025-09-06 10:01:20 UTC +++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc -@@ -38,7 +38,7 @@ +@@ -39,7 +39,7 @@ #include "third_party/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h" #include "third_party/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h" --#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) #include "base/profiler/thread_delegate_posix.h" #define INITIALIZE_THREAD_DELEGATE_POSIX 1 - #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) + #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) +@@ -261,7 +261,7 @@ struct FrameDetails { + ANDROID_ARM64_UNWINDING_SUPPORTED || ANDROID_CFI_UNWINDING_SUPPORTED || \ + (BUILDFLAG(IS_CHROMEOS) && \ + (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64))) || \ +- BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether stack sampling is supported on the current platform. + bool IsStackSamplingSupported() { + return base::StackSamplingProfiler::IsSupportedForCurrentPlatform(); +@@ -379,7 +379,7 @@ void TracingSamplerProfiler::TracingProfileBuilder::Wr + thread_descriptor->set_reference_timestamp_us( + last_timestamp_.since_origin().InMicroseconds()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + if (base::GetCurrentProcId() != + base::trace_event::TraceLog::GetInstance()->process_id()) { + auto* chrome_thread = track_descriptor->set_chrome_thread(); +@@ -651,7 +651,7 @@ bool TracingSamplerProfiler::IsStackUnwindingSupported + ANDROID_ARM64_UNWINDING_SUPPORTED || ANDROID_CFI_UNWINDING_SUPPORTED || \ + (BUILDFLAG(IS_CHROMEOS) && \ + (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64))) || \ +- BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return IsStackSamplingSupported(); + #else + return false; diff --git a/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc b/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc deleted file mode 100644 index 72c022d67d2b..000000000000 --- a/www/chromium/files/patch-services_tracing_public_cpp_trace__startup.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- services/tracing/public/cpp/trace_startup.cc.orig 2025-07-02 06:08:04 UTC -+++ services/tracing/public/cpp/trace_startup.cc -@@ -66,7 +66,7 @@ void EnableStartupTracingIfNeeded(bool with_thread) { - // Create the PerfettoTracedProcess. - if (with_thread) { - g_tracing_with_thread = true; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - PerfettoTracedProcess::MaybeCreateInstanceWithThread( - /*will_trace_thread_restart=*/true); - #else diff --git a/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn b/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn index d5893839ff74..7c11768e62a2 100644 --- a/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn +++ b/www/chromium/files/patch-services_viz_public_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- services/viz/public/mojom/BUILD.gn.orig 2025-05-28 14:55:43 UTC +--- services/viz/public/mojom/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ services/viz/public/mojom/BUILD.gn -@@ -57,7 +57,7 @@ mojom("mojom") { +@@ -51,7 +51,7 @@ mojom("mojom") { # Used in thread.mojom enabled_features = [] - if (is_fuchsia || is_apple) { + if (is_fuchsia || is_apple || is_bsd) { enabled_features += [ "thread_id_is_64_bit" ] } else { enabled_features += [ "thread_id_is_32_bit" ] diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn index 2a40c4629f1c..3e9d5d5e5205 100644 --- a/www/chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/chromium/files/patch-third__party_angle_BUILD.gn @@ -1,29 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2025-05-28 14:55:43 UTC +--- third_party/angle/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ third_party/angle/BUILD.gn -@@ -360,7 +360,6 @@ config("extra_warnings") { +@@ -367,7 +367,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", -@@ -537,7 +536,7 @@ template("angle_common_lib") { +@@ -544,7 +543,7 @@ template("angle_common_lib") { all_dependent_configs = [ ":angle_disable_pool_alloc" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs = [ "dl" ] } -@@ -692,6 +691,9 @@ angle_static_library("angle_gpu_info_util") { +@@ -707,6 +706,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", ] + if (is_bsd) { + libs += [ "GL" ] + } } if (angle_use_wayland && angle_has_build) { diff --git a/www/chromium/files/patch-third__party_angle_util_BUILD.gn b/www/chromium/files/patch-third__party_angle_util_BUILD.gn index 2bd296520ce2..266b88bc3811 100644 --- a/www/chromium/files/patch-third__party_angle_util_BUILD.gn +++ b/www/chromium/files/patch-third__party_angle_util_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/angle/util/BUILD.gn.orig 2025-04-04 08:52:13 UTC +--- third_party/angle/util/BUILD.gn.orig 2025-09-06 10:01:20 UTC +++ third_party/angle/util/BUILD.gn -@@ -332,7 +332,7 @@ foreach(is_shared_library, +@@ -334,7 +334,7 @@ foreach(is_shared_library, ] libs = [] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs += [ "rt", "dl", diff --git a/www/chromium/files/patch-third__party_blink_common_features.cc b/www/chromium/files/patch-third__party_blink_common_features.cc new file mode 100644 index 000000000000..08a84c825be0 --- /dev/null +++ b/www/chromium/files/patch-third__party_blink_common_features.cc @@ -0,0 +1,11 @@ +--- third_party/blink/common/features.cc.orig 2025-09-06 10:01:20 UTC ++++ third_party/blink/common/features.cc +@@ -683,7 +683,7 @@ BASE_FEATURE(kDevToolsImprovedNetworkError, + + BASE_FEATURE(kDirectCompositorThreadIpc, + "DirectCompositorThreadIpc", +-#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 diff --git a/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc index d2dd295605bb..9cbbc642f6dd 100644 --- a/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc +++ b/www/chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc @@ -1,11 +1,11 @@ ---- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2025-02-19 07:43:18 UTC +--- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc -@@ -77,7 +77,7 @@ bool StructTraitssend_subresource_notification = data.send_subresource_notification(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!data.ReadSystemFontFamilyName(&out->system_font_family_name)) return false; #endif diff --git a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h index 09a660bc7f41..f9fe287c8f97 100644 --- a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h +++ b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2025-02-19 07:43:18 UTC +--- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/public/common/renderer_preferences/renderer_preferences.h -@@ -65,7 +65,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences { +@@ -66,7 +66,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences { UserAgentOverride user_agent_override; std::string accept_languages; bool send_subresource_notification{false}; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::string system_font_family_name; #endif #if BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h index 55383cb9bf0b..4c030a990889 100644 --- a/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h +++ b/www/chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2025-02-19 07:43:18 UTC +--- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h -@@ -180,7 +180,7 @@ struct BLINK_COMMON_EXPORT +@@ -185,7 +185,7 @@ struct BLINK_COMMON_EXPORT return data.send_subresource_notification; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static const std::string& system_font_family_name( const ::blink::RendererPreferences& data) { return data.system_font_family_name; diff --git a/www/chromium/files/patch-third__party_blink_public_platform_platform.h b/www/chromium/files/patch-third__party_blink_public_platform_platform.h index 4d4b1263104e..2eac34e4c2bf 100644 --- a/www/chromium/files/patch-third__party_blink_public_platform_platform.h +++ b/www/chromium/files/patch-third__party_blink_public_platform_platform.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/platform/platform.h.orig 2025-08-07 06:57:29 UTC +--- third_party/blink/public/platform/platform.h.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/public/platform/platform.h -@@ -373,7 +373,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -376,7 +376,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/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index 808040f671d8..4c211c21a0cb 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-08-07 06:57:29 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc @@ -421,7 +421,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' -@@ -3444,7 +3444,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3441,7 +3441,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/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc index 43625137dabe..c0a18e8b1e53 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2025-05-05 10:57:53 UTC +--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc -@@ -51,7 +51,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin +@@ -52,7 +52,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin /* The value is based on user statistics on Nov 2017. */ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN)) + BUILDFLAG(IS_WIN)) || BUILDFLAG(IS_BSD) const double kIdleTaskStartTimeoutDelayMs = 1000.0; #else const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc b/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc index 7abee87bc8c0..c2807179a3c5 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc +++ b/www/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-07-02 06:08:04 UTC +--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -654,7 +654,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame +@@ -649,7 +649,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/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc index 733377f47069..e26735893496 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc @@ -1,10 +1,10 @@ ---- third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc.orig 2024-11-14 07:57:23 UTC +--- third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc -@@ -542,6 +542,7 @@ void RTCDataChannel::send(Blob* data, ExceptionState& +@@ -538,6 +538,7 @@ void RTCDataChannel::send(Blob* data, ExceptionState& pending_messages_.push_back(message); } +#undef close void RTCDataChannel::close() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (state_ == webrtc::DataChannelInterface::kClosing || diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc index c33751d275b0..6a3388f4433d 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2025-07-02 06:08:04 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -382,7 +382,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar +@@ -384,7 +384,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar SetupRenderer(kDefaultOutputDeviceId); renderer_proxy_->Start(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) static const int kExpectedBufferSize = kHardwareSampleRate / 100; #elif BUILDFLAG(IS_ANDROID) static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index f906898efc6c..4c287b50dc85 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2025-08-07 06:57:29 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2025-09-06 10:01:20 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6520,7 +6520,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6581,7 +6581,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