diff --git a/www/iridium/Makefile b/www/iridium/Makefile index e6d4c84d13ef..9e9b8e94aa5f 100644 --- a/www/iridium/Makefile +++ b/www/iridium/Makefile @@ -1,360 +1,360 @@ PORTNAME= iridium -PORTVERSION= 2025.04.135.2 +PORTVERSION= 2025.05.136 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://downloads.iridiumbrowser.de/source/ \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio PKGNAMESUFFIX= -browser DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ pulseaudio-${PULSEV}.tar.gz:pulseaudio MAINTAINER= chromium@FreeBSD.org COMMENT= Iridium browser WWW= https://iridiumbrowser.de/ LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 i386 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 \ 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} \ moc=${PREFIX}/bin/moc-qt5 # 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 \ chrome_pgo_phase=0 \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_nacl=false \ enable_remoting=false \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ 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_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 SUB_FILES= iridium-browser.desktop iridium SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG KERBEROS LTO PIPEWIRE OPTIONS_DEFAULT= CODECS CUPS 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 HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="60 GB" \ WANTMEM="32 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="35 GB" \ WANTMEM="8 GB" 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 .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} # Iridium 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/iridium.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Iridium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/iridium.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/iridium.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}/iridium cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/iridium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/iridium ${STAGEDIR}${PREFIX}/bin # 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 @${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader ${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} .include diff --git a/www/iridium/distinfo b/www/iridium/distinfo index 4f92424776df..dbf00976ab06 100644 --- a/www/iridium/distinfo +++ b/www/iridium/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1745557935 -SHA256 (iridium-browser-2025.04.135.2.tar.xz) = e7d90794da9fb086fd56dc0aaa19d4c4c2b4652bdde0ceabf3fd981d4aa896ed -SIZE (iridium-browser-2025.04.135.2.tar.xz) = 2985921092 +TIMESTAMP = 1746603498 +SHA256 (iridium-browser-2025.05.136.tar.xz) = d75bea5e33d144d35f684a73720f0d191d8beae811845aedb0ef92e2bfdc597f +SIZE (iridium-browser-2025.05.136.tar.xz) = 3044323008 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 diff --git a/www/iridium/files/patch-BUILD.gn b/www/iridium/files/patch-BUILD.gn index 4320cea3fdb7..5999930ba76c 100644 --- a/www/iridium/files/patch-BUILD.gn +++ b/www/iridium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ BUILD.gn @@ -71,7 +71,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") { "//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") { +@@ -449,7 +448,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", -@@ -638,6 +637,15 @@ group("gn_all") { +@@ -636,6 +635,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)", -@@ -686,7 +694,7 @@ group("gn_all") { +@@ -684,7 +692,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 -@@ -721,7 +729,7 @@ group("gn_all") { +@@ -719,7 +727,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) { +@@ -1128,7 +1136,7 @@ if (use_blink && !is_cronet_build) { + "//third_party/blink/public:all_blink", ] - if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && -- !is_castos) { -+ !is_castos && !is_bsd) { +- 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", -@@ -1273,7 +1281,7 @@ if (use_blink && !is_cronet_build) { +@@ -1275,7 +1283,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. -@@ -1287,7 +1295,7 @@ if (use_blink && !is_cronet_build) { +@@ -1289,7 +1297,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. -@@ -1757,7 +1765,7 @@ group("chromium_builder_perf") { +@@ -1760,7 +1768,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/iridium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc index bbb3d922c5e1..4131a3a1efd2 100644 --- a/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc +++ b/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc @@ -1,11 +1,11 @@ ---- apps/ui/views/app_window_frame_view.cc.orig 2025-04-16 18:18:42 UTC +--- apps/ui/views/app_window_frame_view.cc.orig 2025-05-07 06:48:23 UTC +++ apps/ui/views/app_window_frame_view.cc @@ -146,7 +146,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView() gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds( const gfx::Rect& client_bounds) const { gfx::Rect window_bounds = client_bounds; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Get the difference between the widget's client area bounds and window // bounds, and grow |window_bounds| by that amount. gfx::Insets native_frame_insets = diff --git a/www/iridium/files/patch-ash_display_mirror__window__controller.cc b/www/iridium/files/patch-ash_display_mirror__window__controller.cc index 3e8f1dfb840b..7e56d1d01d88 100644 --- a/www/iridium/files/patch-ash_display_mirror__window__controller.cc +++ b/www/iridium/files/patch-ash_display_mirror__window__controller.cc @@ -1,14 +1,14 @@ ---- ash/display/mirror_window_controller.cc.orig 2024-12-22 12:24:29 UTC +--- ash/display/mirror_window_controller.cc.orig 2025-05-07 06:48:23 UTC +++ ash/display/mirror_window_controller.cc @@ -295,7 +295,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/iridium/files/patch-base_BUILD.gn b/www/iridium/files/patch-base_BUILD.gn index 43fe9551f298..0df8368607d4 100644 --- a/www/iridium/files/patch-base_BUILD.gn +++ b/www/iridium/files/patch-base_BUILD.gn @@ -1,150 +1,150 @@ ---- base/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- base/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ base/BUILD.gn -@@ -1094,11 +1094,26 @@ component("base") { +@@ -1104,11 +1104,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" ] -@@ -1118,7 +1133,7 @@ component("base") { +@@ -1128,7 +1143,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" ] } -@@ -2142,6 +2157,22 @@ component("base") { +@@ -2152,6 +2167,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 += [ -@@ -2300,6 +2331,33 @@ component("base") { +@@ -2312,6 +2343,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", -@@ -2649,7 +2707,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2690,7 +2748,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" ] -@@ -3122,7 +3180,7 @@ if (is_apple) { +@@ -3163,7 +3221,7 @@ if (is_apple) { } } -if (!is_nacl && (is_linux || is_chromeos)) { +if (!is_nacl && !is_bsd && (is_linux || is_chromeos)) { # This test must compile with -fstack-protector-all source_set("stack_canary_linux_unittests") { testonly = true -@@ -3808,7 +3866,7 @@ test("base_unittests") { +@@ -3851,7 +3909,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", -@@ -3836,7 +3894,7 @@ test("base_unittests") { +@@ -3879,7 +3937,7 @@ test("base_unittests") { "posix/file_descriptor_shuffle_unittest.cc", "posix/unix_domain_socket_unittest.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ "profiler/stack_base_address_posix_unittest.cc", "profiler/stack_copier_signal_unittest.cc", -@@ -3847,7 +3905,7 @@ test("base_unittests") { +@@ -3890,7 +3948,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" ] } -@@ -4037,7 +4095,7 @@ test("base_unittests") { +@@ -4080,7 +4138,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/iridium/files/patch-base_allocator_dispatcher_tls.h b/www/iridium/files/patch-base_allocator_dispatcher_tls.h index 7be94ac7db78..f4b1bb3d43e4 100644 --- a/www/iridium/files/patch-base_allocator_dispatcher_tls.h +++ b/www/iridium/files/patch-base_allocator_dispatcher_tls.h @@ -1,11 +1,11 @@ ---- base/allocator/dispatcher/tls.h.orig 2025-02-22 18:06:53 UTC +--- base/allocator/dispatcher/tls.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/dispatcher/tls.h @@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator { constexpr static size_t AllocationChunkSize = 16384; #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) constexpr static size_t AllocationChunkSize = 16384; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) constexpr static size_t AllocationChunkSize = 16384; #else constexpr static size_t AllocationChunkSize = 4096; diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index bf1bcd159fcf..fa97d288bda7 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-03-18 16:46:04 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/partition_alloc.gni @@ -89,7 +89,7 @@ if (is_nacl) { + # 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 && (is_linux || is_android) -+ current_cpu == "arm64" && is_clang && !is_asan && !is_bsd && (is_linux || is_android) +-has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && ++has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && !is_bsd && + !is_hwasan && (is_linux || is_android) declare_args() { - # Debug configuration. -@@ -347,7 +347,7 @@ declare_args() { +@@ -348,7 +348,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() { -@@ -490,7 +490,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -491,7 +491,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn index 0b789186f2d5..a2b07a07ede7 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn +++ b/www/iridium/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-04-16 18:18:42 UTC +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn -@@ -884,7 +884,7 @@ if (is_clang_or_gcc) { +@@ -886,7 +886,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h index 92f3be5747d4..7495c5d6966a 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h @@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { #if PA_BUILDFLAG(PA_ARCH_CPU_64_BITS) - #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !PA_BUILDFLAG(IS_BSD) // We shouldn't allocate system pages at all for sanitizer builds. However, // we do, and if random hint addresses interfere with address ranges @@ -125,7 +125,7 @@ AslrMask(uintptr_t bits) { return AslrAddress(0x20000000ULL); } #elif PA_BUILDFLAG(PA_ARCH_CPU_ARM64) - #if PA_BUILDFLAG(IS_LINUX) + #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD) // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on // page size and number of levels of translation pages used. We use diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h index b77dfaa8ab15..158652b60e83 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h +++ b/www/iridium/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 2024-08-27 06:28:16 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h @@ -269,7 +269,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h index b7beb55fdb22..84334dd9e009 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h +++ b/www/iridium/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-22 18:06:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h @@ -26,8 +26,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc index db001f0e9fa3..3c07c6efa8f1 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc @@ -39,7 +39,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h index e09aac501217..e283d20917db 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h @@ -309,8 +309,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc index 405c8e06f0cf..2dcad0a4188d 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc +++ b/www/iridium/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 2024-08-27 06:28:16 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc @@ -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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc index 253b43022ad0..326a01c5f105 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc @@ -13,11 +13,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 { 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_ } #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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc index f8c8409fbf91..75a5c7d72301 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc @@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { if (getentropy(output, output_length) == 0) { 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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h index 0f8411099ec9..5e665167939c 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h @@ -37,6 +37,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h index 6cc8bc38499d..5eae6d36b896 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h @@ -10,7 +10,7 @@ namespace partition_alloc::internal::base::internal { -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // Current thread id is cached in thread local storage for performance reasons. // In some rare cases it's important to invalidate that cache explicitly (e.g. // after going through clone() syscall which does not call pthread_atfork() diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc index ee58d0297aef..73cfc961e32d 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc @@ -18,7 +18,7 @@ #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h" -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include - #include + #endif diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h index 5a9313be84ba..e38f4d95e771 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h +++ b/www/iridium/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 2024-12-22 12:24:29 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h @@ -170,7 +170,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. // @@ -233,7 +233,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h index 8624f758b4eb..2179339f424f 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h +++ b/www/iridium/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-03-18 16:46:04 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h @@ -327,7 +327,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); // 8GB for each of the glued pools). #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ - PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; @@ -444,7 +444,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h index 664af81e9b6e..afb1a5e2b155 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h +++ b/www/iridium/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 2024-02-04 14:46:08 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h @@ -28,9 +28,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 size_t kAlignment = std::max(alignof(max_align_t), static_cast(__STDCPP_DEFAULT_NEW_ALIGNMENT__)); +#endif static_assert(kAlignment <= 16, "PartitionAlloc doesn't support a fundamental alignment larger " "than 16 bytes."); diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc index 26f223b2b26c..a2ceae9a11f4 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc @@ -44,7 +44,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 @@ -297,7 +297,7 @@ void PartitionAllocMallocInitOnce() { return; } -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) // When fork() is called, only the current thread continues to execute in the // child process. If the lock is held, but *not* by this thread when fork() is // called, we have a deadlock. @@ -1117,7 +1117,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/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc index 459b486c9f85..4d805924e5c3 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc +++ b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc @@ -1,53 +1,53 @@ ---- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2024-08-27 06:28:16 UTC +--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc @@ -17,7 +17,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 @@ -106,8 +115,16 @@ void SpinningMutex::FutexWait() { // |kLockedContended| anymore. Note that even without spurious wakeups, the // value of |state_| is not guaranteed when this returns, as another thread // may get the lock before we get to run. +#if defined(OS_FREEBSD) + int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, + kLockedContended, nullptr, nullptr); +#elif defined(OS_OPENBSD) + int err = futex(reinterpret_cast(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + kLockedContended, nullptr, nullptr); +#else int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, kLockedContended, nullptr, nullptr, 0); +#endif if (err) { // These are programming error, check them. @@ -119,8 +136,16 @@ void SpinningMutex::FutexWait() { void SpinningMutex::FutexWake() { int saved_errno = errno; +#if defined(OS_FREEBSD) + long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE, + 1 /* wake up a single waiter */, nullptr, nullptr); +#elif defined(OS_OPENBSD) + long retval = futex(reinterpret_cast(&state_), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, + 1 /* wake up a single waiter */, nullptr, nullptr); +#else long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1 /* wake up a single waiter */, nullptr, nullptr, 0); +#endif PA_CHECK(retval != -1); errno = saved_errno; } diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc index 80f50f7a162b..87a385e64194 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc @@ -18,6 +18,10 @@ #include #endif +#if PA_BUILDFLAG(IS_BSD) +#include +#endif + #if PA_BUILDFLAG(PA_LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif @@ -48,6 +52,36 @@ void* GetStackTop() { void* GetStackTop() { return pthread_get_stackaddr_np(pthread_self()); +} + +#elif PA_BUILDFLAG(IS_OPENBSD) + +void* GetStackTop() { + stack_t ss; + if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; + return reinterpret_cast(ss.ss_sp); +} + +#elif PA_BUILDFLAG(IS_FREEBSD) + +void* GetStackTop() { + pthread_attr_t attr; + int error = pthread_attr_init(&attr); + if (error) { + return nullptr; + } + error = pthread_attr_get_np(pthread_self(), &attr); + if (!error) { + void* base; + size_t size; + error = pthread_attr_getstack(&attr, &base, &size); + PA_CHECK(!error); + pthread_attr_destroy(&attr); + return reinterpret_cast(base) + size; + } + pthread_attr_destroy(&attr); + return nullptr; } #elif PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA) diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc index 53345d512dbb..66ac3670bf95 100644 --- a/www/iridium/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc +++ b/www/iridium/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-08-01 05:47:53 UTC +--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2025-05-07 06:48:23 UTC +++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc @@ -16,7 +16,7 @@ #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) +#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD) #error "This pkey code is currently only supported on Linux and ChromeOS" #endif diff --git a/www/iridium/files/patch-base_atomicops.h b/www/iridium/files/patch-base_atomicops.h index fed521c9eb76..cd82ea50bdf8 100644 --- a/www/iridium/files/patch-base_atomicops.h +++ b/www/iridium/files/patch-base_atomicops.h @@ -1,14 +1,14 @@ ---- base/atomicops.h.orig 2025-02-22 18:06:53 UTC +--- base/atomicops.h.orig 2025-05-07 06:48:23 UTC +++ base/atomicops.h @@ -74,7 +74,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/iridium/files/patch-base_base__paths__posix.cc b/www/iridium/files/patch-base_base__paths__posix.cc index 613a18325529..54bfbcb65de9 100644 --- a/www/iridium/files/patch-base_base__paths__posix.cc +++ b/www/iridium/files/patch-base_base__paths__posix.cc @@ -1,108 +1,108 @@ ---- base/base_paths_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/base_paths_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/base_paths_posix.cc @@ -15,6 +15,7 @@ #include #include +#include "base/command_line.h" #include "base/environment.h" #include "base/files/file_path.h" #include "base/files/file_util.h" @@ -26,9 +27,13 @@ #include "base/process/process_metrics.h" #include "build/build_config.h" -#if BUILDFLAG(IS_FREEBSD) +#if BUILDFLAG(IS_BSD) #include #include +#if BUILDFLAG(IS_OPENBSD) +#include +#define MAXTOKENS 2 +#endif #elif BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_AIX) #include #endif @@ -47,8 +52,7 @@ bool PathProviderPosix(int key, FilePath* result) { *result = bin_dir; return true; #elif BUILDFLAG(IS_FREEBSD) - int name[] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1}; - std::optional bin_dir = StringSysctl(name, std::size(name)); + std::optional bin_dir = StringSysctl({ CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }); if (!bin_dir.has_value() || bin_dir.value().length() <= 1) { NOTREACHED() << "Unable to resolve path."; } @@ -62,14 +66,65 @@ bool PathProviderPosix(int key, FilePath* result) { *result = FilePath(bin_dir); return true; #elif BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_AIX) - // There is currently no way to get the executable path on OpenBSD - char* cpath; - if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) { - *result = FilePath(cpath); - } else { - *result = FilePath("/usr/local/chrome/chrome"); + char *cpath; +#if !BUILDFLAG(IS_AIX) + struct kinfo_file *files; + kvm_t *kd = NULL; + char errbuf[_POSIX2_LINE_MAX]; + static char retval[PATH_MAX]; + int cnt; + struct stat sb; + pid_t cpid = getpid(); + bool ret = false; + + const base::CommandLine* command_line = + base::CommandLine::ForCurrentProcess(); + + VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0]; + + if (realpath(command_line->argv()[0].c_str(), retval) == NULL) + goto out; + + if (stat(command_line->argv()[0].c_str(), &sb) < 0) + goto out; + + if (!command_line->HasSwitch("no-sandbox")) { + ret = true; + *result = FilePath(retval); + VLOG(1) << "PathProviderPosix (sandbox) result: " << retval; + goto out; } - return true; + + if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES, errbuf)) == NULL) + goto out; + + if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid, + sizeof(struct kinfo_file), &cnt)) == NULL) + goto out; + + for (int i = 0; i < cnt; i++) { + if (files[i].fd_fd == KERN_FILE_TEXT && + files[i].va_fsid == static_cast(sb.st_dev) && + files[i].va_fileid == sb.st_ino) { + ret = true; + *result = FilePath(retval); + VLOG(1) << "PathProviderPosix result: " << retval; + } + } +out: + if (kd) + kvm_close(kd); + if (!ret) { +#endif + if ((cpath = getenv("IRIDIUM_EXE_PATH")) != NULL) + *result = FilePath(cpath); + else + *result = FilePath("/usr/local/iridium/iridium"); + return true; +#if !BUILDFLAG(IS_AIX) + } + return ret; +#endif #endif } case DIR_SRC_TEST_DATA_ROOT: { diff --git a/www/iridium/files/patch-base_compiler__specific.h b/www/iridium/files/patch-base_compiler__specific.h index e74d693324fb..01bf015fe27c 100644 --- a/www/iridium/files/patch-base_compiler__specific.h +++ b/www/iridium/files/patch-base_compiler__specific.h @@ -1,10 +1,10 @@ ---- base/compiler_specific.h.orig 2025-03-18 16:46:04 UTC +--- base/compiler_specific.h.orig 2025-05-07 06:48:23 UTC +++ base/compiler_specific.h @@ -729,6 +729,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { #if __has_cpp_attribute(clang::preserve_most) && \ (defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_X86_64)) && \ !defined(COMPONENT_BUILD) && \ + !BUILDFLAG(IS_OPENBSD) && \ !(BUILDFLAG(IS_WIN) && defined(ARCH_CPU_ARM64)) #define PRESERVE_MOST [[clang::preserve_most]] #else diff --git a/www/iridium/files/patch-base_debug_debugger__posix.cc b/www/iridium/files/patch-base_debug_debugger__posix.cc index a16de598e0eb..52d9358a5923 100644 --- a/www/iridium/files/patch-base_debug_debugger__posix.cc +++ b/www/iridium/files/patch-base_debug_debugger__posix.cc @@ -1,70 +1,70 @@ ---- base/debug/debugger_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/debug/debugger_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/debug/debugger_posix.cc @@ -41,6 +41,10 @@ #include #endif +#if BUILDFLAG(IS_OPENBSD) +#include +#endif + #if BUILDFLAG(IS_FREEBSD) #include #endif @@ -99,33 +103,52 @@ bool BeingDebugged() { // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and // binary interfaces may change. +#if BUILDFLAG(IS_OPENBSD) + struct kinfo_proc *info; + size_t info_size; +#else struct kinfo_proc info; size_t info_size = sizeof(info); +#endif #if BUILDFLAG(IS_OPENBSD) if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) { return -1; } - mib[5] = (info_size / sizeof(struct kinfo_proc)); + mib[5] = static_cast((info_size / sizeof(struct kinfo_proc))); + if ((info = reinterpret_cast(malloc(info_size))) == NULL) { + is_set = true; + being_debugged = false; + return being_debugged; + } + + int sysctl_result = sysctl(mib, std::size(mib), info, &info_size, NULL, 0); #endif +#if !BUILDFLAG(IS_OPENBSD) int sysctl_result = sysctl(mib, std::size(mib), &info, &info_size, NULL, 0); +#endif DCHECK_EQ(sysctl_result, 0); if (sysctl_result != 0) { is_set = true; being_debugged = false; - return being_debugged; + goto out; } // This process is being debugged if the P_TRACED flag is set. is_set = true; #if BUILDFLAG(IS_FREEBSD) being_debugged = (info.ki_flag & P_TRACED) != 0; -#elif BUILDFLAG(IS_BSD) - being_debugged = (info.p_flag & P_TRACED) != 0; +#elif BUILDFLAG(IS_OPENBSD) + being_debugged = (info->p_psflags & PS_TRACED) != 0; #else being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; +#endif + +out: +#if BUILDFLAG(IS_OPENBSD) + free(info); #endif return being_debugged; } diff --git a/www/iridium/files/patch-base_debug_elf__reader.cc b/www/iridium/files/patch-base_debug_elf__reader.cc index 08c02b43fcd0..e812468034a1 100644 --- a/www/iridium/files/patch-base_debug_elf__reader.cc +++ b/www/iridium/files/patch-base_debug_elf__reader.cc @@ -1,13 +1,13 @@ ---- base/debug/elf_reader.cc.orig 2025-03-18 16:46:04 UTC +--- base/debug/elf_reader.cc.orig 2025-05-07 06:48:23 UTC +++ base/debug/elf_reader.cc @@ -49,6 +49,10 @@ using Xword = Elf64_Xword; constexpr char kGnuNoteName[] = "GNU"; +#ifndef NT_GNU_BUILD_ID +#define NT_GNU_BUILD_ID 3 +#endif + // Returns a pointer to the header of the ELF binary mapped into memory, or a // null pointer if the header is invalid. Here and below |elf_mapped_base| is a // pointer to the start of the ELF image. diff --git a/www/iridium/files/patch-base_debug_proc__maps__linux.cc b/www/iridium/files/patch-base_debug_proc__maps__linux.cc index e7f67490a26b..c0aeb2d7a56f 100644 --- a/www/iridium/files/patch-base_debug_proc__maps__linux.cc +++ b/www/iridium/files/patch-base_debug_proc__maps__linux.cc @@ -1,11 +1,11 @@ ---- base/debug/proc_maps_linux.cc.orig 2025-02-22 18:06:53 UTC +--- base/debug/proc_maps_linux.cc.orig 2025-05-07 06:48:23 UTC +++ base/debug/proc_maps_linux.cc @@ -22,7 +22,7 @@ #include "base/strings/string_split.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include #endif diff --git a/www/iridium/files/patch-base_debug_stack__trace.cc b/www/iridium/files/patch-base_debug_stack__trace.cc index 14c391e2ef5a..81fe117bfb42 100644 --- a/www/iridium/files/patch-base_debug_stack__trace.cc +++ b/www/iridium/files/patch-base_debug_stack__trace.cc @@ -1,39 +1,39 @@ ---- base/debug/stack_trace.cc.orig 2025-04-16 18:18:42 UTC +--- base/debug/stack_trace.cc.orig 2025-05-07 06:48:23 UTC +++ base/debug/stack_trace.cc @@ -268,7 +268,7 @@ bool StackTrace::WillSymbolizeToStreamForTesting() { // Symbols are not expected to be reliable when gn args specifies // symbol_level=0. return false; -#elif defined(__UCLIBC__) || defined(_AIX) +#elif defined(__UCLIBC__) || defined(_AIX) || BUILDFLAG(IS_BSD) // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX. // See https://crbug.com/706728 return false; @@ -321,7 +321,9 @@ void StackTrace::OutputToStreamWithPrefix(std::ostream } return; } +#if !BUILDFLAG(IS_BSD) OutputToStreamWithPrefixImpl(os, prefix_string); +#endif } std::string StackTrace::ToString() const { @@ -330,7 +332,7 @@ std::string StackTrace::ToString() const { std::string StackTrace::ToStringWithPrefix(cstring_view prefix_string) const { std::stringstream stream; -#if !defined(__UCLIBC__) && !defined(_AIX) +#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) OutputToStreamWithPrefix(&stream, prefix_string); #endif return stream.str(); @@ -354,7 +356,7 @@ bool StackTrace::ShouldSuppressOutput() { } std::ostream& operator<<(std::ostream& os, const StackTrace& s) { -#if !defined(__UCLIBC__) && !defined(_AIX) +#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) s.OutputToStream(&os); #else os << "StackTrace::OutputToStream not implemented."; diff --git a/www/iridium/files/patch-base_debug_stack__trace__posix.cc b/www/iridium/files/patch-base_debug_stack__trace__posix.cc index 753329ba4012..09c594ca30f6 100644 --- a/www/iridium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/iridium/files/patch-base_debug_stack__trace__posix.cc @@ -1,101 +1,101 @@ ---- base/debug/stack_trace_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/debug/stack_trace_posix.cc.orig 2025-05-07 06:48:23 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) { 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 "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 _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 // 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 if (errno != EPERM) { _exit(EXIT_FAILURE); } +#endif #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || // BUILDFLAG(IS_CHROMEOS) @@ -783,6 +791,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 { 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 { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. diff --git a/www/iridium/files/patch-base_files_dir__reader__linux.h b/www/iridium/files/patch-base_files_dir__reader__linux.h index 9b8914493a17..c44fbdb32aee 100644 --- a/www/iridium/files/patch-base_files_dir__reader__linux.h +++ b/www/iridium/files/patch-base_files_dir__reader__linux.h @@ -1,39 +1,39 @@ ---- base/files/dir_reader_linux.h.orig 2025-02-22 18:06:53 UTC +--- base/files/dir_reader_linux.h.orig 2025-05-07 06:48:23 UTC +++ base/files/dir_reader_linux.h @@ -21,10 +21,16 @@ #include "base/logging.h" #include "base/posix/eintr_wrapper.h" +#include "build/build_config.h" + // See the comments in dir_reader_posix.h about this. namespace base { +#if BUILDFLAG(IS_BSD) +#include +typedef struct dirent linux_dirent; +#else struct linux_dirent { uint64_t d_ino; int64_t d_off; @@ -32,6 +38,7 @@ struct linux_dirent { unsigned char d_type; char d_name[0]; }; +#endif class DirReaderLinux { public: @@ -66,7 +73,11 @@ class DirReaderLinux { return true; } +#if BUILDFLAG(IS_BSD) + const int r = getdents(fd_, reinterpret_cast(buf_), sizeof(buf_)); +#else const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); +#endif if (r == 0) { return false; } diff --git a/www/iridium/files/patch-base_files_dir__reader__posix.h b/www/iridium/files/patch-base_files_dir__reader__posix.h index ade769e0df79..098168d9ea97 100644 --- a/www/iridium/files/patch-base_files_dir__reader__posix.h +++ b/www/iridium/files/patch-base_files_dir__reader__posix.h @@ -1,20 +1,20 @@ ---- base/files/dir_reader_posix.h.orig 2022-10-05 07:34:01 UTC +--- base/files/dir_reader_posix.h.orig 2025-05-07 06:48:23 UTC +++ base/files/dir_reader_posix.h @@ -17,7 +17,7 @@ // seems worse than falling back to enumerating all file descriptors so we will // probably never implement this on the Mac. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "base/files/dir_reader_linux.h" #else #include "base/files/dir_reader_fallback.h" @@ -25,7 +25,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) typedef DirReaderLinux DirReaderPosix; #else typedef DirReaderFallback DirReaderPosix; diff --git a/www/iridium/files/patch-base_files_drive__info.h b/www/iridium/files/patch-base_files_drive__info.h index 0e6771192e8d..9fb9a5b38770 100644 --- a/www/iridium/files/patch-base_files_drive__info.h +++ b/www/iridium/files/patch-base_files_drive__info.h @@ -1,11 +1,11 @@ ---- base/files/drive_info.h.orig 2025-02-22 18:06:53 UTC +--- base/files/drive_info.h.orig 2025-05-07 06:48:23 UTC +++ base/files/drive_info.h @@ -48,7 +48,7 @@ struct BASE_EXPORT DriveInfo { std::optional has_seek_penalty; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Whether the drive is a removable drive. // // Note on macOS: that SSDs that are connected over USB that you can eject diff --git a/www/iridium/files/patch-base_files_drive__info__posix.cc b/www/iridium/files/patch-base_files_drive__info__posix.cc index 517fb426b193..78e81b080318 100644 --- a/www/iridium/files/patch-base_files_drive__info__posix.cc +++ b/www/iridium/files/patch-base_files_drive__info__posix.cc @@ -1,11 +1,11 @@ ---- base/files/drive_info_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/files/drive_info_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/drive_info_posix.cc @@ -24,7 +24,7 @@ namespace base { std::optional GetFileDriveInfo(const FilePath& file_path) { DriveInfo drive_info; -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) drive_info.has_seek_penalty = false; return drive_info; #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/iridium/files/patch-base_files_file__path__watcher.h b/www/iridium/files/patch-base_files_file__path__watcher.h index f33f15587d2d..1a196694db42 100644 --- a/www/iridium/files/patch-base_files_file__path__watcher.h +++ b/www/iridium/files/patch-base_files_file__path__watcher.h @@ -1,11 +1,11 @@ ---- base/files/file_path_watcher.h.orig 2024-06-25 12:08:48 UTC +--- base/files/file_path_watcher.h.orig 2025-05-07 06:48:23 UTC +++ base/files/file_path_watcher.h @@ -105,7 +105,7 @@ class BASE_EXPORT FilePathWatcher { Type type = Type::kNonRecursive; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // The callback will return the full path to a changed file instead of // the watched path supplied as |path| when Watch is called. // So the full path can be different from the watched path when a folder is diff --git a/www/iridium/files/patch-base_files_file__path__watcher__bsd.cc b/www/iridium/files/patch-base_files_file__path__watcher__bsd.cc index 70f8d2563573..f6a4fa92ea2a 100644 --- a/www/iridium/files/patch-base_files_file__path__watcher__bsd.cc +++ b/www/iridium/files/patch-base_files_file__path__watcher__bsd.cc @@ -1,57 +1,57 @@ ---- base/files/file_path_watcher_bsd.cc.orig 2022-12-01 10:35:46 UTC +--- base/files/file_path_watcher_bsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/file_path_watcher_bsd.cc @@ -0,0 +1,54 @@ +// Copyright 2021 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 + +#include "base/files/file_path_watcher.h" +#include "base/files/file_path_watcher_kqueue.h" +#include "base/memory/ptr_util.h" +#include "build/build_config.h" + +namespace base { + +namespace { + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { + public: + FilePathWatcherImpl() = default; + FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; + FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; + ~FilePathWatcherImpl() override = default; + + bool Watch(const FilePath& path, + Type type, + const FilePathWatcher::Callback& callback) override { + DCHECK(!impl_.get()); + if (type == Type::kRecursive) { + if (!FilePathWatcher::RecursiveWatchAvailable()) + return false; + } else { + impl_ = std::make_unique(); + } + DCHECK(impl_.get()); + return impl_->Watch(path, type, callback); + } + + void Cancel() override { + if (impl_.get()) + impl_->Cancel(); + set_cancelled(); + } + + private: + std::unique_ptr impl_; +}; + +} // namespace + +FilePathWatcher::FilePathWatcher() { + DETACH_FROM_SEQUENCE(sequence_checker_); + impl_ = std::make_unique(); +} + +} // namespace base diff --git a/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h b/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h index 78823ee0d3e0..8566580cab64 100644 --- a/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h +++ b/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h @@ -1,10 +1,10 @@ ---- base/files/file_path_watcher_kqueue.h.orig 2022-03-28 18:11:04 UTC +--- base/files/file_path_watcher_kqueue.h.orig 2025-05-07 06:48:23 UTC +++ base/files/file_path_watcher_kqueue.h @@ -5,6 +5,7 @@ #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ +#include #include #include diff --git a/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc b/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc index 6fa748ff4e0f..2d05f8e5758b 100644 --- a/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc +++ b/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc @@ -1,29 +1,29 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2024-08-01 05:47:53 UTC +--- base/files/file_path_watcher_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/file_path_watcher_unittest.cc @@ -902,7 +902,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { } delegate.RunUntilEventsMatch(event_expecter); -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) ASSERT_TRUE(WriteFile(file1, "content v2")); // Mac implementation does not detect files modified in a directory. // TODO(crbug.com/40263777): Expect that no events are fired on Mac. @@ -1848,7 +1848,7 @@ namespace { enum Permission { Read, Write, Execute }; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { struct stat stat_buf; @@ -1882,7 +1882,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi } // namespace -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) // Linux implementation of FilePathWatcher doesn't catch attribute changes. // http://crbug.com/78043 // Windows implementation of FilePathWatcher catches attribute changes that diff --git a/www/iridium/files/patch-base_files_file__util__posix.cc b/www/iridium/files/patch-base_files_file__util__posix.cc index adb24c89d670..60e03248a5c4 100644 --- a/www/iridium/files/patch-base_files_file__util__posix.cc +++ b/www/iridium/files/patch-base_files_file__util__posix.cc @@ -1,49 +1,48 @@ ---- base/files/file_util_posix.cc.orig 2025-04-16 18:18:42 UTC +--- base/files/file_util_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/file_util_posix.cc -@@ -902,6 +902,8 @@ bool CreateNewTempDirectory(const FilePath::StringType +@@ -934,6 +934,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)) { - return true; -@@ -910,8 +912,8 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -943,8 +944,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; } -@@ -921,21 +923,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -962,21 +963,14 @@ bool CreateDirectoryAndGetError(const FilePath& full_p + } + #endif // BUILDFLAG(IS_CHROMEOS) - // Iterate through the missing directories and create. - for (const FilePath& subpath : base::Reversed(missing_subpaths)) { -- if (mkdir(subpath.value().c_str(), 0700) == 0) { +- if (mkdir(subpath.value().c_str(), 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(), 0700) == -1) && ++ 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/iridium/files/patch-base_files_file__util__unittest.cc b/www/iridium/files/patch-base_files_file__util__unittest.cc index 5bd54f20b727..0da4c991499a 100644 --- a/www/iridium/files/patch-base_files_file__util__unittest.cc +++ b/www/iridium/files/patch-base_files_file__util__unittest.cc @@ -1,40 +1,40 @@ ---- base/files/file_util_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- base/files/file_util_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/file_util_unittest.cc @@ -3920,7 +3920,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 #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 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/iridium/files/patch-base_files_important__file__writer__cleaner.cc b/www/iridium/files/patch-base_files_important__file__writer__cleaner.cc index bf6c9673dd86..27752afd7a7f 100644 --- a/www/iridium/files/patch-base_files_important__file__writer__cleaner.cc +++ b/www/iridium/files/patch-base_files_important__file__writer__cleaner.cc @@ -1,12 +1,12 @@ ---- base/files/important_file_writer_cleaner.cc.orig 2022-03-28 18:11:04 UTC +--- base/files/important_file_writer_cleaner.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/important_file_writer_cleaner.cc @@ -25,7 +25,8 @@ namespace base { namespace { base::Time GetUpperBoundTime() { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +// needed because of .CreationTime() pledge +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // If process creation time is not available then use instance creation // time as the upper-bound for old files. Modification times may be // rounded-down to coarse-grained increments, e.g. FAT has 2s granularity, diff --git a/www/iridium/files/patch-base_files_scoped__file.cc b/www/iridium/files/patch-base_files_scoped__file.cc index aa12b7a60e8e..b21cd7daa04f 100644 --- a/www/iridium/files/patch-base_files_scoped__file.cc +++ b/www/iridium/files/patch-base_files_scoped__file.cc @@ -1,11 +1,11 @@ ---- base/files/scoped_file.cc.orig 2024-08-01 05:47:53 UTC +--- base/files/scoped_file.cc.orig 2025-05-07 06:48:23 UTC +++ base/files/scoped_file.cc @@ -32,7 +32,7 @@ void ScopedFDCloseTraits::Free(int fd) { int ret = IGNORE_EINTR(close(fd)); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // NB: Some file descriptors can return errors from close() e.g. network // filesystems such as NFS and Linux input devices. On Linux, macOS, and // Fuchsia's POSIX layer, errors from close other than EBADF do not indicate diff --git a/www/iridium/files/patch-base_functional_unretained__traits.h b/www/iridium/files/patch-base_functional_unretained__traits.h index f13710d13dc1..75305b3b116e 100644 --- a/www/iridium/files/patch-base_functional_unretained__traits.h +++ b/www/iridium/files/patch-base_functional_unretained__traits.h @@ -1,11 +1,11 @@ ---- base/functional/unretained_traits.h.orig 2025-02-22 18:06:53 UTC +--- base/functional/unretained_traits.h.orig 2025-05-07 06:48:23 UTC +++ base/functional/unretained_traits.h @@ -90,7 +90,7 @@ struct SupportsUnretainedImpl { // official builds, and then in non-test code as well. #if defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) || \ (!defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) && \ - (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))) + (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))) static_assert(v, "Argument requires unretained storage, but type is not " "fully defined. This prevents determining whether " diff --git a/www/iridium/files/patch-base_i18n_icu__util.cc b/www/iridium/files/patch-base_i18n_icu__util.cc index aa891a646d72..5db923b197a7 100644 --- a/www/iridium/files/patch-base_i18n_icu__util.cc +++ b/www/iridium/files/patch-base_i18n_icu__util.cc @@ -1,20 +1,20 @@ ---- base/i18n/icu_util.cc.orig 2024-06-25 12:08:48 UTC +--- base/i18n/icu_util.cc.orig 2025-05-07 06:48:23 UTC +++ base/i18n/icu_util.cc -@@ -52,7 +52,7 @@ +@@ -53,7 +53,7 @@ #include "third_party/icu/source/common/unicode/unistr.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -328,7 +328,7 @@ void InitializeIcuTimeZone() { +@@ -329,7 +329,7 @@ void InitializeIcuTimeZone() { FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); -#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/www/iridium/files/patch-base_linux__util.cc b/www/iridium/files/patch-base_linux__util.cc index 16afd4dff5bb..0bceba4c0207 100644 --- a/www/iridium/files/patch-base_linux__util.cc +++ b/www/iridium/files/patch-base_linux__util.cc @@ -1,17 +1,17 @@ ---- base/linux_util.cc.orig 2025-04-16 18:18:42 UTC +--- base/linux_util.cc.orig 2025-05-07 06:48:23 UTC +++ base/linux_util.cc @@ -163,10 +163,14 @@ void SetLinuxDistro(const std::string& distro) { } bool GetThreadsForProcess(pid_t pid, std::vector* tids) { +#if BUILDFLAG(IS_BSD) + return false; +#else // 25 > strlen("/proc//task") + strlen(base::NumberToString(INT_MAX)) + 1 = 22 char buf[25]; strings::SafeSPrintf(buf, "/proc/%d/task", pid); return GetThreadsFromProcessDir(buf, tids); +#endif } bool GetThreadsForCurrentProcess(std::vector* tids) { diff --git a/www/iridium/files/patch-base_logging__unittest.cc b/www/iridium/files/patch-base_logging__unittest.cc index 62555f77c5b3..bb7e6f40220a 100644 --- a/www/iridium/files/patch-base_logging__unittest.cc +++ b/www/iridium/files/patch-base_logging__unittest.cc @@ -1,31 +1,31 @@ ---- base/logging_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- base/logging_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/logging_unittest.cc @@ -40,7 +40,7 @@ #include "base/posix/eintr_wrapper.h" #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) #include #endif -@@ -588,14 +588,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo +@@ -586,14 +586,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo // need the arch-specific boilerplate below, which is inspired by breakpad. // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. uintptr_t crash_addr = 0; -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FREEBSD) crash_addr = reinterpret_cast(info->si_addr); #else // OS_* ucontext_t* context = reinterpret_cast(context_ptr); #if defined(ARCH_CPU_X86) crash_addr = static_cast(context->uc_mcontext.gregs[REG_EIP]); #elif defined(ARCH_CPU_X86_64) +#if BUILDFLAG(IS_OPENBSD) + crash_addr = static_cast(context->sc_rip); +#else crash_addr = static_cast(context->uc_mcontext.gregs[REG_RIP]); +#endif #elif defined(ARCH_CPU_ARMEL) crash_addr = static_cast(context->uc_mcontext.arm_pc); #elif defined(ARCH_CPU_ARM64) diff --git a/www/iridium/files/patch-base_memory_discardable__memory.cc b/www/iridium/files/patch-base_memory_discardable__memory.cc index 79900cc35c7f..8bd5eb030d3b 100644 --- a/www/iridium/files/patch-base_memory_discardable__memory.cc +++ b/www/iridium/files/patch-base_memory_discardable__memory.cc @@ -1,38 +1,38 @@ ---- base/memory/discardable_memory.cc.orig 2025-03-18 16:46:04 UTC +--- base/memory/discardable_memory.cc.orig 2025-05-07 06:48:23 UTC +++ base/memory/discardable_memory.cc @@ -26,7 +26,7 @@ BASE_FEATURE(kMadvFreeDiscardableMemory, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDiscardableMemoryBackingTrial, "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT); @@ -44,7 +44,7 @@ BASE_FEATURE_ENUM_PARAM(DiscardableMemoryTrialGroup, namespace { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DiscardableMemoryBacking GetBackingForFieldTrial() { DiscardableMemoryTrialGroup trial_group = @@ -63,7 +63,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { } // namespace -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Probe capabilities of this device to determine whether we should participate // in the discardable memory backing trial. @@ -95,7 +95,7 @@ DiscardableMemory::DiscardableMemory() = default; DiscardableMemory::~DiscardableMemory() = default; DiscardableMemoryBacking GetDiscardableMemoryBacking() { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (DiscardableMemoryBackingFieldTrialIsEnabled()) { return GetBackingForFieldTrial(); } diff --git a/www/iridium/files/patch-base_memory_discardable__memory__internal.h b/www/iridium/files/patch-base_memory_discardable__memory__internal.h index 2fd6ba8e0ec1..66215c2b36f9 100644 --- a/www/iridium/files/patch-base_memory_discardable__memory__internal.h +++ b/www/iridium/files/patch-base_memory_discardable__memory__internal.h @@ -1,11 +1,11 @@ ---- base/memory/discardable_memory_internal.h.orig 2024-11-04 08:56:03 UTC +--- base/memory/discardable_memory_internal.h.orig 2025-05-07 06:48:23 UTC +++ base/memory/discardable_memory_internal.h @@ -12,7 +12,7 @@ #include "base/metrics/field_trial_params.h" #include "build/build_config.h" -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace base { diff --git a/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc index fa2df95630a3..b6e96536f8a4 100644 --- a/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc +++ b/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -1,21 +1,21 @@ ---- base/memory/madv_free_discardable_memory_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/memory/madv_free_discardable_memory_posix.cc @@ -305,6 +305,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT bool MadvFreeDiscardableMemoryPosix::IsResident() const { DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); +// XXX mincore +#if BUILDFLAG(IS_BSD) + return false; +#else #if BUILDFLAG(IS_APPLE) std::vector vec(allocated_pages_); #else @@ -321,6 +325,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons } } return true; +#endif } bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region.h b/www/iridium/files/patch-base_memory_platform__shared__memory__region.h index db503465598b..c9799f811e15 100644 --- a/www/iridium/files/patch-base_memory_platform__shared__memory__region.h +++ b/www/iridium/files/patch-base_memory_platform__shared__memory__region.h @@ -1,29 +1,29 @@ ---- base/memory/platform_shared_memory_region.h.orig 2025-02-22 18:06:53 UTC +--- base/memory/platform_shared_memory_region.h.orig 2025-05-07 06:48:23 UTC +++ base/memory/platform_shared_memory_region.h @@ -18,7 +18,7 @@ #include "base/unguessable_token.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace content { class SandboxIPCHandler; } @@ -85,7 +85,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Structure to limit access to executable region creation. struct ExecutableRegion { private: @@ -217,7 +217,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { CheckPlatformHandlePermissionsCorrespondToMode); static PlatformSharedMemoryRegion Create(Mode mode, size_t size -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) , bool executable = false #endif diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc index 4279dfceb52b..4d223b930409 100644 --- a/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc +++ b/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc @@ -1,29 +1,29 @@ ---- base/memory/platform_shared_memory_region_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/memory/platform_shared_memory_region_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/memory/platform_shared_memory_region_posix.cc @@ -55,7 +55,7 @@ bool CheckFDAccessMode(int fd, int expected_mode) { } // namespace -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) { PlatformSharedMemoryRegion region = @@ -175,7 +175,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() { // static PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, size_t size -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) , bool executable #endif @@ -204,7 +204,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: // flag. FilePath directory; if (!GetShmemTempDir( -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) executable, #else false /* executable */, diff --git a/www/iridium/files/patch-base_memory_protected__memory.h b/www/iridium/files/patch-base_memory_protected__memory.h index 95b4fc65f22f..256bac38bfec 100644 --- a/www/iridium/files/patch-base_memory_protected__memory.h +++ b/www/iridium/files/patch-base_memory_protected__memory.h @@ -1,44 +1,44 @@ ---- base/memory/protected_memory.h.orig 2025-02-22 18:06:53 UTC +--- base/memory/protected_memory.h.orig 2025-05-07 06:48:23 UTC +++ base/memory/protected_memory.h @@ -120,12 +120,12 @@ __declspec(selectany) char __stop_protected_memory; #define DECLARE_PROTECTED_DATA constinit #define DEFINE_PROTECTED_DATA constinit __declspec(allocate("prot$mem")) -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // This value is used to align the writers variable. That variable needs to be // aligned to ensure that the protected memory section starts on a page // boundary. #if (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ - (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) + ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) // arm64 supports 4kb, 16kb, and 64kb pages. Set to the largest of 64kb as that // will guarantee the section is page aligned regardless of the choice. inline constexpr int kProtectedMemoryAlignment = 65536; @@ -340,7 +340,7 @@ class BASE_EXPORT AutoWritableMemoryBase { // where an attacker could overwrite it with a large value and invoke code // that constructs and destructs an AutoWritableMemory. After such a call // protected memory would still be set writable because writers > 0. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux, the protected memory section is not automatically page aligned. // This means that attempts to reset the protected memory region to readonly // will set some of the preceding section that is on the same page readonly @@ -354,7 +354,7 @@ class BASE_EXPORT AutoWritableMemoryBase { #endif static inline size_t writers GUARDED_BY(writers_lock()) = 0; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux, there is no guarantee the section following the protected // memory section is page aligned. This can result in attempts to change // the access permissions of the end of the protected memory section @@ -412,7 +412,7 @@ class BASE_EXPORT AutoWritableMemoryInitializer // the variable to something large before the section was read-only. WriterData::writers = 0; CHECK(SetProtectedSectionReadOnly()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Set the protected_memory_section_buffer to true to ensure the buffer // section is created. If a variable is declared but not used the memory // section won't be created. diff --git a/www/iridium/files/patch-base_memory_protected__memory__posix.cc b/www/iridium/files/patch-base_memory_protected__memory__posix.cc index 0b84b00bd48d..06ec4bf6df37 100644 --- a/www/iridium/files/patch-base_memory_protected__memory__posix.cc +++ b/www/iridium/files/patch-base_memory_protected__memory__posix.cc @@ -1,20 +1,20 @@ ---- base/memory/protected_memory_posix.cc.orig 2024-11-04 08:56:03 UTC +--- base/memory/protected_memory_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/memory/protected_memory_posix.cc @@ -6,7 +6,7 @@ #include -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include #endif // BUILDFLAG(IS_LINUX) @@ -34,7 +34,7 @@ bool SetMemory(void* start, void* end, int prot) { } // namespace namespace internal { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void CheckMemoryReadOnly(const void* ptr) { const uintptr_t page_start = bits::AlignDown(reinterpret_cast(ptr), GetPageSize()); diff --git a/www/iridium/files/patch-base_message__loop_message__pump__epoll.cc b/www/iridium/files/patch-base_message__loop_message__pump__epoll.cc index 64137cb3fe3a..9a277ceecc4c 100644 --- a/www/iridium/files/patch-base_message__loop_message__pump__epoll.cc +++ b/www/iridium/files/patch-base_message__loop_message__pump__epoll.cc @@ -1,11 +1,11 @@ ---- base/message_loop/message_pump_epoll.cc.orig 2025-03-18 16:46:04 UTC +--- base/message_loop/message_pump_epoll.cc.orig 2025-05-07 06:48:23 UTC +++ base/message_loop/message_pump_epoll.cc @@ -47,7 +47,7 @@ std::atomic_bool g_use_batched_version = false; std::atomic_bool g_use_poll = false; constexpr std::pair kEpollToPollEvents[] = { - {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLRDHUP, POLLRDHUP}, + {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLPRI, POLLPRI}, {EPOLLERR, POLLERR}, {EPOLLHUP, POLLHUP}}; void SetEventsForPoll(const uint32_t epoll_events, struct pollfd* poll_entry) { diff --git a/www/iridium/files/patch-base_message__loop_message__pump__epoll.h b/www/iridium/files/patch-base_message__loop_message__pump__epoll.h index 68a9894c7a58..982b5a9692e6 100644 --- a/www/iridium/files/patch-base_message__loop_message__pump__epoll.h +++ b/www/iridium/files/patch-base_message__loop_message__pump__epoll.h @@ -1,14 +1,14 @@ ---- base/message_loop/message_pump_epoll.h.orig 2024-11-04 08:56:03 UTC +--- base/message_loop/message_pump_epoll.h.orig 2025-05-07 06:48:23 UTC +++ base/message_loop/message_pump_epoll.h @@ -51,7 +51,11 @@ namespace base { // every call, don't do it when we have too many FDs. BASE_FEATURE(kUsePollForMessagePumpEpoll, "UsePollForMessagePumpEpoll", +#if BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT); +#else base::FEATURE_DISABLED_BY_DEFAULT); +#endif // A MessagePump implementation suitable for I/O message loops on Linux-based // systems with epoll API support. diff --git a/www/iridium/files/patch-base_message__loop_message__pump__glib.cc b/www/iridium/files/patch-base_message__loop_message__pump__glib.cc index 344654fbd205..5791e5dac7e8 100644 --- a/www/iridium/files/patch-base_message__loop_message__pump__glib.cc +++ b/www/iridium/files/patch-base_message__loop_message__pump__glib.cc @@ -1,28 +1,28 @@ ---- base/message_loop/message_pump_glib.cc.orig 2025-04-16 18:18:42 UTC +--- base/message_loop/message_pump_glib.cc.orig 2025-05-07 06:48:23 UTC +++ base/message_loop/message_pump_glib.cc @@ -8,6 +8,11 @@ #include #include +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #include "base/logging.h" #include "base/memory/raw_ptr.h" #include "base/notreached.h" @@ -52,9 +57,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti } bool RunningOnMainThread() { +#if BUILDFLAG(IS_BSD) + return pthread_main_np(); +#else auto pid = getpid(); auto tid = PlatformThread::CurrentId().raw(); return pid > 0 && tid > 0 && pid == tid; +#endif } // A brief refresher on GLib: diff --git a/www/iridium/files/patch-base_native__library__posix.cc b/www/iridium/files/patch-base_native__library__posix.cc index a87672b7d492..1dd35780c630 100644 --- a/www/iridium/files/patch-base_native__library__posix.cc +++ b/www/iridium/files/patch-base_native__library__posix.cc @@ -1,11 +1,11 @@ ---- base/native_library_posix.cc.orig 2024-08-27 06:28:16 UTC +--- base/native_library_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/native_library_posix.cc @@ -34,7 +34,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892, // and http://crbug.com/40794. int flags = RTLD_LAZY; -#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) +#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) || BUILDFLAG(IS_BSD) // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires // further investigation, as it might vary across versions. Crash here to // warn developers that they're trying to rely on uncertain behavior. diff --git a/www/iridium/files/patch-base_native__library__unittest.cc b/www/iridium/files/patch-base_native__library__unittest.cc index d06ad5f322cf..9e19b16afd0e 100644 --- a/www/iridium/files/patch-base_native__library__unittest.cc +++ b/www/iridium/files/patch-base_native__library__unittest.cc @@ -1,11 +1,11 @@ ---- base/native_library_unittest.cc.orig 2024-11-04 08:56:03 UTC +--- base/native_library_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/native_library_unittest.cc @@ -135,7 +135,7 @@ TEST(NativeLibraryTest, LoadLibrary) { // versions with respect to symbol resolution scope. // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255 #if !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \ - !defined(MEMORY_SANITIZER) + !defined(MEMORY_SANITIZER) && !BUILDFLAG(IS_BSD) // Verifies that the |prefer_own_symbols| option satisfies its guarantee that // a loaded library will always prefer local symbol resolution before diff --git a/www/iridium/files/patch-base_posix_can__lower__nice__to.cc b/www/iridium/files/patch-base_posix_can__lower__nice__to.cc index 34a4cd06e647..d3130b4f5c0c 100644 --- a/www/iridium/files/patch-base_posix_can__lower__nice__to.cc +++ b/www/iridium/files/patch-base_posix_can__lower__nice__to.cc @@ -1,16 +1,16 @@ ---- base/posix/can_lower_nice_to.cc.orig 2022-03-28 18:11:04 UTC +--- base/posix/can_lower_nice_to.cc.orig 2025-05-07 06:48:23 UTC +++ base/posix/can_lower_nice_to.cc @@ -11,8 +11,12 @@ #include "build/build_config.h" +#if BUILDFLAG(IS_FREEBSD) +#include +#endif + // Not defined on AIX by default. -#if BUILDFLAG(IS_AIX) +#if BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) #if defined(RLIMIT_NICE) #error Assumption about OS_AIX is incorrect #endif diff --git a/www/iridium/files/patch-base_posix_file__descriptor__shuffle.h b/www/iridium/files/patch-base_posix_file__descriptor__shuffle.h index 88bfe5c5da0d..1950b396906e 100644 --- a/www/iridium/files/patch-base_posix_file__descriptor__shuffle.h +++ b/www/iridium/files/patch-base_posix_file__descriptor__shuffle.h @@ -1,11 +1,11 @@ ---- base/posix/file_descriptor_shuffle.h.orig 2024-11-04 08:56:03 UTC +--- base/posix/file_descriptor_shuffle.h.orig 2025-05-07 06:48:23 UTC +++ base/posix/file_descriptor_shuffle.h @@ -26,6 +26,8 @@ #include "base/base_export.h" #include "base/compiler_specific.h" +#undef close + namespace base { // A Delegate which performs the actions required to perform an injective diff --git a/www/iridium/files/patch-base_posix_sysctl.cc b/www/iridium/files/patch-base_posix_sysctl.cc index acfa66cfdf4a..35dfb1ea0587 100644 --- a/www/iridium/files/patch-base_posix_sysctl.cc +++ b/www/iridium/files/patch-base_posix_sysctl.cc @@ -1,10 +1,10 @@ ---- base/posix/sysctl.cc.orig 2024-02-04 14:57:47 UTC +--- base/posix/sysctl.cc.orig 2025-05-07 06:48:23 UTC +++ base/posix/sysctl.cc @@ -4,6 +4,7 @@ #include "base/posix/sysctl.h" +#include #include #include diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket.cc b/www/iridium/files/patch-base_posix_unix__domain__socket.cc index 4d155e9f0729..456bfe0d6145 100644 --- a/www/iridium/files/patch-base_posix_unix__domain__socket.cc +++ b/www/iridium/files/patch-base_posix_unix__domain__socket.cc @@ -1,57 +1,57 @@ ---- base/posix/unix_domain_socket.cc.orig 2025-02-22 18:06:53 UTC +--- base/posix/unix_domain_socket.cc.orig 2025-05-07 06:48:23 UTC +++ base/posix/unix_domain_socket.cc @@ -47,7 +47,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { // static bool UnixDomainSocket::EnableReceiveProcessId(int fd) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) const int enable = 1; return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; #else @@ -73,7 +73,7 @@ bool UnixDomainSocket::SendMsg(int fd, struct cmsghdr* cmsg; msg.msg_control = control_buffer; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) msg.msg_controllen = checked_cast(control_len); #else msg.msg_controllen = control_len; @@ -81,7 +81,7 @@ bool UnixDomainSocket::SendMsg(int fd, cmsg = CMSG_FIRSTHDR(&msg); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) cmsg->cmsg_len = checked_cast(CMSG_LEN(sizeof(int) * fds.size())); #else cmsg->cmsg_len = CMSG_LEN(sizeof(int) * fds.size()); @@ -133,7 +133,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, const size_t kControlBufferSize = CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support ucred. // macOS supports xucred, but this structure is insufficient. + CMSG_SPACE(sizeof(struct ucred)) @@ -162,7 +162,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, wire_fds = reinterpret_cast(CMSG_DATA(cmsg)); wire_fds_len = payload_len / sizeof(int); } -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support SCM_CREDENTIALS. if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_CREDENTIALS) { @@ -199,6 +199,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) { pid = -1; } +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + pid = -1; #else // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we // actually received a message. Unfortunately, Linux allows sending zero diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc index f50079609b45..c49a277cd6bb 100644 --- a/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc +++ b/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -1,11 +1,11 @@ ---- base/posix/unix_domain_socket_unittest.cc.orig 2024-06-25 12:08:48 UTC +--- base/posix/unix_domain_socket_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/posix/unix_domain_socket_unittest.cc @@ -15,6 +15,8 @@ #include #include +#include + #include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/functional/bind.h" diff --git a/www/iridium/files/patch-base_process_internal__linux.h b/www/iridium/files/patch-base_process_internal__linux.h index 1e201ad8091c..e79601de3817 100644 --- a/www/iridium/files/patch-base_process_internal__linux.h +++ b/www/iridium/files/patch-base_process_internal__linux.h @@ -1,20 +1,20 @@ ---- base/process/internal_linux.h.orig 2025-04-16 18:18:42 UTC +--- base/process/internal_linux.h.orig 2025-05-07 06:48:23 UTC +++ base/process/internal_linux.h @@ -144,6 +144,9 @@ TimeDelta ClockTicksToTimeDelta(int64_t clock_ticks); // arguments to the lambda. template void ForEachProcessTask(base::ProcessHandle process, Lambda&& lambda) { +#if BUILDFLAG(IS_BSD) + return; +#else // Iterate through the different threads tracked in /proc//task. FilePath fd_path = GetProcPidDir(process).Append("task"); @@ -167,6 +170,7 @@ void ForEachProcessTask(base::ProcessHandle process, L FilePath task_path = fd_path.Append(tid_str); lambda(tid, task_path); } +#endif } } // namespace internal diff --git a/www/iridium/files/patch-base_process_kill.h b/www/iridium/files/patch-base_process_kill.h index 6df840728a0c..d29ef226221f 100644 --- a/www/iridium/files/patch-base_process_kill.h +++ b/www/iridium/files/patch-base_process_kill.h @@ -1,11 +1,11 @@ ---- base/process/kill.h.orig 2025-02-22 18:06:53 UTC +--- base/process/kill.h.orig 2025-05-07 06:48:23 UTC +++ base/process/kill.h @@ -123,7 +123,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus(ProcessHandle handle, int* exit_code); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawns a thread to wait asynchronously for the child |process| to exit // and then reaps it. BASE_EXPORT void EnsureProcessGetsReaped(Process process); diff --git a/www/iridium/files/patch-base_process_kill__posix.cc b/www/iridium/files/patch-base_process_kill__posix.cc index 4a22d02d5514..f058bbf4ee4f 100644 --- a/www/iridium/files/patch-base_process_kill__posix.cc +++ b/www/iridium/files/patch-base_process_kill__posix.cc @@ -1,11 +1,11 @@ ---- base/process/kill_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/kill_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/kill_posix.cc @@ -161,7 +161,7 @@ void EnsureProcessTerminated(Process process) { 0, new BackgroundReaper(std::move(process), Seconds(2))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void EnsureProcessGetsReaped(Process process) { DCHECK(!process.is_current()); diff --git a/www/iridium/files/patch-base_process_launch.h b/www/iridium/files/patch-base_process_launch.h index 0312577bccec..88069a682824 100644 --- a/www/iridium/files/patch-base_process_launch.h +++ b/www/iridium/files/patch-base_process_launch.h @@ -1,11 +1,11 @@ ---- base/process/launch.h.orig 2024-12-22 12:24:29 UTC +--- base/process/launch.h.orig 2025-05-07 06:48:23 UTC +++ base/process/launch.h @@ -241,7 +241,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/iridium/files/patch-base_process_launch__posix.cc b/www/iridium/files/patch-base_process_launch__posix.cc index 2c5405cabf3d..c8a3c3492fb6 100644 --- a/www/iridium/files/patch-base_process_launch__posix.cc +++ b/www/iridium/files/patch-base_process_launch__posix.cc @@ -1,12 +1,12 @@ ---- base/process/launch_posix.cc.orig 2025-04-16 18:18:42 UTC +--- base/process/launch_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/launch_posix.cc @@ -62,6 +62,9 @@ #error "macOS should use launch_mac.cc" #endif +#if defined(OS_FREEBSD) +#pragma weak environ +#endif extern char** environ; namespace base { diff --git a/www/iridium/files/patch-base_process_memory__linux.cc b/www/iridium/files/patch-base_process_memory__linux.cc index 49f360844638..440f2161e696 100644 --- a/www/iridium/files/patch-base_process_memory__linux.cc +++ b/www/iridium/files/patch-base_process_memory__linux.cc @@ -1,44 +1,44 @@ ---- base/process/memory_linux.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/memory_linux.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/memory_linux.cc @@ -28,6 +28,7 @@ void __libc_free(void*); namespace base { +#if !BUILDFLAG(IS_BSD) namespace { void ReleaseReservationOrTerminate() { @@ -38,12 +39,14 @@ void ReleaseReservationOrTerminate() { } } // namespace +#endif void EnableTerminationOnHeapCorruption() { // On Linux, there nothing to do AFAIK. } void EnableTerminationOnOutOfMemory() { +#if !BUILDFLAG(IS_BSD) // Set the new-out of memory handler. std::set_new_handler(&ReleaseReservationOrTerminate); // If we're using glibc's allocator, the above functions will override @@ -52,8 +55,10 @@ void EnableTerminationOnOutOfMemory() { #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::SetCallNewHandlerOnMallocFailure(true); #endif +#endif } +#if !BUILDFLAG(IS_BSD) // ScopedAllowBlocking() has private constructor and it can only be used in // friend classes/functions. Declaring a class is easier in this situation to // avoid adding more dependency to thread_restrictions.h because of the @@ -111,6 +116,7 @@ bool AdjustOOMScoreHelper::AdjustOOMScore(ProcessId pr bool AdjustOOMScore(ProcessId process, int score) { return AdjustOOMScoreHelper::AdjustOOMScore(process, score); } +#endif bool UncheckedMalloc(size_t size, void** result) { #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) diff --git a/www/iridium/files/patch-base_process_process__handle.cc b/www/iridium/files/patch-base_process_process__handle.cc index 545e11fc66ee..0a705004f3aa 100644 --- a/www/iridium/files/patch-base_process_process__handle.cc +++ b/www/iridium/files/patch-base_process_process__handle.cc @@ -1,11 +1,11 @@ ---- base/process/process_handle.cc.orig 2022-03-28 18:11:04 UTC +--- base/process/process_handle.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_handle.cc @@ -30,7 +30,7 @@ UniqueProcId GetUniqueIdForProcess() { : UniqueProcId(GetCurrentProcId()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) { DCHECK(pid_outside_of_namespace != kNullProcessId); diff --git a/www/iridium/files/patch-base_process_process__handle.h b/www/iridium/files/patch-base_process_process__handle.h index 12fdc4810bf3..ae50196943ec 100644 --- a/www/iridium/files/patch-base_process_process__handle.h +++ b/www/iridium/files/patch-base_process_process__handle.h @@ -1,11 +1,11 @@ ---- base/process/process_handle.h.orig 2024-06-25 12:08:48 UTC +--- base/process/process_handle.h.orig 2025-05-07 06:48:23 UTC +++ base/process/process_handle.h @@ -86,7 +86,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); // processes may be reused. BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // When a process is started in a different PID namespace from the browser // process, this function must be called with the process's PID in the browser's // PID namespace in order to initialize its unique ID. Not thread safe. diff --git a/www/iridium/files/patch-base_process_process__handle__freebsd.cc b/www/iridium/files/patch-base_process_process__handle__freebsd.cc index e36d6eb2b785..a9182153d836 100644 --- a/www/iridium/files/patch-base_process_process__handle__freebsd.cc +++ b/www/iridium/files/patch-base_process_process__handle__freebsd.cc @@ -1,25 +1,25 @@ ---- base/process/process_handle_freebsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_handle_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_handle_freebsd.cc @@ -3,6 +3,7 @@ // found in the LICENSE file. #include "base/process/process_handle.h" +#include "base/files/file_util.h" #include #include @@ -20,10 +21,13 @@ namespace base { ProcessId GetParentProcessId(ProcessHandle process) { struct kinfo_proc info; - size_t length; + size_t length = sizeof(struct kinfo_proc); int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process}; if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { + return -1; + + if (length < sizeof(struct kinfo_proc)) return -1; } diff --git a/www/iridium/files/patch-base_process_process__handle__openbsd.cc b/www/iridium/files/patch-base_process_process__handle__openbsd.cc index bf69ded34de8..0c2cc1cbfd91 100644 --- a/www/iridium/files/patch-base_process_process__handle__openbsd.cc +++ b/www/iridium/files/patch-base_process_process__handle__openbsd.cc @@ -1,138 +1,138 @@ ---- base/process/process_handle_openbsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_handle_openbsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_handle_openbsd.cc @@ -3,17 +3,25 @@ // found in the LICENSE file. #include "base/process/process_handle.h" +#include "base/files/file_util.h" #include +#include +#include +#include +#include #include #include #include +#include + namespace base { ProcessId GetParentProcessId(ProcessHandle process) { - struct kinfo_proc info; + struct kinfo_proc *info; size_t length; + pid_t ppid; int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, sizeof(struct kinfo_proc), 0}; @@ -22,37 +30,87 @@ ProcessId GetParentProcessId(ProcessHandle process) { return -1; } - mib[5] = (length / sizeof(struct kinfo_proc)); + info = (struct kinfo_proc *)malloc(length); - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) { - return -1; + mib[5] = static_cast((length / sizeof(struct kinfo_proc))); + + if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) { + ppid = -1; + goto out; } - return info.p_ppid; + ppid = info->p_ppid; + +out: + free(info); + return ppid; } FilePath GetProcessExecutablePath(ProcessHandle process) { - struct kinfo_proc kp; + struct kinfo_file *files; + kvm_t *kd = NULL; + char errbuf[_POSIX2_LINE_MAX]; + char **retvalargs, *cpath, retval[PATH_MAX]; + int cnt; size_t len; - int mib[] = { - CTL_KERN, KERN_PROC, KERN_PROC_PID, process, sizeof(struct kinfo_proc), - 0}; + char *tokens[2]; + struct stat sb; + FilePath result; - if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) == -1) { - return FilePath(); + int mib[] = { CTL_KERN, KERN_PROC_ARGS, process, KERN_PROC_ARGV }; + + if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) + result = FilePath(cpath); + else + result = FilePath("/usr/local/chrome/chrome"); + + if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) != -1) { + retvalargs = static_cast(malloc(len)); + if (!retvalargs) + return result; + + if (sysctl(mib, std::size(mib), retvalargs, &len, NULL, 0) < 0) { + free(retvalargs); + return result; + } + + if ((*tokens = strtok(retvalargs[0], ":")) == NULL) { + free(retvalargs); + return result; + } + + free(retvalargs); + + if (tokens[0] == NULL) + return result; + + if (realpath(tokens[0], retval) == NULL) + return result; + + if (stat(retval, &sb) < 0) + return result; + + if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES, + errbuf)) == NULL) + return result; + + if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process, + sizeof(struct kinfo_file), &cnt)) == NULL) { + kvm_close(kd); + return result; + } + + for (int i = 0; i < cnt; i++) { + if (files[i].fd_fd == KERN_FILE_TEXT && + files[i].va_fsid == static_cast(sb.st_dev) && + files[i].va_fileid == sb.st_ino) { + kvm_close(kd); + result = FilePath(retval); + } + } } - mib[5] = (len / sizeof(struct kinfo_proc)); - if (sysctl(mib, std::size(mib), &kp, &len, NULL, 0) < 0) { - return FilePath(); - } - if ((kp.p_flag & P_SYSTEM) != 0) { - return FilePath(); - } - if (strcmp(kp.p_comm, "chrome") == 0) { - return FilePath(kp.p_comm); - } - return FilePath(); + return result; } } // namespace base diff --git a/www/iridium/files/patch-base_process_process__iterator__freebsd.cc b/www/iridium/files/patch-base_process_process__iterator__freebsd.cc index 02fbc03ecd11..2f449412fa23 100644 --- a/www/iridium/files/patch-base_process_process__iterator__freebsd.cc +++ b/www/iridium/files/patch-base_process_process__iterator__freebsd.cc @@ -1,52 +1,52 @@ ---- base/process/process_iterator_freebsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_iterator_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_iterator_freebsd.cc @@ -18,7 +18,7 @@ namespace base { ProcessIterator::ProcessIterator(const ProcessFilter* filter) : filter_(filter) { - int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid()}; + int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid()}; bool done = false; int try_num = 1; @@ -37,7 +37,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* num_of_kinfo_proc += 16; kinfo_procs_.resize(num_of_kinfo_proc); len = num_of_kinfo_proc * sizeof(struct kinfo_proc); - if (sysctl(mib, std::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { + if (sysctl(mib, std::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { // If we get a mem error, it just means we need a bigger buffer, so // loop around again. Anything else is a real error and give up. if (errno != ENOMEM) { @@ -47,7 +47,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* } } else { // Got the list, just make sure we're sized exactly right - size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + num_of_kinfo_proc = len / sizeof(struct kinfo_proc); kinfo_procs_.resize(num_of_kinfo_proc); done = true; } @@ -68,19 +68,14 @@ bool ProcessIterator::CheckForNextProcess() { for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { size_t length; struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; - int mib[] = {CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid}; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) { continue; } - length = 0; - if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) { - LOG(ERROR) << "failed to figure out the buffer size for a command line"; - continue; - } - - data.resize(length); + data.resize(ARG_MAX); + length = ARG_MAX; if (sysctl(mib, std::size(mib), &data[0], &length, NULL, 0) < 0) { LOG(ERROR) << "failed to fetch a commandline"; diff --git a/www/iridium/files/patch-base_process_process__iterator__openbsd.cc b/www/iridium/files/patch-base_process_process__iterator__openbsd.cc index 4ef76a12970f..d712768959a9 100644 --- a/www/iridium/files/patch-base_process_process__iterator__openbsd.cc +++ b/www/iridium/files/patch-base_process_process__iterator__openbsd.cc @@ -1,46 +1,46 @@ ---- base/process/process_iterator_openbsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_iterator_openbsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_iterator_openbsd.cc @@ -6,6 +6,9 @@ #include #include +#include +#include +#include #include #include "base/logging.h" @@ -17,12 +20,13 @@ namespace base { ProcessIterator::ProcessIterator(const ProcessFilter* filter) : filter_(filter) { int mib[] = { - CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(), sizeof(struct kinfo_proc), - 0}; + CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast(getuid()), + sizeof(struct kinfo_proc), 0 }; bool done = false; int try_num = 1; const int max_tries = 10; + size_t num_of_kinfo_proc; do { size_t len = 0; @@ -31,7 +35,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* kinfo_procs_.resize(0); done = true; } else { - size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + num_of_kinfo_proc = len / sizeof(struct kinfo_proc); // Leave some spare room for process table growth (more could show up // between when we check and now) num_of_kinfo_proc += 16; @@ -47,7 +51,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* } } else { // Got the list, just make sure we're sized exactly right - size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + num_of_kinfo_proc = len / sizeof(struct kinfo_proc); kinfo_procs_.resize(num_of_kinfo_proc); done = true; } diff --git a/www/iridium/files/patch-base_process_process__metrics.cc b/www/iridium/files/patch-base_process_process__metrics.cc index abf9aa35b023..b1252d4feea2 100644 --- a/www/iridium/files/patch-base_process_process__metrics.cc +++ b/www/iridium/files/patch-base_process_process__metrics.cc @@ -1,49 +1,49 @@ ---- base/process/process_metrics.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_metrics.cc.orig 2025-05-07 06:48:23 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 #endif // !BUILDFLAG(IS_MAC) } -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) double ProcessMetrics::GetPlatformIndependentCPUUsage( TimeDelta cumulative_cpu) { TimeTicks time = TimeTicks::Now(); @@ -130,10 +129,9 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { return GetPlatformIndependentCPUUsage(cpu_usage); }); } -#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/iridium/files/patch-base_process_process__metrics.h b/www/iridium/files/patch-base_process_process__metrics.h index e7ae6eb98d60..20af8ca755f0 100644 --- a/www/iridium/files/patch-base_process_process__metrics.h +++ b/www/iridium/files/patch-base_process_process__metrics.h @@ -1,106 +1,106 @@ ---- base/process/process_metrics.h.orig 2025-02-22 18:06:53 UTC +--- base/process/process_metrics.h.orig 2025-05-07 06:48:23 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 { #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 { #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 // 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 { 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/iridium/files/patch-base_process_process__metrics__freebsd.cc b/www/iridium/files/patch-base_process_process__metrics__freebsd.cc index 9019ee249616..3728f1c06b63 100644 --- a/www/iridium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/iridium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,283 +1,283 @@ ---- base/process/process_metrics_freebsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_metrics_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_metrics_freebsd.cc @@ -3,41 +3,92 @@ // found in the LICENSE file. #include "base/process/process_metrics.h" +#include "base/notreached.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(); 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/iridium/files/patch-base_process_process__metrics__openbsd.cc b/www/iridium/files/patch-base_process_process__metrics__openbsd.cc index 91cdff0393a4..a75f43c8443e 100644 --- a/www/iridium/files/patch-base_process_process__metrics__openbsd.cc +++ b/www/iridium/files/patch-base_process_process__metrics__openbsd.cc @@ -1,241 +1,241 @@ ---- base/process/process_metrics_openbsd.cc.orig 2025-02-25 07:07:23 UTC +--- base/process/process_metrics_openbsd.cc.orig 2025-05-07 06:48:23 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/notreached.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() { 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_LOG_ONCE(); + 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/iridium/files/patch-base_process_process__metrics__posix.cc b/www/iridium/files/patch-base_process_process__metrics__posix.cc index 7f084e488eed..fb36a7372075 100644 --- a/www/iridium/files/patch-base_process_process__metrics__posix.cc +++ b/www/iridium/files/patch-base_process_process__metrics__posix.cc @@ -1,20 +1,20 @@ ---- base/process/process_metrics_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_metrics_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_metrics_posix.cc @@ -21,6 +21,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_OPENBSD) +#include #else #include #endif @@ -136,7 +138,7 @@ size_t ProcessMetrics::GetMallocUsage() { return stats.size_in_use; #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) return GetMallocUsageMallinfo(); -#elif BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. return 0; #endif diff --git a/www/iridium/files/patch-base_process_process__metrics__unittest.cc b/www/iridium/files/patch-base_process_process__metrics__unittest.cc index d85beb0615f4..03c9401132c1 100644 --- a/www/iridium/files/patch-base_process_process__metrics__unittest.cc +++ b/www/iridium/files/patch-base_process_process__metrics__unittest.cc @@ -1,12 +1,12 @@ ---- base/process/process_metrics_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- base/process/process_metrics_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_metrics_unittest.cc @@ -61,7 +61,8 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || \ + BUILDFLAG(IS_BSD) #define ENABLE_CPU_TESTS 1 #else #define ENABLE_CPU_TESTS 0 diff --git a/www/iridium/files/patch-base_process_process__posix.cc b/www/iridium/files/patch-base_process_process__posix.cc index 95e824f4ad62..30bc28db0f29 100644 --- a/www/iridium/files/patch-base_process_process__posix.cc +++ b/www/iridium/files/patch-base_process_process__posix.cc @@ -1,94 +1,94 @@ ---- base/process/process_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_posix.cc @@ -23,10 +23,15 @@ #include "base/trace_event/base_tracing.h" #include "build/build_config.h" -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include #endif +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #if BUILDFLAG(CLANG_PROFILING) #include "base/test/clang_profiling.h" #endif @@ -100,7 +105,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, } #endif -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Using kqueue on Mac so that we can wait on non-child processes. // We can't use kqueues on child processes because we need to reap // our own children using wait. @@ -379,7 +384,7 @@ bool Process::WaitForExitWithTimeoutImpl(base::Process const bool exited = (parent_pid < 0); if (!exited && parent_pid != our_pid) { -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // On Mac we can wait on non child processes. return WaitForSingleNonChildProcess(handle, timeout); #else @@ -416,7 +421,56 @@ void Process::Exited(int exit_code) const { int Process::GetOSPriority() const { DCHECK(IsValid()); +// avoid pledge(2) violation +#if BUILDFLAG(IS_BSD) + return 0; +#else return getpriority(PRIO_PROCESS, static_cast(process_)); +#endif } + +Time Process::CreationTime() const { +// avoid ps pledge in the network process +#if !BUILDFLAG(IS_BSD) + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), + sizeof(struct kinfo_proc), 0 }; + struct kinfo_proc *info = nullptr; + size_t info_size; +#endif + Time ct = Time(); + +#if !BUILDFLAG(IS_BSD) + if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) + goto out; + + mib[5] = (info_size / sizeof(struct kinfo_proc)); + if ((info = reinterpret_cast(malloc(info_size))) == NULL) + goto out; + + if (sysctl(mib, std::size(mib), info, &info_size, NULL, 0) < 0) + goto out; + + ct = Time::FromTimeT(info->p_ustart_sec); + +out: + if (info) + free(info); +#endif + return ct; +} + +#if BUILDFLAG(IS_BSD) +Process::Priority Process::GetPriority() const { + return Priority::kUserBlocking; +} + +bool Process::SetPriority(Priority priority) { + return false; +} + +bool Process::CanSetPriority() { + return false; +} +#endif } // namespace base diff --git a/www/iridium/files/patch-base_process_process__unittest.cc b/www/iridium/files/patch-base_process_process__unittest.cc index 79fa086eff61..06c38b92c821 100644 --- a/www/iridium/files/patch-base_process_process__unittest.cc +++ b/www/iridium/files/patch-base_process_process__unittest.cc @@ -1,11 +1,11 @@ ---- base/process/process_unittest.cc.orig 2025-02-22 18:06:53 UTC +--- base/process/process_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/process/process_unittest.cc @@ -202,7 +202,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { // was spawned and a time recorded after it was spawned. However, since the // base::Time and process creation clocks don't match, tolerate some error. constexpr base::TimeDelta kTolerance = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, process creation time is relative to boot time which has a // 1-second resolution. Tolerate 1 second for the imprecise boot time and // 100 ms for the imprecise clock. diff --git a/www/iridium/files/patch-base_profiler_module__cache.cc b/www/iridium/files/patch-base_profiler_module__cache.cc index a9f2a6d699fe..8a8aec62bed8 100644 --- a/www/iridium/files/patch-base_profiler_module__cache.cc +++ b/www/iridium/files/patch-base_profiler_module__cache.cc @@ -1,11 +1,11 @@ ---- base/profiler/module_cache.cc.orig 2024-06-25 12:08:48 UTC +--- base/profiler/module_cache.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/module_cache.cc @@ -38,7 +38,7 @@ std::string TransformModuleIDToSymbolServerFormat(std: // Android and Linux Chrome builds use the "breakpad" format to index their // build id, so we transform the build id for these platforms. All other // platforms keep their symbols indexed by the original build ID. -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux ELF module IDs are 160bit integers, which we need to mangle // down to 128bit integers to match the id that Breakpad outputs. // Example on version '66.0.3359.170' x64: diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc index edfd9dcb8707..8cebe859ae20 100644 --- a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc +++ b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc @@ -1,20 +1,20 @@ ---- base/profiler/sampling_profiler_thread_token.cc.orig 2025-04-16 18:18:42 UTC +--- base/profiler/sampling_profiler_thread_token.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/sampling_profiler_thread_token.cc @@ -6,7 +6,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/profiler/stack_base_address_posix.h" @@ -18,7 +18,7 @@ SamplingProfilerThreadToken GetSamplingProfilerCurrent PlatformThreadId id = PlatformThread::CurrentId(); #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) return {id, pthread_self()}; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::optional maybe_stack_base = GetThreadStackBaseAddress(id, pthread_self()); return {id, maybe_stack_base}; diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h index ae2fb16d9db7..1d0f4f7d50c0 100644 --- a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h +++ b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h @@ -1,20 +1,20 @@ ---- base/profiler/sampling_profiler_thread_token.h.orig 2025-04-16 18:18:42 UTC +--- base/profiler/sampling_profiler_thread_token.h.orig 2025-05-07 06:48:23 UTC +++ base/profiler/sampling_profiler_thread_token.h @@ -13,7 +13,7 @@ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) #include -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif @@ -27,7 +27,7 @@ struct SamplingProfilerThreadToken { PlatformThreadId id; #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) pthread_t pthread_id; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Due to the sandbox, we can only retrieve the stack base address for the // current thread. We must grab it during // GetSamplingProfilerCurrentThreadToken() and not try to get it later. diff --git a/www/iridium/files/patch-base_profiler_stack__base__address__posix.cc b/www/iridium/files/patch-base_profiler_stack__base__address__posix.cc index 67a46f746e33..cf0c2b4b7ff6 100644 --- a/www/iridium/files/patch-base_profiler_stack__base__address__posix.cc +++ b/www/iridium/files/patch-base_profiler_stack__base__address__posix.cc @@ -1,59 +1,59 @@ ---- base/profiler/stack_base_address_posix.cc.orig 2025-04-16 18:18:42 UTC +--- base/profiler/stack_base_address_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/stack_base_address_posix.cc -@@ -17,6 +17,10 @@ +@@ -18,6 +18,10 @@ #include "base/files/scoped_file.h" #endif +#if BUILDFLAG(IS_BSD) +#include +#endif + #if BUILDFLAG(IS_CHROMEOS) extern "C" void* __libc_stack_end; #endif -@@ -47,7 +51,21 @@ std::optional GetAndroidMainThreadStackBase +@@ -49,7 +53,21 @@ std::optional GetAndroidMainThreadStackBase #if !BUILDFLAG(IS_LINUX) uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthread_id) { +#if BUILDFLAG(IS_OPENBSD) + stack_t ss; + void *address; + size_t size; + if (pthread_stackseg_np(pthread_id, &ss) != 0) + return 0; + size = ss.ss_size; + address = (void*)((size_t) ss.ss_sp - ss.ss_size); +#else pthread_attr_t attr; +#if BUILDFLAG(IS_FREEBSD) + int result; + pthread_attr_init(&attr); + pthread_attr_get_np(pthread_id, &attr); +#else // pthread_getattr_np will crash on ChromeOS & Linux if we are in the sandbox // and pthread_id refers to a different thread, due to the use of // sched_getaffinity(). -@@ -60,12 +78,14 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr +@@ -62,12 +80,14 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr << logging::SystemErrorCodeToString(result); // See crbug.com/617730 for limitations of this approach on Linux-like // systems. +#endif void* address; size_t size; result = pthread_attr_getstack(&attr, &address, &size); CHECK_EQ(result, 0) << "pthread_attr_getstack returned " << logging::SystemErrorCodeToString(result); pthread_attr_destroy(&attr); +#endif const uintptr_t base_address = reinterpret_cast(address) + size; return base_address; } -@@ -82,7 +102,7 @@ std::optional GetThreadStackBaseAddress(Pla +@@ -84,7 +104,7 @@ std::optional GetThreadStackBaseAddress(Pla // trying to work around the problem. return std::nullopt; #else - const bool is_main_thread = id.raw() == GetCurrentProcId(); + const bool is_main_thread = id.raw() == (checked_cast(GetCurrentProcId())); if (is_main_thread) { #if BUILDFLAG(IS_ANDROID) // The implementation of pthread_getattr_np() in Bionic reads proc/self/maps diff --git a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc index 48285261a028..73c54c22d667 100644 --- a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc +++ b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc @@ -1,11 +1,11 @@ ---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2025-03-18 16:46:04 UTC +--- base/profiler/stack_sampling_profiler_test_util.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/stack_sampling_profiler_test_util.cc @@ -50,7 +50,7 @@ // Fortunately, it provides _alloca, which functions identically. #include #define alloca _alloca -#else +#elif !BUILDFLAG(IS_BSD) #include #endif diff --git a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc index e650dbc59e68..513ce798ff0f 100644 --- a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc +++ b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc @@ -1,11 +1,11 @@ ---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/stack_sampling_profiler_unittest.cc @@ -47,7 +47,7 @@ #include #include -#else +#elif !BUILDFLAG(IS_BSD) #include #endif diff --git a/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc b/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc index 87d301f685ee..278cd56a43ab 100644 --- a/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc +++ b/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc @@ -1,20 +1,20 @@ ---- base/profiler/thread_delegate_posix.cc.orig 2025-04-16 18:18:42 UTC +--- base/profiler/thread_delegate_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/profiler/thread_delegate_posix.cc @@ -15,7 +15,7 @@ #include "base/process/process_handle.h" #include "build/build_config.h" -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) #include "base/profiler/stack_base_address_posix.h" #endif @@ -24,7 +24,7 @@ namespace base { std::unique_ptr ThreadDelegatePosix::Create( SamplingProfilerThreadToken thread_token) { std::optional base_address; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base_address = thread_token.stack_base_address; #else base_address = diff --git a/www/iridium/files/patch-base_rand__util.h b/www/iridium/files/patch-base_rand__util.h index 25c260641b9e..14a7b6f9ef8e 100644 --- a/www/iridium/files/patch-base_rand__util.h +++ b/www/iridium/files/patch-base_rand__util.h @@ -1,11 +1,11 @@ ---- base/rand_util.h.orig 2025-03-18 16:46:04 UTC +--- base/rand_util.h.orig 2025-05-07 06:48:23 UTC +++ base/rand_util.h -@@ -209,7 +209,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/iridium/files/patch-base_rand__util__posix.cc b/www/iridium/files/patch-base_rand__util__posix.cc index 6ded913ac652..751d23d50a91 100644 --- a/www/iridium/files/patch-base_rand__util__posix.cc +++ b/www/iridium/files/patch-base_rand__util__posix.cc @@ -1,62 +1,62 @@ ---- base/rand_util_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/rand_util_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/rand_util_posix.cc -@@ -28,7 +28,7 @@ +@@ -29,7 +29,7 @@ #include "base/time/time.h" #include "build/build_config.h" -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. -@@ -44,6 +44,7 @@ namespace base { +@@ -45,6 +45,7 @@ namespace base { namespace { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_AIX) // AIX has no 64-bit support for O_CLOEXEC. static constexpr int kOpenFlags = O_RDONLY; -@@ -68,10 +69,11 @@ class URandomFd { +@@ -69,10 +70,11 @@ class URandomFd { private: const int fd_; }; +#endif #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_ANDROID)) && \ - !BUILDFLAG(IS_NACL) + !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - // TODO(pasko): Unify reading kernel version numbers in: - // mojo/core/channel_linux.cc - // chrome/browser/android/seccomp_support_detector.cc -@@ -156,6 +158,7 @@ bool UseBoringSSLForRandBytes() { + + bool KernelSupportsGetRandom() { + return base::SysInfo::KernelVersionNumber::Current() >= +@@ -129,6 +131,7 @@ bool UseBoringSSLForRandBytes() { namespace { void RandBytesInternal(span output, bool avoid_allocation) { +#if !BUILDFLAG(IS_BSD) #if !BUILDFLAG(IS_NACL) // The BoringSSL experiment takes priority over everything else. if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { -@@ -190,6 +193,9 @@ void RandBytesInternal(span output, bool avoi +@@ -163,6 +166,9 @@ void RandBytesInternal(span output, bool avoi const int urandom_fd = GetUrandomFD(); const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); CHECK(success); +#else + arc4random_buf(output.data(), output.size()); +#endif } } // namespace -@@ -209,9 +215,11 @@ void RandBytes(span output) { +@@ -182,9 +188,11 @@ void RandBytes(span output) { RandBytesInternal(output, /*avoid_allocation=*/false); } +#if !BUILDFLAG(IS_BSD) int GetUrandomFD() { static NoDestructor urandom_fd; return urandom_fd->fd(); } +#endif } // namespace base diff --git a/www/iridium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/iridium/files/patch-base_strings_safe__sprintf__unittest.cc index 9de61db8d46b..d8351281edf1 100644 --- a/www/iridium/files/patch-base_strings_safe__sprintf__unittest.cc +++ b/www/iridium/files/patch-base_strings_safe__sprintf__unittest.cc @@ -1,18 +1,18 @@ ---- base/strings/safe_sprintf_unittest.cc.orig 2025-03-18 16:46:04 UTC +--- base/strings/safe_sprintf_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/strings/safe_sprintf_unittest.cc @@ -743,6 +743,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { #endif } +#if !BUILDFLAG(IS_BSD) TEST(SafeSPrintfTest, EmitNULL) { char buf[40]; #if defined(__GNUC__) @@ -759,6 +760,7 @@ TEST(SafeSPrintfTest, EmitNULL) { #pragma GCC diagnostic pop #endif } +#endif TEST(SafeSPrintfTest, PointerSize) { // The internal data representation is a 64bit value, independent of the diff --git a/www/iridium/files/patch-base_synchronization_cancelable__event.h b/www/iridium/files/patch-base_synchronization_cancelable__event.h index 35874fbb7549..971181734231 100644 --- a/www/iridium/files/patch-base_synchronization_cancelable__event.h +++ b/www/iridium/files/patch-base_synchronization_cancelable__event.h @@ -1,20 +1,20 @@ ---- base/synchronization/cancelable_event.h.orig 2025-02-22 18:06:53 UTC +--- base/synchronization/cancelable_event.h.orig 2025-05-07 06:48:23 UTC +++ base/synchronization/cancelable_event.h @@ -11,7 +11,7 @@ #if BUILDFLAG(IS_WIN) #include -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #else #include "base/synchronization/waitable_event.h" @@ -49,7 +49,7 @@ class BASE_EXPORT CancelableEvent { #if BUILDFLAG(IS_WIN) using NativeHandle = HANDLE; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) using NativeHandle = sem_t; #else using NativeHandle = WaitableEvent; diff --git a/www/iridium/files/patch-base_synchronization_lock__impl.h b/www/iridium/files/patch-base_synchronization_lock__impl.h index 10dd083aa6ba..dec4ea589880 100644 --- a/www/iridium/files/patch-base_synchronization_lock__impl.h +++ b/www/iridium/files/patch-base_synchronization_lock__impl.h @@ -1,23 +1,23 @@ ---- base/synchronization/lock_impl.h.orig 2024-08-27 06:28:16 UTC +--- base/synchronization/lock_impl.h.orig 2025-05-07 06:48:23 UTC +++ base/synchronization/lock_impl.h -@@ -109,6 +109,10 @@ void LockImpl::Unlock() { +@@ -110,6 +110,10 @@ void LockImpl::Unlock() { } #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FREEBSD) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wthread-safety-analysis" +#endif #if DCHECK_IS_ON() BASE_EXPORT void dcheck_trylock_result(int rv); -@@ -129,6 +133,9 @@ void LockImpl::Unlock() { +@@ -130,6 +134,9 @@ void LockImpl::Unlock() { dcheck_unlock_result(rv); #endif } +#if BUILDFLAG(IS_FREEBSD) +#pragma GCC diagnostic pop +#endif #endif // This is an implementation used for AutoLock templated on the lock type. diff --git a/www/iridium/files/patch-base_syslog__logging.cc b/www/iridium/files/patch-base_syslog__logging.cc index 7b5f1320860f..60b7d88e7c86 100644 --- a/www/iridium/files/patch-base_syslog__logging.cc +++ b/www/iridium/files/patch-base_syslog__logging.cc @@ -1,20 +1,20 @@ ---- base/syslog_logging.cc.orig 2025-02-22 18:06:53 UTC +--- base/syslog_logging.cc.orig 2025-05-07 06:48:23 UTC +++ base/syslog_logging.cc @@ -17,7 +17,7 @@ #include "base/strings/string_util.h" #include "base/win/scoped_handle.h" #include "base/win/win_util.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // defines LOG_INFO, LOG_WARNING macros that could conflict with // base::LOG_INFO, base::LOG_WARNING. #include @@ -151,7 +151,7 @@ EventLogMessage::~EventLogMessage() { if (user_sid != nullptr) { ::LocalFree(user_sid); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kEventSource[] = "chrome"; openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER); // We can't use the defined names for the logging severity from syslog.h diff --git a/www/iridium/files/patch-base_system_sys__info.cc b/www/iridium/files/patch-base_system_sys__info.cc index e79454ecd3e7..428cca8a8e62 100644 --- a/www/iridium/files/patch-base_system_sys__info.cc +++ b/www/iridium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2025-03-18 16:46:04 UTC +--- base/system/sys_info.cc.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info.cc @@ -224,7 +224,7 @@ std::string SysInfo::SocManufacturer() { #endif void SysInfo::GetHardwareInfo(base::OnceCallback callback) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr base::TaskTraits kTraits = {base::MayBlock()}; #else constexpr base::TaskTraits kTraits = {}; diff --git a/www/iridium/files/patch-base_system_sys__info.h b/www/iridium/files/patch-base_system_sys__info.h index 6778c9e5c175..01e59a4edf86 100644 --- a/www/iridium/files/patch-base_system_sys__info.h +++ b/www/iridium/files/patch-base_system_sys__info.h @@ -1,20 +1,20 @@ ---- base/system/sys_info.h.orig 2025-03-18 16:46:04 UTC +--- base/system/sys_info.h.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info.h -@@ -332,6 +332,8 @@ class BASE_EXPORT SysInfo { +@@ -355,6 +355,8 @@ class BASE_EXPORT SysInfo { static void ResetCpuSecurityMitigationsEnabledForTesting(); #endif + static uint64_t MaxSharedMemorySize(); + private: friend class test::ScopedAmountOfPhysicalMemoryOverride; FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); -@@ -344,7 +346,7 @@ class BASE_EXPORT SysInfo { +@@ -367,7 +369,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) static uint64_t AmountOfAvailablePhysicalMemory( const SystemMemoryInfoKB& meminfo); #endif diff --git a/www/iridium/files/patch-base_system_sys__info__freebsd.cc b/www/iridium/files/patch-base_system_sys__info__freebsd.cc index 8ce477422e93..c5aec5efde0d 100644 --- a/www/iridium/files/patch-base_system_sys__info__freebsd.cc +++ b/www/iridium/files/patch-base_system_sys__info__freebsd.cc @@ -1,112 +1,112 @@ ---- base/system/sys_info_freebsd.cc.orig 2024-11-04 08:56:03 UTC +--- base/system/sys_info_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info_freebsd.cc @@ -9,28 +9,103 @@ #include #include "base/notreached.h" +#include "base/process/process_metrics.h" +#include "base/strings/string_util.h" namespace base { -int64_t SysInfo::AmountOfPhysicalMemoryImpl() { - int pages, page_size; +int SysInfo::NumberOfProcessors() { + int mib[] = {CTL_HW, HW_NCPU}; + int ncpu; + size_t size = sizeof(ncpu); + if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { + NOTREACHED(); + return 1; + } + return ncpu; +} + +uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { + int pages, page_size, r = 0; size_t size = sizeof(pages); - sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); - sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); - if (pages == -1 || page_size == -1) { + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + + if (r == -1) { NOTREACHED(); } - return static_cast(pages) * page_size; + + return static_cast(pages) * page_size; } +uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + int page_size, r = 0; + unsigned int pgfree, pginact, pgcache; + size_t size = sizeof(page_size); + size_t szpg = sizeof(pgfree); + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); + + if (r == -1) { + NOTREACHED(); + return 0; + } + + return static_cast((pgfree + pginact + pgcache) * page_size); +} + // static +uint64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) { + uint64_t res_kb = info.available != 0 + ? info.available - info.active_file + : info.free + info.reclaimable + info.inactive_file; + return res_kb * 1024; +} + +// static +std::string SysInfo::CPUModelName() { + int mib[] = { CTL_HW, HW_MODEL }; + char name[256]; + size_t size = std::size(name); + + if (sysctl(mib, std::size(mib), &name, &size, NULL, 0) == 0) { + return name; + } + + return std::string(); +} + +// static uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); + if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { NOTREACHED(); } return static_cast(limit); +} + +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + + info.manufacturer = "FreeBSD"; + info.model = HardwareModelName(); + + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + + return info; } } // namespace base diff --git a/www/iridium/files/patch-base_system_sys__info__openbsd.cc b/www/iridium/files/patch-base_system_sys__info__openbsd.cc index 2d64568fbc18..68c46e199e39 100644 --- a/www/iridium/files/patch-base_system_sys__info__openbsd.cc +++ b/www/iridium/files/patch-base_system_sys__info__openbsd.cc @@ -1,85 +1,85 @@ ---- base/system/sys_info_openbsd.cc.orig 2025-02-22 18:06:53 UTC +--- base/system/sys_info_openbsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info_openbsd.cc @@ -12,6 +12,7 @@ #include "base/notreached.h" #include "base/posix/sysctl.h" +#include "base/strings/string_util.h" namespace { @@ -28,9 +29,14 @@ uint64_t AmountOfMemory(int pages_name) { namespace base { +// pledge(2) +uint64_t aofpmem = 0; +uint64_t shmmax = 0; +char cpumodel[256]; + // static int SysInfo::NumberOfProcessors() { - int mib[] = {CTL_HW, HW_NCPU}; + int mib[] = {CTL_HW, HW_NCPUONLINE}; int ncpu; size_t size = sizeof(ncpu); if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { @@ -41,10 +47,26 @@ int SysInfo::NumberOfProcessors() { // static uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { - return AmountOfMemory(_SC_PHYS_PAGES); + // pledge(2) + if (!aofpmem) + aofpmem = AmountOfMemory(_SC_PHYS_PAGES); + return aofpmem; } // static +std::string SysInfo::CPUModelName() { + int mib[] = {CTL_HW, HW_MODEL}; + size_t len = std::size(cpumodel); + + if (cpumodel[0] == '\0') { + if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0) + return std::string(); + } + + return std::string(cpumodel, len - 1); +} + +// static uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { // We should add inactive file-backed memory also but there is no such // information from OpenBSD unfortunately. @@ -56,15 +78,27 @@ uint64_t SysInfo::MaxSharedMemorySize() { int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX}; size_t limit; size_t size = sizeof(limit); + // pledge(2) + if (shmmax) + goto out; if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { NOTREACHED(); } - return static_cast(limit); + shmmax = static_cast(limit); +out: + return shmmax; } // static -std::string SysInfo::CPUModelName() { - return StringSysctl({CTL_HW, HW_MODEL}).value(); +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + // Set the manufacturer to "OpenBSD" and the model to + // an empty string. + info.manufacturer = "OpenBSD"; + info.model = HardwareModelName(); + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + return info; } } // namespace base diff --git a/www/iridium/files/patch-base_system_sys__info__posix.cc b/www/iridium/files/patch-base_system_sys__info__posix.cc index 2f83be1da31b..12884cf495f8 100644 --- a/www/iridium/files/patch-base_system_sys__info__posix.cc +++ b/www/iridium/files/patch-base_system_sys__info__posix.cc @@ -1,29 +1,29 @@ ---- base/system/sys_info_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/system/sys_info_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info_posix.cc -@@ -124,7 +124,7 @@ bool GetDiskSpaceInfo(const base::FilePath& path, +@@ -143,7 +143,7 @@ void GetKernelVersionNumbers(int32_t* major_version, namespace base { -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) // static int SysInfo::NumberOfProcessors() { #if BUILDFLAG(IS_MAC) -@@ -180,7 +180,7 @@ int SysInfo::NumberOfProcessors() { +@@ -199,7 +199,7 @@ int SysInfo::NumberOfProcessors() { return cached_num_cpus; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static uint64_t SysInfo::AmountOfVirtualMemory() { -@@ -268,6 +268,8 @@ std::string SysInfo::OperatingSystemArchitecture() { +@@ -285,6 +285,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/iridium/files/patch-base_system_sys__info__unittest.cc b/www/iridium/files/patch-base_system_sys__info__unittest.cc index 442878c36f08..49073e5ece38 100644 --- a/www/iridium/files/patch-base_system_sys__info__unittest.cc +++ b/www/iridium/files/patch-base_system_sys__info__unittest.cc @@ -1,20 +1,20 @@ ---- base/system/sys_info_unittest.cc.orig 2024-08-27 06:28:16 UTC +--- base/system/sys_info_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/system/sys_info_unittest.cc @@ -265,12 +265,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { EXPECT_TRUE(IsStringUTF8(hardware_info->model)); bool empty_result_expected = #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) false; #else true; #endif EXPECT_EQ(hardware_info->manufacturer.empty(), empty_result_expected); +#if BUILDFLAG(IS_BSD) + empty_result_expected = true; +#endif EXPECT_EQ(hardware_info->model.empty(), empty_result_expected); } diff --git a/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc index 77093e601a3a..090206ee768c 100644 --- a/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc +++ b/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc @@ -1,20 +1,20 @@ ---- base/task/thread_pool/environment_config_unittest.cc.orig 2025-03-18 16:46:04 UTC +--- base/task/thread_pool/environment_config_unittest.cc.orig 2025-05-07 06:48:23 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_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ +@@ -21,7 +21,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio + base::FeatureList::IsEnabled( + FeatureControllingBackgroundPriorityWorkerThreads())); + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) EXPECT_FALSE(CanUseBackgroundThreadTypeForWorkerThread()); #else #error Platform doesn't match any block -@@ -23,7 +23,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio +@@ -30,7 +30,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) EXPECT_FALSE(CanUseUtilityThreadTypeForWorkerThread()); #else #error Platform doesn't match any block diff --git a/www/iridium/files/patch-base_test_launcher_test__launcher.cc b/www/iridium/files/patch-base_test_launcher_test__launcher.cc index 8cca6b0af9cf..4b0d06341321 100644 --- a/www/iridium/files/patch-base_test_launcher_test__launcher.cc +++ b/www/iridium/files/patch-base_test_launcher_test__launcher.cc @@ -1,10 +1,10 @@ ---- base/test/launcher/test_launcher.cc.orig 2025-04-16 18:18:42 UTC +--- base/test/launcher/test_launcher.cc.orig 2025-05-07 06:48:23 UTC +++ base/test/launcher/test_launcher.cc @@ -73,6 +73,7 @@ #include "testing/gtest/include/gtest/gtest.h" #if BUILDFLAG(IS_POSIX) +#include #include #include "base/files/file_descriptor_watcher_posix.h" diff --git a/www/iridium/files/patch-base_test_test__file__util__linux.cc b/www/iridium/files/patch-base_test_test__file__util__linux.cc index 6c2e8b21eee1..7578427b61ce 100644 --- a/www/iridium/files/patch-base_test_test__file__util__linux.cc +++ b/www/iridium/files/patch-base_test_test__file__util__linux.cc @@ -1,14 +1,14 @@ ---- base/test/test_file_util_linux.cc.orig 2025-02-22 18:06:53 UTC +--- base/test/test_file_util_linux.cc.orig 2025-05-07 06:48:23 UTC +++ base/test/test_file_util_linux.cc @@ -56,9 +56,11 @@ bool EvictFileFromSystemCache(const FilePath& file) { if (fdatasync(fd.get()) != 0) { return false; } +#if !BUILDFLAG(IS_BSD) if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) { return false; } +#endif return true; } diff --git a/www/iridium/files/patch-base_test_test__file__util__posix.cc b/www/iridium/files/patch-base_test_test__file__util__posix.cc index 442bc8867f06..2da5edae5208 100644 --- a/www/iridium/files/patch-base_test_test__file__util__posix.cc +++ b/www/iridium/files/patch-base_test_test__file__util__posix.cc @@ -1,11 +1,11 @@ ---- base/test/test_file_util_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/test/test_file_util_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/test/test_file_util_posix.cc @@ -93,7 +93,7 @@ void SyncPageCacheToDisk() { } #if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ - !BUILDFLAG(IS_ANDROID) + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) bool EvictFileFromSystemCache(const FilePath& file) { // There doesn't seem to be a POSIX way to cool the disk cache. NOTIMPLEMENTED(); diff --git a/www/iridium/files/patch-base_threading_platform__thread.h b/www/iridium/files/patch-base_threading_platform__thread.h index 856a927ba1b4..44533c630484 100644 --- a/www/iridium/files/patch-base_threading_platform__thread.h +++ b/www/iridium/files/patch-base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- base/threading/platform_thread.h.orig 2025-04-16 18:18:42 UTC +--- base/threading/platform_thread.h.orig 2025-05-07 06:48:23 UTC +++ base/threading/platform_thread.h @@ -55,6 +55,8 @@ class BASE_EXPORT PlatformThreadId { using UnderlyingType = zx_koid_t; #elif BUILDFLAG(IS_APPLE) using UnderlyingType = uint64_t; +#elif BUILDFLAG(IS_BSD) + using UnderlyingType = uint64_t; #elif BUILDFLAG(IS_POSIX) using UnderlyingType = pid_t; #endif diff --git a/www/iridium/files/patch-base_threading_platform__thread__bsd.cc b/www/iridium/files/patch-base_threading_platform__thread__bsd.cc index 9b36b8224c21..53ef24406fb8 100644 --- a/www/iridium/files/patch-base_threading_platform__thread__bsd.cc +++ b/www/iridium/files/patch-base_threading_platform__thread__bsd.cc @@ -1,34 +1,34 @@ ---- base/threading/platform_thread_bsd.cc.orig 2024-06-25 12:08:48 UTC +--- base/threading/platform_thread_bsd.cc.orig 2025-05-07 06:48:23 UTC +++ base/threading/platform_thread_bsd.cc @@ -0,0 +1,31 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Description: These are stubs for *BSD. + +#include "base/threading/platform_thread.h" + +namespace base { +namespace internal { + +bool CanSetThreadTypeToRealtimeAudio() { + return false; +} + +bool SetCurrentThreadTypeForPlatform(ThreadType thread_type, + MessagePumpType pump_type_hint) { + return false; +} + +std::optional +GetCurrentThreadPriorityForPlatformForTest() { + return std::nullopt; +} +} // namespace internal + +// static +void PlatformThreadBase::SetName(const std::string& name) { + SetNameCommon(name); +} + +} // namespace base diff --git a/www/iridium/files/patch-base_threading_platform__thread__internal__posix.cc b/www/iridium/files/patch-base_threading_platform__thread__internal__posix.cc index 1cb19b5fd1be..7cb4661d38ce 100644 --- a/www/iridium/files/patch-base_threading_platform__thread__internal__posix.cc +++ b/www/iridium/files/patch-base_threading_platform__thread__internal__posix.cc @@ -1,11 +1,11 @@ ---- base/threading/platform_thread_internal_posix.cc.orig 2025-03-18 16:46:04 UTC +--- base/threading/platform_thread_internal_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/threading/platform_thread_internal_posix.cc @@ -41,7 +41,7 @@ ThreadPriorityForTest NiceValueToThreadPriorityForTest } int GetCurrentThreadNiceValue() { -#if BUILDFLAG(IS_NACL) +#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) NOTIMPLEMENTED(); return 0; #else diff --git a/www/iridium/files/patch-base_threading_platform__thread__posix.cc b/www/iridium/files/patch-base_threading_platform__thread__posix.cc index 8b0b24e9ce28..7c007bde459d 100644 --- a/www/iridium/files/patch-base_threading_platform__thread__posix.cc +++ b/www/iridium/files/patch-base_threading_platform__thread__posix.cc @@ -1,53 +1,53 @@ ---- base/threading/platform_thread_posix.cc.orig 2025-04-16 18:18:42 UTC +--- base/threading/platform_thread_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/threading/platform_thread_posix.cc @@ -79,11 +79,11 @@ 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) partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated(); #endif -#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 // static bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) { -#if BUILDFLAG(IS_NACL) +#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) return false; #else if (from >= to) { @@ -386,6 +388,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, MessagePumpType pump_type_hint) { #if BUILDFLAG(IS_NACL) NOTIMPLEMENTED(); +// avoid pledge(2) violation +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); #else if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) { return; @@ -409,7 +414,7 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, // static ThreadPriorityForTest PlatformThreadBase::GetCurrentThreadPriorityForTest() { -#if BUILDFLAG(IS_NACL) +#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) NOTIMPLEMENTED(); return ThreadPriorityForTest::kNormal; #else diff --git a/www/iridium/files/patch-base_threading_platform__thread__unittest.cc b/www/iridium/files/patch-base_threading_platform__thread__unittest.cc index 9fbf62c249cc..b39d4bdcf12e 100644 --- a/www/iridium/files/patch-base_threading_platform__thread__unittest.cc +++ b/www/iridium/files/patch-base_threading_platform__thread__unittest.cc @@ -1,47 +1,47 @@ ---- base/threading/platform_thread_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- base/threading/platform_thread_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ base/threading/platform_thread_unittest.cc @@ -36,7 +36,7 @@ #include "base/time/time.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include #include @@ -370,7 +370,7 @@ TEST(PlatformThreadTest, // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this // proprerty changes for a given platform. TEST(PlatformThreadTest, CanChangeThreadType) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be // able to increase priority to any level unless we are root (euid == 0). bool kCanIncreasePriority = false; @@ -435,7 +435,7 @@ TEST(PlatformThreadTest, SetCurrentThreadTypeTest) { #if BUILDFLAG(IS_APPLE) TestPriorityResultingFromThreadType(ThreadType::kResourceEfficient, ThreadPriorityForTest::kUtility); -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) TestPriorityResultingFromThreadType( ThreadType::kResourceEfficient, ThreadPriorityForTest::kResourceEfficient); @@ -624,12 +624,16 @@ INSTANTIATE_TEST_SUITE_P( #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace { bool IsTidCacheCorrect() { +#if BUILDFLAG(IS_BSD) + return PlatformThread::CurrentId().raw() == reinterpret_cast(pthread_self()); +#else return PlatformThread::CurrentId().raw() == syscall(__NR_gettid); +#endif } void* CheckTidCacheCorrectWrapper(void*) { diff --git a/www/iridium/files/patch-base_time_time__now__posix.cc b/www/iridium/files/patch-base_time_time__now__posix.cc index 709627a104d7..daba43db0556 100644 --- a/www/iridium/files/patch-base_time_time__now__posix.cc +++ b/www/iridium/files/patch-base_time_time__now__posix.cc @@ -1,11 +1,11 @@ ---- base/time/time_now_posix.cc.orig 2025-02-22 18:06:53 UTC +--- base/time/time_now_posix.cc.orig 2025-05-07 06:48:23 UTC +++ base/time/time_now_posix.cc @@ -27,7 +27,7 @@ #endif // 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/iridium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc index 8346d18186b5..893fdc9644ad 100644 --- a/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc +++ b/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -1,30 +1,30 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2025-03-18 16:46:04 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2025-05-07 06:48:23 UTC +++ base/trace_event/malloc_dump_provider.cc @@ -31,6 +31,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif @@ -180,7 +182,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ - !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, @@ -370,6 +372,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif BUILDFLAG(IS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, &allocated_objects_size, &allocated_objects_count); diff --git a/www/iridium/files/patch-base_trace__event_memory__dump__manager.cc b/www/iridium/files/patch-base_trace__event_memory__dump__manager.cc index 7b603c930012..498e2fb03261 100644 --- a/www/iridium/files/patch-base_trace__event_memory__dump__manager.cc +++ b/www/iridium/files/patch-base_trace__event_memory__dump__manager.cc @@ -1,11 +1,11 @@ ---- base/trace_event/memory_dump_manager.cc.orig 2025-03-18 16:46:04 UTC +--- base/trace_event/memory_dump_manager.cc.orig 2025-05-07 06:48:23 UTC +++ base/trace_event/memory_dump_manager.cc @@ -78,7 +78,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) MallocDumpProvider::kAllocatedObjects; #else - nullptr; + ""; #endif // static diff --git a/www/iridium/files/patch-base_trace__event_process__memory__dump.cc b/www/iridium/files/patch-base_trace__event_process__memory__dump.cc index 3d4b4b332d0b..d8dc414d2232 100644 --- a/www/iridium/files/patch-base_trace__event_process__memory__dump.cc +++ b/www/iridium/files/patch-base_trace__event_process__memory__dump.cc @@ -1,20 +1,20 @@ ---- base/trace_event/process_memory_dump.cc.orig 2025-03-18 16:46:04 UTC +--- base/trace_event/process_memory_dump.cc.orig 2025-05-07 06:48:23 UTC +++ base/trace_event/process_memory_dump.cc @@ -119,7 +119,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 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/iridium/files/patch-base_tracing_trace__time.cc b/www/iridium/files/patch-base_tracing_trace__time.cc index c7c41312eb48..98aed3b1c5bd 100644 --- a/www/iridium/files/patch-base_tracing_trace__time.cc +++ b/www/iridium/files/patch-base_tracing_trace__time.cc @@ -1,20 +1,20 @@ ---- base/tracing/trace_time.cc.orig 2025-03-18 16:46:04 UTC +--- base/tracing/trace_time.cc.orig 2025-05-07 06:48:23 UTC +++ base/tracing/trace_time.cc @@ -8,12 +8,16 @@ #include "build/build_config.h" #include "third_party/perfetto/include/perfetto/base/time.h" +#if BUILDFLAG(IS_FREEBSD) +#define CLOCK_BOOTTIME CLOCK_UPTIME +#endif + namespace base::tracing { int64_t TraceBootTicksNow() { // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already. #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) struct timespec ts; int res = clock_gettime(CLOCK_BOOTTIME, &ts); if (res != -1) { diff --git a/www/iridium/files/patch-base_tracing_trace__time.h b/www/iridium/files/patch-base_tracing_trace__time.h index 4dbd97537772..fb2445ec11ee 100644 --- a/www/iridium/files/patch-base_tracing_trace__time.h +++ b/www/iridium/files/patch-base_tracing_trace__time.h @@ -1,11 +1,11 @@ ---- base/tracing/trace_time.h.orig 2022-03-28 18:11:04 UTC +--- base/tracing/trace_time.h.orig 2025-05-07 06:48:23 UTC +++ base/tracing/trace_time.h @@ -12,7 +12,7 @@ namespace base { namespace tracing { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 // about efforts to unify base::TimeTicks across all platforms. constexpr perfetto::protos::pbzero::BuiltinClock kTraceClockId = diff --git a/www/iridium/files/patch-build_config_BUILD.gn b/www/iridium/files/patch-build_config_BUILD.gn index 78bd3c99109d..80076f741f05 100644 --- a/www/iridium/files/patch-build_config_BUILD.gn +++ b/www/iridium/files/patch-build_config_BUILD.gn @@ -1,13 +1,13 @@ ---- build/config/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- build/config/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/config/BUILD.gn @@ -215,6 +215,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/iridium/files/patch-build_config_BUILDCONFIG.gn b/www/iridium/files/patch-build_config_BUILDCONFIG.gn index 655297e96d0a..2941b0421d93 100644 --- a/www/iridium/files/patch-build_config_BUILDCONFIG.gn +++ b/www/iridium/files/patch-build_config_BUILDCONFIG.gn @@ -1,45 +1,45 @@ ---- build/config/BUILDCONFIG.gn.orig 2025-02-22 18:06:53 UTC +--- build/config/BUILDCONFIG.gn.orig 2025-05-07 06:48:23 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" && -@@ -234,6 +235,10 @@ if (host_toolchain == "") { +@@ -235,6 +236,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") } -@@ -278,6 +283,8 @@ if (target_os == "android") { +@@ -279,6 +284,8 @@ if (target_os == "android") { _default_toolchain = "//build/toolchain/aix:$target_cpu" } else if (target_os == "zos") { _default_toolchain = "//build/toolchain/zos:$target_cpu" +} else if (target_os == "openbsd" || target_os == "freebsd") { + _default_toolchain = host_toolchain } else { assert(false, "Unsupported target_os: $target_os") } -@@ -312,7 +319,11 @@ is_android = current_os == "android" +@@ -313,7 +320,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_watchos = current_os == "watchos" + is_wasm = current_os == "emscripten" diff --git a/www/iridium/files/patch-build_config_clang_BUILD.gn b/www/iridium/files/patch-build_config_clang_BUILD.gn index 2cb8c0bcbda0..9d9ec1d3c295 100644 --- a/www/iridium/files/patch-build_config_clang_BUILD.gn +++ b/www/iridium/files/patch-build_config_clang_BUILD.gn @@ -1,16 +1,16 @@ ---- build/config/clang/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- build/config/clang/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/config/clang/BUILD.gn -@@ -251,7 +251,12 @@ template("clang_lib") { +@@ -252,7 +252,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_environment == "simulator") { + if (target_platform == "iphoneos") { diff --git a/www/iridium/files/patch-build_config_compiler_BUILD.gn b/www/iridium/files/patch-build_config_compiler_BUILD.gn index b07cbc4dc8e4..faa794dcc771 100644 --- a/www/iridium/files/patch-build_config_compiler_BUILD.gn +++ b/www/iridium/files/patch-build_config_compiler_BUILD.gn @@ -1,137 +1,131 @@ ---- build/config/compiler/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- build/config/compiler/BUILD.gn.orig 2025-05-07 13:10:49 UTC +++ build/config/compiler/BUILD.gn -@@ -198,7 +198,7 @@ declare_args() { +@@ -197,7 +197,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 } declare_args() { -@@ -255,13 +255,16 @@ config("default_include_dirs") { +@@ -254,13 +254,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 --------------------------------------------------------------------- -@@ -519,6 +522,10 @@ config("compiler") { +@@ -508,6 +511,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_icf && (!is_apple || use_lld)) { -@@ -578,7 +585,7 @@ config("compiler") { +@@ -567,7 +574,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl) { + if (is_clang && !is_nacl && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1223,7 +1230,7 @@ config("compiler_cpu_abi") { +@@ -1212,7 +1219,7 @@ config("compiler_cpu_abi") { ] } } 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) { cflags += [ "--target=arm-linux-gnueabihf" ] ldflags += [ "--target=arm-linux-gnueabihf" ] } -@@ -1238,7 +1245,7 @@ config("compiler_cpu_abi") { +@@ -1227,7 +1234,7 @@ config("compiler_cpu_abi") { } } else if (current_cpu == "arm64") { if (is_clang && !is_android && !is_nacl && !is_fuchsia && - !is_chromeos_device) { + !is_chromeos_device && !is_bsd) { cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } -@@ -1572,7 +1579,7 @@ config("compiler_deterministic") { +@@ -1561,7 +1568,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", -@@ -1630,7 +1637,7 @@ config("compiler_deterministic") { +@@ -1619,7 +1626,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") { update_args = [ "--print-revision", -@@ -1960,23 +1967,12 @@ config("default_warnings") { - ] - } +@@ -1652,7 +1659,7 @@ config("clang_revision") { + # e.g. by setting in the the project's .gn file. + config("clang_warning_suppression") { + # Some build configs use older versions of clang that don't support WSMs +- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" && ++ if (!is_bsd && !is_nacl && default_toolchain != "//build/toolchain/cros:target" && + !llvm_android_mainline && is_clang && + clang_warning_suppression_file != "") { + from_build_root = +@@ -1985,9 +1992,6 @@ config("default_warnings") { -- cflags += [ -- # TODO(crbug.com/330524456): -Wcast-function-type is under -Wextra now. -- "-Wno-cast-function-type", -- -- # 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", -- ] -- - cflags_cc += [ - # TODO(crbug.com/328490295): Fix and re-enable for C flags. - "-Wenum-compare-conditional", ] -- if (!is_nacl) { -+ if (!is_nacl && !is_bsd) { - cflags_cc += [ - # TODO(crbug.com/41486292): Fix and re-enable. - "-Wno-c++11-narrowing-const-reference", -@@ -2742,7 +2738,7 @@ config("afdo_optimize_size") { + cflags_cc += [ +@@ -2776,7 +2780,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. -@@ -2769,7 +2765,7 @@ config("afdo") { +@@ -2803,7 +2807,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 ] } -@@ -2946,7 +2942,7 @@ config("symbols") { +@@ -2980,7 +2984,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/iridium/files/patch-build_config_gcc_BUILD.gn b/www/iridium/files/patch-build_config_gcc_BUILD.gn index cc3ee115dbee..471d98f1baa7 100644 --- a/www/iridium/files/patch-build_config_gcc_BUILD.gn +++ b/www/iridium/files/patch-build_config_gcc_BUILD.gn @@ -1,13 +1,13 @@ ---- build/config/gcc/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- build/config/gcc/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/config/gcc/BUILD.gn @@ -32,7 +32,9 @@ declare_args() { # See http://gcc.gnu.org/wiki/Visibility config("symbol_visibility_hidden") { cflags = [ "-fvisibility=hidden" ] - rustflags = [ "-Zdefault-visibility=hidden" ] + if (!is_bsd) { + rustflags = [ "-Zdefault-visibility=hidden" ] + } # Visibility attribute is not supported on AIX. if (current_os != "aix") { diff --git a/www/iridium/files/patch-build_config_linux_BUILD.gn b/www/iridium/files/patch-build_config_linux_BUILD.gn index 57a77d064bb5..d1959de18d5f 100644 --- a/www/iridium/files/patch-build_config_linux_BUILD.gn +++ b/www/iridium/files/patch-build_config_linux_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/BUILD.gn.orig 2022-10-05 07:34:01 UTC +--- build/config/linux/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/config/linux/BUILD.gn @@ -41,7 +41,7 @@ config("runtime_library") { } if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && - (!use_custom_libcxx || current_cpu == "mipsel")) { + (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { libs = [ "atomic" ] } } diff --git a/www/iridium/files/patch-build_config_linux_libdrm_BUILD.gn b/www/iridium/files/patch-build_config_linux_libdrm_BUILD.gn index 279961b01ffb..68f16e0c5e88 100644 --- a/www/iridium/files/patch-build_config_linux_libdrm_BUILD.gn +++ b/www/iridium/files/patch-build_config_linux_libdrm_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/libdrm/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- build/config/linux/libdrm/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/config/linux/libdrm/BUILD.gn @@ -15,7 +15,7 @@ declare_args() { } if (use_system_libdrm) { - assert(!is_linux, "System libdrm is not supported in linux") +# assert(!is_linux, "System libdrm is not supported in linux") pkg_config("libdrm_config") { packages = [ "libdrm" ] } diff --git a/www/iridium/files/patch-build_config_linux_pkg-config.py b/www/iridium/files/patch-build_config_linux_pkg-config.py index f3b1f8d5a5a1..010ae190db8f 100644 --- a/www/iridium/files/patch-build_config_linux_pkg-config.py +++ b/www/iridium/files/patch-build_config_linux_pkg-config.py @@ -1,11 +1,11 @@ ---- build/config/linux/pkg-config.py.orig 2023-03-13 07:33:08 UTC +--- build/config/linux/pkg-config.py.orig 2025-05-07 06:48:23 UTC +++ build/config/linux/pkg-config.py @@ -108,7 +108,7 @@ def main(): # If this is run on non-Linux platforms, just return nothing and indicate # success. This allows us to "kind of emulate" a Linux build from other # platforms. - if "linux" not in sys.platform: + if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])): print("[[],[],[],[],[]]") return 0 diff --git a/www/iridium/files/patch-build_config_ozone.gni b/www/iridium/files/patch-build_config_ozone.gni index 8b71da74b934..7ee2990192c0 100644 --- a/www/iridium/files/patch-build_config_ozone.gni +++ b/www/iridium/files/patch-build_config_ozone.gni @@ -1,19 +1,19 @@ ---- build/config/ozone.gni.orig 2025-04-16 18:18:42 UTC +--- build/config/ozone.gni.orig 2025-05-07 06:48:23 UTC +++ build/config/ozone.gni -@@ -81,7 +81,15 @@ declare_args() { +@@ -80,7 +80,15 @@ declare_args() { ozone_platform = "x11" ozone_platform_drm = true ozone_platform_x11 = true - } else if (is_linux) { + } else if (is_linux && !is_bsd) { + ozone_platform = "x11" + ozone_platform_wayland = true + ozone_platform_x11 = true + } else if (is_openbsd) { + ozone_platform = "x11" + ozone_platform_wayland = false + ozone_platform_x11 = true + } else if (is_freebsd) { ozone_platform = "x11" ozone_platform_wayland = true ozone_platform_x11 = true diff --git a/www/iridium/files/patch-build_config_rust.gni b/www/iridium/files/patch-build_config_rust.gni index 00a7a6f73648..9bb3bfd26cff 100644 --- a/www/iridium/files/patch-build_config_rust.gni +++ b/www/iridium/files/patch-build_config_rust.gni @@ -1,13 +1,13 @@ ---- build/config/rust.gni.orig 2025-02-22 18:06:53 UTC +--- build/config/rust.gni.orig 2025-05-07 06:48:23 UTC +++ build/config/rust.gni -@@ -297,6 +297,10 @@ if (is_linux || is_chromeos) { +@@ -346,6 +346,10 @@ if (is_linux || is_chromeos) { } } +if (is_bsd) { + rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os) +} + assert(!toolchain_has_rust || rust_abi_target != "") # This variable is passed to the Rust libstd build. diff --git a/www/iridium/files/patch-build_config_v8__target__cpu.gni b/www/iridium/files/patch-build_config_v8__target__cpu.gni index 1457fb459a58..cff5ee41e3d4 100644 --- a/www/iridium/files/patch-build_config_v8__target__cpu.gni +++ b/www/iridium/files/patch-build_config_v8__target__cpu.gni @@ -1,13 +1,13 @@ ---- build/config/v8_target_cpu.gni.orig 2022-03-28 18:11:04 UTC +--- build/config/v8_target_cpu.gni.orig 2025-05-07 06:48:23 UTC +++ build/config/v8_target_cpu.gni @@ -36,6 +36,10 @@ declare_args() { if (v8_target_cpu == "") { if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") { v8_target_cpu = "arm64" + } else if (current_toolchain == "//build/toolchain/openbsd:clang_arm64") { + v8_target_cpu = "arm64" + } else if (current_toolchain == "//build/toolchain/freebsd:clang_arm64") { + v8_target_cpu = "arm64" } else if (current_toolchain == "//build/toolchain/linux:clang_x86_v8_arm") { v8_target_cpu = "arm" } else if (current_toolchain == diff --git a/www/iridium/files/patch-build_detect__host__arch.py b/www/iridium/files/patch-build_detect__host__arch.py index 2c92005c703a..9e64aa01f511 100644 --- a/www/iridium/files/patch-build_detect__host__arch.py +++ b/www/iridium/files/patch-build_detect__host__arch.py @@ -1,11 +1,11 @@ ---- build/detect_host_arch.py.orig 2023-03-13 07:33:08 UTC +--- build/detect_host_arch.py.orig 2025-05-07 06:48:23 UTC +++ build/detect_host_arch.py @@ -20,6 +20,8 @@ def HostArch(): host_arch = 'ia32' elif host_arch in ['x86_64', 'amd64']: host_arch = 'x64' + elif host_arch.startswith('arm64'): + host_arch = 'arm64' elif host_arch.startswith('arm'): host_arch = 'arm' elif host_arch.startswith('aarch64'): diff --git a/www/iridium/files/patch-build_gn__run__binary.py b/www/iridium/files/patch-build_gn__run__binary.py index c719f3fb1931..fe2df98b2740 100644 --- a/www/iridium/files/patch-build_gn__run__binary.py +++ b/www/iridium/files/patch-build_gn__run__binary.py @@ -1,11 +1,11 @@ ---- build/gn_run_binary.py.orig 2023-03-13 07:33:08 UTC +--- build/gn_run_binary.py.orig 2025-05-07 06:48:23 UTC +++ build/gn_run_binary.py @@ -23,7 +23,7 @@ if not os.path.isabs(path): # The rest of the arguments are passed directly to the executable. args = [path] + sys.argv[2:] -ret = subprocess.call(args) +ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}) if ret != 0: if ret <= -100: # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/www/iridium/files/patch-build_linux_chrome.map b/www/iridium/files/patch-build_linux_chrome.map index ecb097ced958..ed040f84b25b 100644 --- a/www/iridium/files/patch-build_linux_chrome.map +++ b/www/iridium/files/patch-build_linux_chrome.map @@ -1,13 +1,13 @@ ---- build/linux/chrome.map.orig 2022-03-28 18:11:04 UTC +--- build/linux/chrome.map.orig 2025-05-07 06:48:23 UTC +++ build/linux/chrome.map @@ -20,6 +20,10 @@ global: # Program entry point. _start; + # FreeBSD specific variables. + __progname; + environ; + # Memory allocation symbols. We want chrome and any libraries to # share the same heap, so it is correct to export these symbols. aligned_alloc; diff --git a/www/iridium/files/patch-build_linux_strip__binary.py b/www/iridium/files/patch-build_linux_strip__binary.py index df1ce60c6878..957874034316 100644 --- a/www/iridium/files/patch-build_linux_strip__binary.py +++ b/www/iridium/files/patch-build_linux_strip__binary.py @@ -1,10 +1,10 @@ ---- build/linux/strip_binary.py.orig 2022-03-28 18:11:04 UTC +--- build/linux/strip_binary.py.orig 2025-05-07 06:48:23 UTC +++ build/linux/strip_binary.py @@ -10,6 +10,7 @@ import sys def main(): + return 0 argparser = argparse.ArgumentParser(description='eu-strip binary.') argparser.add_argument('--eu-strip-binary-path', help='eu-strip path.') diff --git a/www/iridium/files/patch-build_linux_unbundle_icu.gn b/www/iridium/files/patch-build_linux_unbundle_icu.gn index 0685cacfb689..5f7a5139bd98 100644 --- a/www/iridium/files/patch-build_linux_unbundle_icu.gn +++ b/www/iridium/files/patch-build_linux_unbundle_icu.gn @@ -1,43 +1,43 @@ ---- build/linux/unbundle/icu.gn.orig 2025-02-22 18:06:53 UTC +--- build/linux/unbundle/icu.gn.orig 2025-05-07 06:48:23 UTC +++ build/linux/unbundle/icu.gn @@ -17,6 +17,15 @@ config("icu_config") { "USING_SYSTEM_ICU=1", "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", + # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used + # instead of defines. These definitions can be removed when the bundled icu + # gets updated to 73. For more details, see: + # https://unicode-org.atlassian.net/browse/ICU-21833 and + # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33 + "U_FINAL=final", + "U_NOEXCEPT=noexcept", + "U_OVERRIDE=override", + # U_EXPORT (defined in unicode/platform.h) is used to set public visibility # on classes through the U_COMMON_API and U_I18N_API macros (among others). # When linking against the system ICU library, we want its symbols to have @@ -34,6 +43,9 @@ config("icu_config") { # to define U_IMPORT to have the same value as U_EXPORT. For more details, # please see: https://crbug.com/822820 "U_IMPORT=U_EXPORT", + + # Unbreak with icu 76 where private symbols are picked up + "U_HIDE_DRAFT_API", ] } @@ -46,6 +58,14 @@ pkg_config("system_icuuc") { } source_set("icui18n") { + deps = [ ":icui18n_shim" ] + public_configs = [ + ":icu_config", + ":system_icui18n", + ] +} + +source_set("icui18n_hidden_visibility") { deps = [ ":icui18n_shim" ] public_configs = [ ":icu_config", diff --git a/www/iridium/files/patch-build_linux_unbundle_libusb.gn b/www/iridium/files/patch-build_linux_unbundle_libusb.gn index 5170ad293de8..5ac1d7e88e78 100644 --- a/www/iridium/files/patch-build_linux_unbundle_libusb.gn +++ b/www/iridium/files/patch-build_linux_unbundle_libusb.gn @@ -1,30 +1,30 @@ ---- build/linux/unbundle/libusb.gn.orig 2024-02-04 14:46:08 UTC +--- build/linux/unbundle/libusb.gn.orig 2025-05-07 06:48:23 UTC +++ build/linux/unbundle/libusb.gn @@ -1,3 +1,27 @@ +# Copyright 2016 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. + +import("//build/config/linux/pkg_config.gni") +import("//build/shim_headers.gni") + +pkg_config("system_libusb") { + packages = [ "libusb-1.0" ] +} + +shim_headers("libusb_shim") { + root_path = "src/libusb" + headers = [ + "libusb.h", + ] +} + +source_set("libusb") { + deps = [ + ":libusb_shim", + ] + public_configs = [ ":system_libusb" ] +} import("//build/config/linux/pkg_config.gni") import("//build/shim_headers.gni") diff --git a/www/iridium/files/patch-build_nocompile.gni b/www/iridium/files/patch-build_nocompile.gni index b9b57ea8d5d1..a3d74a4d12e0 100644 --- a/www/iridium/files/patch-build_nocompile.gni +++ b/www/iridium/files/patch-build_nocompile.gni @@ -1,11 +1,11 @@ ---- build/nocompile.gni.orig 2025-02-22 18:06:53 UTC +--- build/nocompile.gni.orig 2025-05-07 06:48:23 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/iridium/files/patch-build_rust_rust__bindgen.gni b/www/iridium/files/patch-build_rust_rust__bindgen.gni index fdf61649b007..8c777f4b406d 100644 --- a/www/iridium/files/patch-build_rust_rust__bindgen.gni +++ b/www/iridium/files/patch-build_rust_rust__bindgen.gni @@ -1,19 +1,19 @@ ---- build/rust/rust_bindgen.gni.orig 2025-02-22 18:06:53 UTC +--- build/rust/rust_bindgen.gni.orig 2025-05-07 06:48:23 UTC +++ build/rust/rust_bindgen.gni @@ -12,14 +12,14 @@ if (is_win) { import("//build/toolchain/win/win_toolchain_data.gni") } -_bindgen_path = "${rust_bindgen_root}/bin/bindgen" +_bindgen_path = "${LOCALBASE}/bin/bindgen" if (host_os == "win") { _bindgen_path = "${_bindgen_path}.exe" } # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in # ../lib. -_libclang_path = rust_bindgen_root +_libclang_path = "${LOCALBASE}/llvm${MODCLANG_VERSION}" if (host_os == "win") { _libclang_path += "/bin" } else { diff --git a/www/iridium/files/patch-build_rust_rust__bindgen__generator.gni b/www/iridium/files/patch-build_rust_rust__bindgen__generator.gni index 6d51fdfd00cc..14b2304a9a25 100644 --- a/www/iridium/files/patch-build_rust_rust__bindgen__generator.gni +++ b/www/iridium/files/patch-build_rust_rust__bindgen__generator.gni @@ -1,19 +1,19 @@ ---- build/rust/rust_bindgen_generator.gni.orig 2025-02-22 18:06:53 UTC +--- build/rust/rust_bindgen_generator.gni.orig 2025-05-07 06:48:23 UTC +++ build/rust/rust_bindgen_generator.gni @@ -11,14 +11,14 @@ if (is_win) { import("//build/toolchain/win/win_toolchain_data.gni") } -_bindgen_path = "${rust_bindgen_root}/bin/bindgen" +_bindgen_path = "${LOCALBASE}/bin/bindgen" if (host_os == "win") { _bindgen_path = "${_bindgen_path}.exe" } # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in # ../lib. -_libclang_path = rust_bindgen_root +_libclang_path = "${LOCALBASE}/llvm${MODCLANG_VERSION}" if (host_os == "win") { _libclang_path += "/bin" } else { diff --git a/www/iridium/files/patch-build_rust_std_BUILD.gn b/www/iridium/files/patch-build_rust_std_BUILD.gn index 0a5335d58d48..d0b722a2cab3 100644 --- a/www/iridium/files/patch-build_rust_std_BUILD.gn +++ b/www/iridium/files/patch-build_rust_std_BUILD.gn @@ -1,32 +1,32 @@ ---- build/rust/std/BUILD.gn.orig 2025-04-05 13:54:50 UTC +--- build/rust/std/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/rust/std/BUILD.gn @@ -89,13 +89,20 @@ if (toolchain_has_rust) { # These are no longer present in the Windows toolchain. stdlib_files += [ "addr2line", - "adler2", "gimli", "libc", "memchr", "miniz_oxide", "object", ] + + rust_revision_pieces = string_split(rustc_revision, " ") + rust_version_pieces = string_split(rust_revision_pieces[1], ".") + if (rust_version_pieces[1] == "85") { + stdlib_files += [ "adler" ] + } else { + stdlib_files += [ "adler2" ] + } } if (toolchain_for_rust_host_build_tools) { @@ -115,7 +122,6 @@ if (toolchain_has_rust) { # don't need to pass to the C++ linker because they're used for specialized # purposes. skip_stdlib_files = [ - "profiler_builtins", "rustc_std_workspace_alloc", "rustc_std_workspace_core", "rustc_std_workspace_std", diff --git a/www/iridium/files/patch-build_toolchain_freebsd_BUILD.gn b/www/iridium/files/patch-build_toolchain_freebsd_BUILD.gn index 74e2284abeed..7412250e64d1 100644 --- a/www/iridium/files/patch-build_toolchain_freebsd_BUILD.gn +++ b/www/iridium/files/patch-build_toolchain_freebsd_BUILD.gn @@ -1,69 +1,69 @@ ---- build/toolchain/freebsd/BUILD.gn.orig 2022-03-28 18:11:04 UTC +--- build/toolchain/freebsd/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/toolchain/freebsd/BUILD.gn @@ -0,0 +1,66 @@ +# 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. + +import("//build/config/sysroot.gni") +import("//build/toolchain/gcc_toolchain.gni") + +clang_toolchain("clang_x86") { + toolchain_args = { + current_cpu = "x86" + current_os = "freebsd" + } +} + +gcc_toolchain("x86") { + cc = "gcc" + cxx = "g++" + + readelf = "readelf" + nm = "nm" + ar = "ar" + ld = cxx + + toolchain_args = { + current_cpu = "x86" + current_os = "freebsd" + is_clang = false + } +} + +clang_toolchain("clang_x64") { + toolchain_args = { + current_cpu = "x64" + current_os = "freebsd" + } +} + +gcc_toolchain("x64") { + cc = "gcc" + cxx = "g++" + + readelf = "readelf" + nm = "nm" + ar = "ar" + ld = cxx + + toolchain_args = { + current_cpu = "x64" + current_os = "freebsd" + is_clang = false + } +} + +clang_toolchain("clang_arm") { + toolchain_args = { + current_cpu = "arm64" + current_os = "freebsd" + } +} + +clang_toolchain("clang_arm64") { + toolchain_args = { + current_cpu = "arm64" + current_os = "freebsd" + } +} diff --git a/www/iridium/files/patch-build_toolchain_gcc__solink__wrapper.py b/www/iridium/files/patch-build_toolchain_gcc__solink__wrapper.py index e59066c37424..ae0a5da428be 100644 --- a/www/iridium/files/patch-build_toolchain_gcc__solink__wrapper.py +++ b/www/iridium/files/patch-build_toolchain_gcc__solink__wrapper.py @@ -1,11 +1,11 @@ ---- build/toolchain/gcc_solink_wrapper.py.orig 2022-03-28 18:11:04 UTC +--- build/toolchain/gcc_solink_wrapper.py.orig 2025-05-07 06:48:23 UTC +++ build/toolchain/gcc_solink_wrapper.py @@ -39,7 +39,7 @@ def CollectDynSym(args): """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" toc = '' nm = subprocess.Popen(wrapper_utils.CommandToRun( - [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), + [args.nm, '-g', '-D', '-p', args.sofile]), stdout=subprocess.PIPE, bufsize=-1, universal_newlines=True) diff --git a/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni b/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni index ccbd45581d2c..39c56c05ab7b 100644 --- a/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,44 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2025-04-16 18:18:42 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2025-05-07 06:48:23 UTC +++ build/toolchain/gcc_toolchain.gni @@ -56,6 +56,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") { # 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/iridium/files/patch-build_toolchain_openbsd_BUILD.gn b/www/iridium/files/patch-build_toolchain_openbsd_BUILD.gn index 60694db854e9..c330d865aed3 100644 --- a/www/iridium/files/patch-build_toolchain_openbsd_BUILD.gn +++ b/www/iridium/files/patch-build_toolchain_openbsd_BUILD.gn @@ -1,69 +1,69 @@ ---- build/toolchain/openbsd/BUILD.gn.orig 2022-03-28 18:11:04 UTC +--- build/toolchain/openbsd/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ build/toolchain/openbsd/BUILD.gn @@ -0,0 +1,66 @@ +# 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. + +import("//build/config/sysroot.gni") +import("//build/toolchain/gcc_toolchain.gni") + +clang_toolchain("clang_x86") { + toolchain_args = { + current_cpu = "x86" + current_os = "openbsd" + } +} + +gcc_toolchain("x86") { + cc = "gcc" + cxx = "g++" + + readelf = "readelf" + nm = "nm" + ar = "ar" + ld = cxx + + toolchain_args = { + current_cpu = "x86" + current_os = "openbsd" + is_clang = false + } +} + +clang_toolchain("clang_x64") { + toolchain_args = { + current_cpu = "x64" + current_os = "openbsd" + } +} + +gcc_toolchain("x64") { + cc = "gcc" + cxx = "g++" + + readelf = "readelf" + nm = "nm" + ar = "ar" + ld = cxx + + toolchain_args = { + current_cpu = "x64" + current_os = "openbsd" + is_clang = false + } +} + +clang_toolchain("clang_arm") { + toolchain_args = { + current_cpu = "arm64" + current_os = "openbsd" + } +} + +clang_toolchain("clang_arm64") { + toolchain_args = { + current_cpu = "arm64" + current_os = "openbsd" + } +} diff --git a/www/iridium/files/patch-build_toolchain_toolchain.gni b/www/iridium/files/patch-build_toolchain_toolchain.gni index 64dd88aa0248..956b9a58f7cd 100644 --- a/www/iridium/files/patch-build_toolchain_toolchain.gni +++ b/www/iridium/files/patch-build_toolchain_toolchain.gni @@ -1,11 +1,11 @@ ---- build/toolchain/toolchain.gni.orig 2025-04-16 18:18:42 UTC +--- build/toolchain/toolchain.gni.orig 2025-05-07 06:48:23 UTC +++ build/toolchain/toolchain.gni -@@ -72,7 +72,7 @@ if (host_os == "mac") { +@@ -75,7 +75,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/iridium/files/patch-cc_base_features.cc b/www/iridium/files/patch-cc_base_features.cc index 41ac54f25618..37daa223cf4f 100644 --- a/www/iridium/files/patch-cc_base_features.cc +++ b/www/iridium/files/patch-cc_base_features.cc @@ -1,11 +1,11 @@ ---- cc/base/features.cc.orig 2025-02-22 18:06:53 UTC +--- cc/base/features.cc.orig 2025-05-07 06:48:23 UTC +++ cc/base/features.cc -@@ -43,7 +43,7 @@ const base::FeatureParam kDeferImplInvalidationFr +@@ -48,7 +48,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/iridium/files/patch-chrome_app_chrome__command__ids.h b/www/iridium/files/patch-chrome_app_chrome__command__ids.h index 561610c5aeae..2e03886ee5c6 100644 --- a/www/iridium/files/patch-chrome_app_chrome__command__ids.h +++ b/www/iridium/files/patch-chrome_app_chrome__command__ids.h @@ -1,16 +1,16 @@ ---- chrome/app/chrome_command_ids.h.orig 2025-03-18 16:46:04 UTC +--- chrome/app/chrome_command_ids.h.orig 2025-05-07 06:48:23 UTC +++ chrome/app/chrome_command_ids.h @@ -72,11 +72,11 @@ #define IDC_TOGGLE_MULTITASK_MENU 34050 #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define IDC_USE_SYSTEM_TITLE_BAR 34051 #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define IDC_RESTORE_WINDOW 34052 #endif diff --git a/www/iridium/files/patch-chrome_app_chrome__main.cc b/www/iridium/files/patch-chrome_app_chrome__main.cc index b65a185f5b4b..cfa6c781feed 100644 --- a/www/iridium/files/patch-chrome_app_chrome__main.cc +++ b/www/iridium/files/patch-chrome_app_chrome__main.cc @@ -1,43 +1,43 @@ ---- chrome/app/chrome_main.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/app/chrome_main.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/app/chrome_main.cc @@ -28,11 +28,11 @@ #include "chrome/app/chrome_main_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/app/chrome_main_linux.h" #endif @@ -57,7 +57,7 @@ // sometime after old headless code is removed from Chrome. // See https://crbug.com/373672160. #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #define ENABLE_OLD_HEADLESS_INFO #endif @@ -115,7 +115,7 @@ int ChromeMain(int argc, const char** argv) { #error Unknown platform. #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PossiblyDetermineFallbackChromeChannel(argv[0]); #endif @@ -181,7 +181,7 @@ int ChromeMain(int argc, const char** argv) { SetUpBundleOverrides(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) AppendExtraArgumentsToCommandLine(command_line); #endif diff --git a/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc b/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc index 639d4b12c935..e38af5ff3f40 100644 --- a/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,147 +1,147 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/app/chrome_main_delegate.cc @@ -147,7 +147,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 @@ -188,17 +188,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 @@ -316,7 +316,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 @@ -399,7 +399,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) || @@ -411,7 +411,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; @@ -493,7 +493,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. @@ -571,7 +571,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& #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 #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(); @@ -983,7 +983,7 @@ void ChromeMainDelegate::CommonEarlyInitialization(Inv 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; @@ -1131,7 +1131,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 @@ -1156,7 +1156,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 @@ -1444,7 +1444,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)) { -@@ -1532,13 +1532,13 @@ absl::variant Chrome +@@ -1532,13 +1532,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/iridium/files/patch-chrome_browser_BUILD.gn b/www/iridium/files/patch-chrome_browser_BUILD.gn index ca0c5a41a56a..233158193287 100644 --- a/www/iridium/files/patch-chrome_browser_BUILD.gn +++ b/www/iridium/files/patch-chrome_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- chrome/browser/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/BUILD.gn -@@ -6819,6 +6819,13 @@ static_library("browser") { +@@ -6866,6 +6866,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/iridium/files/patch-chrome_browser_about__flags.cc b/www/iridium/files/patch-chrome_browser_about__flags.cc index 1cf698356235..12835627d5e0 100644 --- a/www/iridium/files/patch-chrome_browser_about__flags.cc +++ b/www/iridium/files/patch-chrome_browser_about__flags.cc @@ -1,334 +1,379 @@ ---- chrome/browser/about_flags.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/about_flags.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/about_flags.cc -@@ -258,7 +258,7 @@ +@@ -260,7 +260,7 @@ #include "extensions/common/extension_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 -@@ -344,7 +344,7 @@ +@@ -349,7 +349,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) -@@ -354,7 +354,7 @@ +@@ -359,7 +359,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" - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -365,7 +365,7 @@ + #include "chrome/browser/enterprise/webstore/features.h" +@@ -371,7 +371,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 -@@ -520,7 +520,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap +@@ -423,7 +423,7 @@ const FeatureEntry::Choice kPullToRefreshChoices[] = { + #endif // USE_AURA + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + const FeatureEntry::FeatureParam kLocalNetworkAccessChecksBlock[] = { + {"LocalNetworkAccessChecksWarn", "false"}}; +@@ -539,7 +539,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, -@@ -821,6 +821,26 @@ const FeatureEntry::FeatureVariation +@@ -852,6 +852,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[] = { -@@ -1184,7 +1204,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot - }; +@@ -1227,7 +1247,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"}, }; -@@ -1222,7 +1242,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada +@@ -1265,7 +1285,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 -@@ -3582,7 +3602,7 @@ const FeatureEntry::FeatureVariation + const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { +@@ -3555,7 +3575,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[] = -@@ -4088,7 +4108,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari +@@ -4059,7 +4079,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"}}; -@@ -4154,7 +4174,7 @@ const FeatureEntry::FeatureVariation +@@ -4125,7 +4145,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"}, -@@ -4997,7 +5017,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4992,7 +5012,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, -@@ -5286,7 +5306,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5279,7 +5299,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, -@@ -5545,7 +5565,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5500,7 +5520,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kWebShare)}, #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || 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, -@@ -5581,6 +5601,16 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kWaylandLinuxDrmSyncobjName, - flag_descriptions::kWaylandLinuxDrmSyncobjDescription, kOsLinux, - FEATURE_VALUE_TYPE(features::kWaylandLinuxDrmSyncobj)}, +@@ -5541,6 +5561,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) -@@ -6461,7 +6491,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6427,7 +6457,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"omnibox-domain-suggestions", flag_descriptions::kOmniboxDomainSuggestionsName, flag_descriptions::kOmniboxDomainSuggestionsDescription, kOsDesktop, -@@ -6674,7 +6704,7 @@ const FeatureEntry kFeatureEntries[] = { - "OrganicRepeatableQueries")}, - +@@ -6697,7 +6727,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, -@@ -7171,7 +7201,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7189,7 +7219,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) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -7436,7 +7466,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7437,7 +7467,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, -@@ -8092,7 +8122,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8109,7 +8139,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, -@@ -8773,7 +8803,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8774,7 +8804,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)}, -@@ -8798,7 +8828,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8799,7 +8829,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, -@@ -9265,7 +9295,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9275,7 +9305,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kRenderPassDrawnRect)}, #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, -@@ -9903,7 +9933,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9924,7 +9954,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), -@@ -10027,7 +10057,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10048,7 +10078,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kReadAloudTapToSeek)}, #endif -#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, -@@ -10062,7 +10092,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10077,7 +10107,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, -@@ -10823,7 +10853,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10817,7 +10847,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kCanvasHibernationDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kCanvas2DHibernation)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - {"sync-enable-bookmarks-in-transport-mode", - flag_descriptions::kSyncEnableBookmarksInTransportModeName, - flag_descriptions::kSyncEnableBookmarksInTransportModeDescription, -@@ -10939,7 +10969,7 @@ const FeatureEntry kFeatureEntries[] = { + {"enable-history-sync-optin", + flag_descriptions::kEnableHistorySyncOptinName, + flag_descriptions::kEnableHistorySyncOptinDescription, +@@ -10920,7 +10950,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kForceSupervisedSigninWithCapabilities)}, #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, -@@ -11186,7 +11216,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11167,7 +11197,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, -@@ -11306,7 +11336,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11282,7 +11312,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, -@@ -11343,7 +11373,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11319,7 +11349,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, -@@ -11662,7 +11692,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11653,7 +11683,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)}, -@@ -11712,7 +11742,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11703,7 +11733,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, -@@ -11732,7 +11762,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11723,7 +11753,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(blink::features::kClipboardContentsId)}, #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:: +@@ -11834,7 +11864,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, +@@ -11869,7 +11899,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-logging", + flag_descriptions::kAutofillEnableAmountExtractionDesktopLoggingName, + flag_descriptions:: +@@ -11899,7 +11929,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kEnableWebAppUpdateTokenParsingDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kWebAppEnableUpdateTokenParsing)}, + +-#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, +@@ -11921,7 +11951,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) + {"local-network-access-check", + flag_descriptions::kLocalNetworkAccessChecksName, + flag_descriptions::kLocalNetworkAccessChecksDescription, kOsDesktop, diff --git a/www/iridium/files/patch-chrome_browser_accessibility_page__colors.cc b/www/iridium/files/patch-chrome_browser_accessibility_page__colors.cc index a42765c38d71..576bb772d25a 100644 --- a/www/iridium/files/patch-chrome_browser_accessibility_page__colors.cc +++ b/www/iridium/files/patch-chrome_browser_accessibility_page__colors.cc @@ -1,20 +1,20 @@ ---- chrome/browser/accessibility/page_colors.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/accessibility/page_colors.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/accessibility/page_colors.cc @@ -12,7 +12,7 @@ #include "components/sync_preferences/pref_service_syncable.h" #include "ui/native_theme/native_theme.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #include "ui/linux/linux_ui_factory.h" #endif // BUILDFLAG(IS_LINUX) @@ -55,7 +55,7 @@ void PageColors::Init() { void PageColors::OnPageColorsChanged() { auto* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Allow the Linux native theme to update its state for page colors. if (auto* linux_ui_theme = ui::GetDefaultLinuxUiTheme()) { if (auto* linux_native_theme = linux_ui_theme->GetNativeTheme()) { diff --git a/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc index 5ce002ba6407..59843f04850c 100644 --- a/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc +++ b/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/after_startup_task_utils.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/after_startup_task_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/after_startup_task_utils.cc @@ -112,7 +112,7 @@ void SetBrowserStartupIsComplete() { TRACE_EVENT_SCOPE_GLOBAL, "BrowserCount", browser_count); GetStartupCompleteFlag().Set(); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Process::Current().CreationTime() is not available on all platforms. const base::Time process_creation_time = base::Process::Current().CreationTime(); diff --git a/www/iridium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc b/www/iridium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc index c080f9e8525a..333c6a7b56e9 100644 --- a/www/iridium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc +++ b/www/iridium/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc @@ -1,11 +1,11 @@ ---- chrome/browser/apps/app_service/publishers/extension_apps.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/apps/app_service/publishers/extension_apps.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/apps/app_service/publishers/extension_apps.cc @@ -23,7 +23,7 @@ ExtensionApps::ExtensionApps(AppServiceProxy* proxy) ExtensionApps::~ExtensionApps() = default; bool ExtensionApps::Accepts(const extensions::Extension* 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 (extensions::IsExtensionUnsupportedDeprecatedApp(profile(), extension->id())) { return false; diff --git a/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc index 5d53ab58f94e..87ae41a0b256 100644 --- a/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc +++ b/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -1,65 +1,65 @@ ---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/apps/platform_apps/platform_app_launch.cc @@ -19,7 +19,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_window.h" @@ -86,7 +86,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, if (launch_container == LaunchContainer::kLaunchContainerTab) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } @@ -118,7 +118,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof if (launch_container != apps::LaunchContainer::kLaunchContainerTab) return nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return nullptr; } @@ -134,7 +134,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof return app_tab; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OpenDeprecatedApplicationPrompt(Profile* profile, const std::string& app_id) { if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) @@ -170,7 +170,7 @@ bool OpenExtensionApplicationWithReenablePrompt( if (!GetPlatformApp(profile, app_id)) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } @@ -192,7 +192,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P ->enabled_extensions() .GetAppByURL(url); if (app) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app->id())) { return nullptr; } @@ -215,7 +215,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr if (!extension) return; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, extension->id())) { return; } diff --git a/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h b/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h index 5cc69021077e..5dfd78640e8f 100644 --- a/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h +++ b/www/iridium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h @@ -1,11 +1,11 @@ ---- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/apps/platform_apps/platform_app_launch.h @@ -38,7 +38,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, content::WebContents* OpenExtensionApplicationTab(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) // Opens the deprecated Chrome Apps flow if |app_id| refers to a Chrome App and // Chrome Apps are deprecated on the |profile|. Returns true if that was the // case, or false otherwise. diff --git a/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc index 877e7133b7bd..28372d2932d0 100644 --- a/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc +++ b/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -1,11 +1,11 @@ ---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc @@ -89,7 +89,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch return metrics::OmniboxInputType::QUERY; case ExternalProtocolHandler::UNKNOWN: { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Linux impl of GetApplicationNameForScheme doesn't distinguish // between URL schemes with handers and those without. This will // make the default behaviour be search on Linux. diff --git a/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc b/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc index 8f87bc433ef3..3ab738b0a94a 100644 --- a/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc +++ b/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/extensions/background_mode_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/background/extensions/background_mode_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/background/extensions/background_mode_manager.cc @@ -893,7 +893,7 @@ gfx::ImageSkia GetStatusTrayIcon() { } return family->CreateExact(size).AsImageSkia(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( IDR_PRODUCT_LOGO_128); #elif BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc b/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc index 8f6ac4ab21a4..c3205eb42ac7 100644 --- a/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc +++ b/www/iridium/files/patch-chrome_browser_background_extensions_background__mode__optimizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/extensions/background_mode_optimizer.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/background/extensions/background_mode_optimizer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/background/extensions/background_mode_optimizer.cc @@ -31,7 +31,7 @@ std::unique_ptr BackgroundMod return nullptr; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) { // Private ctor. return base::WrapUnique(new BackgroundModeOptimizer()); diff --git a/www/iridium/files/patch-chrome_browser_background_glic_glic__status__icon.cc b/www/iridium/files/patch-chrome_browser_background_glic_glic__status__icon.cc index deadf3fcbcdc..ce88fa8d98f5 100644 --- a/www/iridium/files/patch-chrome_browser_background_glic_glic__status__icon.cc +++ b/www/iridium/files/patch-chrome_browser_background_glic_glic__status__icon.cc @@ -1,29 +1,38 @@ ---- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/background/glic/glic_status_icon.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/background/glic/glic_status_icon.cc -@@ -83,7 +83,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control +@@ -86,7 +86,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)); -@@ -113,7 +113,7 @@ GlicStatusIcon::GlicStatusIcon(GlicController* control - GlicStatusIcon::~GlicStatusIcon() { +@@ -128,7 +128,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 = -@@ -201,7 +201,7 @@ std::unique_ptr GlicStatusIcon::C +@@ -234,7 +234,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_) { + context_menu_->SetCommandIdVisible(IDC_GLIC_STATUS_ICON_MENU_EXIT, + BrowserList::GetInstance()->empty()); +@@ -272,7 +272,7 @@ std::unique_ptr GlicStatusIcon::C menu->AddItem( IDC_GLIC_STATUS_ICON_MENU_REMOVE_ICON, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_REMOVE_ICON)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) menu->AddItem(IDC_GLIC_STATUS_ICON_MENU_EXIT, l10n_util::GetStringUTF16(IDS_GLIC_STATUS_ICON_MENU_EXIT)); #endif diff --git a/www/iridium/files/patch-chrome_browser_browser__features.cc b/www/iridium/files/patch-chrome_browser_browser__features.cc index ad4f26babebc..ee8c3b499c35 100644 --- a/www/iridium/files/patch-chrome_browser_browser__features.cc +++ b/www/iridium/files/patch-chrome_browser_browser__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_features.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/browser_features.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/browser_features.cc -@@ -81,7 +81,7 @@ BASE_FEATURE(kContentUsesBrowserThemeColorMode, - "ContentUsesBrowserThemeColorMode", - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -75,7 +75,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. -@@ -100,7 +100,7 @@ BASE_FEATURE(kUseFreedesktopSecretKeyProvider, +@@ -94,7 +94,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); -@@ -233,7 +233,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, +@@ -227,7 +227,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/iridium/files/patch-chrome_browser_browser__features.h b/www/iridium/files/patch-chrome_browser_browser__features.h index 756e2d7a1db8..4f9f7242d154 100644 --- a/www/iridium/files/patch-chrome_browser_browser__features.h +++ b/www/iridium/files/patch-chrome_browser_browser__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/browser_features.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/browser_features.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/browser_features.h -@@ -39,7 +39,7 @@ BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); - - BASE_DECLARE_FEATURE(kContentUsesBrowserThemeColorMode); +@@ -38,7 +38,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 +@@ -100,7 +100,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/iridium/files/patch-chrome_browser_browser__process__impl.cc b/www/iridium/files/patch-chrome_browser_browser__process__impl.cc index 7c3902405405..25d894bf3466 100644 --- a/www/iridium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/iridium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,47 +1,47 @@ ---- chrome/browser/browser_process_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/browser_process_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/browser_process_impl.cc @@ -259,7 +259,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" @@ -271,7 +271,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; -@@ -1133,7 +1133,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -1145,7 +1145,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 } -@@ -1401,7 +1401,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1413,7 +1413,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") { -@@ -1670,7 +1670,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1682,7 +1682,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/iridium/files/patch-chrome_browser_browser__process__impl.h b/www/iridium/files/patch-chrome_browser_browser__process__impl.h index c8821eea8c93..0e924548c16a 100644 --- a/www/iridium/files/patch-chrome_browser_browser__process__impl.h +++ b/www/iridium/files/patch-chrome_browser_browser__process__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/browser_process_impl.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/browser_process_impl.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/browser_process_impl.h @@ -408,7 +408,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/iridium/files/patch-chrome_browser_chrome__browser__field__trials.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.cc index bf121ce13041..be6bf01b26ac 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.cc @@ -1,20 +1,20 @@ ---- chrome/browser/chrome_browser_field_trials.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_field_trials.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_field_trials.cc @@ -37,7 +37,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) @@ -117,7 +117,7 @@ void ChromeBrowserFieldTrials::RegisterSyntheticTrials #endif // BUILDFLAG(IS_ANDROID) } -#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/iridium/files/patch-chrome_browser_chrome__browser__field__trials.h b/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.h index 752030bd302f..ac23e14c0033 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.h +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__field__trials.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_field_trials.h.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/chrome_browser_field_trials.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_field_trials.h @@ -33,7 +33,7 @@ class ChromeBrowserFieldTrials : public variations::Pl const variations::EntropyProviders& entropy_providers, base::FeatureList* feature_list) override; void RegisterSyntheticTrials() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void RegisterFeatureOverrides(base::FeatureList* feature_list) override; #endif diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 233f00a46115..30694d4f4f5f 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,29 +1,29 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_interface_binders.cc @@ -77,7 +77,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" @@ -358,7 +358,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) { @@ -500,7 +500,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/iridium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc index 205097bea3f4..27438125f6d5 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc @@ -1,64 +1,64 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -46,7 +46,7 @@ +@@ -47,7 +47,7 @@ #include "content/public/browser/web_ui_controller_interface_binder.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 "chrome/browser/ui/webui/discards/discards.mojom.h" -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ #include "ui/webui/resources/cr_components/app_management/app_management.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/whats_new/whats_new_ui.h" -@@ -440,7 +440,7 @@ void PopulateChromeWebUIFrameBinders( + #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin.mojom.h" +@@ -445,7 +445,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); -@@ -451,7 +451,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -456,7 +456,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); -@@ -544,14 +544,14 @@ void PopulateChromeWebUIFrameBinders( - page_image_service::mojom::PageImageServiceHandler, HistoryUI, - HistoryClustersSidePanelUI, NewTabPageUI, BookmarksSidePanelUI>(map); +@@ -583,14 +583,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); -@@ -1084,7 +1084,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -1123,7 +1123,7 @@ void PopulateChromeWebUIFrameBinders( #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc index ba61d4f355cb..dd7571e733ec 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,115 +1,115 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main.cc @@ -149,7 +149,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 @@ -175,11 +175,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" @@ -190,7 +190,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 @@ -268,7 +268,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) @@ -291,7 +291,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"); @@ -442,7 +442,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. @@ -1016,7 +1016,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { browser_creator_->AddFirstRunTabs(master_prefs_->new_tabs); } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || 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 . @@ -1061,7 +1061,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( @@ -1257,7 +1257,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( @@ -1305,7 +1305,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(); } @@ -1414,7 +1414,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(); } @@ -1961,7 +1961,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/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc index a845c00419b8..fd485655f51d 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main_extra_parts_linux.cc @@ -58,7 +58,7 @@ void ChromeBrowserMainExtraPartsLinux::PostBrowserStar // static void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* const command_line = base::CommandLine::ForCurrentProcess(); auto env = base::Environment::Create(); std::string desktop_startup_id; diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc index b387c51d6947..f4a5a65ac119 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_main_extra_parts_ozone.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_main_extra_parts_ozone.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main_extra_parts_ozone.cc @@ -28,7 +28,7 @@ void ChromeBrowserMainExtraPartsOzone::PostCreateMainM } void ChromeBrowserMainExtraPartsOzone::PostMainMessageLoopRun() { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); #endif } diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc index e3534cbbfa73..d3fd7b9d43ef 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -1,39 +1,39 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main_linux.cc @@ -24,7 +24,7 @@ #include "device/bluetooth/dbus/bluez_dbus_thread_manager.h" #include "ui/base/l10n/l10n_util.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/ozone/public/ozone_platform.h" #endif @@ -65,7 +65,9 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag #endif // BUILDFLAG(IS_CHROMEOS) #if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_BSD) bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); +#endif // Set up crypt config. This needs to be done before anything starts the // network service, as the raw encryption key needs to be shared with the @@ -91,7 +93,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() { ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); @@ -129,7 +131,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { #endif // BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS) void ChromeBrowserMainPartsLinux::PostDestroyThreads() { -#if BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // No-op; per PostBrowserStart() comment, this is done elsewhere. #else bluez::BluezDBusManager::Shutdown(); diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.h b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.h index 1efda4097a61..07c580860fd4 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.h +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_main_linux.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/chrome_browser_main_linux.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main_linux.h @@ -31,7 +31,7 @@ class ChromeBrowserMainPartsLinux : public ChromeBrows // ChromeBrowserMainPartsPosix overrides. void PostCreateMainMessageLoop() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void PostMainMessageLoopRun() override; #endif void PreProfileInit() override; diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc index 06fff0ed5179..02a95414dec1 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_main_posix.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_browser_main_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_browser_main_posix.cc @@ -81,7 +81,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa // ExitHandler takes care of deleting itself. new ExitHandler(); } else { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switch (signal) { case SIGINT: case SIGHUP: diff --git a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc index fd214a7c0652..6af38235692b 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,170 +1,188 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -504,7 +504,7 @@ +@@ -506,7 +506,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) -@@ -618,11 +618,11 @@ +@@ -622,11 +622,11 @@ #include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom.h" #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) #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" #endif -#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 -@@ -633,7 +633,7 @@ +@@ -637,7 +637,7 @@ #include "chrome/browser/apps/link_capturing/web_app_link_capturing_delegate.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" #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h" -@@ -642,7 +642,7 @@ +@@ -646,7 +646,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -@@ -651,7 +651,7 @@ +@@ -655,7 +655,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" -@@ -1544,7 +1544,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1549,7 +1549,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre registry->RegisterBooleanPref(prefs::kDeviceNativeClientForceAllowedCache, false); #endif // BUILDFLAG(IS_CHROMEOS) -#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) -@@ -1752,7 +1752,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1758,7 +1758,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) -@@ -1781,7 +1781,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1787,7 +1787,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 -@@ -1798,7 +1798,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1804,7 +1804,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()); -@@ -1817,7 +1817,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1823,7 +1823,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>()); -@@ -2700,7 +2700,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2706,7 +2706,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(); -@@ -2709,7 +2711,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2715,7 +2717,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( -@@ -3069,7 +3071,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3080,7 +3082,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)) { -@@ -4911,7 +4913,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -4030,7 +4032,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, +@@ -4657,7 +4659,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) + +@@ -4973,7 +4975,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, -@@ -5423,7 +5425,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -5485,7 +5487,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati &throttles); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) MaybeAddThrottle( WebAppSettingsNavigationThrottle::MaybeCreateThrottleFor(handle), &throttles); -@@ -5440,7 +5442,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -5502,7 +5504,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati #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) MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); -@@ -5481,7 +5483,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -5543,7 +5545,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); -@@ -7419,7 +7421,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -7496,7 +7498,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/iridium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h index 48b26dadfddd..488acfaa6e19 100644 --- a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -552,7 +552,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -555,7 +555,7 @@ class ChromeContentBrowserClient : public content::Con bool IsPluginAllowedToUseDevChannelAPIs( content::BrowserContext* browser_context, const GURL& url) 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/iridium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc b/www/iridium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc index 9ddaad421898..b3df8b939c9c 100644 --- a/www/iridium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_collaboration_messaging_messaging__backend__service__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/collaboration/messaging/messaging_backend_service_factory.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/collaboration/messaging/messaging_backend_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/collaboration/messaging/messaging_backend_service_factory.cc -@@ -100,7 +100,7 @@ MessagingBackendServiceFactory::BuildServiceInstanceFo +@@ -102,7 +102,7 @@ MessagingBackendServiceFactory::BuildServiceInstanceFo // This configuration object allows us to control platform specific behavior. MessagingBackendConfiguration configuration; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) configuration.clear_chip_on_tab_selection = false; #endif diff --git a/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc b/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc index 67dec6f92cfc..b0e9b3ddfc01 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc +++ b/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.cc @@ -1,20 +1,20 @@ ---- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/iwa_key_distribution_component_installer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/iwa_key_distribution_component_installer.cc -@@ -56,7 +56,7 @@ void OnDemandUpdateCompleted(update_client::Error err) +@@ -64,7 +64,7 @@ component_updater::OnDemandUpdater::Priority GetOnDema namespace component_updater { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIwaKeyDistributionComponent, "IwaKeyDistributionComponent", #if BUILDFLAG(IS_CHROMEOS) -@@ -81,7 +81,7 @@ bool IwaKeyDistributionComponentInstallerPolicy::IsSup +@@ -89,7 +89,7 @@ bool IwaKeyDistributionComponentInstallerPolicy::IsSup // the main IWA feature. #if BUILDFLAG(IS_WIN) return base::FeatureList::IsEnabled(features::kIsolatedWebApps); -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(kIwaKeyDistributionComponent); #else return false; diff --git a/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h b/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h index d51a87e9f81d..8d00c5d6742d 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h +++ b/www/iridium/files/patch-chrome_browser_component__updater_iwa__key__distribution__component__installer.h @@ -1,11 +1,11 @@ ---- chrome/browser/component_updater/iwa_key_distribution_component_installer.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/iwa_key_distribution_component_installer.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/iwa_key_distribution_component_installer.h @@ -27,7 +27,7 @@ class IwaKeyDistributionInfoProvider; namespace component_updater { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kIwaKeyDistributionComponent); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_component__updater_registration.cc b/www/iridium/files/patch-chrome_browser_component__updater_registration.cc index 94d4ce8d1b6a..c66de2b1f63e 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/iridium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,35 +1,35 @@ ---- chrome/browser/component_updater/registration.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/registration.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/registration.cc @@ -101,7 +101,7 @@ #endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || 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) @@ -114,7 +114,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) @@ -261,12 +261,12 @@ 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) -#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); } diff --git a/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc b/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc index 196f813d262e..dae972e24c3d 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc +++ b/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.cc @@ -1,29 +1,29 @@ ---- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/wasm_tts_engine_component_installer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/wasm_tts_engine_component_installer.cc @@ -8,7 +8,7 @@ #include "base/functional/callback.h" #include "base/logging.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 "components/crx_file/id_util.h" @@ -70,7 +70,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()) { EmbeddedA11yExtensionLoader::GetInstance()->Init(); @@ -121,7 +121,7 @@ void RegisterWasmTtsEngineComponent(ComponentUpdateSer installer->Register(cus, base::OnceClosure()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string WasmTtsEngineComponentInstallerPolicy::GetId() { return crx_file::id_util::GenerateIdFromHash((kWasmTtsEnginePublicKeySHA256)); } diff --git a/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.h b/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.h index bdd8a9c3a930..a797eaf15b52 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.h +++ b/www/iridium/files/patch-chrome_browser_component__updater_wasm__tts__engine__component__installer.h @@ -1,11 +1,11 @@ ---- chrome/browser/component_updater/wasm_tts_engine_component_installer.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/wasm_tts_engine_component_installer.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/wasm_tts_engine_component_installer.h @@ -27,7 +27,7 @@ class WasmTtsEngineComponentInstallerPolicy : public C WasmTtsEngineComponentInstallerPolicy& operator=( const WasmTtsEngineComponentInstallerPolicy&) = delete; -#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::string GetId(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc b/www/iridium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc index fdf1e1c0b70f..2b59efd0517f 100644 --- a/www/iridium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc +++ b/www/iridium/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc @@ -1,38 +1,38 @@ ---- chrome/browser/component_updater/widevine_cdm_component_installer.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/component_updater/widevine_cdm_component_installer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/component_updater/widevine_cdm_component_installer.cc @@ -41,7 +41,7 @@ #include "third_party/widevine/cdm/buildflags.h" #include "third_party/widevine/cdm/widevine_cdm_common.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/path_service.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h" @@ -73,7 +73,7 @@ static_assert(std::size(kWidevineSha2Hash) == crypto:: const char ImageLoaderComponentName[] = "WidevineCdm"; #endif -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // On Linux and ChromeOS the Widevine CDM is loaded at startup before the // zygote is locked down. As a result there is no need to register the CDM // with Chrome as it can't be used until Chrome is restarted. @@ -101,7 +101,7 @@ void RegisterWidevineCdmWithChrome(const base::Version } #endif // !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux and ChromeOS the Widevine CDM is loaded at startup before the // zygote is locked down. To locate the Widevine CDM at startup, a hint file // is used. Update the hint file with the new Widevine CDM path. @@ -392,7 +392,7 @@ void WidevineCdmComponentInstallerPolicy::UpdateCdmPat return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VLOG(1) << "Updating hint file with Widevine CDM " << cdm_version; // This is running on a thread that allows IO, so simply update the hint file. diff --git a/www/iridium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/iridium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc index b1d334b2ebdc..90c953d9d4b2 100644 --- a/www/iridium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc +++ b/www/iridium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2023-03-13 07:33:08 UTC +--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc @@ -68,7 +68,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau // If true default protocol handlers will be removed if the OS level // registration for a protocol is no longer Chrome. bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // We don't do this on Linux as the OS registration there is not reliable, // and Chrome OS doesn't have any notion of OS registration. // TODO(benwells): When Linux support is more reliable remove this diff --git a/www/iridium/files/patch-chrome_browser_defaults.cc b/www/iridium/files/patch-chrome_browser_defaults.cc index 27c425266511..d41af63a1a20 100644 --- a/www/iridium/files/patch-chrome_browser_defaults.cc +++ b/www/iridium/files/patch-chrome_browser_defaults.cc @@ -1,11 +1,11 @@ ---- chrome/browser/defaults.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/defaults.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/defaults.cc @@ -31,7 +31,7 @@ const bool kAlwaysCreateTabbedBrowserOnSessionRestore const bool kShowHelpMenuItemIcon = false; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool kScrollEventChangesTab = true; #else const bool kScrollEventChangesTab = false; diff --git a/www/iridium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/www/iridium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc index 13968db8498e..cfdf29cbf43d 100644 --- a/www/iridium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc @@ -26,7 +26,7 @@ std::unique_ptr CreatePlatform #if BUILDFLAG(IS_CHROMEOS) return std::make_unique( local_state); -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(local_state); #else NOTREACHED(); diff --git a/www/iridium/files/patch-chrome_browser_devtools_features.cc b/www/iridium/files/patch-chrome_browser_devtools_features.cc new file mode 100644 index 000000000000..16712c0e7db5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_devtools_features.cc @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/features.cc.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/devtools/features.cc +@@ -157,7 +157,7 @@ BASE_FEATURE(kDevToolsAiGeneratedTimelineLabels, + "DevToolsAiGeneratedTimelineLabels", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // 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/iridium/files/patch-chrome_browser_devtools_features.h b/www/iridium/files/patch-chrome_browser_devtools_features.h new file mode 100644 index 000000000000..7cfa7ddab0cc --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_devtools_features.h @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/features.h.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/devtools/features.h +@@ -89,7 +89,7 @@ BASE_DECLARE_FEATURE(kDevToolsCssValueTracing); + + BASE_DECLARE_FEATURE(kDevToolsAiGeneratedTimelineLabels); + +-#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/iridium/files/patch-chrome_browser_devtools_remote__debugging__server.cc b/www/iridium/files/patch-chrome_browser_devtools_remote__debugging__server.cc new file mode 100644 index 000000000000..82f01d707bcb --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_devtools_remote__debugging__server.cc @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/remote_debugging_server.cc.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/devtools/remote_debugging_server.cc +@@ -109,7 +109,7 @@ IsRemoteDebuggingAllowed(const std::optional& is + 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 (base::FeatureList::IsEnabled(features::kDevToolsDebuggingRestrictions) && + is_default_user_data_dir.value_or(true)) { + return base::unexpected( diff --git a/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h index 16fd22580410..048bd0e82800 100644 --- a/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h +++ b/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h @@ -1,11 +1,11 @@ ---- chrome/browser/diagnostics/diagnostics_writer.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/diagnostics/diagnostics_writer.h @@ -16,6 +16,8 @@ namespace diagnostics { // Console base class used internally. class SimpleConsole; +#undef MACHINE + class DiagnosticsWriter : public DiagnosticsModel::Observer { public: // The type of formatting done by this writer. diff --git a/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index 01a3361753a3..44fe2a2473a8 100644 --- a/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc @@ -1864,7 +1864,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(); } @@ -2000,7 +2000,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()) { @@ -2082,7 +2082,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/iridium/files/patch-chrome_browser_download_download__commands.cc b/www/iridium/files/patch-chrome_browser_download_download__commands.cc index eb01975da898..15efa7040404 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__commands.cc +++ b/www/iridium/files/patch-chrome_browser_download_download__commands.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_commands.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/download/download_commands.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_commands.cc @@ -27,7 +27,7 @@ #include "ui/base/clipboard/scoped_clipboard_writer.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" @@ -177,7 +177,7 @@ void DownloadCommands::ExecuteCommand(Command command) } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) Browser* DownloadCommands::GetBrowser() const { if (!model_) diff --git a/www/iridium/files/patch-chrome_browser_download_download__commands.h b/www/iridium/files/patch-chrome_browser_download_download__commands.h index 578ad4a25fe8..a78c9d0a7580 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__commands.h +++ b/www/iridium/files/patch-chrome_browser_download_download__commands.h @@ -1,11 +1,11 @@ ---- chrome/browser/download/download_commands.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/download/download_commands.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_commands.h @@ -66,7 +66,7 @@ class DownloadCommands { void ExecuteCommand(Command command); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) bool IsDownloadPdf() const; bool CanOpenPdfInSystemViewer() const; Browser* GetBrowser() const; diff --git a/www/iridium/files/patch-chrome_browser_download_download__file__picker.cc b/www/iridium/files/patch-chrome_browser_download_download__file__picker.cc index e3cc0ed860e4..53d27163f5d8 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__file__picker.cc +++ b/www/iridium/files/patch-chrome_browser_download_download__file__picker.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_file_picker.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/download/download_file_picker.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_file_picker.cc @@ -18,7 +18,7 @@ #include "content/public/browser/web_contents.h" #include "ui/shell_dialogs/selected_file_info.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" #include "ui/aura/window.h" @@ -83,7 +83,7 @@ DownloadFilePicker::DownloadFilePicker(download::Downl // dialog in Linux (See SelectFileImpl() in select_file_dialog_linux_gtk.cc). // and windows.Here we make owning_window host to browser current active // window if it is null. https://crbug.com/1301898 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (!owning_window || !owning_window->GetHost()) { owning_window = BrowserList::GetInstance() ->GetLastActive() diff --git a/www/iridium/files/patch-chrome_browser_download_download__item__model.cc b/www/iridium/files/patch-chrome_browser_download_download__item__model.cc index 31b01bf16638..f11e88132ced 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/iridium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/download/download_item_model.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_item_model.cc @@ -772,7 +772,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(); @@ -820,7 +820,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); -@@ -1215,7 +1215,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1206,7 +1206,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/iridium/files/patch-chrome_browser_download_download__prefs.cc b/www/iridium/files/patch-chrome_browser_download_download__prefs.cc index e3d5e1da4708..eb0cd255f498 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/iridium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,90 +1,90 @@ ---- chrome/browser/download/download_prefs.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/download/download_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_prefs.cc @@ -11,6 +11,7 @@ #include #include "base/check.h" +#include "base/command_line.h" #include "base/feature_list.h" #include "base/files/file_util.h" #include "base/functional/bind.h" @@ -61,6 +62,10 @@ #include "components/safe_browsing/content/common/file_type_policies.h" #endif +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; @@ -74,7 +79,7 @@ namespace { // Consider downloads 'dangerous' if they go to the home directory on Linux and // to the desktop on any platform. bool DownloadPathIsDangerous(const base::FilePath& download_path) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath home_dir = base::GetHomeDir(); if (download_path == home_dir) { return true; @@ -180,7 +185,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); #endif @@ -307,7 +312,7 @@ void DownloadPrefs::RegisterProfilePrefs( registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_download_path); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif #if BUILDFLAG(IS_ANDROID) @@ -480,7 +485,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) return; @@ -506,7 +511,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons void DownloadPrefs::ResetAutoOpenByUser() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) SetShouldOpenPdfInSystemReader(false); #endif auto_open_by_user_.clear(); @@ -543,7 +548,7 @@ void DownloadPrefs::SaveAutoOpenState() { bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const { #if BUILDFLAG(IS_CHROMEOS) return false; // There is no UI for auto-open on ChromeOS. -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return ShouldOpenPdfInSystemReader(); #else return false; @@ -625,7 +630,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa #else // If the stored download directory is an absolute path, we presume it's // correct; there's not really much more validation we can do here. +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (!sandbox->unveil_initialized() && path.IsAbsolute()) +#else if (path.IsAbsolute()) +#endif return path; // When the default download directory is *not* an absolute path, we use the diff --git a/www/iridium/files/patch-chrome_browser_download_download__prefs.h b/www/iridium/files/patch-chrome_browser_download_download__prefs.h index 6a282ccd1ed7..1a6ebbdfac86 100644 --- a/www/iridium/files/patch-chrome_browser_download_download__prefs.h +++ b/www/iridium/files/patch-chrome_browser_download_download__prefs.h @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_prefs.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/download/download_prefs.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/download/download_prefs.h @@ -107,7 +107,7 @@ class DownloadPrefs { void DisableAutoOpenByUserBasedOnExtension(const base::FilePath& file_name); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Store the user preference to disk. If |should_open| is true, also disable // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin. void SetShouldOpenPdfInSystemReader(bool should_open); @@ -171,7 +171,7 @@ class DownloadPrefs { std::unique_ptr auto_open_allowed_by_urls_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) bool should_open_pdf_in_system_reader_; #endif diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc index 44a5e8ee9ea2..8645a4310f76 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc @@ -151,7 +151,7 @@ AnalysisServiceSettings::AnalysisServiceSettings( const char* verification_key = kKeyWindowsVerification; #elif BUILDFLAG(IS_MAC) const char* verification_key = kKeyMacVerification; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* verification_key = kKeyLinuxVerification; #endif diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_common.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_common.cc index c7970fecdb8d..329f39edd885 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_common.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_common.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/common.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/common.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/common.cc -@@ -16,7 +16,7 @@ +@@ -17,7 +17,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 -@@ -191,7 +191,7 @@ std::string GetProfileEmail(Profile* profile) { +@@ -192,7 +192,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/iridium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc index 46e29dfb7a8d..1aa630da05d7 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/connectors_service.cc -@@ -470,7 +470,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope( +@@ -476,7 +476,7 @@ policy::PolicyScope ConnectorsService::GetPolicyScope( bool ConnectorsService::ConnectorsEnabled() const { Profile* profile = Profile::FromBrowserContext(context_); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, the guest profile is actually the primary OTR profile of // the "regular" guest profile. The regular guest profile is never used // directly by users. Also, user are not able to create child OTR profiles diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc index e0da2f3f6cf1..1088f5e4dc62 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc @@ -10,7 +10,7 @@ #include "chrome/browser/profiles/profile.h" #include "components/keyed_service/core/keyed_service.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/device_trust/browser/signing_key_policy_observer.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" @@ -40,7 +40,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext() const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return true; #else return false; @@ -84,7 +84,7 @@ DeviceTrustConnectorServiceFactory::BuildServiceInstan std::unique_ptr service = std::make_unique(profile->GetPrefs()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) auto* key_manager = g_browser_process->browser_policy_connector() ->chrome_browser_cloud_management_controller() ->GetDeviceTrustKeyManager(); diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc index fa2a3b5a0dd3..1ed5ae261310 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc @@ -22,7 +22,7 @@ #include "components/policy/core/common/management/management_service.h" #include "content/public/browser/browser_context.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/browser_attestation_service.h" #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/device_attester.h" @@ -53,7 +53,7 @@ bool IsProfileManaged(Profile* profile) { return management_service && management_service->IsManaged(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) policy::CloudPolicyStore* GetUserCloudPolicyStore(Profile* profile) { policy::CloudPolicyManager* user_policy_manager = profile->GetCloudPolicyManager(); @@ -105,7 +105,7 @@ DeviceTrustServiceFactory::DeviceTrustServiceFactory() DependsOn(DeviceTrustConnectorServiceFactory::GetInstance()); DependsOn(policy::ManagementServiceFactory::GetInstance()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Depends on this service via the SignalsService having a dependency on it. DependsOn(enterprise_signals::SignalsAggregatorFactory::GetInstance()); // Depends on this service via the ProfileAttester having a dependency on it diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc index 4f364b761eee..b507aba772b6 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc @@ -19,7 +19,7 @@ #if BUILDFLAG(IS_WIN) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/win_key_rotation_command.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h" #elif BUILDFLAG(IS_MAC) #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/mac_key_rotation_command.h" @@ -53,7 +53,7 @@ std::unique_ptr KeyRotationCommand policy::DeviceManagementService* device_management_service) { #if BUILDFLAG(IS_WIN) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(url_loader_factory); #elif BUILDFLAG(IS_MAC) if (IsDTCKeyRotationUploadedBySharedAPI()) { diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc index f68e1dc47821..9682a9e73abb 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc @@ -13,7 +13,7 @@ #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/win_key_persistence_delegate.h" #elif BUILDFLAG(IS_MAC) #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/mac_key_persistence_delegate.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/linux_key_persistence_delegate.h" #endif @@ -45,7 +45,7 @@ KeyPersistenceDelegateFactory::CreateKeyPersistenceDel return std::make_unique(); #elif BUILDFLAG(IS_MAC) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(); #else NOTREACHED(); diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc index 9043acd01e4e..3cb3e67ab080 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc @@ -23,7 +23,7 @@ #include "chrome/browser/enterprise/connectors/connectors_service.h" #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "base/check.h" #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h" #include "chrome/browser/enterprise/core/dependency_factory_impl.h" @@ -63,7 +63,7 @@ std::unique_ptr CreateSignalsService(P profile, ConnectorsServiceFactory::GetForBrowserContext(profile)))); #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) policy::CloudPolicyManager* browser_policy_manager = nullptr; if (management_service->HasManagementAuthority( diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc index 48f3f368304c..0402cfdfefe5 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc @@ -13,7 +13,7 @@ namespace enterprise_connectors { BrowserCrashEventRouter::BrowserCrashEventRouter( content::BrowserContext* context) { -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) CrashReportingContext* crash_reporting_context = CrashReportingContext::GetInstance(); Profile* profile = Profile::FromBrowserContext(context); @@ -23,7 +23,7 @@ BrowserCrashEventRouter::BrowserCrashEventRouter( } BrowserCrashEventRouter::~BrowserCrashEventRouter() { -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) CrashReportingContext* crash_reporting_context = CrashReportingContext::GetInstance(); crash_reporting_context->RemoveProfile(this); diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc index 11d235c99317..729721b1b8e4 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc @@ -20,7 +20,7 @@ namespace enterprise_connectors { -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) namespace { diff --git a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc index ccde528a750d..6144bb748aaf 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc -@@ -55,7 +55,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" -@@ -160,7 +160,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, -@@ -196,7 +196,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); -@@ -248,7 +248,7 @@ std::string RealtimeReportingClient::GetBrowserClientI +@@ -246,7 +246,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/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h b/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h index f9ce1b95e1c9..4663bfd0e1f4 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2025-05-07 06:48:23 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 +@@ -113,7 +113,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 +@@ -163,7 +163,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/iridium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc b/www/iridium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc index 1695fd2433f8..6fbd47ab732f 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc @@ -1,13 +1,13 @@ ---- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc @@ -67,8 +67,8 @@ base::flat_map& Ge // TODO(crbug.com/40267996): Add actual domains with attribute names. profile_attributes->insert(std::make_pair( "supported.test", - SAMLProfileAttributes("placeholderName", "placeholderDomain", - "placeholderToken"))); + SAMLProfileAttributes(SAMLProfileAttributes{"placeholderName", "placeholderDomain", + "placeholderToken"}))); // Extract domains and attributes from the command line switch. const base::CommandLine& command_line = diff --git a/www/iridium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc b/www/iridium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc index eeece954a15a..c7b5d73195f0 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc.orig 2024-02-04 14:46:08 UTC +--- chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc @@ -11,7 +11,7 @@ #include "chrome/browser/profiles/profile_manager.h" #include "components/policy/core/common/remote_commands/remote_command_job.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/remote_commands/rotate_attestation_credential_job.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" @@ -30,7 +30,7 @@ CBCMRemoteCommandsFactory::BuildJobForType( g_browser_process->profile_manager()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (type == enterprise_management:: RemoteCommand_Type_BROWSER_ROTATE_ATTESTATION_CREDENTIAL) { return std::make_unique( diff --git a/www/iridium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc b/www/iridium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc new file mode 100644 index 000000000000..3872f28cf1a0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_enterprise_signals_context__info__fetcher.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/signals/context_info_fetcher.cc.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/enterprise/signals/context_info_fetcher.cc +@@ -179,6 +179,8 @@ std::vector ContextInfoFetcher::GetOnSecu + SettingValue ContextInfoFetcher::GetOSFirewall() { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + return device_signals::GetOSFirewall(); ++#elif BUILDFLAG(IS_OPENBSD) ++ return SettingValue::ENABLED; + #elif BUILDFLAG(IS_CHROMEOS) + return GetChromeosFirewall(); + #else +@@ -198,7 +200,7 @@ ScopedUfwConfigPathForTesting::~ScopedUfwConfigPathFor + #endif // BUILDFLAG(IS_LINUX) + + std::vector ContextInfoFetcher::GetDnsServers() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return device_signals::GetSystemDnsServers(); + #else + return std::vector(); diff --git a/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc b/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc index 8e6e581b42ea..d9ab03e2a427 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/signals/device_info_fetcher.cc @@ -10,7 +10,7 @@ #include "chrome/browser/enterprise/signals/device_info_fetcher_mac.h" #elif BUILDFLAG(IS_WIN) #include "chrome/browser/enterprise/signals/device_info_fetcher_win.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" #endif -@@ -74,7 +74,7 @@ std::unique_ptr DeviceInfoFetcher:: +@@ -76,7 +76,7 @@ std::unique_ptr DeviceInfoFetcher:: return CreateInstanceInternal(); } -#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && \ +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) && \ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) // static std::unique_ptr DeviceInfoFetcher::CreateInstanceInternal() { diff --git a/www/iridium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h b/www/iridium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h index 874e6a9c08ec..aede766546d4 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h +++ b/www/iridium/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/signin/enterprise_signin_service.h.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/enterprise/signin/enterprise_signin_service.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/signin/enterprise_signin_service.h @@ -9,7 +9,7 @@ #include "build/build_config.h" -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) #error EnterpriseSigninService should only be built on desktop platforms. #endif // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) diff --git a/www/iridium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc b/www/iridium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc index 3ea5d21ab1d5..0825a3a4b308 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_signin_interstitials_managed__profile__required__page.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/signin/interstitials/managed_profile_required_page.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/signin/interstitials/managed_profile_required_page.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/signin/interstitials/managed_profile_required_page.cc @@ -94,7 +94,7 @@ void ManagedProfileRequiredPage::CommandReceived(const switch (cmd) { case security_interstitials::CMD_DONT_PROCEED: -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ManagedProfileRequiredNavigationThrottle::IsBlockingNavigations( web_contents()->GetBrowserContext())) { ManagedProfileRequiredNavigationThrottle::ShowBlockedWindow( diff --git a/www/iridium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc b/www/iridium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc index 0a022dc93f6e..49e6466b0398 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc +++ b/www/iridium/files/patch-chrome_browser_enterprise_util_managed__browser__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/enterprise/util/managed_browser_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/enterprise/util/managed_browser_utils.cc -@@ -224,7 +224,7 @@ void SetUserAcceptedAccountManagement(Profile* profile +@@ -222,7 +222,7 @@ void SetUserAcceptedAccountManagement(Profile* profile + profile_manager->GetProfileAttributesStorage() .GetProfileAttributesWithPath(profile->GetPath()); if (entry) { - entry->SetUserAcceptedAccountManagement(accepted); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - entry->SetEnterpriseProfileLabel(GetEnterpriseLabel(profile)); + SetEnterpriseProfileLabel(profile); #endif - } + entry->SetUserAcceptedAccountManagement(accepted); diff --git a/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn b/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn index dfabd5430d8d..ea75c853f1c5 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1436,6 +1436,10 @@ source_set("extensions") { +@@ -1464,6 +1464,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/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc index 97f782b02b5d..919b3e577a1e 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc @@ -24,7 +24,7 @@ #include "base/win/registry.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif @@ -255,7 +255,7 @@ base::FilePath GetEndpointVerificationDir() { bool got_path = false; #if BUILDFLAG(IS_WIN) got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr env(base::Environment::Create()); path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); @@ -266,7 +266,7 @@ base::FilePath GetEndpointVerificationDir() { if (!got_path) return path; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) path = path.AppendASCII("google"); #else path = path.AppendASCII("Google"); diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc index 2694389b8c25..3614ae6017a2 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc.orig 2022-12-06 08:09:13 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc @@ -8,7 +8,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h index 378d71ccb2d8..0d32080facaf 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h @@ -7,7 +7,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc index 0893ac1cb876..94fb1b621bb6 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -1,47 +1,47 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc @@ -40,7 +40,7 @@ #include "components/reporting/util/statusor.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 #include "base/strings/string_util.h" -@@ -157,7 +157,7 @@ api::enterprise_reporting_private::ContextInfo ToConte +@@ -156,7 +156,7 @@ api::enterprise_reporting_private::ContextInfo ToConte } bool AllowClientCertificateReportingForUsers() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled( enterprise_signals::features::kAllowClientCertificateReportingForUsers); #else -@@ -170,7 +170,7 @@ bool IsProfilePrefManaged(Profile* profile, std::strin +@@ -169,7 +169,7 @@ bool IsProfilePrefManaged(Profile* profile, std::strin return pref && pref->IsManaged(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) device_signals::SignalsAggregationRequest CreateAggregationRequest( device_signals::SignalName signal_name) { -@@ -232,7 +232,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: +@@ -231,7 +231,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: // getPersistentSecret -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) EnterpriseReportingPrivateGetPersistentSecretFunction:: EnterpriseReportingPrivateGetPersistentSecretFunction() = default; -@@ -672,7 +672,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction:: +@@ -671,7 +671,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction:: } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // getFileSystemInfo diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h index 1880e7f0365d..b29d47f9107c 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-13 07:33:08 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h @@ -20,7 +20,7 @@ #include "components/reporting/proto/synced/record.pb.h" #include "components/reporting/proto/synced/record_constants.pb.h" #include "components/reporting/util/statusor.h" -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/time/time.h" #include "components/device_signals/core/browser/signals_types.h" #endif // BUILDFLAG(IS_CHROMEOS) @@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : ~EnterpriseReportingPrivateGetDeviceIdFunction() override; }; -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) class EnterpriseReportingPrivateGetPersistentSecretFunction : public ExtensionFunction { @@ -266,7 +266,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class EnterpriseReportingPrivateGetFileSystemInfoFunction : public ExtensionFunction { diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc index c5f4ee48141e..96e5096b8092 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2023-10-21 11:51:27 UTC +--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc @@ -20,6 +20,7 @@ static base::LazyInstancePostTask( FROM_HERE, @@ -33,6 +34,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, base::BindOnce(&RemovableStorageProvider::PopulateDeviceList), std::move(callback)); +#else + NOTIMPLEMENTED(); +#endif } // static diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc b/www/iridium/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc index 791186a0b9e2..ddcc7f9cf682 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/management/chrome_management_api_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/extensions/api/management/chrome_management_api_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/management/chrome_management_api_delegate.cc -@@ -409,7 +409,7 @@ bool ChromeManagementAPIDelegate::LaunchAppFunctionDel +@@ -410,7 +410,7 @@ bool ChromeManagementAPIDelegate::LaunchAppFunctionDel apps::LaunchContainer launch_container = GetLaunchContainer(extensions::ExtensionPrefs::Get(context), extension); Profile* profile = Profile::FromBrowserContext(context); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (extensions::IsExtensionUnsupportedDeprecatedApp(profile, extension->id())) { return false; diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc b/www/iridium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc index faee313fd054..609555dc8900 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/messaging/launch_context_posix.cc.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/extensions/api/messaging/launch_context_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/messaging/launch_context_posix.cc @@ -84,7 +84,7 @@ std::optional LaunchConte options.current_directory = command_line.GetProgram().DirName(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Don't use no_new_privs mode, e.g. in case the host needs to use sudo. options.allow_new_privs = true; #endif diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/iridium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc index fb7c5b33cb9c..f8bb6da28a95 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc @@ -634,7 +634,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/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc index 160f657c4fb8..f2ed3001c5df 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -293,7 +293,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor +@@ -292,7 +292,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 { NOTREACHED() << "Platform not supported: " << os; } diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index 1971fcbfef6c..64656528b1aa 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -191,7 +191,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -196,7 +196,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] = settings_api::PrefType::kBoolean; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - (*s_allowlist)[autofill::prefs::kAutofillPredictionImprovementsEnabled] = - settings_api::PrefType::kBoolean; (*s_allowlist)[autofill::prefs::kAutofillBnplEnabled] = -@@ -211,7 +211,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + settings_api::PrefType::kBoolean; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -214,7 +214,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 -@@ -223,7 +223,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -226,7 +226,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/iridium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc index e3887015d41d..3d587b8bd822 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/tabs/tabs_api.cc -@@ -931,7 +931,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio +@@ -932,7 +932,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/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc index 8c5b26e03194..a72ef816cdbf 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc @@ -28,7 +28,7 @@ #include "extensions/browser/process_manager.h" #include "extensions/common/error_utils.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "extensions/common/permissions/permissions_data.h" #endif @@ -37,7 +37,7 @@ namespace { bool CanEnableAudioDebugRecordingsFromExtension( const extensions::Extension* extension) { bool enabled_by_permissions = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (extension) { enabled_by_permissions = extension->permissions_data()->active_permissions().HasAPIPermission( @@ -575,7 +575,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi ExtensionFunction::ResponseAction WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, // this function shouldn't be called by a component extension on behalf of // some web code. It returns a DirectoryEntry for use directly in the calling diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc index c503a435ed0e..fcc1b7908f1e 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc @@ -916,7 +916,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: #if BUILDFLAG(IS_CHROMEOS) RequestExtensionApproval(contents); return; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Shows a parental permission dialog directly bypassing the extension // install dialog view. The parental permission dialog contains a superset // of data from the extension install dialog: requested extension diff --git a/www/iridium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc b/www/iridium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc index 422ad1542e7f..dd3714f1281a 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc index d9a894503eaa..3fa95804d169 100644 --- a/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -795,7 +795,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -818,7 +818,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( -@@ -823,7 +823,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -846,7 +846,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/iridium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc b/www/iridium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc index 9e7e64f02777..2e49f1412ec0 100644 --- a/www/iridium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc +++ b/www/iridium/files/patch-chrome_browser_feedback_system__logs_about__system__logs__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc -@@ -38,7 +38,7 @@ +@@ -37,7 +37,7 @@ #include "chrome/browser/ash/system_logs/ui_hierarchy_log_source.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/feedback/system_logs/log_sources/ozone_platform_state_dump_source.h" #endif -@@ -85,7 +85,7 @@ SystemLogsFetcher* BuildAboutSystemLogsFetcher(content +@@ -84,7 +84,7 @@ SystemLogsFetcher* BuildAboutSystemLogsFetcher(content fetcher->AddSource(std::make_unique()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) fetcher->AddSource(std::make_unique()); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc b/www/iridium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc index d49cf6b65d11..e18e393ce17a 100644 --- a/www/iridium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc +++ b/www/iridium/files/patch-chrome_browser_feedback_system__logs_chrome__system__logs__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/feedback/system_logs/chrome_system_logs_fetcher.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/feedback/system_logs/chrome_system_logs_fetcher.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/feedback/system_logs/chrome_system_logs_fetcher.cc -@@ -45,7 +45,7 @@ +@@ -44,7 +44,7 @@ #include "services/network/public/cpp/shared_url_loader_factory.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/feedback/system_logs/log_sources/ozone_platform_state_dump_source.h" #endif -@@ -102,7 +102,7 @@ SystemLogsFetcher* BuildChromeSystemLogsFetcher(Profil +@@ -101,7 +101,7 @@ SystemLogsFetcher* BuildChromeSystemLogsFetcher(Profil fetcher->AddSource(std::make_unique(scrub_data)); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) fetcher->AddSource(std::make_unique()); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/iridium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index 7251ed83a7df..388d42ced8c9 100644 --- a/www/iridium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc @@ -357,7 +357,7 @@ const struct { FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), 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"), kBlockAllChildren}, // And security sensitive data in /proc and /sys. diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h index b2d8171fa57b..c8e4df426c5c 100644 --- a/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h @@ -1,11 +1,11 @@ ---- chrome/browser/first_run/first_run_dialog.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/first_run/first_run_dialog.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/first_run/first_run_dialog.h @@ -9,7 +9,7 @@ #include "build/build_config.h" // Hide this function on platforms where the dialog does not exist. -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace first_run { diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h index 0aa34886cd4e..fdc0415892a7 100644 --- a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h @@ -1,11 +1,11 @@ ---- chrome/browser/first_run/first_run_internal.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/first_run/first_run_internal.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/first_run/first_run_internal.h @@ -53,7 +53,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel bool force_first_run, bool no_first_run); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For testing, forces the first run dialog to either be shown or not. If not // called, the decision to show the dialog or not will be made by Chrome based // on a number of factors (such as install type, whether it's a Chrome-branded diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__linux.cc b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__linux.cc index eab51c9ad7d2..b8def59696fd 100644 --- a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__linux.cc +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__linux.cc @@ -1,16 +1,16 @@ ---- chrome/browser/first_run/first_run_internal_linux.cc.orig 2023-07-24 14:27:53 UTC +--- chrome/browser/first_run/first_run_internal_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/first_run/first_run_internal_linux.cc @@ -21,7 +21,13 @@ bool IsOrganicFirstRun() { base::FilePath InitialPrefsPath() { // The standard location of the initial prefs is next to the chrome binary. base::FilePath dir_exe; +#if BUILDFLAG(IS_OPENBSD) + dir_exe = base::FilePath("/etc/iridium"); +#elif BUILDFLAG(IS_FREEBSD) + dir_exe = base::FilePath("/usr/local/etc/iridium"); +#else dir_exe = base::FilePath("/etc/iridium-browser"); +#endif return installer::InitialPreferences::Path(dir_exe); } diff --git a/www/iridium/files/patch-chrome_browser_flag__descriptions.cc b/www/iridium/files/patch-chrome_browser_flag__descriptions.cc index feb185365a43..b13beb70d0ec 100644 --- a/www/iridium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/iridium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,165 +1,174 @@ ---- chrome/browser/flag_descriptions.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/flag_descriptions.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/flag_descriptions.cc -@@ -562,7 +562,7 @@ const char kAutofillEnableAllowlistForBmoCardCategoryB +@@ -602,7 +602,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"; -@@ -580,7 +580,7 @@ const char kAutofillEnableAmountExtractionDesktopDescr +@@ -626,7 +626,7 @@ const char kAutofillEnableAmountExtractionDesktopLoggi // BUILDFLAG(IS_CHROMEOS) #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[] = -@@ -992,7 +992,7 @@ const char kDevicePostureDescription[] = +@@ -1031,7 +1031,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[] = -@@ -1077,7 +1077,7 @@ const char kCompressionDictionaryTransportRequireKnown - "when the connection is using a well known root cert or when the server is " - "a localhost."; +@@ -1123,7 +1123,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"; -@@ -1496,7 +1496,7 @@ const char kEnableIsolatedWebAppDevModeName[] = + "Enables the contextual cueing system to support showing actions."; +@@ -1563,7 +1563,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[] = -@@ -3494,7 +3494,7 @@ const char kDefaultSiteInstanceGroupsDescription[] = +@@ -3430,7 +3430,7 @@ const char kRetainOmniboxOnFocusDescription[] = + "exhibit a change in behavior."; + #endif // BUILDFLAG(IS_ANDROID) + +-#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."; +@@ -3648,7 +3648,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 " -@@ -3729,7 +3729,7 @@ const char kTranslateForceTriggerOnEnglishDescription[ +@@ -3863,7 +3863,7 @@ const char kTranslateForceTriggerOnEnglishDescription[ "Force the Translate Triggering on English pages experiment to be enabled " "with the selected language model active."; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char kTranslationAPIName[] = "Experimental translation API"; - const char kTranslationAPIDescription[] = - "Enables the on-device language translation API. " -@@ -5352,7 +5352,7 @@ const char kUserDisplayModeSyncStandaloneMitigationDes - "Enables a mitigation during web app install on CrOS for syncing " - "user_display_mode: kStandalone to non-CrOS devices."; + const char kEnableHistorySyncOptinName[] = "History Sync Opt-in"; + const char kEnableHistorySyncOptinDescription[] = + "Enables the History Sync Opt-in screen on Desktop platforms. The screen " +@@ -5451,7 +5451,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[] = -@@ -7350,7 +7350,7 @@ const char kTetheringExperimentalFunctionalityDescript +@@ -7459,7 +7459,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 " -@@ -7580,7 +7580,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b +@@ -7688,7 +7688,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"; -@@ -7626,6 +7626,18 @@ const char kWaylandUiScalingDescription[] = +@@ -7738,6 +7738,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 ----------------------------------------------- -@@ -7638,7 +7650,7 @@ const char kZeroCopyVideoCaptureDescription[] = +@@ -7750,7 +7762,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."; -@@ -7671,7 +7683,7 @@ const char kTaskManagerDesktopRefreshDescription[] = - "Enables a refreshed design for the Task Manager on Desktop platforms."; - #endif // BUILDFLAG(IS_ANDROID) +@@ -7793,7 +7805,7 @@ const char kGroupPromoPrototypeName[] = "Group Promo P + const char kGroupPromoPrototypeDescription[] = + "Enables prototype for group promo."; -#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[] = -@@ -7703,7 +7715,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti +@@ -7825,7 +7837,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) const char kCupsIppPrintingBackendName[] = "CUPS IPP Printing Backend"; const char kCupsIppPrintingBackendDescription[] = -@@ -7848,7 +7860,7 @@ const char kElementCaptureDescription[] = +@@ -7967,7 +7979,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."; -@@ -7904,7 +7916,7 @@ const char kComposeUpfrontInputModesDescription[] = +@@ -8018,7 +8030,7 @@ const char kComposeUpfrontInputModesDescription[] = "Enables upfront input modes in the Compose dialog"; #endif // BUILDFLAG(ENABLE_COMPOSE) -#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[] = -@@ -8048,7 +8060,7 @@ const char kOverlayScrollbarsOSSettingsDescription[] = - "Enable the OS settings for overlay scrollbars on ChromeOS."; - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -8154,7 +8166,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"; diff --git a/www/iridium/files/patch-chrome_browser_flag__descriptions.h b/www/iridium/files/patch-chrome_browser_flag__descriptions.h index a770c5575ea6..ed0cbb0f5abe 100644 --- a/www/iridium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/iridium/files/patch-chrome_browser_flag__descriptions.h @@ -1,156 +1,165 @@ ---- chrome/browser/flag_descriptions.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/flag_descriptions.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/flag_descriptions.h -@@ -356,7 +356,7 @@ extern const char +@@ -373,7 +373,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[]; -@@ -365,7 +365,7 @@ extern const char kAutofillEnableAmountExtractionDeskt +@@ -384,7 +384,7 @@ extern const char kAutofillEnableAmountExtractionDeskt // 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 kAutofillEnableBuyNowPayLaterName[]; extern const char kAutofillEnableBuyNowPayLaterDescription[]; -@@ -581,7 +581,7 @@ extern const char kCrossTabRegionCaptureName[]; - extern const char kCrossTabRegionCaptureDescription[]; - #endif // !BUILDFLAG(IS_ANDROID) +@@ -602,7 +602,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[]; - #endif // #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -753,7 +753,7 @@ extern const char kDevicePostureName[]; + extern const char kGlicZeroStateSuggestionsName[]; +@@ -786,7 +786,7 @@ extern const char kDevicePostureName[]; extern const char kDevicePostureDescription[]; #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[]; -@@ -915,7 +915,7 @@ extern const char kEnableIsolatedWebAppManagedGuestSes +@@ -948,7 +948,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) -@@ -2017,7 +2017,7 @@ extern const char kDefaultSiteInstanceGroupsName[]; +@@ -1964,7 +1964,7 @@ extern const char kRetainOmniboxOnFocusName[]; + extern const char kRetainOmniboxOnFocusDescription[]; + #endif // BUILDFLAG(IS_ANDROID) + +-#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) +@@ -2096,7 +2096,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 -@@ -2177,7 +2177,7 @@ extern const char kTouchTextEditingRedesignDescription +@@ -2242,7 +2242,7 @@ extern const char kTouchTextEditingRedesignDescription extern const char kTranslateForceTriggerOnEnglishName[]; extern const char kTranslateForceTriggerOnEnglishDescription[]; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - extern const char kTranslationAPIName[]; - extern const char kTranslationAPIDescription[]; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -3144,7 +3144,7 @@ extern const char kUserDisplayModeSyncBrowserMitigatio - extern const char kUserDisplayModeSyncStandaloneMitigationName[]; - extern const char kUserDisplayModeSyncStandaloneMitigationDescription[]; + extern const char kEnableHistorySyncOptinName[]; + extern const char kEnableHistorySyncOptinDescription[]; + +@@ -3197,7 +3197,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) -@@ -4325,7 +4325,7 @@ extern const char kTetheringExperimentalFunctionalityD +@@ -4385,7 +4385,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) -@@ -4460,7 +4460,7 @@ extern const char kEnableArmHwdrmDescription[]; +@@ -4520,7 +4520,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[]; -@@ -4488,6 +4488,9 @@ extern const char kWaylandTextInputV3Description[]; +@@ -4551,6 +4551,9 @@ extern const char kWaylandTextInputV3Description[]; extern const char kWaylandUiScalingName[]; extern const char kWaylandUiScalingDescription[]; + +extern const char kAudioBackendName[]; +extern const char kAudioBackendDescription[]; #endif // BUILDFLAG(IS_LINUX) // Random platform combinations ----------------------------------------------- -@@ -4507,7 +4510,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa +@@ -4570,7 +4573,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) extern const char kCupsIppPrintingBackendName[]; extern const char kCupsIppPrintingBackendDescription[]; -@@ -4520,7 +4523,7 @@ extern const char kScreenlockReauthCardDescription[]; +@@ -4583,7 +4586,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) || -@@ -4534,7 +4537,7 @@ extern const char kTaskManagerDesktopRefreshName[]; + +@@ -4600,7 +4603,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[]; -@@ -4629,7 +4632,7 @@ extern const char kElementCaptureName[]; +@@ -4695,7 +4698,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 -@@ -4671,7 +4674,7 @@ extern const char kComposeUpfrontInputModesName[]; +@@ -4734,7 +4737,7 @@ extern const char kComposeUpfrontInputModesName[]; extern const char kComposeUpfrontInputModesDescription[]; #endif // BUILDFLAG(ENABLE_COMPOSE) -#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[]; -@@ -4756,7 +4759,7 @@ extern const char kEnablePolicyPromotionBannerName[]; - extern const char kEnablePolicyPromotionBannerDescription[]; - #endif // !BUILDFLAG(IS_ANDROID) +@@ -4814,7 +4817,7 @@ extern const char kEnablePolicyPromotionBannerDescript + 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[]; diff --git a/www/iridium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc b/www/iridium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc index e530b5f76922..7c56c9eb2738 100644 --- a/www/iridium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/gcm/gcm_profile_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/gcm/gcm_profile_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/gcm/gcm_profile_service_factory.cc @@ -110,7 +110,7 @@ GCMProfileServiceFactory::ScopedTestingFactoryInstalle // static GCMProfileService* GCMProfileServiceFactory::GetForProfile( content::BrowserContext* profile) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, incognito profiles are checked with IsIncognitoProfile(). // It's possible for non-incognito profiles to also be off-the-record. bool is_profile_supported = @@ -153,7 +153,7 @@ std::unique_ptr GCMProfileServiceFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const { Profile* profile = Profile::FromBrowserContext(context); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DCHECK(!profile->IsIncognitoProfile()); #else DCHECK(!profile->IsOffTheRecord()); diff --git a/www/iridium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc b/www/iridium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc index 9997aa8703de..417f3c70eaca 100644 --- a/www/iridium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc @@ -16,7 +16,7 @@ namespace instance_id { // static InstanceIDProfileService* InstanceIDProfileServiceFactory::GetForProfile( content::BrowserContext* profile) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, the guest profile is actually the primary OTR profile of // the "regular" guest profile. The regular guest profile is never used // directly by users. Also, user are not able to create child OTR profiles @@ -65,7 +65,7 @@ std::unique_ptr InstanceIDProfileServiceFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const { Profile* profile = Profile::FromBrowserContext(context); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, incognito profiles are checked with IsIncognitoProfile(). // It's possible for non-incognito profiles to also be off-the-record. bool is_incognito = profile->IsIncognitoProfile(); diff --git a/www/iridium/files/patch-chrome_browser_global__features.cc b/www/iridium/files/patch-chrome_browser_global__features.cc index d1c755ec4102..55e3e9757b12 100644 --- a/www/iridium/files/patch-chrome_browser_global__features.cc +++ b/www/iridium/files/patch-chrome_browser_global__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/global_features.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/global_features.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/global_features.cc -@@ -21,7 +21,7 @@ - #include "chrome/browser/glic/glic_profile_manager.h" // nogncheck +@@ -22,7 +22,7 @@ + #include "chrome/browser/glic/host/glic_synthetic_trial_manager.h" // nogncheck #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This causes a gn error on Android builds, because gn does not understand // buildflags, so we include it only on platforms where it is used. #include "chrome/browser/ui/webui/whats_new/whats_new_registrar.h" -@@ -60,7 +60,7 @@ void GlobalFeatures::ReplaceGlobalFeaturesForTesting( +@@ -61,7 +61,7 @@ void GlobalFeatures::ReplaceGlobalFeaturesForTesting( void GlobalFeatures::Init() { system_permissions_platform_handle_ = CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) whats_new_registry_ = CreateWhatsNewRegistry(); #endif -@@ -88,7 +88,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -93,7 +93,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( return system_permission_settings::PlatformHandle::Create(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr GlobalFeatures::CreateWhatsNewRegistry() { return whats_new::CreateWhatsNewRegistry(); diff --git a/www/iridium/files/patch-chrome_browser_global__features.h b/www/iridium/files/patch-chrome_browser_global__features.h index 2cefb9ad1e95..8b45b945d265 100644 --- a/www/iridium/files/patch-chrome_browser_global__features.h +++ b/www/iridium/files/patch-chrome_browser_global__features.h @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/global_features.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/global_features.h @@ -14,7 +14,7 @@ namespace system_permission_settings { class PlatformHandle; } // namespace system_permission_settings -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace whats_new { class WhatsNewRegistry; } // namespace whats_new -@@ -55,7 +55,7 @@ class GlobalFeatures { +@@ -56,7 +56,7 @@ class GlobalFeatures { system_permissions_platform_handle() { return system_permissions_platform_handle_.get(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) whats_new::WhatsNewRegistry* whats_new_registry() { return whats_new_registry_.get(); } -@@ -80,7 +80,7 @@ class GlobalFeatures { +@@ -85,7 +85,7 @@ class GlobalFeatures { virtual std::unique_ptr CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual std::unique_ptr CreateWhatsNewRegistry(); #endif -@@ -90,7 +90,7 @@ class GlobalFeatures { +@@ -95,7 +95,7 @@ class GlobalFeatures { std::unique_ptr system_permissions_platform_handle_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr whats_new_registry_; #endif diff --git a/www/iridium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/iridium/files/patch-chrome_browser_headless_headless__mode__util.cc index 7f742c22e5f7..c48ededf1309 100644 --- a/www/iridium/files/patch-chrome_browser_headless_headless__mode__util.cc +++ b/www/iridium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/headless/headless_mode_util.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/headless/headless_mode_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/headless/headless_mode_util.cc @@ -10,7 +10,7 @@ // New headless mode is available on Linux, Windows and Mac platforms. // More platforms will be added later, so avoid function level clutter // by providing stub implementations at the end of the file. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #include "base/files/file_path.h" @@ -20,7 +20,7 @@ #include "content/public/common/content_switches.h" #include "ui/base/ui_base_switches.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/gl/gl_switches.h" // nogncheck #include "ui/ozone/public/ozone_switches.h" // nogncheck #endif // BUILDFLAG(IS_LINUX) @@ -95,7 +95,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Headless mode on Linux relies on ozone/headless platform. command_line->AppendSwitchASCII(::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/iridium/files/patch-chrome_browser_intranet__redirect__detector.h b/www/iridium/files/patch-chrome_browser_intranet__redirect__detector.h index 6fe08bc60ad0..0a1e477cb996 100644 --- a/www/iridium/files/patch-chrome_browser_intranet__redirect__detector.h +++ b/www/iridium/files/patch-chrome_browser_intranet__redirect__detector.h @@ -1,11 +1,11 @@ ---- chrome/browser/intranet_redirect_detector.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/intranet_redirect_detector.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/intranet_redirect_detector.h @@ -25,7 +25,7 @@ class SimpleURLLoader; class PrefRegistrySimple; #if !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS)) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) #error "IntranetRedirectDetector should only be built on Desktop platforms." #endif diff --git a/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc index a7ec225555bf..0e4577554313 100644 --- a/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc +++ b/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc @@ -1,15 +1,15 @@ ---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc @@ -40,10 +40,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem( // Note that this initializes the delegate asynchronously, but since // the delegate will only be used from the IO thread, it is guaranteed // to be created before use of it expects it to be there. +#if !BUILDFLAG(IS_BSD) CreateMTPDeviceAsyncDelegate( device_location, read_only, base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate, base::Unretained(this), device_location, read_only)); +#endif mtp_device_usage_map_[key] = 0; } diff --git a/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc index a94d8c358456..4251b18881ad 100644 --- a/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc +++ b/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc @@ -1,16 +1,16 @@ ---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media_galleries/media_file_system_registry.cc -@@ -584,7 +584,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI +@@ -583,7 +583,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI // Constructor in 'private' section because depends on private class definition. MediaFileSystemRegistry::MediaFileSystemRegistry() : file_system_context_(new MediaFileSystemContextImpl) { - StorageMonitor::GetInstance()->AddObserver(this); + /* + * This conditional is needed for shutdown. Destructors + * try to get the media file system registry. + */ + if (StorageMonitor::GetInstance()) + StorageMonitor::GetInstance()->AddObserver(this); } MediaFileSystemRegistry::~MediaFileSystemRegistry() { diff --git a/www/iridium/files/patch-chrome_browser_media_audio__service__util.cc b/www/iridium/files/patch-chrome_browser_media_audio__service__util.cc index e025ab5c5563..f88ad2879066 100644 --- a/www/iridium/files/patch-chrome_browser_media_audio__service__util.cc +++ b/www/iridium/files/patch-chrome_browser_media_audio__service__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/media/audio_service_util.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/audio_service_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/audio_service_util.cc @@ -20,7 +20,7 @@ namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::Value* GetPolicy(const char* policy_name) { const policy::PolicyMap& policies = g_browser_process->browser_policy_connector() @@ -39,7 +39,7 @@ bool GetPolicyOrFeature(const char* policy_name, const } // namespace bool IsAudioServiceSandboxEnabled() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled, features::kAudioServiceSandbox); #else diff --git a/www/iridium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/iridium/files/patch-chrome_browser_media_router_discovery_BUILD.gn index 90fb7400af6e..fc0f7d017a34 100644 --- a/www/iridium/files/patch-chrome_browser_media_router_discovery_BUILD.gn +++ b/www/iridium/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/router/discovery/BUILD.gn @@ -79,7 +79,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/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc index d42036a810cd..6050541262fd 100644 --- a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc +++ b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc @@ -1,48 +1,48 @@ ---- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc @@ -10,11 +10,12 @@ #include "chrome/browser/media/router/discovery/discovery_network_list.h" #include +#include +#include +#include #include #include #include -#include -#include #include @@ -23,7 +24,7 @@ #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" #include "net/base/net_errors.h" -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) #include #else #include @@ -32,7 +33,7 @@ namespace media_router { namespace { -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) using sll = struct sockaddr_ll; #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype) #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen) @@ -43,6 +44,12 @@ using sll = struct sockaddr_dl; #define SOCKET_ARP_TYPE(s) ((s)->sdl_type) #define SOCKET_ADDRESS_LEN(s) ((s)->sdl_alen) #define SOCKET_ADDRESS(s) (LLADDR(s)) +#endif + +#if BUILDFLAG(IS_BSD) +bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { + return false; +} #endif void GetDiscoveryNetworkInfoListImpl( diff --git a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc index fdece8a5ae17..1b084d95d8ae 100644 --- a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc @@ -9,7 +9,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 { 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: ssid_out->assign(ssid); return true; } +#endif return false; } diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc index 7189ce3a4bb4..49dcd1440e9a 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc @@ -1,47 +1,47 @@ ---- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/chrome_screen_enumerator.cc @@ -21,7 +21,7 @@ #if BUILDFLAG(IS_CHROMEOS) #include "ash/shell.h" #include "ui/aura/window.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/functional/callback.h" #include "content/public/browser/desktop_capture.h" #endif @@ -32,7 +32,7 @@ base::LazyInstance>::DestructorAtExit g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER; @@ -79,7 +79,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens( return stream_devices_set; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) blink::mojom::StreamDevicesSetPtr EnumerateScreens( blink::mojom::MediaStreamType stream_type) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -130,7 +130,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting( root_windows_for_testing_.Get() = std::move(root_windows); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromeScreenEnumerator::SetDesktopCapturerForTesting( std::unique_ptr capturer) { g_desktop_capturer_for_testing.Get() = std::move(capturer); @@ -143,7 +143,7 @@ void ChromeScreenEnumerator::EnumerateScreens( ScreensCallback screens_callback) const { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) content::GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult( FROM_HERE, base::BindOnce(::EnumerateScreens, stream_type), base::BindOnce( diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h b/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h index b26c4a7b897e..1e42b35a9c01 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/chrome_screen_enumerator.h @@ -18,7 +18,7 @@ namespace aura { class Window; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace webrtc { class DesktopCapturer; } @@ -39,7 +39,7 @@ class ChromeScreenEnumerator : public media::ScreenEnu #if BUILDFLAG(IS_CHROMEOS) static void SetRootWindowsForTesting( std::vector> root_windows); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) static void SetDesktopCapturerForTesting( std::unique_ptr capturer); #endif diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc index 0faeb8843ab3..410002be85f4 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc +++ b/www/iridium/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 2024-06-25 12:08:48 UTC +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc @@ -89,7 +89,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur #if BUILDFLAG(IS_MAC) return request_source == Params::RequestSource::kCast || base::FeatureList::IsEnabled(media::kMacLoopbackAudioForScreenShare); -#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/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc index e36225c94097..a826eabc0caf 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/webrtc_log_uploader.cc @@ -105,7 +105,7 @@ std::string GetLogUploadProduct() { const char product[] = "Chrome"; #elif BUILDFLAG(IS_MAC) const char product[] = "Chrome_Mac"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if !defined(ADDRESS_SANITIZER) const char product[] = "Chrome_Linux"; #else diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc index 94d50d043c75..c4c7de4ecf76 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -1,33 +1,33 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.cc @@ -25,10 +25,10 @@ #include "components/webrtc_logging/browser/text_log_list.h" #include "content/public/browser/render_process_host.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/public/browser/child_process_security_policy.h" #include "storage/browser/file_system/isolated_context.h" -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) using webrtc_event_logging::WebRtcEventLogManager; @@ -304,7 +304,7 @@ void WebRtcLoggingController::StartEventLogging( web_app_id, callback); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void WebRtcLoggingController::GetLogsDirectory( LogsDirectoryCallback callback, LogsDirectoryErrorCallback error_callback) { @@ -350,7 +350,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess FROM_HERE, base::BindOnce(std::move(callback), file_system.id(), registered_name)); } -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void WebRtcLoggingController::OnRtpPacket( base::HeapArray packet_header, diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h index c077614dd449..8f5932b0326a 100644 --- a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.h @@ -133,7 +133,7 @@ class WebRtcLoggingController size_t web_app_id, const StartEventLoggingCallback& callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Ensures that the WebRTC Logs directory exists and then grants render // process access to the 'WebRTC Logs' directory, and invokes |callback| with // the ids necessary to create a DirectoryEntry object. @@ -197,7 +197,7 @@ class WebRtcLoggingController content::BrowserContext* GetBrowserContext() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Grants the render process access to the 'WebRTC Logs' directory, and // invokes |callback| with the ids necessary to create a DirectoryEntry // object. If the |logs_path| couldn't be created or found, |error_callback| diff --git a/www/iridium/files/patch-chrome_browser_memory__details.cc b/www/iridium/files/patch-chrome_browser_memory__details.cc index c769a88fac1b..8f69cf12dc8e 100644 --- a/www/iridium/files/patch-chrome_browser_memory__details.cc +++ b/www/iridium/files/patch-chrome_browser_memory__details.cc @@ -1,11 +1,11 @@ ---- chrome/browser/memory_details.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/memory_details.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/memory_details.cc @@ -335,7 +335,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/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index 202fb3d6bba2..af5f6f24c4a0 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -1,52 +1,52 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -86,7 +86,7 @@ +@@ -85,7 +85,7 @@ #include "chrome/browser/flags/android/chrome_session_state.h" #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if defined(__GLIBC__) #include #endif // defined(__GLIBC__) -@@ -111,7 +111,7 @@ +@@ -110,7 +110,7 @@ #include "chrome/installer/util/taskbar_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/metrics/pressure/pressure_metrics_reporter.h" #endif // BUILDFLAG(IS_LINUX) -@@ -120,7 +120,7 @@ +@@ -119,7 +119,7 @@ #include "components/user_manager/user_manager.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/power_metrics/system_power_monitor.h" #endif -@@ -872,7 +872,7 @@ void RecordStartupMetrics() { +@@ -873,7 +873,7 @@ void RecordStartupMetrics() { // Record whether Chrome is the default browser or not. // Disabled on Linux due to hanging browser tests, see crbug.com/1216328. -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) shell_integration::DefaultWebClientState default_state = shell_integration::GetDefaultBrowser(); base::UmaHistogramEnumeration("DefaultBrowser.State", default_state, -@@ -1183,11 +1183,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt +@@ -1181,11 +1181,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt std::make_unique(); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) pressure_metrics_reporter_ = std::make_unique(); #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver( power_metrics::SystemPowerMonitor::GetInstance()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h index e102cc83118e..1b6c9280f30c 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h +++ b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h @@ -1,20 +1,20 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h @@ -29,7 +29,7 @@ class PowerMetricsReporter; class ProcessMonitor; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class PressureMetricsReporter; #endif // BUILDFLAG(IS_LINUX) @@ -126,7 +126,7 @@ class ChromeBrowserMainExtraPartsMetrics : public Chro std::unique_ptr web_app_metrics_provider_; #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Reports pressure metrics. std::unique_ptr pressure_metrics_reporter_; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index 363f6cf95c83..5371d239f2c5 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,97 +1,97 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -196,11 +196,11 @@ +@@ -197,11 +197,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 @@ -233,7 +233,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) @@ -537,7 +537,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) @@ -619,7 +619,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. -@@ -724,7 +724,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -721,7 +721,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 -@@ -784,7 +784,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -781,7 +781,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 -@@ -873,7 +873,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -870,7 +870,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) @@ -974,7 +974,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) @@ -1160,7 +1160,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( @@ -1509,7 +1509,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/iridium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/www/iridium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc index 9e10655f3bd4..cb853712d59c 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc +++ b/www/iridium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc @@ -1,11 +1,11 @@ ---- chrome/browser/metrics/perf/cpu_identity.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/perf/cpu_identity.cc -@@ -145,7 +145,7 @@ CPUIdentity GetCPUIdentity() { +@@ -146,7 +146,7 @@ CPUIdentity GetCPUIdentity() { result.release = #if BUILDFLAG(IS_CHROMEOS) base::SysInfo::KernelVersion(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::SysInfo::OperatingSystemVersion(); #else #error "Unsupported configuration" diff --git a/www/iridium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc b/www/iridium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc index b053d2dad451..b655479128c9 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc +++ b/www/iridium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc @@ -1,11 +1,11 @@ ---- chrome/browser/metrics/power/process_metrics_recorder_util.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/metrics/power/process_metrics_recorder_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/power/process_metrics_recorder_util.cc @@ -65,7 +65,7 @@ void RecordProcessHistograms(const char* histogram_suf const ProcessMonitor::Metrics& metrics) { RecordAverageCPUUsage(histogram_suffix, metrics.cpu_usage); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) base::UmaHistogramCounts10000( base::StrCat({"PerformanceMonitor.IdleWakeups2.", histogram_suffix}), metrics.idle_wakeups); diff --git a/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.cc b/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.cc index c72b8187e6ca..a81f764addfd 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.cc +++ b/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.cc @@ -1,29 +1,29 @@ ---- chrome/browser/metrics/power/process_monitor.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/metrics/power/process_monitor.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/power/process_monitor.cc @@ -65,7 +65,7 @@ ProcessMonitor::Metrics SampleMetrics(base::ProcessMet process_metrics.GetPlatformIndependentCPUUsage()); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) metrics.idle_wakeups = process_metrics.GetIdleWakeupsPerSecond(); #endif #if BUILDFLAG(IS_MAC) @@ -83,7 +83,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) metrics->idle_wakeups *= factor; #endif @@ -157,7 +157,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) lhs.idle_wakeups += rhs.idle_wakeups; #endif diff --git a/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.h b/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.h index 8ca778a3412d..c4755a67f52e 100644 --- a/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.h +++ b/www/iridium/files/patch-chrome_browser_metrics_power_process__monitor.h @@ -1,11 +1,11 @@ ---- chrome/browser/metrics/power/process_monitor.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/metrics/power/process_monitor.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/metrics/power/process_monitor.h @@ -76,7 +76,7 @@ class ProcessMonitor : public content::BrowserChildPro std::optional cpu_usage; #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) // Returns the number of average idle cpu wakeups per second since the last // time the metric was sampled. int idle_wakeups = 0; diff --git a/www/iridium/files/patch-chrome_browser_net_profile__network__context__service.cc b/www/iridium/files/patch-chrome_browser_net_profile__network__context__service.cc index 3f835e59406f..f08fc33fa59c 100644 --- a/www/iridium/files/patch-chrome_browser_net_profile__network__context__service.cc +++ b/www/iridium/files/patch-chrome_browser_net_profile__network__context__service.cc @@ -1,29 +1,29 @@ ---- chrome/browser/net/profile_network_context_service.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/net/profile_network_context_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/net/profile_network_context_service.cc -@@ -134,7 +134,7 @@ +@@ -135,7 +135,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 "components/enterprise/client_certificates/core/certificate_provisioning_service.h" - #include "components/enterprise/client_certificates/core/client_certificates_service.h" -@@ -261,7 +261,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet + #include "chrome/browser/policy/chrome_browser_policy_connector.h" + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" +@@ -276,7 +276,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) { -@@ -1202,7 +1202,7 @@ ProfileNetworkContextService::CreateClientCertStore() +@@ -1228,7 +1228,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/iridium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc b/www/iridium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc index 446e7947f1c7..59f0458fcdd0 100644 --- a/www/iridium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_net_profile__network__context__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/net/profile_network_context_service_factory.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/net/profile_network_context_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/net/profile_network_context_service_factory.cc @@ -24,7 +24,7 @@ #include "chrome/browser/net/server_certificate_database_service_factory.h" // nogncheck #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" #endif @@ -68,7 +68,7 @@ ProfileNetworkContextServiceFactory::ProfileNetworkCon #if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) DependsOn(net::ServerCertificateDatabaseServiceFactory::GetInstance()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DependsOn(client_certificates::CertificateProvisioningServiceFactory:: GetInstance()); #endif diff --git a/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc index d29ac33631b0..f5bac4029b88 100644 --- a/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,138 +1,138 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -134,7 +134,7 @@ SystemNetworkContextManager* g_system_network_context_ +@@ -135,7 +135,7 @@ SystemNetworkContextManager* g_system_network_context_ // received a failed launch for a sandboxed network service. bool g_previously_failed_to_launch_sandboxed_service = false; -#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; -@@ -142,7 +142,7 @@ bool g_network_service_will_allow_gssapi_library_load +@@ -143,7 +143,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) -@@ -188,7 +188,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -189,7 +189,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) -@@ -203,7 +203,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -204,7 +204,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) -@@ -213,7 +213,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -214,7 +214,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 -@@ -255,11 +255,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -256,11 +256,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() if (g_previously_failed_to_launch_sandboxed_service) { return NetworkSandboxState::kDisabledBecauseOfFailedLaunch; } -#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 || -@@ -275,7 +275,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -276,7 +276,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) -@@ -519,7 +519,7 @@ void SystemNetworkContextManager::DeleteInstance() { +@@ -522,7 +522,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) {} -@@ -577,7 +577,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -580,7 +580,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) -@@ -591,7 +591,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -594,7 +594,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) -@@ -656,7 +656,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -659,7 +659,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) -@@ -681,11 +681,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -684,11 +684,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) -@@ -738,7 +738,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -741,7 +741,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) -@@ -957,7 +957,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -960,7 +960,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/iridium/files/patch-chrome_browser_net_system__network__context__manager.h b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.h index e9c3b73704e8..279eb9ee88b3 100644 --- a/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.h +++ b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.h @@ -1,20 +1,20 @@ ---- chrome/browser/net/system_network_context_manager.h.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/net/system_network_context_manager.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/net/system_network_context_manager.h @@ -198,7 +198,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: @@ -279,7 +279,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/iridium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc b/www/iridium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc index 0d5af2ed56a2..2743ba3f4afc 100644 --- a/www/iridium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc +++ b/www/iridium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc @@ -35,7 +35,7 @@ #include "services/network/public/cpp/resource_request.h" namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kPlatform[] = "LINUX"; #elif BUILDFLAG(IS_WIN) constexpr char kPlatform[] = "WINDOWS"; diff --git a/www/iridium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/www/iridium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc index 6235be23db05..4cb7f166656d 100644 --- a/www/iridium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc +++ b/www/iridium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/new_tab_page/new_tab_page_util.cc @@ -28,7 +28,7 @@ bool IsOsSupportedForCart() { } bool IsOsSupportedForDrive() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc index f496d8a496c5..6ee9c30ed4b3 100644 --- a/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc +++ b/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -1,38 +1,38 @@ ---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/notifications/notification_display_service_impl.cc @@ -31,7 +31,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" #include "chrome/browser/sharing/sharing_notification_handler.h" #endif @@ -60,7 +60,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer // static void NotificationDisplayServiceImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true); #endif } @@ -76,7 +76,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer std::make_unique()); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AddNotificationHandler( NotificationHandler::Type::SEND_TAB_TO_SELF, std::make_unique( @@ -84,7 +84,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer #endif #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN)) && \ + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) AddNotificationHandler( NotificationHandler::Type::TAILORED_SECURITY, diff --git a/www/iridium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/www/iridium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc index 9ea673e0e3c6..8ea750fb5486 100644 --- a/www/iridium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc +++ b/www/iridium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc @@ -1,11 +1,11 @@ ---- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/notifications/notification_platform_bridge_delegator.cc @@ -55,7 +55,7 @@ bool SystemNotificationsEnabled(Profile* profile) { #elif BUILDFLAG(IS_WIN) return NotificationPlatformBridgeWin::SystemNotificationEnabled(); #else -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (profile) { // Prefs take precedence over flags. PrefService* prefs = profile->GetPrefs(); diff --git a/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index 8d0b08c991d6..09518958c5c4 100644 --- a/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ b/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -1,20 +1,20 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -642,7 +642,7 @@ void ChromePasswordManagerClient:: +@@ -638,7 +638,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; } -@@ -920,7 +920,7 @@ void ChromePasswordManagerClient::NotifyUserCredential +@@ -916,7 +916,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) { diff --git a/www/iridium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/www/iridium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc index 566ff411b4b1..1c5de3fc957f 100644 --- a/www/iridium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc +++ b/www/iridium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/password_manager/password_reuse_manager_factory.cc @@ -137,7 +137,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/iridium/files/patch-chrome_browser_platform__util__linux.cc b/www/iridium/files/patch-chrome_browser_platform__util__linux.cc index 5d5efb832003..f65b74c1d5fc 100644 --- a/www/iridium/files/patch-chrome_browser_platform__util__linux.cc +++ b/www/iridium/files/patch-chrome_browser_platform__util__linux.cc @@ -1,12 +1,12 @@ ---- chrome/browser/platform_util_linux.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/platform_util_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/platform_util_linux.cc @@ -302,7 +302,9 @@ void OnLaunchOptionsCreated(const std::string& command argv.push_back(command); argv.push_back(arg); options.current_directory = working_directory; +#if !BUILDFLAG(IS_BSD) options.allow_new_privs = true; +#endif // xdg-open can fall back on mailcap which eventually might plumb through // to a command that needs a terminal. Set the environment variable telling // it that we definitely don't have a terminal available and that it should diff --git a/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc index c18a4b5f00f2..3d667ce1d7d2 100644 --- a/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc +++ b/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2022-12-01 10:35:46 UTC +--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/policy/browser_signin_policy_handler.cc @@ -45,7 +45,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c policies.GetValue(policy_name(), base::Value::Type::INTEGER); switch (static_cast(value->GetInt())) { case BrowserSigninMode::kForced: -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); #endif [[fallthrough]]; diff --git a/www/iridium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/iridium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index 15b926c56936..3ca5bdd40b1d 100644 --- a/www/iridium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/iridium/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-16 18:18:42 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc @@ -60,7 +60,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 @@ #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:: #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 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 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/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index 6b8076654cd2..ffbb9c210dfa 100644 --- a/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,254 +1,254 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc @@ -255,19 +255,19 @@ #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/enterprise/idle/action.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897 #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "components/enterprise/idle/idle_timeout_policy_handler.h" #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/privacy_sandbox/privacy_sandbox_policy_handler.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) @@ -281,13 +281,13 @@ #endif // BUILDFLAG(ENTERPRISE_CLIENT_CERTIFICATES) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/battery_saver_policy_handler.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_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/search_engines/enterprise/search_aggregator_policy_handler.h" #include "components/search_engines/enterprise/site_search_policy_handler.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -595,7 +595,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -592,7 +592,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { key::kDefaultDirectSocketsSetting, prefs::kManagedDefaultDirectSocketsSetting, base::Value::Type::INTEGER }, -#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 }, -@@ -966,7 +966,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -957,7 +957,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kManagedDefaultGeolocationSetting, base::Value::Type::INTEGER }, #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 }, -@@ -975,7 +975,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -966,7 +966,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #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 }, -@@ -1821,7 +1821,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1842,7 +1842,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 }, -@@ -1880,7 +1880,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1901,7 +1901,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) -#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 }, -@@ -1900,12 +1900,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1921,12 +1921,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 }, -@@ -1916,7 +1916,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1937,7 +1937,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 }, -@@ -1928,7 +1928,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1949,7 +1949,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 }, -@@ -2029,7 +2029,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2050,7 +2050,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 }, -@@ -2131,7 +2131,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - base::Value::Type::LIST }, +@@ -2155,7 +2155,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 }, -@@ -2202,7 +2202,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2226,7 +2226,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::kTabDiscardingExceptions, performance_manager::user_tuning::prefs::kManagedTabDiscardingExceptions, base::Value::Type::LIST }, -@@ -2231,7 +2231,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2255,7 +2255,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kUiAutomationProviderEnabled, 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 }, -@@ -2271,7 +2271,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2298,7 +2298,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::INTEGER }, #endif #if BUILDFLAG(ENABLE_EXTENSIONS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kExtensionInstallTypeBlocklist, extensions::pref_names::kExtensionInstallTypeBlocklist, base::Value::Type::LIST}, -@@ -2297,7 +2297,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2324,7 +2324,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 }, -@@ -2483,7 +2483,7 @@ std::unique_ptr BuildH +@@ -2513,7 +2513,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, -@@ -2710,7 +2710,7 @@ std::unique_ptr BuildH +@@ -2734,7 +2734,7 @@ std::unique_ptr BuildH #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) handlers->AddHandler( std::make_unique()); handlers->AddHandler( -@@ -2763,7 +2763,7 @@ std::unique_ptr BuildH +@@ -2793,7 +2793,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()); -@@ -2849,7 +2849,7 @@ std::unique_ptr BuildH +@@ -2890,7 +2890,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)); -@@ -3221,7 +3221,7 @@ std::unique_ptr BuildH +@@ -3262,7 +3262,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( -@@ -3229,7 +3229,7 @@ std::unique_ptr BuildH +@@ -3270,7 +3270,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)); -@@ -3247,7 +3247,7 @@ std::unique_ptr BuildH +@@ -3288,7 +3288,7 @@ std::unique_ptr BuildH first_party_sets::FirstPartySetsOverridesPolicyHandler>( key::kRelatedWebsiteSetsOverrides, chrome_schema))); #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) handlers->AddHandler(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -@@ -3270,7 +3270,7 @@ std::unique_ptr BuildH +@@ -3311,7 +3311,7 @@ std::unique_ptr BuildH base::Value::Type::BOOLEAN))); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -3288,7 +3288,7 @@ std::unique_ptr BuildH +@@ -3329,7 +3329,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/iridium/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/www/iridium/files/patch-chrome_browser_policy_device__management__service__configuration.cc index 8f42a6e0a837..db8778a2959e 100644 --- a/www/iridium/files/patch-chrome_browser_policy_device__management__service__configuration.cc +++ b/www/iridium/files/patch-chrome_browser_policy_device__management__service__configuration.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/device_management_service_configuration.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/policy/device_management_service_configuration.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/policy/device_management_service_configuration.cc @@ -22,7 +22,7 @@ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ - !BUILDFLAG(IS_ANDROID)) + !BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/common.h" #include "chrome/browser/enterprise/connectors/connectors_service.h" #endif diff --git a/www/iridium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc b/www/iridium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc index ac968aa096cf..6abf6049908b 100644 --- a/www/iridium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc +++ b/www/iridium/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/policy/policy_value_and_status_aggregator.cc @@ -49,7 +49,7 @@ #include "chrome/browser/policy/value_provider/extension_policies_value_provider.h" #endif // BUILDFLAG(ENABLE_EXTENSIONS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/policy/core/common/cloud/profile_cloud_policy_manager.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc index c08cde65095b..68f915a33635 100644 --- a/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,67 +1,67 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -312,7 +312,7 @@ - #include "components/ntp_tiles/custom_links_manager_impl.h" - #endif // BUILDFLAG(IS_ANDROID) +@@ -316,7 +316,7 @@ + #include "chrome/browser/devtools/devtools_window.h" + #endif // !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #endif -@@ -481,11 +481,11 @@ +@@ -487,11 +487,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 -@@ -513,7 +513,7 @@ +@@ -519,7 +519,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 -@@ -1663,7 +1663,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1664,7 +1664,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 -@@ -1822,7 +1822,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1821,7 +1821,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 -@@ -2176,12 +2176,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2177,12 +2177,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/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc index 1f16af088cb1..464df721babe 100644 --- a/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc +++ b/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/prefs/pref_service_incognito_allowlist.cc @@ -203,7 +203,7 @@ const char* const kPersistentPrefNames[] = { prefs::kShowFullscreenToolbar, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Toggleing custom frames affects all open windows in the profile, hence // should be written to the regular profile when changed in incognito mode. prefs::kUseCustomChromeFrame, diff --git a/www/iridium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/iridium/files/patch-chrome_browser_printing_print__backend__service__manager.cc index 123c17dfa015..4865a768ef5c 100644 --- a/www/iridium/files/patch-chrome_browser_printing_print__backend__service__manager.cc +++ b/www/iridium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -1,29 +1,29 @@ ---- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/printing/print_backend_service_manager.cc @@ -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" #endif @@ -883,7 +883,7 @@ PrintBackendServiceManager::GetServiceFromBundle( host.BindNewPipeAndPassReceiver(), content::ServiceProcessHost::Options() .WithDisplayName(IDS_UTILITY_PROCESS_PRINT_BACKEND_SERVICE_NAME) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) .WithExtraCommandLineSwitches({switches::kMessageLoopTypeUi}) #endif .Pass()); @@ -1060,7 +1060,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/iridium/files/patch-chrome_browser_printing_printer__query.cc b/www/iridium/files/patch-chrome_browser_printing_printer__query.cc index fb5fdc74de33..35e602b6ee9b 100644 --- a/www/iridium/files/patch-chrome_browser_printing_printer__query.cc +++ b/www/iridium/files/patch-chrome_browser_printing_printer__query.cc @@ -1,11 +1,11 @@ ---- chrome/browser/printing/printer_query.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/printing/printer_query.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/printing/printer_query.cc -@@ -341,7 +341,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di +@@ -342,7 +342,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di crash_key = std::make_unique( printer_name, print_backend->GetPrinterDriverInfo(printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_CUPS) PrinterBasicInfo basic_info; if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == mojom::ResultCode::kSuccess) { diff --git a/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc b/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc index 4116e95754db..cfcc5562179d 100644 --- a/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc +++ b/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc @@ -1,20 +1,20 @@ ---- chrome/browser/process_singleton_posix.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/process_singleton_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/process_singleton_posix.cc @@ -102,7 +102,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/scoped_startup_resource_bundle.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/process_singleton_dialog_linux.h" #endif @@ -360,7 +360,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo if (g_disable_prompt) return g_user_opted_unlock_in_use_profile; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::u16string relaunch_button_text = l10n_util::GetStringUTF16(IDS_PROFILE_IN_USE_LINUX_RELAUNCH); return ShowProcessSingletonDialog(error, relaunch_button_text); diff --git a/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 6bfb9bad9e12..21f8824c780a 100644 --- a/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,139 +1,139 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -350,7 +350,7 @@ +@@ -358,7 +358,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" #endif -@@ -392,7 +392,7 @@ +@@ -400,7 +400,7 @@ #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.h" #include "chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.h" #include "chrome/browser/enterprise/signals/user_permission_service_factory.h" -@@ -400,7 +400,7 @@ +@@ -408,7 +408,7 @@ #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 -@@ -408,7 +408,7 @@ +@@ -416,7 +416,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" -@@ -722,7 +722,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -730,7 +730,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(); -@@ -779,7 +779,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -787,7 +787,7 @@ void ChromeBrowserMainExtraPartsProfiles:: 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(); -@@ -834,31 +834,31 @@ void ChromeBrowserMainExtraPartsProfiles:: - #endif +@@ -843,31 +843,31 @@ 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(); #endif #if !BUILDFLAG(IS_CHROMEOS) enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance(); #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) 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) -@@ -985,7 +985,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -995,7 +995,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) -@@ -1101,7 +1101,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1111,7 +1111,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 -@@ -1147,7 +1147,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1157,7 +1157,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 -@@ -1167,7 +1167,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1177,7 +1177,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) -@@ -1354,7 +1354,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1368,7 +1368,7 @@ void ChromeBrowserMainExtraPartsProfiles:: WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (tab_groups::SavedTabGroupUtils::SupportsSharedTabGroups()) { tab_groups::CollaborationMessagingObserverFactory::GetInstance(); } diff --git a/www/iridium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/iridium/files/patch-chrome_browser_profiles_profile__impl.cc index 73a3ecc0ccb6..214004ebaeea 100644 --- a/www/iridium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/iridium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,40 +1,40 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/profiles/profile_impl.cc @@ -270,6 +270,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; @@ -594,7 +598,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() -@@ -892,7 +896,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -890,7 +894,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/iridium/files/patch-chrome_browser_profiles_profiles__state.cc b/www/iridium/files/patch-chrome_browser_profiles_profiles__state.cc index 39771cced11a..adbab97a5fba 100644 --- a/www/iridium/files/patch-chrome_browser_profiles_profiles__state.cc +++ b/www/iridium/files/patch-chrome_browser_profiles_profiles__state.cc @@ -1,29 +1,29 @@ ---- chrome/browser/profiles/profiles_state.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/profiles/profiles_state.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/profiles/profiles_state.cc @@ -188,7 +188,7 @@ bool IsGuestModeRequested(const base::CommandLine& com PrefService* local_state, bool show_warning) { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) DCHECK(local_state); // Check if guest mode enforcement commandline switch or policy are provided. @@ -224,7 +224,7 @@ bool IsGuestModeEnabled() { return false; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // If there are any supervised profiles, disable guest mode. if (std::ranges::any_of(g_browser_process->profile_manager() ->GetProfileAttributesStorage() @@ -240,7 +240,7 @@ bool IsGuestModeEnabled() { } bool IsGuestModeEnabled(const Profile& profile) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ProfileAttributesEntry* profile_attributes = g_browser_process->profile_manager() ->GetProfileAttributesStorage() diff --git a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc b/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc index eb7db9bb25b4..026ca93a5bb9 100644 --- a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc +++ b/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.cc @@ -1,29 +1,11 @@ ---- chrome/browser/regional_capabilities/regional_capabilities_service_client.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/regional_capabilities/regional_capabilities_service_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/regional_capabilities/regional_capabilities_service_client.cc -@@ -8,7 +8,7 @@ - #include "base/strings/string_util.h" - #include "components/country_codes/country_codes.h" - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "components/variations/service/variations_service.h" - #endif - -@@ -20,7 +20,7 @@ - #endif - - namespace regional_capabilities { --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - - RegionalCapabilitiesServiceClient::RegionalCapabilitiesServiceClient( - variations::VariationsService* variations_service) -@@ -56,7 +56,7 @@ void RegionalCapabilitiesServiceClient::FetchCountryId +@@ -107,7 +107,7 @@ void RegionalCapabilitiesServiceClient::FetchCountryId base::android::AttachCurrentThread(), reinterpret_cast(heap_callback.release())); } -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void RegionalCapabilitiesServiceClient::FetchCountryId( CountryIdCallback on_country_id_fetched) { - std::move(on_country_id_fetched).Run(variations_country_id_); + std::move(on_country_id_fetched).Run(variations_latest_country_id_); diff --git a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.h b/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.h deleted file mode 100644 index 7bec89c3a014..000000000000 --- a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__client.h +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/regional_capabilities/regional_capabilities_service_client.h.orig 2025-03-18 16:46:04 UTC -+++ chrome/browser/regional_capabilities/regional_capabilities_service_client.h -@@ -21,7 +21,7 @@ namespace regional_capabilities { - class RegionalCapabilitiesServiceClient - : public RegionalCapabilitiesService::Client { - public: --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - explicit RegionalCapabilitiesServiceClient( - variations::VariationsService* variations_service); - #else -@@ -35,7 +35,7 @@ class RegionalCapabilitiesServiceClient - void FetchCountryId(CountryIdCallback country_id_fetched_callback) override; - - private: --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const int variations_country_id_; - #endif - }; diff --git a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__factory.cc b/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__factory.cc deleted file mode 100644 index 12144795d95a..000000000000 --- a/www/iridium/files/patch-chrome_browser_regional__capabilities_regional__capabilities__service__factory.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/regional_capabilities/regional_capabilities_service_factory.cc.orig 2025-03-18 16:46:04 UTC -+++ chrome/browser/regional_capabilities/regional_capabilities_service_factory.cc -@@ -12,7 +12,7 @@ - #include "chrome/browser/regional_capabilities/regional_capabilities_service_client.h" - #include "components/regional_capabilities/regional_capabilities_service.h" - --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "components/variations/service/variations_service.h" - #endif - -@@ -57,7 +57,7 @@ RegionalCapabilitiesServiceFactory::BuildServiceInstan - Profile* profile = Profile::FromBrowserContext(context); - auto regional_capabilities_service_client = - std::make_unique( --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - g_browser_process->variations_service() - #endif - ); diff --git a/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc index 8f8c752ff3dd..c4d18e5548a8 100644 --- a/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/renderer_preferences_util.cc -@@ -41,7 +41,7 @@ +@@ -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" -@@ -181,7 +181,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -180,7 +180,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()) { -@@ -204,7 +204,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -203,7 +203,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/iridium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css b/www/iridium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css index 7048d1618b0f..9d30e71682ca 100644 --- a/www/iridium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css +++ b/www/iridium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css @@ -1,11 +1,11 @@ ---- chrome/browser/resources/settings/autofill_page/passwords_shared.css.orig 2022-12-01 10:35:46 UTC +--- chrome/browser/resources/settings/autofill_page/passwords_shared.css.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/resources/settings/autofill_page/passwords_shared.css @@ -100,7 +100,7 @@ cr-input.password-input::part(input), * necessary to prevent Chrome from using the operating system's font * instead of the Material Design font. * TODO(dbeam): why not font: inherit? */ - + font-family: 'DejaVu Sans Mono', monospace; diff --git a/www/iridium/files/patch-chrome_browser_resources_signin_signin__shared.css b/www/iridium/files/patch-chrome_browser_resources_signin_signin__shared.css index 677631dc2dc5..374335f3860b 100644 --- a/www/iridium/files/patch-chrome_browser_resources_signin_signin__shared.css +++ b/www/iridium/files/patch-chrome_browser_resources_signin_signin__shared.css @@ -1,11 +1,11 @@ ---- chrome/browser/resources/signin/signin_shared.css.orig 2022-12-06 08:09:13 UTC +--- chrome/browser/resources/signin/signin_shared.css.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/resources/signin/signin_shared.css @@ -54,7 +54,7 @@ a { border-radius: var(--scrollbar-width); } - + .action-container { flex-flow: row-reverse; justify-content: flex-start; diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc index 89504580acce..f64c1386d55f 100644 --- a/www/iridium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1251,7 +1251,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1262,7 +1262,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/iridium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc index c1653e33e6d8..dcd911767459 100644 --- a/www/iridium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc +++ b/www/iridium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc @@ -20,7 +20,7 @@ + #include "components/safe_browsing/core/common/safebrowsing_switches.h" #include "net/base/url_util.h" - #include "third_party/abseil-cpp/absl/types/variant.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/analysis/local_binary_upload_service_factory.h" #endif diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc index abee2141af83..0c6a4588d972 100644 --- a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc +++ b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc @@ -697,7 +697,7 @@ void IncidentReportingService::OnEnvironmentDataCollec // Process::Current().CreationTime() is missing on some platforms. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::TimeDelta uptime = first_incident_time_ - base::Process::Current().CreationTime(); environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds()); diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc index ef4cf52e0782..c66e345a622e 100644 --- a/www/iridium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc +++ b/www/iridium/files/patch-chrome_browser_safe__browsing_safe__browsing__pref__change__handler.cc @@ -1,20 +1,20 @@ ---- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/safe_browsing/safe_browsing_pref_change_handler.cc @@ -12,7 +12,7 @@ #include "content/public/browser/web_contents.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window/public/browser_window_features.h" #include "chrome/browser/ui/toasts/api/toast_id.h" @@ -59,7 +59,7 @@ SafeBrowsingPrefChangeHandler::~SafeBrowsingPrefChange void SafeBrowsingPrefChangeHandler:: MaybeShowEnhancedProtectionSettingChangeNotification() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!profile_ || !base::FeatureList::IsEnabled(safe_browsing::kEsbAsASyncedSetting)) { return; diff --git a/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc b/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc index dd8d93663b49..4450b64953f9 100644 --- a/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc +++ b/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc @@ -1,11 +1,11 @@ ---- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/screen_ai/screen_ai_install_state.cc @@ -30,7 +30,7 @@ bool IsDeviceCompatible() { // TODO(crbug.com/381256355): Update when ScreenAI library is compatible with // older CPUs. static const bool device_compatible = base::CPU().has_sse42(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, the library is only built for X86 CPUs. static constexpr bool device_compatible = false; #else diff --git a/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc b/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc index a4b4f32f349f..f8d6d3703227 100644 --- a/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc +++ b/www/iridium/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc @@ -1,20 +1,20 @@ ---- chrome/browser/screen_ai/screen_ai_service_router.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/screen_ai/screen_ai_service_router.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/screen_ai/screen_ai_service_router.cc -@@ -316,7 +316,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { +@@ -403,7 +403,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { base::FilePath binary_path = state_instance->get_component_binary_path(); #if BUILDFLAG(IS_WIN) std::vector preload_libraries = {binary_path}; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector extra_switches = { base::StringPrintf("--%s=%s", screen_ai::GetBinaryPathSwitch(), binary_path.MaybeAsASCII().c_str())}; -@@ -330,7 +330,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { +@@ -417,7 +417,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { .WithPreloadedLibraries( preload_libraries, content::ServiceProcessHostPreloadLibraries::GetPassKey()) -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) .WithExtraCommandLineSwitches(extra_switches) #endif // BUILDFLAG(IS_WIN) .Pass()); diff --git a/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc deleted file mode 100644 index 9f8da6367ccd..000000000000 --- a/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2024-06-25 12:08:48 UTC -+++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc -@@ -15,7 +15,7 @@ - #include "components/send_tab_to_self/features.h" - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" - #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" - #endif -@@ -47,7 +47,7 @@ SendTabToSelfToolbarIconController* - ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile( - Profile* profile) { - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - for (const std::unique_ptr& handler : - applicable_handlers_) { - auto* button_controller = diff --git a/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc deleted file mode 100644 index 376f8d1f3499..000000000000 --- a/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2024-06-25 12:08:48 UTC -+++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc -@@ -16,7 +16,7 @@ - #include "components/send_tab_to_self/send_tab_to_self_model.h" - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" - #endif - -@@ -50,7 +50,7 @@ void SendTabToSelfClientService::EntriesAddedRemotely( - const std::vector& new_entries) { - for (const std::unique_ptr& handler : GetHandlers()) { - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - // Only respond to notifications corresponding to this service's profile - // for these OSes; mobile does not have a Profile. - // Cast note: on desktop, handlers are guaranteed to be the derived class diff --git a/www/iridium/files/patch-chrome_browser_sessions_session__restore.cc b/www/iridium/files/patch-chrome_browser_sessions_session__restore.cc index f106f71f0d62..f68ae7beb75c 100644 --- a/www/iridium/files/patch-chrome_browser_sessions_session__restore.cc +++ b/www/iridium/files/patch-chrome_browser_sessions_session__restore.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sessions/session_restore.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2025-05-07 06:48:23 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) @@ -1117,7 +1117,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/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc index fc1801e930f8..060d9176decb 100644 --- a/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc +++ b/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/sharing/sharing_handler_registry_impl.cc @@ -21,7 +21,7 @@ #endif // 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/sharing/shared_clipboard/remote_copy_message_handler.h" #endif @@ -72,7 +72,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (sharing_device_registration->IsRemoteCopySupported()) { AddSharingHandler( std::make_unique(profile), diff --git a/www/iridium/files/patch-chrome_browser_shortcuts_icon__badging.cc b/www/iridium/files/patch-chrome_browser_shortcuts_icon__badging.cc index 09b01eaece47..495438038a32 100644 --- a/www/iridium/files/patch-chrome_browser_shortcuts_icon__badging.cc +++ b/www/iridium/files/patch-chrome_browser_shortcuts_icon__badging.cc @@ -1,11 +1,11 @@ ---- chrome/browser/shortcuts/icon_badging.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/shortcuts/icon_badging.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/shortcuts/icon_badging.cc @@ -59,7 +59,7 @@ enum class BadgeSize { constexpr ShortcutSize kSizesNeededForShortcutCreation[] = { ShortcutSize::k16, ShortcutSize::k32, ShortcutSize::k128, ShortcutSize::k256, ShortcutSize::k512}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr ShortcutSize kSizesNeededForShortcutCreation[] = {ShortcutSize::k32, ShortcutSize::k128}; #elif BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.cc b/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.cc index 29ab9ae1bb7a..021ab0f4eb1f 100644 --- a/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.cc +++ b/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.cc @@ -1,38 +1,38 @@ ---- chrome/browser/signin/accounts_policy_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/signin/accounts_policy_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/signin/accounts_policy_manager.cc @@ -41,7 +41,7 @@ #include "chrome/browser/ui/webui/profile_helper.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 "components/policy/core/common/features.h" #include "components/signin/public/identity_manager/accounts_mutator.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) @@ -209,7 +209,7 @@ void AccountsPolicyManager::Initialize() { &AccountsPolicyManager::OnGoogleServicesUsernamePatternChanged, weak_pointer_factory_.GetWeakPtr())); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* identity_manager = IdentityManagerFactory::GetForProfile(profile_); identity_manager_observation_.Observe(identity_manager); profile_pref_change_registrar_.Init(profile_->GetPrefs()); @@ -224,7 +224,7 @@ void AccountsPolicyManager::Initialize() { } void AccountsPolicyManager::Shutdown() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_pref_change_registrar_.RemoveAll(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) local_state_pref_registrar_.RemoveAll(); @@ -332,7 +332,7 @@ void AccountsPolicyManager::OnUserConfirmedProfileDele } #endif // defined(TOOLKIT_VIEWS) && !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 AccountsPolicyManager::OnRefreshTokensLoaded() { RemoveUnallowedAccounts(); identity_manager_observation_.Reset(); diff --git a/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.h b/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.h index 5fbd55baca13..3ed85de1cc84 100644 --- a/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.h +++ b/www/iridium/files/patch-chrome_browser_signin_accounts__policy__manager.h @@ -1,29 +1,29 @@ ---- chrome/browser/signin/accounts_policy_manager.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/signin/accounts_policy_manager.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/signin/accounts_policy_manager.h @@ -13,7 +13,7 @@ #include "components/signin/public/base/signin_metrics.h" #include "components/signin/public/identity_manager/identity_manager.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/scoped_observation.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) @@ -64,7 +64,7 @@ class AccountsPolicyManager : public KeyedService, } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void RemoveUnallowedAccounts(); // IdentityManager::Observer implementation. @@ -85,7 +85,7 @@ class AccountsPolicyManager : public KeyedService, bool hide_ui_for_testing_ = false; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::ScopedObservation identity_manager_observation_{this}; diff --git a/www/iridium/files/patch-chrome_browser_signin_signin__util.cc b/www/iridium/files/patch-chrome_browser_signin_signin__util.cc index 5ab1a98a3ac9..d37da58874bd 100644 --- a/www/iridium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/iridium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,11 +1,11 @@ ---- chrome/browser/signin/signin_util.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/signin/signin_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/signin/signin_util.cc @@ -80,7 +80,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 diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc b/www/iridium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc index 6e4e2c5dbed5..5af5e4b7685a 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_classify__url__navigation__throttle.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/supervised_user/classify_url_navigation_throttle.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/classify_url_navigation_throttle.cc @@ -68,7 +68,7 @@ std::ostream& operator<<(std::ostream& stream, } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool ShouldShowReAuthInterstitial( content::NavigationHandle& navigation_handle) { Profile* profile = Profile::FromBrowserContext( @@ -230,7 +230,7 @@ void ClassifyUrlNavigationThrottle::OnInterstitialResu } case InterstitialResultCallbackActions::kCancelWithInterstitial: { CHECK(navigation_handle()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (ShouldShowReAuthInterstitial(*navigation_handle())) { // Show the re-authentication interstitial if the user signed out of // the content area, as parent's approval requires authentication. diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc index 691e86c4f2ef..1af3d2d197b4 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_browser_utils.cc @@ -40,7 +40,7 @@ #include "chrome/browser/ash/profiles/profile_helper.h" #include "components/user_manager/user.h" #include "components/user_manager/user_type.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h" #include "chrome/browser/supervised_user/supervised_user_verification_page_blocked_sites.h" #include "chrome/browser/supervised_user/supervised_user_verification_page_youtube.h" @@ -165,7 +165,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool #endif } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::string CreateReauthenticationInterstitialForYouTube( content::NavigationHandle& navigation_handle) { content::WebContents* web_contents = navigation_handle.GetWebContents(); diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h index 044e151c6bb2..1251b1889d50 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_browser_utils.h.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/supervised_user/supervised_user_browser_utils.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_browser_utils.h @@ -52,7 +52,7 @@ std::string GetAccountGivenName(Profile& profile); // of the user. void AssertChildStatusOfTheUser(Profile* profile, bool is_child); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Returns the html content of the reauthentication interstitial for blocked // sites. This interstitial is associated with the given NavigationHandle. std::string CreateReauthenticationInterstitialForBlockedSites( diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc index d40f0143cb3e..b90d51817367 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc -@@ -196,7 +196,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte +@@ -197,7 +197,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(); if (supervised_user:: diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc index c0ec8719ad5a..8c2c90f50584 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_manager.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_manager.cc -@@ -353,7 +353,7 @@ void SupervisedUserExtensionsManager:: +@@ -357,7 +357,7 @@ void SupervisedUserExtensionsManager:: ActivateManagementPolicyAndUpdateRegistration() { SetActiveForSupervisedUsers(); UpdateManagementPolicyRegistration(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MaybeMarkExtensionsLocallyParentApproved(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) } -@@ -470,7 +470,7 @@ bool SupervisedUserExtensionsManager::ShouldBlockExten +@@ -476,7 +476,7 @@ bool SupervisedUserExtensionsManager::ShouldBlockExten return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SupervisedUserExtensionsManager:: MaybeMarkExtensionsLocallyParentApproved() { supervised_user::LocallyParentApprovedExtensionsMigrationState diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h index 7a12c8e7af43..b81b8e19c766 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_manager.h @@ -153,7 +153,7 @@ class SupervisedUserExtensionsManager : public Extensi // launched. bool ShouldBlockExtension(const std::string& extension_id) const; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Triggers an one-time migration of the present extensions as parent-approved // when the feature // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc index cca682019c6a..ee7cd9fa7782 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc @@ -1,26 +1,26 @@ ---- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc -@@ -34,12 +34,12 @@ +@@ -33,12 +33,12 @@ #include "chrome/browser/supervised_user/child_accounts/child_account_service_android.h" #include "components/signin/public/identity_manager/identity_manager.h" #include "ui/android/view_android.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h" #include "chrome/browser/supervised_user/supervised_user_verification_page.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) namespace { bool IsYouTubeInfrastructureSubframe(content::NavigationHandle* handle) { if (handle->GetNavigatingFrameType() != content::FrameType::kSubframe) { -@@ -161,7 +161,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc +@@ -160,7 +160,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc return content::NavigationThrottle::DEFER; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // When an unauthenticated supervised user tries to access YouTube, we force // re-authentication with an interstitial so that YouTube can be subject to // content restrictions. This interstitial is only available on Desktop diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc index 3febda052a77..3bc22e7f2f08 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc @@ -14,7 +14,7 @@ #include "components/supervised_user/core/browser/supervised_user_service.h" #include "content/public/browser/browser_context.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h" #endif @@ -62,7 +62,7 @@ SupervisedUserMetricsServiceFactory::BuildServiceInsta std::unique_ptr extensions_metrics_delegate = nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extensions_metrics_delegate = std::make_unique( extensions::ExtensionRegistry::Get(profile), profile); diff --git a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc index cee4480c5635..2cc7d8c59c3d 100644 --- a/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc +++ b/www/iridium/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc @@ -1,20 +1,20 @@ ---- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/supervised_user/supervised_user_navigation_observer.cc @@ -47,7 +47,7 @@ #include "chrome/browser/supervised_user/android/supervised_user_web_content_handler_impl.h" #elif BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/supervised_user/chromeos/supervised_user_web_content_handler_impl.h" -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.h" #endif @@ -67,7 +67,7 @@ std::unique_ptr Cr #elif BUILDFLAG(IS_ANDROID) return std::make_unique( web_contents, frame_id, navigation_id); -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return std::make_unique( web_contents, frame_id, navigation_id); #endif diff --git a/www/iridium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/www/iridium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc index 79d887ff009f..8c473d052f2f 100644 --- a/www/iridium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc +++ b/www/iridium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/sync/chrome_sync_controller_builder.cc @@ -280,7 +280,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/iridium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/iridium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc index c82b35401ffb..948467ef8b14 100644 --- a/www/iridium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc +++ b/www/iridium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/sync/device_info_sync_client_impl.cc @@ -34,7 +34,7 @@ DeviceInfoSyncClientImpl::~DeviceInfoSyncClientImpl() std::string DeviceInfoSyncClientImpl::GetSigninScopedDeviceId() const { // Since the local sync backend is currently only supported on Windows, Mac and // Linux don't even check the pref on other os-es. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) syncer::SyncPrefs prefs(profile_->GetPrefs()); if (prefs.IsLocalSyncEnabled()) { return "local_device"; diff --git a/www/iridium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/iridium/files/patch-chrome_browser_sync_sync__service__factory.cc index 677560ed782e..ec59b3f170c4 100644 --- a/www/iridium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -1,38 +1,38 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/sync/sync_service_factory.cc @@ -108,7 +108,7 @@ #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_keyed_service.h" #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h" #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h" @@ -135,7 +135,7 @@ namespace { tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) { CHECK(profile); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::TabGroupSyncService* service = tab_groups::SavedTabGroupUtils::GetServiceForProfile(profile); CHECK(service); @@ -377,7 +377,7 @@ std::unique_ptr BuildSyncService( bool local_sync_backend_enabled = false; // Only check the local sync backend pref on the supported platforms of // Windows, Mac and Linux. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) syncer::SyncPrefs prefs(profile->GetPrefs()); local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); base::UmaHistogramBoolean("Sync.Local.Enabled2", local_sync_backend_enabled); @@ -512,7 +512,7 @@ SyncServiceFactory::SyncServiceFactory() DependsOn(ProfilePasswordStoreFactory::GetInstance()); DependsOn(PowerBookmarkServiceFactory::GetInstance()); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) DependsOn(tab_groups::SavedTabGroupServiceFactory::GetInstance()); #elif BUILDFLAG(IS_ANDROID) DependsOn(tab_groups::TabGroupSyncServiceFactory::GetInstance()); diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc index e251c9b39728..e9b432940d8e 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/sampling/task_group.cc @@ -36,7 +36,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) -#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( 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 } #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/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h index 595856105600..f6bc151ba5ee 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/sampling/task_group.h @@ -41,7 +41,7 @@ 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 | -#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) -#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 -#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) -#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/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc index 996873eb8e5c..9a0a1bc05f6b 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc @@ -1,47 +1,47 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.cc @@ -45,7 +45,7 @@ TaskGroupSampler::TaskGroupSampler( const OnCpuRefreshCallback& on_cpu_refresh, const OnSwappedMemRefreshCallback& on_swapped_mem_refresh, const OnIdleWakeupsCallback& on_idle_wakeups, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const OnOpenFdCountCallback& on_open_fd_count, #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) const OnProcessPriorityCallback& on_process_priority) @@ -55,7 +55,7 @@ TaskGroupSampler::TaskGroupSampler( on_cpu_refresh_callback_(on_cpu_refresh), on_swapped_mem_refresh_callback_(on_swapped_mem_refresh), on_idle_wakeups_callback_(on_idle_wakeups), -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) on_open_fd_count_callback_(on_open_fd_count), #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) on_process_priority_callback_(on_process_priority) { @@ -85,7 +85,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) base::BindOnce(on_swapped_mem_refresh_callback_)); } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS, refresh_flags)) { blocking_pool_runner_->PostTaskAndReplyWithResult( @@ -95,7 +95,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT, refresh_flags)) { blocking_pool_runner_->PostTaskAndReplyWithResult( @@ -152,7 +152,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { return process_metrics_->GetIdleWakeupsPerSecond(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) int TaskGroupSampler::RefreshOpenFdCount() { DCHECK_CALLED_ON_VALID_SEQUENCE(worker_pool_sequenced_checker_); diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h index bc813df511b7..dea06ad15f06 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2023-10-21 11:51:27 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.h @@ -31,7 +31,7 @@ class TaskGroupSampler : public base::RefCountedThread using OnCpuRefreshCallback = base::RepeatingCallback; using OnSwappedMemRefreshCallback = base::RepeatingCallback; using OnIdleWakeupsCallback = base::RepeatingCallback; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) using OnOpenFdCountCallback = base::RepeatingCallback; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) using OnProcessPriorityCallback = @@ -43,7 +43,7 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback& on_cpu_refresh, const OnSwappedMemRefreshCallback& on_memory_refresh, const OnIdleWakeupsCallback& on_idle_wakeups, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const OnOpenFdCountCallback& on_open_fd_count, #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) const OnProcessPriorityCallback& on_process_priority); @@ -63,7 +63,7 @@ class TaskGroupSampler : public base::RefCountedThread double RefreshCpuUsage(); int64_t RefreshSwappedMem(); int RefreshIdleWakeupsPerSecond(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) int RefreshOpenFdCount(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) base::Process::Priority RefreshProcessPriority(); @@ -87,7 +87,7 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback on_cpu_refresh_callback_; const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_; const OnIdleWakeupsCallback on_idle_wakeups_callback_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const OnOpenFdCountCallback on_open_fd_count_callback_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) const OnProcessPriorityCallback on_process_priority_callback_; diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc index 05fc96b7dca0..fab259c49cba 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/sampling/task_manager_impl.cc -@@ -227,7 +227,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, +@@ -235,7 +235,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/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h index 5a7dd8d5ba83..979895deb810 100644 --- a/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/task_manager/task_manager_observer.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/task_manager/task_manager_observer.h @@ -46,7 +46,7 @@ enum RefreshType { // or backgrounded. REFRESH_TYPE_PRIORITY = 1 << 13, -#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, diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__helper.cc b/www/iridium/files/patch-chrome_browser_themes_theme__helper.cc index 990937666424..cbb200e2a3c2 100644 --- a/www/iridium/files/patch-chrome_browser_themes_theme__helper.cc +++ b/www/iridium/files/patch-chrome_browser_themes_theme__helper.cc @@ -1,11 +1,11 @@ ---- chrome/browser/themes/theme_helper.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/themes/theme_helper.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/themes/theme_helper.cc @@ -16,7 +16,7 @@ #include "ui/gfx/image/image.h" #include "ui/native_theme/native_theme.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__service.cc b/www/iridium/files/patch-chrome_browser_themes_theme__service.cc index b10b8b55dc98..0de9a12544b0 100644 --- a/www/iridium/files/patch-chrome_browser_themes_theme__service.cc +++ b/www/iridium/files/patch-chrome_browser_themes_theme__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/themes/theme_service.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/themes/theme_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/themes/theme_service.cc -@@ -71,7 +71,7 @@ +@@ -72,7 +72,7 @@ #include "extensions/browser/extension_registry_observer.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #include "ui/ozone/public/ozone_platform.h" // nogncheck #endif -@@ -331,7 +331,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() +@@ -332,7 +332,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() } bool ThemeService::ShouldUseCustomFrame() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations) { diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc b/www/iridium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc index e4966e22953a..d3fe580b4d25 100644 --- a/www/iridium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc +++ b/www/iridium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc @@ -1,11 +1,11 @@ ---- chrome/browser/themes/theme_service_aura_linux.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/themes/theme_service_aura_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/themes/theme_service_aura_linux.cc @@ -23,7 +23,7 @@ namespace { ui::SystemTheme ValidateSystemTheme(ui::SystemTheme system_theme) { switch (system_theme) { case ui::SystemTheme::kDefault: -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case ui::SystemTheme::kGtk: case ui::SystemTheme::kQt: #endif diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc index 75004b95e588..9080a3213933 100644 --- a/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/themes/theme_service_factory.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/themes/theme_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/themes/theme_service_factory.cc @@ -24,7 +24,7 @@ #include "chrome/browser/themes/theme_helper_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/themes/theme_service_aura_linux.h" #include "ui/linux/linux_ui_factory.h" #endif @@ -103,7 +103,7 @@ ThemeServiceFactory::~ThemeServiceFactory() = default; std::unique_ptr ThemeServiceFactory::BuildServiceInstanceForBrowserContext( content::BrowserContext* profile) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) using ThemeService = ThemeServiceAuraLinux; #endif @@ -115,7 +115,7 @@ ThemeServiceFactory::BuildServiceInstanceForBrowserCon void ThemeServiceFactory::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSystemTheme, static_cast(ui::GetDefaultSystemTheme())); #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/iridium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index be8b40271e87..006d2dd7613c 100644 --- a/www/iridium/files/patch-chrome_browser_ui_actions_chrome__action__id.h +++ b/www/iridium/files/patch-chrome_browser_ui_actions_chrome__action__id.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -495,7 +495,7 @@ +@@ -497,7 +497,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/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc b/www/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc index 429246354510..a49308e6c0c6 100644 --- a/www/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc @@ -57,7 +57,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) } @@ -142,7 +142,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/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h b/www/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h index e78a473fbb43..fa919c7338c4 100644 --- a/www/iridium/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2025-05-07 06:48:23 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) @@ -161,7 +161,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/iridium/files/patch-chrome_browser_ui_browser.h b/www/iridium/files/patch-chrome_browser_ui_browser.h index 6db58f6ac4d1..65d361019c60 100644 --- a/www/iridium/files/patch-chrome_browser_ui_browser.h +++ b/www/iridium/files/patch-chrome_browser_ui_browser.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/browser.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/browser.h -@@ -300,7 +300,7 @@ class Browser : public TabStripModelObserver, +@@ -301,7 +301,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/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc index 0e2a83b4cbbe..1c7bc766f343 100644 --- a/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,74 +1,74 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -127,7 +127,7 @@ +@@ -126,7 +126,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" - #endif @@ -136,7 +136,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) -@@ -329,7 +329,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -332,7 +332,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(); -@@ -581,7 +581,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -595,7 +595,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; -@@ -801,7 +801,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -812,7 +812,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( -@@ -968,7 +968,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -979,7 +979,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 -@@ -1284,7 +1284,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1324,7 +1324,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); -@@ -1640,7 +1640,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -1682,7 +1682,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(browser_)); #else diff --git a/www/iridium/files/patch-chrome_browser_ui_browser__commands.cc b/www/iridium/files/patch-chrome_browser_ui_browser__commands.cc index b02c72124660..89ab0fd83d4e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_browser__commands.cc +++ b/www/iridium/files/patch-chrome_browser_ui_browser__commands.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser_commands.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -1991,7 +1991,7 @@ void OpenUpdateChromeDialog(Browser* browser) { +@@ -1980,7 +1980,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/iridium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/iridium/files/patch-chrome_browser_ui_browser__ui__prefs.cc index ea17dd777734..44515fba34e4 100644 --- a/www/iridium/files/patch-chrome_browser_ui_browser__ui__prefs.cc +++ b/www/iridium/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/browser_ui_prefs.cc -@@ -71,7 +71,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry +@@ -72,7 +72,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry registry->RegisterIntegerPref(prefs::kDefaultBrowserDeclinedCount, 0); registry->RegisterTimePref(prefs::kDefaultBrowserFirstShownTime, base::Time()); -#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, -@@ -184,7 +184,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -185,7 +185,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/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc b/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc index e870a0b4cc43..d0f8cca08cea 100644 --- a/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc +++ b/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_view_prefs.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/browser_view_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/browser_view_prefs.cc @@ -14,7 +14,7 @@ namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GetCustomFramePrefDefault() { #if BUILDFLAG(IS_OZONE) return ui::OzonePlatform::GetInstance() @@ -30,7 +30,7 @@ bool GetCustomFramePrefDefault() { void RegisterBrowserViewProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame, GetCustomFramePrefDefault()); #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/iridium/files/patch-chrome_browser_ui_chrome__pages.cc index 01681e503e3c..176711eece65 100644 --- a/www/iridium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/iridium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/chrome_pages.cc -@@ -85,7 +85,7 @@ +@@ -84,7 +84,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 -@@ -379,7 +379,7 @@ void ShowChromeTips(Browser* browser) { +@@ -381,7 +381,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)); } -@@ -702,7 +702,7 @@ void ShowShortcutCustomizationApp(Profile* profile, +@@ -699,7 +699,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/iridium/files/patch-chrome_browser_ui_chrome__pages.h b/www/iridium/files/patch-chrome_browser_ui_chrome__pages.h index cb6069bc2255..475ea4c73383 100644 --- a/www/iridium/files/patch-chrome_browser_ui_chrome__pages.h +++ b/www/iridium/files/patch-chrome_browser_ui_chrome__pages.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/chrome_pages.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/chrome_pages.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/chrome_pages.h @@ -39,7 +39,7 @@ namespace signin { enum class ConsentLevel; } // namespace signin -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace web_app { enum class AppSettingsPageEntryPoint; } // namespace web_app @@ -174,7 +174,7 @@ void ShowShortcutCustomizationApp(Profile* profile, const std::string& category); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Show chrome://app-settings/ page. void ShowWebAppSettings(Browser* browser, const std::string& app_id, diff --git a/www/iridium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc b/www/iridium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc index 126040b78982..1e02a604e745 100644 --- a/www/iridium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc +++ b/www/iridium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/color/native_chrome_color_mixer.cc.orig 2023-10-21 11:51:27 UTC +--- chrome/browser/ui/color/native_chrome_color_mixer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/color/native_chrome_color_mixer.cc @@ -7,7 +7,7 @@ #include "build/build_config.h" #if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && \ - !BUILDFLAG(IS_WIN) + !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) void AddNativeChromeColorMixer(ui::ColorProvider* provider, const ui::ColorProviderKey& key) {} #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_managed__ui.cc b/www/iridium/files/patch-chrome_browser_ui_managed__ui.cc index 4269c9f01957..38de43aa6f30 100644 --- a/www/iridium/files/patch-chrome_browser_ui_managed__ui.cc +++ b/www/iridium/files/patch-chrome_browser_ui_managed__ui.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/managed_ui.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/managed_ui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/managed_ui.cc @@ -433,7 +433,7 @@ std::optional GetDeviceManagerIdentity() g_browser_process->platform_part()->browser_policy_connector_ash(); return connector->GetEnterpriseDomainManager(); #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::kEnterpriseManagementDisclaimerUsesCustomLabel)) { std::string custom_management_label = @@ -463,7 +463,7 @@ std::optional GetAccountManagerIdentity(P return std::nullopt; } -#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::kEnterpriseManagementDisclaimerUsesCustomLabel)) { std::string custom_management_label = diff --git a/www/iridium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc b/www/iridium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc index fbdab3e168d3..59c8cc7a1405 100644 --- a/www/iridium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc +++ b/www/iridium/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc @@ -1985,7 +1985,7 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() { return omnibox::kShareMacChromeRefreshIcon; #elif BUILDFLAG(IS_WIN) return omnibox::kShareWinChromeRefreshIcon; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return omnibox::kShareLinuxChromeRefreshIcon; #else return omnibox::kShareChromeRefreshIcon; diff --git a/www/iridium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc b/www/iridium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc index 574a6b1c5260..51081decc7ee 100644 --- a/www/iridium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc +++ b/www/iridium/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc @@ -44,7 +44,7 @@ std::u16string RelaunchChromeBubbleController::GetTitl #if BUILDFLAG(IS_MAC) ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_BRANDED : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_NON_BRANDED -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_BRANDED : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_NON_BRANDED #endif @@ -57,7 +57,7 @@ std::u16string RelaunchChromeBubbleController::GetBody #if BUILDFLAG(IS_MAC) ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_BRANDED : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_NON_BRANDED -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_BRANDED : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_NON_BRANDED #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/www/iridium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc index a30c20ecec47..593ce05dea35 100644 --- a/www/iridium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc @@ -102,7 +102,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; @@ -549,7 +549,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/iridium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc b/www/iridium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc new file mode 100644 index 000000000000..335f5790feb5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_prefs_prefs__tab__helper.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/prefs/prefs_tab_helper.cc.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/ui/prefs/prefs_tab_helper.cc +@@ -66,7 +66,7 @@ + #include + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If a font name in prefs default values starts with a comma, consider it's a + // comma-separated font list and resolve it to the first available font. + #define PREFS_FONT_LIST 1 diff --git a/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc b/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc index 7eb0dbffd636..fe34f0f384cf 100644 --- a/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc +++ b/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/sad_tab.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/sad_tab.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/sad_tab.cc @@ -179,7 +179,7 @@ std::vector SadTab::GetSubMessages() { if (!web_contents_->GetBrowserContext()->IsOffTheRecord()) { message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO); } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Note: on macOS, Linux and ChromeOS, the first bullet is either one of // IDS_SAD_TAB_RELOAD_CLOSE_TABS or IDS_SAD_TAB_RELOAD_CLOSE_NOTABS // followed by one of the above suggestions. diff --git a/www/iridium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h b/www/iridium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h index 68d099570054..d08f90b00660 100644 --- a/www/iridium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h +++ b/www/iridium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h @@ -36,7 +36,7 @@ class SharingHubBubbleController { // Returns true if the omnibox icon should be shown. virtual bool ShouldOfferOmniboxIcon() = 0; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This method returns the set of first-party actions, which are actions // internal to Chrome. Third-party actions (those outside Chrome) are // currently not supported. diff --git a/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc index 138e0dc89883..96f169b74811 100644 --- a/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc +++ b/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -428,7 +428,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -443,7 +443,7 @@ void SigninViewController::ShowModalSyncConfirmationDi 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/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h b/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h index c1ffea6aac84..7a855c40311f 100644 --- a/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h +++ b/www/iridium/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/signin/signin_view_controller_delegate.h @@ -79,7 +79,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/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc index 78801cecf25b..11e55a040065 100644 --- a/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc +++ b/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -94,7 +94,7 @@ const char* const kBadFlags[] = { +@@ -95,7 +95,7 @@ const char* const kBadFlags[] = { extensions::switches::kExtensionsOnChromeURLs, #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/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc index 7f0635cf07eb..9d7757f5d210 100644 --- a/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc +++ b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2025-05-07 06:48:23 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" @@ -978,7 +978,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( TRACE_EVENT0("startup", "StartupBrowserCreator::ProcessCmdLineImpl"); ComputeAndRecordLaunchMode(command_line); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode() && headless::HeadlessModePolicy::IsHeadlessModeDisabled( g_browser_process->local_state())) { @@ -1081,7 +1081,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) && @@ -1298,7 +1298,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/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index 537cd8d3a245..1221e0fbf1f2 100644 --- a/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc @@ -76,7 +76,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) -@@ -207,7 +207,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -208,7 +208,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 -@@ -237,7 +237,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -238,7 +238,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/iridium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc b/www/iridium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc index fbd9e3922523..e8cf079132a5 100644 --- a/www/iridium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc +++ b/www/iridium/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/startup/startup_tab_provider.cc @@ -62,7 +62,7 @@ #include "extensions/browser/extension_registry.h" #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_util.h" #endif @@ -101,7 +101,7 @@ bool ValidateUrl(const GURL& url) { #endif // BUILDFLAG(IS_CHROMEOS) bool url_scheme_is_chrome = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // In Headless mode, allow any URL pattern that matches chrome:// scheme if // the user explicitly allowed it. if (headless::IsHeadlessMode() && url.SchemeIs(content::kChromeUIScheme)) { diff --git a/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc index ae6feb4ad2e3..024397a21b23 100644 --- a/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,26 +1,26 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -216,7 +216,7 @@ +@@ -218,7 +218,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/hats/hats_helper.h" -@@ -687,12 +687,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -697,12 +697,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con webapps::PreRedirectionURLObserver::CreateForWebContents(web_contents); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled( features::kHappinessTrackingSurveysForDesktopDemo) || base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || diff --git a/www/iridium/files/patch-chrome_browser_ui_tabs_features.cc b/www/iridium/files/patch-chrome_browser_ui_tabs_features.cc index 267c0ceba749..418d146c993a 100644 --- a/www/iridium/files/patch-chrome_browser_ui_tabs_features.cc +++ b/www/iridium/files/patch-chrome_browser_ui_tabs_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/features.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/tabs/features.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/tabs/features.cc -@@ -48,7 +48,7 @@ bool CanShowTabSearchPositionSetting() { +@@ -47,7 +47,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/iridium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc b/www/iridium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc index 150dfcd644b9..2e2938735214 100644 --- a/www/iridium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc +++ b/www/iridium/files/patch-chrome_browser_ui_tabs_tab__dialog__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/tabs/tab_dialog_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/tabs/tab_dialog_manager.cc @@ -83,7 +83,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/iridium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc b/www/iridium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc index dbff796f5ad7..c0871bce19ac 100644 --- a/www/iridium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc +++ b/www/iridium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/tabs/tab_strip_prefs.cc @@ -21,7 +21,7 @@ namespace tabs { bool GetDefaultTabSearchRightAligned() { // These platforms are all left aligned, the others should be right. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h index e98d7a4784b3..aad8d9e3bfea 100644 --- a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.h +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/ui/task_manager/task_manager_columns.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/task_manager/task_manager_columns.h @@ -277,7 +277,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/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc index 368e87363753..e956580712cf 100644 --- a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc +++ b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -1,29 +1,38 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -530,7 +530,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r +@@ -419,7 +419,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 ? 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) -@@ -693,7 +693,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, +@@ -723,7 +723,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]); -@@ -935,7 +935,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -1030,7 +1030,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/iridium/files/patch-chrome_browser_ui_test_popup__browsertest.cc b/www/iridium/files/patch-chrome_browser_ui_test_popup__browsertest.cc index 066ea30701f2..d0a8b676d986 100644 --- a/www/iridium/files/patch-chrome_browser_ui_test_popup__browsertest.cc +++ b/www/iridium/files/patch-chrome_browser_ui_test_popup__browsertest.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/test/popup_browsertest.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/ui/test/popup_browsertest.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/test/popup_browsertest.cc @@ -75,7 +75,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo const display::Display display = GetDisplayNearestBrowser(popup); gfx::Rect expected(popup->window()->GetBounds().size()); expected.AdjustToFit(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux window bounds are inaccurate. expected.Outset(50); EXPECT_TRUE(expected.Contains(popup->window()->GetBounds())) @@ -107,7 +107,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent // The popup should be constrained to the opener's available display space. EXPECT_EQ(display, GetDisplayNearestBrowser(popup)); gfx::Rect work_area(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux bounds flakily extend outside the // work area on trybots, when opening with excessive width and height, e.g.: // width=${screen.availWidth+300},height=${screen.availHeight+300} yields: diff --git a/www/iridium/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/www/iridium/files/patch-chrome_browser_ui_test_test__browser__ui.cc index 249664bdb363..dfb817eb2ca6 100644 --- a/www/iridium/files/patch-chrome_browser_ui_test_test__browser__ui.cc +++ b/www/iridium/files/patch-chrome_browser_ui_test_test__browser__ui.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/test/test_browser_ui.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/test/test_browser_ui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/test/test_browser_ui.cc @@ -19,7 +19,7 @@ #include "ui/views/widget/widget.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 "content/public/common/content_switches.h" #include "ui/base/test/skia_gold_matching_algorithm.h" #include "ui/compositor/compositor.h" @@ -33,7 +33,7 @@ #endif // TODO(crbug.com/40625383) support Mac for pixel tests. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define SUPPORTS_PIXEL_TEST #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_ui__features.cc b/www/iridium/files/patch-chrome_browser_ui_ui__features.cc index 559f836a696d..3d08159e3f62 100644 --- a/www/iridium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/iridium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/ui_features.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/ui_features.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/ui_features.cc -@@ -67,7 +67,7 @@ bool IsExtensionMenuInRootAppMenu() { +@@ -45,7 +45,7 @@ bool IsExtensionMenuInRootAppMenu() { return base::FeatureList::IsEnabled(kExtensionsMenuInAppMenu); } -#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, -@@ -333,7 +333,7 @@ BASE_FEATURE(kViewsJSAppModalDialog, +@@ -326,7 +326,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/iridium/files/patch-chrome_browser_ui_ui__features.h b/www/iridium/files/patch-chrome_browser_ui_ui__features.h index bf4f8a1a426f..016337d725be 100644 --- a/www/iridium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/iridium/files/patch-chrome_browser_ui_ui__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/ui_features.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/ui_features.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/ui_features.h -@@ -47,7 +47,7 @@ extern const base::FeatureParam kMaxPromptCount; +@@ -31,7 +31,7 @@ BASE_DECLARE_FEATURE(kCloseOmniboxPopupOnInactiveAreaC BASE_DECLARE_FEATURE(kExtensionsMenuInAppMenu); bool IsExtensionMenuInRootAppMenu(); -#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 -@@ -211,7 +211,7 @@ BASE_DECLARE_FEATURE(kViewsFirstRunDialog); +@@ -203,7 +203,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/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc index 724d0729e697..38c882262852 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -1,34 +1,34 @@ ---- chrome/browser/ui/views/accelerator_table.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/views/accelerator_table.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/accelerator_table.cc -@@ -67,11 +67,11 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -70,11 +70,11 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_PREVIOUS}, -@@ -99,7 +99,7 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -102,7 +102,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, -@@ -151,7 +151,7 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -154,7 +154,7 @@ const AcceleratorMapping kAcceleratorMap[] = { IDC_SHOW_AVATAR_MENU}, // Platform-specific key maps. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, diff --git a/www/iridium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/iridium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc index 5667ea51e1cd..9b5bbe5b7872 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc @@ -19,7 +19,7 @@ #include "ui/menus/simple_menu_model.h" #include "ui/views/widget/widget.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif @@ -49,7 +49,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni const AppWindow::CreateParams& create_params, views::Widget::InitParams* init_params, views::Widget* widget) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string app_name = web_app::GenerateApplicationNameFromAppId(app_window()->extension_id()); // Set up a custom WM_CLASS for app windows. This allows task switchers in diff --git a/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index eeb723c19690..2b3c14eaa0b4 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc @@ -39,7 +39,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 @@ -135,7 +135,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/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h index ef423a07d165..a2f7fe8bdfe6 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/chrome_views_delegate.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/chrome_views_delegate.h @@ -52,7 +52,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat base::OnceClosure callback) override; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool WindowManagerProvidesTitleBar(bool maximized) override; gfx::ImageSkia* GetDefaultWindowIcon() const override; #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc index 47c517596c02..164313b52b30 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc +++ b/www/iridium/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-06-25 12:08:48 UTC +--- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/chrome_views_delegate_linux.cc @@ -26,7 +26,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 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/iridium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc index 335d6b905440..afa9273acc3c 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/compose/compose_dialog_view.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/compose/compose_dialog_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/compose/compose_dialog_view.cc @@ -160,7 +160,7 @@ void ComposeDialogView::OnBeforeBubbleWidgetInit( views::Widget::InitParams* params, views::Widget* widget) const { WebUIBubbleDialogView::OnBeforeBubbleWidgetInit(params, widget); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // In linux, windows may be clipped to their anchors' bounds, // resulting in visual errors, unless they use accelerated rendering. See // crbug.com/1445770 for details. diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc index 068912a37f1c..c7704a8bd1b2 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_frame.cc @@ -52,7 +52,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #include "ui/linux/linux_ui.h" #endif @@ -87,7 +87,7 @@ class ThemeChangedObserver : public views::WidgetObser }; bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -182,7 +182,7 @@ void BrowserFrame::InitBrowserFrame() { +@@ -184,7 +184,7 @@ void BrowserFrame::InitBrowserFrame() { Init(std::move(params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SelectNativeTheme(); #else SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi()); -@@ -368,7 +368,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { +@@ -370,7 +370,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), IsVisibleOnAllWorkspaces()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If the window was sent to a different workspace, prioritize it if // it was sent to the current workspace and deprioritize it // otherwise. This is done by MoveBrowsersInWorkspaceToFront() -@@ -566,7 +566,7 @@ void BrowserFrame::OnMenuClosed() { +@@ -568,7 +568,7 @@ void BrowserFrame::OnMenuClosed() { } void BrowserFrame::SelectNativeTheme() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the regular NativeTheme instance if running incognito mode, regardless // of system theme (gtk, qt etc). ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); -@@ -607,7 +607,7 @@ void BrowserFrame::OnTouchUiChanged() { +@@ -609,7 +609,7 @@ void BrowserFrame::OnTouchUiChanged() { bool BrowserFrame::RegenerateFrameOnThemeChange( BrowserThemeChangeType theme_change_type) { bool need_regenerate = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // System and user theme changes can both change frame buttons, so the frame // always needs to be regenerated on Linux. need_regenerate = true; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.h b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.h index 81863218058e..1c5afe09b209 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_frame.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/frame/browser_frame.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_frame.h @@ -66,7 +66,7 @@ class BrowserFrame : public views::Widget, public view ~BrowserFrame() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the frame is in a tiled state. bool tiled() const { return tiled_; } void set_tiled(bool tiled) { tiled_ = tiled; } @@ -227,7 +227,7 @@ class BrowserFrame : public views::Widget, public view // contents for smoother dragging. TabDragKind tab_drag_kind_ = TabDragKind::kNone; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool tiled_ = false; #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc index 52fe2542f64a..45894ba7ac52 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc @@ -54,7 +54,7 @@ gfx::Insets BrowserFrameViewLayoutLinux::RestoredFrame OpaqueBrowserFrameViewLayout::RestoredFrameBorderInsets()); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = delegate_->IsTiled(); #else const bool tiled = false; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc index 3d22332e3991..3f2418654d5a 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc @@ -18,7 +18,7 @@ BrowserFrameViewLayoutLinuxNative::~BrowserFrameViewLa ui::WindowFrameProvider* BrowserFrameViewLayoutLinuxNative::GetFrameProvider() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = delegate_->IsTiled(); const bool maximized = delegate_->IsMaximized(); #else diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc index 4b7d1d7ef790..1c47a871d7dd 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_frame_view_linux.cc @@ -70,7 +70,7 @@ gfx::ShadowValues BrowserFrameViewLinux::GetShadowValu void BrowserFrameViewLinux::PaintRestoredFrameBorder( gfx::Canvas* canvas) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = frame()->tiled(); #else const bool tiled = false; @@ -125,7 +125,7 @@ int BrowserFrameViewLinux::NonClientHitTest(const gfx: } float BrowserFrameViewLinux::GetRestoredCornerRadiusDip() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool tiled = frame()->tiled(); #else const bool tiled = false; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc index e4aa28c99535..c2819cf4d062 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc @@ -15,7 +15,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" @@ -32,7 +32,7 @@ namespace { std::unique_ptr CreateOpaqueBrowserFrameView( BrowserFrame* frame, BrowserView* browser_view) { -#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); diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index c40c0885ccd8..382eba7e2362 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2519,7 +2519,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2581,7 +2581,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); -@@ -5559,7 +5559,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -5825,7 +5825,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/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index 2ce21c855cdf..ddd5c2dbf4e7 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -54,7 +54,7 @@ #include "ui/views/window/vector_icons/vector_icons.h" #include "ui/views/window/window_shape.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/views/controls/menu/menu_runner.h" #endif @@ -572,7 +572,7 @@ bool OpaqueBrowserFrameView::EverHasVisibleBackgroundT OpaqueBrowserFrameView::FrameButtonStyle OpaqueBrowserFrameView::GetFrameButtonStyle() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return FrameButtonStyle::kMdButton; #else return FrameButtonStyle::kImageButton; @@ -591,7 +591,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OpaqueBrowserFrameView::IsTiled() const { return frame()->tiled(); } @@ -794,7 +794,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons } void OpaqueBrowserFrameView::WindowIconPressed() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Chrome OS doesn't show the window icon, and Windows handles this on its own // due to the hit test being HTSYSMENU. menu_runner_ = std::make_unique( diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h index d5211b3b8d37..37ab52fd1a44 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h @@ -110,7 +110,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient FrameButtonStyle GetFrameButtonStyle() const override; void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override; bool ShouldDrawRestoredFrameShadow() const override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsTiled() const override; #endif int WebAppButtonHeight() const override; @@ -227,7 +227,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient // Background painter for the window frame. std::unique_ptr frame_background_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr menu_runner_; #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h index 877d09ee5f1a..bf4f3650bf4b 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h @@ -9,7 +9,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ui_base_types.h" #endif @@ -92,7 +92,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { // Returns true if a client-side shadow should be drawn for restored windows. virtual bool ShouldDrawRestoredFrameShadow() const = 0; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether the window is in a tiled state. virtual bool IsTiled() const = 0; #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc index e3e9fd692ea9..de3366562cf5 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc @@ -1,92 +1,101 @@ ---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc @@ -62,7 +62,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #include "chrome/browser/ui/views/frame/browser_frame_view_paint_utils_linux.h" -@@ -83,7 +83,7 @@ constexpr int kContentSettingIconSize = 16; +@@ -76,7 +76,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 + +@@ -89,7 +89,7 @@ constexpr int kContentSettingIconSize = 16; // The height of the controls bar at the top of the window. constexpr int kTopControlsHeight = 34; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Frame border when window shadow is not drawn. constexpr int kFrameBorderThickness = 4; #endif -@@ -178,7 +178,7 @@ class WindowEventObserver : public ui::EventObserver { +@@ -184,7 +184,7 @@ class WindowEventObserver : public ui::EventObserver { gfx::Rect input_bounds = pip_browser_frame_view_->GetLocalBounds(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Calculate input bounds for Linux. This is needed because the input bounds // is not necessary the same as the local bounds on Linux. if (pip_browser_frame_view_->ShouldDrawFrameShadow()) { -@@ -618,7 +618,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow +@@ -630,7 +630,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow AddChildView(std::move(auto_pip_setting_overlay)); } -#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); -@@ -843,7 +843,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged( +@@ -855,7 +855,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged( view->SetIconColor(color_provider->GetColor(kColorPipWindowForeground)); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On Linux the top bar background will be drawn in OnPaint(). top_bar_container_view_->SetBackground(views::CreateSolidBackground( color_provider->GetColor(kColorPipWindowTopBarBackground))); -@@ -932,7 +932,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg +@@ -944,7 +944,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg BrowserNonClientFrameView::RemovedFromWidget(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::Insets PictureInPictureBrowserFrameView::RestoredMirroredFrameBorderInsets() const { auto border = FrameBorderInsets(); -@@ -1223,7 +1223,7 @@ void PictureInPictureBrowserFrameView::AnimationProgre +@@ -1235,7 +1235,7 @@ void PictureInPictureBrowserFrameView::AnimationProgre // views::View implementations: void PictureInPictureBrowserFrameView::OnPaint(gfx::Canvas* canvas) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Draw the PiP window frame borders and shadows, including the top bar // background. if (window_frame_provider_) { -@@ -1378,7 +1378,7 @@ void PictureInPictureBrowserFrameView::UpdateTopBarVie +@@ -1390,7 +1390,7 @@ void PictureInPictureBrowserFrameView::UpdateTopBarVie } gfx::Insets PictureInPictureBrowserFrameView::FrameBorderInsets() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (window_frame_provider_) { const auto insets = window_frame_provider_->GetFrameThicknessDip(); const bool tiled = frame()->tiled(); -@@ -1396,7 +1396,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor +@@ -1408,7 +1408,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor } gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return FrameBorderInsets(); #elif !BUILDFLAG(IS_CHROMEOS) return gfx::Insets(kResizeBorder); -@@ -1417,7 +1417,7 @@ gfx::Size PictureInPictureBrowserFrameView::GetNonClie +@@ -1429,7 +1429,7 @@ gfx::Size PictureInPictureBrowserFrameView::GetNonClie top_height + border_thickness.bottom()); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool PictureInPictureBrowserFrameView::ShouldDrawFrameShadow() const { return static_cast( frame()->native_browser_frame()) diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h b/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h index b5b28828effe..7a68023d289d 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h @@ -1,38 +1,38 @@ ---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h @@ -30,7 +30,7 @@ #include "ui/views/layout/flex_layout_view.h" #include "ui/views/widget/widget_observer.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/window_frame_provider.h" #endif -@@ -90,7 +90,7 @@ class PictureInPictureBrowserFrameView +@@ -87,7 +87,7 @@ class PictureInPictureBrowserFrameView void Layout(PassKey) override; void AddedToWidget() override; void RemovedFromWidget() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::Insets RestoredMirroredFrameBorderInsets() const override; gfx::Insets GetInputInsets() const override; SkRRect GetRestoredClipRegion() const override; -@@ -182,7 +182,7 @@ class PictureInPictureBrowserFrameView +@@ -179,7 +179,7 @@ class PictureInPictureBrowserFrameView // Returns true if there's an overlay view that's currently shown. bool IsOverlayViewVisible() const; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns whether a client-side shadow should be drawn for the window. bool ShouldDrawFrameShadow() const; -@@ -391,7 +391,7 @@ class PictureInPictureBrowserFrameView +@@ -388,7 +388,7 @@ class PictureInPictureBrowserFrameView // `top_bar_color_animation_`. std::optional current_foreground_color_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used to draw window frame borders and shadow on Linux when GTK theme is // enabled. raw_ptr window_frame_provider_ = nullptr; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc index 99648ad794fb..8e814da5db50 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc @@ -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); @@ -92,7 +92,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) @@ -166,7 +166,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/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc index dd80764bb71c..e23009796dbc 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc @@ -20,7 +20,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( 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); @@ -59,7 +59,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/iridium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc index cd94bacb050c..1f7831545d79 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc +++ b/www/iridium/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-16 18:18:42 UTC +--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig 2025-05-07 06:48:23 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)); -#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/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc index 46dab0cf84df..82d1e5441fce 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/hung_renderer_view.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/hung_renderer_view.cc -@@ -419,7 +419,7 @@ void HungRendererDialogView::ForceCrashHungRenderer() +@@ -452,7 +452,7 @@ void HungRendererDialogView::ForceCrashHungRenderer() content::RenderProcessHost* rph = hung_pages_table_model_->GetRenderWidgetHost()->GetProcess(); if (rph) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // A generic |CrashDumpHungChildProcess()| is not implemented for Linux. // Instead we send an explicit IPC to crash on the renderer's IO thread. rph->ForceCrash(); diff --git a/www/iridium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc index aabd4a1634f8..a2279ab5e38e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/omnibox/omnibox_view_views.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/omnibox/omnibox_view_views.cc -@@ -2064,7 +2064,7 @@ void OmniboxViewViews::MaybeAddSendTabToSelfItem( +@@ -2089,7 +2089,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/iridium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/www/iridium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc index 5d33f3131962..bf74376521cc 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc @@ -42,7 +42,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 @@ -175,7 +175,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/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index c78ff84c7d78..5d8674c148f1 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc @@ -346,7 +346,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/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h index 6c5ff5a43acf..1850f8e213b9 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h @@ -84,7 +84,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/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc index 12f592f96452..ea3e0428e3f5 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__coordinator.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc @@ -50,7 +50,7 @@ void ProfileMenuCoordinator::Show(bool is_source_accel browser.window()->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) browser.window()->NotifyFeaturePromoFeatureUsed( feature_engagement::kIPHSupervisedUserProfileSigninFeature, FeaturePromoFeatureUsedAction::kClosePromoIfPresent); diff --git a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc index 05b09eb5d4a7..1b8218cc1ae4 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -91,7 +91,7 @@ +@@ -92,7 +92,7 @@ #include "ui/strings/grit/ui_strings.h" #include "ui/views/accessibility/view_accessibility.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 -@@ -549,7 +549,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -550,7 +550,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( -@@ -646,7 +646,7 @@ void ProfileMenuView::BuildIdentity() { +@@ -647,7 +647,7 @@ void ProfileMenuView::BuildIdentity() { badge_image_model, menu_title_, menu_subtitle_, management_label); } else { 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/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc index 7546c45cc6a5..b11b1a45e560 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc @@ -650,7 +650,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( ProfileMenuViewBase::kIdentityImageSize, kIdentityImageBorder, /*has_dotted_ring=*/false); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // crbug.com/1161166: Orca does not read the accessible window title of the // bubble, so we duplicate it in the top-level menu item. To be revisited // after considering other options, including fixes on the AT side. diff --git a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc index 9003affcd821..4b4fc8e86d3d 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/profile_picker_view.cc @@ -85,7 +85,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 @@ -115,7 +115,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/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index ec4bcd622a21..7bfd03c98476 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc @@ -65,7 +65,7 @@ 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; @@ -197,7 +197,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( @@ -382,7 +382,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) { @@ -472,7 +472,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() @@ -553,7 +553,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/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h index f08ff1e533fe..ced6a345b43d 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h +++ b/www/iridium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h @@ -73,7 +73,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, @@ -144,7 +144,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/iridium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index e28913e2c4d2..6fdb04bdd59c 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -189,7 +189,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { +@@ -190,7 +190,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(); -@@ -392,7 +392,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -381,7 +381,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_ = -@@ -954,7 +954,7 @@ TabDragController::Liveness TabDragController::DragBro +@@ -889,7 +889,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. -@@ -2097,7 +2097,7 @@ void TabDragController::CompleteDrag() { +@@ -1914,7 +1914,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 -@@ -2527,7 +2527,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2331,7 +2331,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/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc index 7284d07fb803..664894f3d812 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -643,7 +643,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -642,7 +642,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/iridium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc index 779b5e5f17e7..28ba982b6e47 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc -@@ -379,7 +379,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta +@@ -380,7 +380,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta // not become active. Setting this to false creates the need to explicitly // hide the hovercard on press, touch, and keyboard events. SetCanActivate(false); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) set_accept_events(false); #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc index f866d30041b3..c3e633e35018 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__strip__combo__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_strip_combo_button.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/views/tabs/tab_strip_combo_button.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/tabs/tab_strip_combo_button.cc -@@ -96,7 +96,7 @@ TabStripComboButton::TabStripComboButton(BrowserWindow +@@ -97,7 +97,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/iridium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc index 1f22e3c7042d..c5dccbdf8567 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -511,7 +511,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -545,7 +545,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/iridium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc index 4ae16cbd0fcf..86896a84534e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc +++ b/www/iridium/files/patch-chrome_browser_ui_views_task__manager__search__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/views/task_manager_search_bar_view.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/task_manager_search_bar_view.cc @@ -27,7 +27,7 @@ TaskManagerSearchBarView::TaskManagerSearchBarView( const gfx::Insets& margins, Delegate& delegate) : delegate_(delegate) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) , textfield_placeholder_color_id_(kColorTaskManagerSearchBarPlaceholderText) #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/iridium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc index b9099ead5449..e94603d487ef 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -917,7 +917,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -930,7 +930,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( -@@ -1171,7 +1171,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -1209,7 +1209,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/iridium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/iridium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc index 8ff44c05b936..9b03261c0d2d 100644 --- a/www/iridium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc @@ -510,7 +510,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; @@ -2057,7 +2057,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( @@ -3377,7 +3377,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 @@ -3392,7 +3392,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 @@ -3402,7 +3402,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; } @@ -3418,7 +3418,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; } @@ -4243,7 +4243,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 @@ -4443,7 +4443,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); @@ -4487,7 +4487,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/iridium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h b/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h index c8f028ad663b..8fa78bf68a4e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/web_applications/web_app_dialogs.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/web_applications/web_app_dialogs.h @@ -21,7 +21,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/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc index 6bc69902e9aa..acf093258ac2 100644 --- a/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -518,7 +518,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun +@@ -519,7 +519,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); -@@ -747,7 +747,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( +@@ -748,7 +748,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/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h index d39cbb43a311..9c84acdbe87f 100644 --- a/www/iridium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h @@ -225,7 +225,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, const webapps::AppId& app_id, bool is_activated); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.cc b/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.cc index 6d818f64517b..020439754e72 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/about/about_ui.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/about/about_ui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/about/about_ui.cc @@ -496,7 +496,7 @@ std::string ChromeURLs(content::BrowserContext* browse return html; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::string AboutLinuxProxyConfig() { std::string data; AppendHeader(&data, @@ -538,7 +538,7 @@ TermsUIConfig::TermsUIConfig() : AboutUIConfigBase(chrome::kChromeUITermsHost) {} #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) LinuxProxyConfigUI::LinuxProxyConfigUI() : AboutUIConfigBase(chrome::kChromeUILinuxProxyConfigHost) {} #endif @@ -590,7 +590,7 @@ void AboutUIHTMLSource::StartDataRequest( response = ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) { response = AboutLinuxProxyConfig(); #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.h b/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.h index 81fb2a04ddb3..67aaf5a6c26e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.h +++ b/www/iridium/files/patch-chrome_browser_ui_webui_about_about__ui.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/about/about_ui.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/about/about_ui.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/about/about_ui.h @@ -55,7 +55,7 @@ class TermsUIConfig : public AboutUIConfigBase { }; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // chrome://linux-proxy-config class LinuxProxyConfigUI : public AboutUIConfigBase { public: diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc index 2ae70da32550..f9c4686f8cbf 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc -@@ -62,7 +62,7 @@ +@@ -61,7 +61,7 @@ #include "ui/base/window_open_disposition_utils.h" #include "url/gurl.h" -static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); +static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); using content::WebUI; using extensions::Extension; diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h b/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h index 09240b07c3eb..5c4d8626de70 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h +++ b/www/iridium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/app_home/app_home_page_handler.h.orig 2024-08-01 05:47:53 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.h @@ -24,7 +24,7 @@ #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" -static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); +static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); class ExtensionEnableFlow; diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h b/www/iridium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h index be9375a08b78..e86dd16658b3 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h +++ b/www/iridium/files/patch-chrome_browser_ui_webui_app__settings_web__app__settings__ui.h @@ -1,18 +1,18 @@ ---- chrome/browser/ui/webui/app_settings/web_app_settings_ui.h.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/ui/webui/app_settings/web_app_settings_ui.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/app_settings/web_app_settings_ui.h @@ -14,13 +14,13 @@ #include "ui/webui/mojo_web_ui_controller.h" #include "ui/webui/resources/cr_components/app_management/app_management.mojom-forward.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/common/webui_url_constants.h" #include "content/public/browser/webui_config.h" #include "content/public/common/url_constants.h" #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) class WebAppSettingsUI; class WebAppSettingsUIConfig diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc index bdf831f69c09..103c576d6336 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc @@ -221,7 +221,7 @@ CertificateManagerPageHandler::GetCertSource( CERTIFICATE_TRUST_TYPE_DISTRUSTED, profile_, &remote_client_); break; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case certificate_manager_v2::mojom::CertificateSource:: kProvisionedClientCert: source_ptr = CreateProvisionedClientCertSource(profile_); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc index 7f38bcda9569..b99cc2d624a6 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc @@ -1,65 +1,65 @@ ---- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc @@ -54,7 +54,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 "components/enterprise/client_certificates/core/certificate_provisioning_service.h" - #include "components/enterprise/client_certificates/core/client_certificates_service.h" -@@ -174,7 +174,7 @@ class ClientCertStoreFactoryMac : public ClientCertSto + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -177,7 +177,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) -@@ -189,7 +189,7 @@ std::unique_ptr CreatePlatformC +@@ -192,7 +192,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 -@@ -347,7 +347,7 @@ class ClientCertSource : public CertificateManagerPage +@@ -368,7 +368,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 -@@ -1078,7 +1078,7 @@ CreatePlatformClientCertSource( +@@ -1099,7 +1099,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( -@@ -1086,7 +1086,7 @@ CreatePlatformClientCertSource( +@@ -1107,7 +1107,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( -@@ -1135,7 +1135,7 @@ bool ClientCertManagementAccessControls::IsChangeAllow +@@ -1156,7 +1156,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/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h index f3789a00df43..e8c1ae8c1d2e 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h +++ b/www/iridium/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/certificate_manager/client_cert_sources.h.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.h @@ -19,7 +19,7 @@ CreatePlatformClientCertSource( remote_client, 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) std::unique_ptr CreateProvisionedClientCertSource(Profile* profile); #endif @@ -29,7 +29,7 @@ std::unique_ptr()); #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) -@@ -345,7 +345,7 @@ void RegisterChromeWebUIConfigs() { +@@ -348,7 +348,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()); -@@ -353,13 +353,13 @@ void RegisterChromeWebUIConfigs() { + map.AddWebUIConfig(std::make_unique()); + map.AddWebUIConfig(std::make_unique()); +@@ -357,13 +357,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()); map.AddWebUIConfig(std::make_unique()); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index 722ea766f0f6..67207234e19d 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -114,16 +114,16 @@ +@@ -118,16 +118,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 -@@ -404,7 +404,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -408,7 +408,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); } -@@ -438,7 +438,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -442,7 +442,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/iridium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/www/iridium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc index 1920cd46ec03..65928b5f90c9 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc @@ -7,7 +7,7 @@ #include "build/build_config.h" #include "components/enterprise/buildflags/buildflags.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 "base/base64url.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/policy/chrome_browser_policy_connector.h" @@ -38,7 +38,7 @@ namespace enterprise_connectors::utils { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) connectors_internals::mojom::KeyTrustLevel ParseTrustLevel( BPKUR::KeyTrustLevel trust_level) { @@ -173,7 +173,7 @@ connectors_internals::mojom::CertificateMetadataPtr Co } // namespace connectors_internals::mojom::KeyInfoPtr GetKeyInfo() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) auto* key_manager = g_browser_process->browser_policy_connector() ->chrome_browser_cloud_management_controller() ->GetDeviceTrustKeyManager(); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc b/www/iridium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc index 87d432b3c365..f7f2d37967cc 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/interstitials/interstitial_ui.cc -@@ -74,7 +74,7 @@ +@@ -77,7 +77,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" -@@ -420,7 +420,7 @@ std::unique_ptr CreateEnterpriseWa +@@ -424,7 +424,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, -@@ -647,7 +647,7 @@ void InterstitialHTMLSource::StartDataRequest( +@@ -651,7 +651,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/iridium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui.cc index e4ed21234f89..3a814d8803ab 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui.cc @@ -1,16 +1,16 @@ ---- chrome/browser/ui/webui/management/management_ui.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/management/management_ui.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/management/management_ui.cc @@ -175,11 +175,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/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc index 09078ebb453e..fbde1daed041 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc @@ -1,17 +1,17 @@ ---- chrome/browser/ui/webui/management/management_ui_constants.cc.orig 2024-12-22 12:24:29 UTC +--- chrome/browser/ui/webui/management/management_ui_constants.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/management/management_ui_constants.cc @@ -89,12 +89,12 @@ const char kProfileReportingExtension[] = "profileRepo const char kProfileReportingPolicy[] = "profileReportingPolicy"; const char kProfileReportingLearnMore[] = "profileReportingLearnMore"; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char kManagementScreenCaptureEvent[] = "managementScreenCaptureEvent"; const char kManagementScreenCaptureData[] = "managementScreenCaptureData"; #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) const char kManagementDeviceSignalsDisclosure[] = "managementDeviceSignalsDisclosure"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h index b96ee42f7a54..adf0a7003569 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h +++ b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h @@ -1,19 +1,19 @@ ---- chrome/browser/ui/webui/management/management_ui_constants.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/management/management_ui_constants.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/management/management_ui_constants.h @@ -7,14 +7,14 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Constants defining the IDs for the localized strings sent to the page as // load time data. extern const char kManagementScreenCaptureEvent[]; extern const char kManagementScreenCaptureData[]; #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) extern const char kManagementDeviceSignalsDisclosure[]; #endif // #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc index 922e4440440f..75e981382676 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.cc @@ -58,7 +58,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 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 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 ->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/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h index e0e8a9191fab..8263fbe23a27 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h +++ b/www/iridium/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-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/management/management_ui_handler.h @@ -30,7 +30,7 @@ namespace policy { class PolicyService; } // namespace policy -#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 @@ -71,7 +71,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/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc index 287592567d88..14c11afc3d38 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc @@ -28,7 +28,7 @@ #include "chrome/browser/ui/webui/password_manager/promo_cards/web_password_manager_promo.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.h" #endif @@ -71,7 +71,7 @@ std::vector> Ge .get())); #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) promo_cards.push_back( std::make_unique(profile->GetPrefs())); #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc b/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc index b79c788802dc..d17dac5b1934 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc @@ -37,7 +37,7 @@ std::u16string RelaunchChromePromo::GetTitle() const { return l10n_util::GetStringUTF16( #if BUILDFLAG(IS_MAC) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE_LINUX #endif ); @@ -47,7 +47,7 @@ std::u16string RelaunchChromePromo::GetDescription() c return l10n_util::GetStringUTF16( #if BUILDFLAG(IS_MAC) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION_LINUX #endif ); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc index ec00f42e46dc..70bd58643593 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/searchbox/searchbox_handler.cc @@ -111,7 +111,7 @@ const char* kMacShareIconResourceName = #elif BUILDFLAG(IS_WIN) const char* kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char* kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share.svg"; #else @@ -171,7 +171,7 @@ static void DefineChromeRefreshRealboxIcons() { #elif BUILDFLAG(IS_WIN) kWinShareIconResourceName = "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) kLinuxShareIconResourceName = "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else @@ -607,7 +607,7 @@ std::string SearchboxHandler::ActionVectorIconToResour icon.name == omnibox::kShareWinChromeRefreshIcon.name) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (icon.name == omnibox::kShareIcon.name || icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { return kLinuxShareIconResourceName; diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc index be23d336fba6..7934d2832441 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/settings/appearance_handler.cc @@ -32,7 +32,7 @@ void AppearanceHandler::RegisterMessages() { "useDefaultTheme", base::BindRepeating(&AppearanceHandler::HandleUseTheme, base::Unretained(this), ui::SystemTheme::kDefault)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) web_ui()->RegisterMessageCallback( "useGtkTheme", base::BindRepeating(&AppearanceHandler::HandleUseTheme, diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index c0e9f5524058..4591d1e65a51 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -1,65 +1,65 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -138,7 +138,7 @@ +@@ -140,7 +140,7 @@ #include "chrome/browser/ui/webui/settings/system_handler.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif -@@ -157,7 +157,7 @@ +@@ -159,7 +159,7 @@ #include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h" #endif -#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 - {"focusHighlightLabel", - IDS_SETTINGS_ACCESSIBILITY_FOCUS_HIGHLIGHT_DESCRIPTION}, +@@ -288,7 +288,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", -@@ -571,7 +571,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -577,7 +577,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}, -@@ -579,7 +579,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -585,7 +585,7 @@ 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) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if BUILDFLAG(IS_MAC) -@@ -601,7 +601,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -607,7 +607,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; -@@ -1504,7 +1504,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1495,7 +1495,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/iridium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc index dca5b4b5ba68..169afcebffda 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -164,7 +164,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr +@@ -165,7 +165,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr IDS_PROFILE_PICKER_PROFILE_CARD_LABEL, local_profile_name); if (AccountInfo::IsManaged(entry->GetHostedDomain())) { 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()) { diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc b/www/iridium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc index 5da58916915a..d03a74b1eb17 100644 --- a/www/iridium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc @@ -50,7 +50,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/resource_path.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_navigator_params.h" #include "net/base/url_util.h" @@ -90,7 +90,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( } whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return g_browser_process->GetFeatures()->whats_new_registry(); #else return nullptr; -@@ -794,7 +794,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats +@@ -828,7 +828,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/iridium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/iridium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc index 57ba0fa664fb..1c32d23fe910 100644 --- a/www/iridium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc +++ b/www/iridium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/ui/window_sizer/window_sizer.cc @@ -220,7 +220,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( browser, window_bounds, show_state); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has its own implementation, see WindowSizerLinux. // static void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/iridium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc b/www/iridium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc index 92a9b8f99b0e..d4149a2d02f2 100644 --- a/www/iridium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc +++ b/www/iridium/files/patch-chrome_browser_upgrade__detector_version__history__client.cc @@ -1,11 +1,11 @@ ---- chrome/browser/upgrade_detector/version_history_client.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/upgrade_detector/version_history_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/upgrade_detector/version_history_client.cc -@@ -50,7 +50,7 @@ GURL GetVersionReleasesUrl(base::Version version) { +@@ -175,7 +175,7 @@ GURL GetVersionReleasesUrl(base::Version version) { #define CURRENT_PLATFORM "win" #endif -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define CURRENT_PLATFORM "linux" diff --git a/www/iridium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc b/www/iridium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc index b1171e872198..bfc3b0d2668e 100644 --- a/www/iridium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc +++ b/www/iridium/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc -@@ -44,7 +44,7 @@ +@@ -45,7 +45,7 @@ #include "components/visited_url_ranking/public/visited_url_ranking_service.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/visited_url_ranking/desktop_tab_model_url_visit_data_fetcher.h" #elif BUILDFLAG(IS_ANDROID) #include "chrome/browser/visited_url_ranking/android_tab_model_url_visit_data_fetcher.h" -@@ -118,7 +118,7 @@ VisitedURLRankingServiceFactory::BuildServiceInstanceF +@@ -119,7 +119,7 @@ VisitedURLRankingServiceFactory::BuildServiceInstanceF std::map> data_fetchers; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) data_fetchers.emplace( Fetcher::kTabModel, std::make_unique( diff --git a/www/iridium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc b/www/iridium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc index 9addfeaf3fde..db6dcffc1f50 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/commands/launch_web_app_command.cc @@ -101,7 +101,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt // OsIntegrationTestOverride can use the xdg install command to detect // install. SynchronizeOsOptions options; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) options.add_shortcut_to_desktop = true; #endif lock_->os_integration_manager().Synchronize( diff --git a/www/iridium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc b/www/iridium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc index 3be799d754c7..d1e57056189d 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/commands/set_user_display_mode_command.cc @@ -57,7 +57,7 @@ void SetUserDisplayModeCommand::StartWithLock( // OsIntegrationTestOverride can use the xdg install command to detect // install. SynchronizeOsOptions options; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) options.add_shortcut_to_desktop = true; #endif app_lock_->os_integration_manager().Synchronize( diff --git a/www/iridium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/iridium/files/patch-chrome_browser_web__applications_extension__status__utils.h index b706510c4783..fefb00abd936 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_extension__status__utils.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_extension__status__utils.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/extension_status_utils.h.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/web_applications/extension_status_utils.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/extension_status_utils.h @@ -50,7 +50,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte bool IsExternalExtensionUninstalled(content::BrowserContext* context, const std::string& extension_id); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this method returns true, then |extension_id| will not be launchable. // // The eventual goal is that this method should return true for all hosted apps, diff --git a/www/iridium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/iridium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc index 1e921900e07a..da2464d61dec 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/extensions/extension_status_utils.cc -@@ -25,7 +25,7 @@ namespace { +@@ -26,7 +26,7 @@ namespace { const char* g_preinstalled_app_for_testing = nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(b/268221237): Remove this allow-list. const char kDefaultAllowedExtensionIds[] = "alhngdkjgnedakdlnamimgfihgkmenbh," -@@ -107,7 +107,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo +@@ -105,7 +105,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo return prefs && prefs->IsExternalExtensionUninstalled(extension_id); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, const std::string& extension_id) { if (testing::g_enable_chrome_apps_for_testing) { diff --git a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc index 1a5dc583c2ad..c909566cccf5 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/os_integration_manager.cc -@@ -660,7 +660,7 @@ std::unique_ptr OsIntegrationManager::Bu +@@ -662,7 +662,7 @@ std::unique_ptr OsIntegrationManager::Bu } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::vector& shortcuts_menu_item_infos = app->shortcuts_menu_item_infos(); DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h index 03e34fecdefd..744d489b4ffa 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2024-06-25 12:08:48 UTC +--- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/os_integration_test_override.h @@ -99,7 +99,7 @@ class OsIntegrationTestOverride virtual base::FilePath chrome_apps_folder() = 0; virtual void EnableOrDisablePathOnLogin(const base::FilePath& file_path, bool enable_on_login) = 0; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual base::Environment* environment() = 0; #endif diff --git a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc index abe969c4cdd4..8b1e7519c1b3 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc +++ b/www/iridium/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 2023-10-21 11:51:27 UTC +--- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc -@@ -54,7 +54,7 @@ proto::RunOnOsLoginMode ConvertWebAppRunOnOsLoginModeT +@@ -54,7 +54,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/iridium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc index fce2282025b1..932fee2ec0d3 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc +++ b/www/iridium/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-18 16:46:04 UTC +--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc @@ -199,7 +199,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/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h index 144d89847349..b3e3af680e26 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h.orig 2024-02-04 14:46:08 UTC +--- chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h @@ -43,7 +43,7 @@ void UnregisterFileHandlersWithOs(const webapps::AppId const base::FilePath& profile_path, ResultCallback callback); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Exposed for testing purposes. Register the set of // MIME-type-to-file-extensions mappings corresponding to |file_handlers|. File // I/O and callouts to the Linux shell are performed asynchronously. diff --git a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc index d52fa37d2109..334211771134 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc @@ -71,7 +71,7 @@ namespace { #if BUILDFLAG(IS_MAC) const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512}; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Linux supports icons of any size. FreeDesktop Icon Theme Specification states // that "Minimally you should install a 48x48 icon in the hicolor theme." const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512}; @@ -253,7 +253,7 @@ std::unique_ptr BuildShortcutInfoWithout // TODO(crbug.com/40257107): Implement tests on Linux for using shortcuts_menu // actions. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::vector& shortcuts_menu_item_infos = CreateShortcutsMenuItemInfos(state.shortcut_menus()); DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h index 7349b0085eeb..89146023fe69 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut.h @@ -22,7 +22,7 @@ #include "ui/gfx/image/image_family.h" #include "url/gurl.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/web_applications/os_integration/web_app_shortcut_linux.h" #endif // BUILDFLAG(IS_LINUX) -@@ -75,7 +75,7 @@ struct ShortcutInfo { +@@ -77,7 +77,7 @@ struct ShortcutInfo { // the installed PWA experience and thus the icons are not designed to be // displayed on an OS dock. bool is_diy_app = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::set actions; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc b/www/iridium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc index 01d3d4a393e6..da03034b3219 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/policy/web_app_policy_manager.cc @@ -105,7 +105,7 @@ namespace web_app { BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration, "DesktopPWAsForceUnregisterOSIntegration", -#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/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc index e38ea184cba3..703a186779cc 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc @@ -1,119 +1,119 @@ ---- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc @@ -45,7 +45,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif @@ -130,7 +130,7 @@ std::vector GetFileExtensionsForProgId( } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Performs a blocking read of app icons from the disk. std::optional IconManagerReadIconForSize( WebAppIconManager& icon_manager, @@ -315,7 +315,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); CHECK(base::PathExists(app_folder_shortcut_path)); return base::DeletePathRecursively(app_folder_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); LOG(INFO) << desktop_shortcut_path; @@ -362,7 +362,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() { if (desktop_.IsValid()) { return desktop_.Delete(); @@ -376,7 +376,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab Profile* profile, const webapps::AppId& app_id, const std::string& app_name) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; return base::PathExists(startup().Append(shortcut_filename)); @@ -431,7 +431,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan is_file_handled = shell_integration::CanApplicationHandleURL(app_path, test_file_url); base::DeleteFile(test_file_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath user_applications_dir = applications(); bool database_update_called = false; for (const LinuxFileRegistration& command : linux_file_registration_) { @@ -481,7 +481,7 @@ std::optional OsIntegrationTestOverrideImpl: return std::nullopt; } return GetIconFromShortcutFile(shortcut_path); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) WebAppProvider* provider = WebAppProvider::GetForLocalAppsUnchecked(profile); if (!provider) { return std::nullopt; @@ -547,7 +547,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort app_installed_profiles.end()) { return shortcut_path; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename); @@ -572,7 +572,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( base::FilePath app_shortcut_path = GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); return base::PathExists(app_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); return base::PathExists(desktop_shortcut_path); @@ -764,7 +764,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath OsIntegrationTestOverrideImpl::desktop() { return desktop_.GetPath(); } @@ -815,7 +815,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri success = chrome_apps_folder_.CreateUniqueTempDirUnderPath( outer_temp_dir_.GetPath()); CHECK(success); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) success = desktop_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); CHECK(success); success = startup_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); @@ -828,7 +828,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri CHECK(success); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto callback = base::BindRepeating([](base::FilePath filename_in, std::string xdg_command, std::string file_contents) { @@ -900,7 +900,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); #elif BUILDFLAG(IS_MAC) EXPECT_TRUE(!chrome_apps_folder_.IsValid() || DeleteChromeAppsDir()); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_TRUE(!desktop_.IsValid() || desktop_.Delete()); EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); EXPECT_TRUE(!xdg_data_home_dir_.IsValid() || xdg_data_home_dir_.Delete()); diff --git a/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h b/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h index 4a871dbfaf34..958288bbb756 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h @@ -1,38 +1,38 @@ ---- chrome/browser/web_applications/test/os_integration_test_override_impl.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.h @@ -40,7 +40,7 @@ class ShellLinkItem; namespace web_app { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) struct LinuxFileRegistration { base::FilePath file_name; std::string xdg_command; @@ -122,7 +122,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra bool DeleteApplicationMenuDirOnWin(); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool DeleteDesktopDirOnLinux(); #endif // BUILDFLAG(IS_LINUX) @@ -250,7 +250,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra base::FilePath chrome_apps_folder() override; void EnableOrDisablePathOnLogin(const base::FilePath& file_path, bool enable_on_login) override; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop(); base::FilePath startup(); base::FilePath applications(); @@ -323,7 +323,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra base::ScopedTempDir chrome_apps_folder_; std::map startup_enabled_; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::ScopedTempDir desktop_; base::ScopedTempDir startup_; base::ScopedTempDir xdg_data_home_dir_; diff --git a/www/iridium/files/patch-chrome_browser_web__applications_web__app__helpers.cc b/www/iridium/files/patch-chrome_browser_web__applications_web__app__helpers.cc index a1f35d926213..427b97fc4bcb 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_web__app__helpers.cc +++ b/www/iridium/files/patch-chrome_browser_web__applications_web__app__helpers.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_helpers.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/web_app_helpers.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/web_app_helpers.cc @@ -145,7 +145,7 @@ bool IsValidWebAppUrl(const GURL& app_url) { return false; bool allow_extension_apps = true; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Stop allowing apps to be extension urls when the shortcuts are separated - // they can be extension urls instead. allow_extension_apps = false; diff --git a/www/iridium/files/patch-chrome_browser_web__applications_web__app__install__info.h b/www/iridium/files/patch-chrome_browser_web__applications_web__app__install__info.h index a4be3a78d312..e275ed54460a 100644 --- a/www/iridium/files/patch-chrome_browser_web__applications_web__app__install__info.h +++ b/www/iridium/files/patch-chrome_browser_web__applications_web__app__install__info.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_install_info.h.orig 2025-02-22 18:06:53 UTC +--- chrome/browser/web_applications/web_app_install_info.h.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/web_applications/web_app_install_info.h @@ -38,7 +38,7 @@ #include "url/gurl.h" static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS)); + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)); namespace web_app { diff --git a/www/iridium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/iridium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc index 86ab5ab8be37..c802b580d2b8 100644 --- a/www/iridium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc +++ b/www/iridium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -574,7 +574,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc +@@ -577,7 +577,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/iridium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/iridium/files/patch-chrome_browser_webauthn_enclave__manager.cc index 608b4ea92018..a5f8d5a5ec6a 100644 --- a/www/iridium/files/patch-chrome_browser_webauthn_enclave__manager.cc +++ b/www/iridium/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/enclave_manager.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -711,7 +711,7 @@ base::flat_set GetGaiaIDs( +@@ -689,7 +689,7 @@ base::flat_set GetGaiaIDs( std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS_ASH) -+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return label; #else return std::string("placeholder"); -@@ -721,7 +721,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -699,7 +699,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_ASH) -+ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return saved_label; #else return std::nullopt; diff --git a/www/iridium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc b/www/iridium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc index 1f7a451c3f1e..c31c63431c7b 100644 --- a/www/iridium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc +++ b/www/iridium/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/gpm_user_verification_policy.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/browser/webauthn/gpm_user_verification_policy.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/webauthn/gpm_user_verification_policy.cc @@ -17,7 +17,7 @@ bool GpmWillDoUserVerification(device::UserVerificatio return platform_has_biometrics; #elif BUILDFLAG(IS_MAC) return platform_has_biometrics; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return false; #else // This default is for unit tests. diff --git a/www/iridium/files/patch-chrome_browser_webauthn_password__credential__controller.cc b/www/iridium/files/patch-chrome_browser_webauthn_password__credential__controller.cc new file mode 100644 index 000000000000..f23db80c3993 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_webauthn_password__credential__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/webauthn/password_credential_controller.cc.orig 2025-05-07 06:48:23 UTC ++++ chrome/browser/webauthn/password_credential_controller.cc +@@ -46,7 +46,7 @@ password_manager::PasswordManagerClient* GetPasswordMa + } + + 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/iridium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc b/www/iridium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc index 6c85b440e8c5..e8f50c6fbcd1 100644 --- a/www/iridium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc +++ b/www/iridium/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/browser/webauthn/unexportable_key_utils.cc -@@ -34,7 +34,7 @@ GetWebAuthnUnexportableKeyProvider() { +@@ -33,7 +33,7 @@ GetWebAuthnUnexportableKeyProvider() { // If there is a scoped UnexportableKeyProvider configured, we always use // that so that tests can still override the key provider. const bool use_software_provider = --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) !crypto::internal::HasScopedUnexportableKeyProvider(); #else false; diff --git a/www/iridium/files/patch-chrome_common_channel__info.h b/www/iridium/files/patch-chrome_common_channel__info.h index c422655e5a3a..52fed33d6c15 100644 --- a/www/iridium/files/patch-chrome_common_channel__info.h +++ b/www/iridium/files/patch-chrome_common_channel__info.h @@ -1,20 +1,20 @@ ---- chrome/common/channel_info.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/channel_info.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/channel_info.h @@ -11,7 +11,7 @@ #include "build/branding_buildflags.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace base { class Environment; } @@ -99,7 +99,7 @@ void ClearChannelIdForTesting(); std::string GetChannelSuffixForDataDir(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string GetChannelSuffixForExtraFlagsEnvVarName(); // Returns the channel-specific filename of the desktop shortcut used to launch diff --git a/www/iridium/files/patch-chrome_common_channel__info__posix.cc b/www/iridium/files/patch-chrome_common_channel__info__posix.cc index 373d1ddf5fb4..b7ce8e0cf09c 100644 --- a/www/iridium/files/patch-chrome_common_channel__info__posix.cc +++ b/www/iridium/files/patch-chrome_common_channel__info__posix.cc @@ -1,20 +1,20 @@ ---- chrome/common/channel_info_posix.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/channel_info_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/channel_info_posix.cc @@ -94,7 +94,7 @@ std::string GetChannelSuffixForDataDir() { } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string GetChannelSuffixForExtraFlagsEnvVarName() { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) const auto channel_state = GetChannelImpl(); @@ -120,7 +120,7 @@ std::string GetChannelSuffixForExtraFlagsEnvVarName() } #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string GetDesktopName(base::Environment* env) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) // Google Chrome packaged as a snap is a special case: the application name diff --git a/www/iridium/files/patch-chrome_common_chrome__features.cc b/www/iridium/files/patch-chrome_common_chrome__features.cc index fa8a40c490e4..88684c3b9e1d 100644 --- a/www/iridium/files/patch-chrome_common_chrome__features.cc +++ b/www/iridium/files/patch-chrome_common_chrome__features.cc @@ -1,56 +1,56 @@ ---- chrome/common/chrome_features.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_features.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_features.cc @@ -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, @@ -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. @@ -233,7 +233,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 @@ -259,7 +259,7 @@ BASE_FEATURE(kDesktopPWAsTabStripSettings, "DesktopPWAsTabStripSettings", base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // 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. -@@ -834,7 +834,7 @@ BASE_FEATURE(kKAnonymityServiceStorage, +@@ -898,7 +898,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); -@@ -847,7 +847,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -911,7 +911,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/iridium/files/patch-chrome_common_chrome__features.h b/www/iridium/files/patch-chrome_common_chrome__features.h index ae4f3f0d10c1..3ceaf1b684b2 100644 --- a/www/iridium/files/patch-chrome_common_chrome__features.h +++ b/www/iridium/files/patch-chrome_common_chrome__features.h @@ -1,45 +1,45 @@ ---- chrome/common/chrome_features.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_features.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_features.h @@ -50,13 +50,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); 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); -@@ -494,7 +494,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); +@@ -521,7 +521,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; -@@ -502,7 +502,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -529,7 +529,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/iridium/files/patch-chrome_common_chrome__paths.cc b/www/iridium/files/patch-chrome_common_chrome__paths.cc index 16517dcd8206..dab8f76ae528 100644 --- a/www/iridium/files/patch-chrome_common_chrome__paths.cc +++ b/www/iridium/files/patch-chrome_common_chrome__paths.cc @@ -1,82 +1,82 @@ ---- chrome/common/chrome_paths.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_paths.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_paths.cc -@@ -30,7 +30,7 @@ +@@ -32,7 +32,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 -@@ -44,14 +44,14 @@ +@@ -48,14 +48,14 @@ namespace { - 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) -@@ -208,7 +208,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -212,7 +212,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; } -@@ -500,13 +500,13 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -504,13 +504,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)) { -@@ -516,7 +516,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -520,7 +520,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; -@@ -554,7 +554,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -558,7 +558,7 @@ bool PathProvider(int key, base::FilePath* result) { break; #if BUILDFLAG(ENABLE_EXTENSIONS) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) case chrome::DIR_NATIVE_MESSAGING: #if BUILDFLAG(IS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -568,6 +568,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -572,6 +572,9 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath( FILE_PATH_LITERAL("/etc/iridium-browser/native-messaging-hosts")); +#elif BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/iridium-browser/native-messaging-hosts")); #else cur = base::FilePath( FILE_PATH_LITERAL("/etc/iridium-browser/native-messaging-hosts")); diff --git a/www/iridium/files/patch-chrome_common_chrome__paths.h b/www/iridium/files/patch-chrome_common_chrome__paths.h index b5771fdb72f1..701ebf57c93f 100644 --- a/www/iridium/files/patch-chrome_common_chrome__paths.h +++ b/www/iridium/files/patch-chrome_common_chrome__paths.h @@ -1,29 +1,29 @@ ---- chrome/common/chrome_paths.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_paths.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_paths.h @@ -56,7 +56,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 { // 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 @@ -112,7 +112,7 @@ enum { #endif #if BUILDFLAG(ENABLE_EXTENSIONS) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || 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/iridium/files/patch-chrome_common_chrome__paths__internal.h b/www/iridium/files/patch-chrome_common_chrome__paths__internal.h index 00fe703a2371..89653870748e 100644 --- a/www/iridium/files/patch-chrome_common_chrome__paths__internal.h +++ b/www/iridium/files/patch-chrome_common_chrome__paths__internal.h @@ -1,11 +1,11 @@ ---- chrome/common/chrome_paths_internal.h.orig 2023-07-24 14:27:53 UTC +--- chrome/common/chrome_paths_internal.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_paths_internal.h -@@ -43,7 +43,7 @@ void GetUserCacheDirectory(const base::FilePath& profi +@@ -53,7 +53,7 @@ void GetUserCacheDirectory(const base::FilePath& profi // Get the path to the user's documents directory. bool GetUserDocumentsDirectory(base::FilePath* result); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Gets the path to a safe default download directory for a user. bool GetUserDownloadsDirectorySafe(base::FilePath* result); #endif diff --git a/www/iridium/files/patch-chrome_common_chrome__switches.cc b/www/iridium/files/patch-chrome_common_chrome__switches.cc index 6c240ac00c84..ece1f9d9c392 100644 --- a/www/iridium/files/patch-chrome_common_chrome__switches.cc +++ b/www/iridium/files/patch-chrome_common_chrome__switches.cc @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_switches.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_switches.cc -@@ -874,7 +874,7 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- +@@ -883,7 +883,7 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- #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. -@@ -897,7 +897,7 @@ const char kGlicAllowedOrigins[] = "glic-webui-allowed - const char kGlicDev[] = "glic-dev"; +@@ -911,7 +911,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/iridium/files/patch-chrome_common_chrome__switches.h b/www/iridium/files/patch-chrome_common_chrome__switches.h index 45fce740871e..732323a94897 100644 --- a/www/iridium/files/patch-chrome_common_chrome__switches.h +++ b/www/iridium/files/patch-chrome_common_chrome__switches.h @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/chrome_switches.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/chrome_switches.h -@@ -271,7 +271,7 @@ extern const char kAllowNaClSocketAPI[]; +@@ -273,7 +273,7 @@ extern const char kAllowNaClSocketAPI[]; #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[]; -@@ -286,7 +286,7 @@ extern const char kGlicAllowedOrigins[]; - extern const char kGlicDev[]; +@@ -290,7 +290,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/iridium/files/patch-chrome_common_crash__keys.cc b/www/iridium/files/patch-chrome_common_crash__keys.cc index 1c33ee688f49..319f98129753 100644 --- a/www/iridium/files/patch-chrome_common_crash__keys.cc +++ b/www/iridium/files/patch-chrome_common_crash__keys.cc @@ -1,28 +1,28 @@ ---- chrome/common/crash_keys.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/crash_keys.cc.orig 2025-05-07 06:48:23 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_ 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 } command_line->AppendSwitchASCII(kStringAnnotationsSwitch, string_annotations); } +#endif void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) { SetStringAnnotations(command_line); diff --git a/www/iridium/files/patch-chrome_common_extensions_extension__constants.cc b/www/iridium/files/patch-chrome_common_extensions_extension__constants.cc index 643bff43e021..916cfcbf62da 100644 --- a/www/iridium/files/patch-chrome_common_extensions_extension__constants.cc +++ b/www/iridium/files/patch-chrome_common_extensions_extension__constants.cc @@ -1,11 +1,11 @@ ---- chrome/common/extensions/extension_constants.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/extensions/extension_constants.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/extensions/extension_constants.cc @@ -38,7 +38,7 @@ const char* const kBuiltInFirstPartyExtensionIds[] = { kGoogleSpeechSynthesisExtensionId, #endif // BUILDFLAG(IS_CHROMEOS) kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) kTTSEngineExtensionId, kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-chrome_common_extensions_extension__constants.h b/www/iridium/files/patch-chrome_common_extensions_extension__constants.h index a7afe64f959f..12c0aef6bae5 100644 --- a/www/iridium/files/patch-chrome_common_extensions_extension__constants.h +++ b/www/iridium/files/patch-chrome_common_extensions_extension__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/extensions/extension_constants.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/extensions/extension_constants.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/extensions/extension_constants.h @@ -310,7 +310,7 @@ inline constexpr char kReadingModeGDocsHelperExtension inline constexpr base::FilePath::CharType kReadingModeGDocsHelperManifestFilename[] = FILE_PATH_LITERAL("reading_mode_gdocs_helper_manifest.json"); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The extension id of the google tts engine extension to use on-device natural // Google voices. inline constexpr char kTTSEngineExtensionId[] = diff --git a/www/iridium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/www/iridium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc index 504577bdea90..bdaa8ae3604a 100644 --- a/www/iridium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc +++ b/www/iridium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc @@ -1,11 +1,11 @@ ---- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/extensions/permissions/chrome_permission_message_rules.cc @@ -280,7 +280,7 @@ class USBDevicesFormatter : public ChromePermissionMes int GetEnterpriseReportingPrivatePermissionMessageId() { #if BUILDFLAG(IS_WIN) return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_WIN; -#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) or BUILDFLAG(IS_BSD) return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS; #else return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE; diff --git a/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc index 8f389574c4bc..1d7fdb5fce04 100644 --- a/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc +++ b/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc @@ -1,11 +1,11 @@ ---- chrome/common/media/cdm_host_file_path.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/common/media/cdm_host_file_path.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/media/cdm_host_file_path.cc @@ -90,7 +90,7 @@ void AddCdmHostFilePaths( cdm_host_file_paths->emplace_back(chrome_framework_path, chrome_framework_sig_path); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath chrome_exe_dir; if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir)) { diff --git a/www/iridium/files/patch-chrome_common_media_cdm__registration.cc b/www/iridium/files/patch-chrome_common_media_cdm__registration.cc index bf3aa7cda939..e8158956f5b4 100644 --- a/www/iridium/files/patch-chrome_common_media_cdm__registration.cc +++ b/www/iridium/files/patch-chrome_common_media_cdm__registration.cc @@ -1,56 +1,56 @@ ---- chrome/common/media/cdm_registration.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/common/media/cdm_registration.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/media/cdm_registration.cc @@ -32,7 +32,7 @@ #if BUILDFLAG(ENABLE_WIDEVINE) #include "components/cdm/common/cdm_manifest.h" #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/native_library.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h" @@ -51,7 +51,7 @@ using Robustness = content::CdmInfo::Robustness; #if BUILDFLAG(ENABLE_WIDEVINE) #if (BUILDFLAG(BUNDLE_WIDEVINE_CDM) || \ BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // Create a CdmInfo for a Widevine CDM, using |version|, |cdm_library_path|, and // |capability|. std::unique_ptr CreateWidevineCdmInfo( @@ -93,7 +93,7 @@ std::unique_ptr CreateCdmInfoFromWid // BUILDFLAG(IS_CHROMEOS)) #if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // On Linux/ChromeOS we have to preload the CDM since it uses the zygote // sandbox. On Windows and Mac, CDM registration is handled by Component // Update (as the CDM can be loaded only when needed). @@ -117,7 +117,7 @@ std::unique_ptr GetBundledWidevine() // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) #if (BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))) // This code checks to see if Component Updater picked a version of the Widevine // CDM to be used last time it ran. (Component Updater may choose the bundled // CDM if there is not a new version available for download.) If there is one @@ -159,7 +159,7 @@ void AddSoftwareSecureWidevine(std::vector* cd } #if BUILDFLAG(ENABLE_WIDEVINE) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) std::vector GetSoftwareSecureWidevine() { std::vector cdms; AddSoftwareSecureWidevine(&cdms); diff --git a/www/iridium/files/patch-chrome_common_media_cdm__registration.h b/www/iridium/files/patch-chrome_common_media_cdm__registration.h index 3545fbe9cb91..81b97b13a3ba 100644 --- a/www/iridium/files/patch-chrome_common_media_cdm__registration.h +++ b/www/iridium/files/patch-chrome_common_media_cdm__registration.h @@ -1,11 +1,11 @@ ---- chrome/common/media/cdm_registration.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/media/cdm_registration.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/media/cdm_registration.h @@ -15,7 +15,7 @@ void RegisterCdmInfo(std::vector* cdms); #if BUILDFLAG(ENABLE_WIDEVINE) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // Returns the software secure Widevine CDM, if one exists. std::vector GetSoftwareSecureWidevine(); #endif diff --git a/www/iridium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h b/www/iridium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h index c0620b43c14e..2864a2a2cd06 100644 --- a/www/iridium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h +++ b/www/iridium/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h @@ -1,11 +1,11 @@ ---- chrome/common/media/component_widevine_cdm_hint_file_linux.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/media/component_widevine_cdm_hint_file_linux.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/media/component_widevine_cdm_hint_file_linux.h @@ -14,7 +14,7 @@ #error "This file only applies when Widevine used." #endif -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) #error "This file only applies to desktop Linux and ChromeOS." #endif diff --git a/www/iridium/files/patch-chrome_common_pref__names.h b/www/iridium/files/patch-chrome_common_pref__names.h index 02a51a515c82..ac15114e3aec 100644 --- a/www/iridium/files/patch-chrome_common_pref__names.h +++ b/www/iridium/files/patch-chrome_common_pref__names.h @@ -1,91 +1,91 @@ ---- chrome/common/pref_names.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/pref_names.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/pref_names.h @@ -1325,7 +1325,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 @@ -1502,7 +1502,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"; -@@ -2120,7 +2120,7 @@ inline constexpr char kDownloadDefaultDirectory[] = +@@ -2129,7 +2129,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 -@@ -2613,14 +2613,14 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -2622,14 +2622,14 @@ 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) -#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"; -@@ -2712,7 +2712,7 @@ inline constexpr char kIsolatedWebAppInstallForceList[ +@@ -2721,7 +2721,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[] = -@@ -3236,7 +3236,7 @@ inline constexpr char kDeviceWeeklyScheduledSuspend[] +@@ -3240,7 +3240,7 @@ inline constexpr char kKioskChromeAppsForceAllowed[] = #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 -@@ -3764,7 +3764,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -3763,7 +3763,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[] = -@@ -3960,7 +3960,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -3959,7 +3959,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 -@@ -4057,7 +4057,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -4056,7 +4056,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/iridium/files/patch-chrome_common_url__constants.h b/www/iridium/files/patch-chrome_common_url__constants.h index dc968f808a85..5d0f0d7120d4 100644 --- a/www/iridium/files/patch-chrome_common_url__constants.h +++ b/www/iridium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/url_constants.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/url_constants.h -@@ -981,7 +981,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -983,7 +983,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/iridium/files/patch-chrome_common_webui__url__constants.cc b/www/iridium/files/patch-chrome_common_webui__url__constants.cc index af7b7af19343..e4e6caee98ab 100644 --- a/www/iridium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/iridium/files/patch-chrome_common_webui__url__constants.cc @@ -1,24 +1,24 @@ ---- chrome/common/webui_url_constants.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/common/webui_url_constants.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/common/webui_url_constants.cc @@ -192,18 +192,18 @@ 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, 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/iridium/files/patch-chrome_common_webui__url__constants.h b/www/iridium/files/patch-chrome_common_webui__url__constants.h index 33e296926bf9..8d7af9596985 100644 --- a/www/iridium/files/patch-chrome_common_webui__url__constants.h +++ b/www/iridium/files/patch-chrome_common_webui__url__constants.h @@ -1,47 +1,47 @@ ---- chrome/common/webui_url_constants.h.orig 2025-04-16 18:18:42 UTC +--- chrome/common/webui_url_constants.h.orig 2025-05-07 06:48:23 UTC +++ chrome/common/webui_url_constants.h -@@ -509,18 +509,18 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome +@@ -513,18 +513,18 @@ 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_CHROMEOS) || 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"; -@@ -532,11 +532,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -536,11 +536,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"; -@@ -558,7 +558,7 @@ inline constexpr char kChromeUIProfilePickerGlicQuery[ - inline constexpr char kChromeUIProfilePickerUrl[] = "chrome://profile-picker/"; +@@ -565,7 +565,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)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/iridium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc b/www/iridium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc index 4998a3aa4e78..d2491471af7e 100644 --- a/www/iridium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc +++ b/www/iridium/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc @@ -1,11 +1,11 @@ ---- chrome/enterprise_companion/enterprise_companion_client.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/enterprise_companion/enterprise_companion_client.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/enterprise_companion/enterprise_companion_client.cc @@ -35,7 +35,7 @@ namespace { #if BUILDFLAG(IS_MAC) constexpr char kServerName[] = MAC_BUNDLE_IDENTIFIER_STRING ".service"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kServerName[] = "/run/" COMPANY_SHORTNAME_STRING "/" PRODUCT_FULLNAME_STRING "/service.sk"; #elif BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-chrome_enterprise__companion_event__logger.cc b/www/iridium/files/patch-chrome_enterprise__companion_event__logger.cc index 6b603867e651..638f693fe3ea 100644 --- a/www/iridium/files/patch-chrome_enterprise__companion_event__logger.cc +++ b/www/iridium/files/patch-chrome_enterprise__companion_event__logger.cc @@ -1,11 +1,11 @@ ---- chrome/enterprise_companion/event_logger.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/enterprise_companion/event_logger.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/enterprise_companion/event_logger.cc -@@ -124,7 +124,7 @@ proto::EnterpriseCompanionMetadata GetMetadata() { +@@ -126,7 +126,7 @@ proto::EnterpriseCompanionMetadata GetMetadata() { metadata.set_application_arch(proto::ARM64); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metadata.set_os_platform(proto::LINUX); #elif BUILDFLAG(IS_MAC) metadata.set_os_platform(proto::MAC); diff --git a/www/iridium/files/patch-chrome_enterprise__companion_lock.cc b/www/iridium/files/patch-chrome_enterprise__companion_lock.cc index e425e2d54e7d..2087ced52d3d 100644 --- a/www/iridium/files/patch-chrome_enterprise__companion_lock.cc +++ b/www/iridium/files/patch-chrome_enterprise__companion_lock.cc @@ -1,20 +1,20 @@ ---- chrome/enterprise_companion/lock.cc.orig 2024-08-27 06:28:16 UTC +--- chrome/enterprise_companion/lock.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/enterprise_companion/lock.cc @@ -17,7 +17,7 @@ namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kLockName[] = "/" PRODUCT_FULLNAME_STRING ".lock"; #elif BUILDFLAG(IS_MAC) constexpr char kLockName[] = MAC_BUNDLE_IDENTIFIER_STRING ".lock"; @@ -42,7 +42,7 @@ CSecurityDesc GetAdminDaclSecurityDescriptor() { namespace enterprise_companion { std::unique_ptr CreateScopedLock(base::TimeDelta timeout) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return named_system_lock::ScopedLock::Create(kLockName, timeout); #elif BUILDFLAG(IS_WIN) CSecurityAttributes sa = diff --git a/www/iridium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/iridium/files/patch-chrome_services_printing_print__backend__service__impl.cc index 3779fe489da1..7ce56597f612 100644 --- a/www/iridium/files/patch-chrome_services_printing_print__backend__service__impl.cc +++ b/www/iridium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -1,47 +1,47 @@ ---- chrome/services/printing/print_backend_service_impl.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/services/printing/print_backend_service_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/services/printing/print_backend_service_impl.cc -@@ -50,7 +50,7 @@ +@@ -49,7 +49,7 @@ #include "printing/backend/cups_connection_pool.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/no_destructor.h" #include "ui/linux/linux_ui.h" #include "ui/linux/linux_ui_delegate_stub.h" -@@ -77,7 +77,7 @@ namespace printing { +@@ -76,7 +76,7 @@ namespace printing { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void InstantiateLinuxUiDelegate() { // TODO(crbug.com/40561724) Until a real UI can be used in a utility process, // need to use the stub version. -@@ -86,7 +86,7 @@ void InstantiateLinuxUiDelegate() { +@@ -85,7 +85,7 @@ void InstantiateLinuxUiDelegate() { #endif scoped_refptr GetPrintingTaskRunner() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use task runner associated with equivalent of UI thread. Needed for calls // made through `PrintDialogLinuxInterface` to properly execute. CHECK(base::SequencedTaskRunner::HasCurrentDefault()); -@@ -469,7 +469,7 @@ void PrintBackendServiceImpl::Init( +@@ -468,7 +468,7 @@ void PrintBackendServiceImpl::Init( // `InitCommon()`. InitializeProcessForPrinting(); print_backend_ = PrintBackend::CreateInstance(locale); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Test framework already initializes the UI, so this should not go in // `InitCommon()`. Additionally, low-level Linux UI is not needed when tests // are using `TestPrintingContext`. -@@ -690,7 +690,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( +@@ -689,7 +689,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( crash_keys_ = std::make_unique( *printer_name, print_backend_->GetPrinterDriverInfo(*printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS) // Try to fill in advanced settings based upon basic info options. PrinterBasicInfo basic_info; if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) == diff --git a/www/iridium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc b/www/iridium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc index dfa2283cd3d2..e28c2cea04e3 100644 --- a/www/iridium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc +++ b/www/iridium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc @@ -1,11 +1,11 @@ ---- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/services/speech/audio_source_fetcher_impl.cc @@ -132,7 +132,7 @@ void AudioSourceFetcherImpl::Start( // TODO(crbug.com/40753481): Check implementation / sandbox policy on Mac and // Windows. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) is_started_ = true; // Initialize the AudioCapturerSource with |this| as the CaptureCallback, // get the parameters for the device ID, then start audio capture. diff --git a/www/iridium/files/patch-chrome_test_base_scoped__channel__override__posix.cc b/www/iridium/files/patch-chrome_test_base_scoped__channel__override__posix.cc index 3da3d44a105b..9e98756d663d 100644 --- a/www/iridium/files/patch-chrome_test_base_scoped__channel__override__posix.cc +++ b/www/iridium/files/patch-chrome_test_base_scoped__channel__override__posix.cc @@ -1,11 +1,11 @@ ---- chrome/test/base/scoped_channel_override_posix.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/test/base/scoped_channel_override_posix.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/base/scoped_channel_override_posix.cc @@ -45,7 +45,7 @@ std::string GetVersionExtra(ScopedChannelOverride::Cha return "beta"; case ScopedChannelOverride::Channel::kDev: return "unstable"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case ScopedChannelOverride::Channel::kCanary: return "canary"; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc index 1da55d33209e..352d226bf269 100644 --- a/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc +++ b/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc @@ -1,10 +1,10 @@ ---- chrome/test/chromedriver/chrome_launcher.cc.orig 2024-02-04 14:46:08 UTC +--- chrome/test/chromedriver/chrome_launcher.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/chromedriver/chrome_launcher.cc @@ -73,6 +73,7 @@ #include #include #include +#include #include #elif BUILDFLAG(IS_WIN) #include diff --git a/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc index 41c9c2c9a729..fecd76c12c1e 100644 --- a/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc +++ b/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc @@ -1,29 +1,29 @@ ---- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2024-02-04 14:46:08 UTC +--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/chromedriver/chrome/chrome_finder.cc @@ -58,7 +58,7 @@ void GetApplicationDirs(std::vector* l installation_locations[i].Append(L"Chromium\\Application")); } } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void GetApplicationDirs(std::vector* locations) { // TODO: Respect users' PATH variables. // Until then, we use an approximation of the most common defaults. @@ -125,7 +125,7 @@ std::vector GetChromeProgramNames() { chrome::kGoogleChromeForTestingBrowserProcessExecutablePath), base::FilePath(chrome::kGoogleChromeBrowserProcessExecutablePath), base::FilePath(chrome::kChromiumBrowserProcessExecutablePath), -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath(chrome::kBrowserProcessExecutablePath), base::FilePath("chrome"), // Chrome for Testing or Google Chrome base::FilePath("google-chrome"), base::FilePath("chromium"), @@ -141,7 +141,7 @@ std::vector GetHeadlessShellProgramNam return { #if BUILDFLAG(IS_WIN) base::FilePath(FILE_PATH_LITERAL("chrome-headless-shell.exe")), -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath("chrome-headless-shell"), #else // it will compile but won't work on other OSes diff --git a/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc index 9d1d3df1ab7d..eafe75cc7743 100644 --- a/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc +++ b/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc @@ -1,20 +1,20 @@ ---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/chromedriver/key_converter_unittest.cc @@ -252,7 +252,7 @@ TEST(KeyConverter, ToggleModifiers) { CheckEventsReleaseModifiers(keys, key_events); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Fails on bots: crbug.com/174962 #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols #else @@ -310,7 +310,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) { TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) { ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US); const auto kTextForKeys = std::to_array({ -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0, #else 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0, diff --git a/www/iridium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc b/www/iridium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc index 5cd2afb8a6cd..1df109a7d2d6 100644 --- a/www/iridium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc +++ b/www/iridium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc @@ -1,20 +1,20 @@ ---- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/chromedriver/keycode_text_conversion_unittest.cc @@ -64,7 +64,7 @@ std::string ConvertKeyCodeToTextNoError(ui::KeyboardCo } // namespace -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Fails on bots: crbug.com/174962 #define MAYBE_KeyCodeToText DISABLED_KeyCodeToText #else @@ -98,7 +98,7 @@ TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) { ConvertKeyCodeToTextNoError(ui::VKEY_SHIFT, kShiftKeyModifierMask)); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Fails on bots: crbug.com/174962 #define MAYBE_CharToKeyCode DISABLED_CharToKeyCode #else diff --git a/www/iridium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc b/www/iridium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc index d2f2b0bb7fdc..9a4900cb366e 100644 --- a/www/iridium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc +++ b/www/iridium/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc @@ -1,11 +1,11 @@ ---- chrome/test/supervised_user/google_auth_state_waiter_mixin.cc.orig 2024-11-04 08:56:03 UTC +--- chrome/test/supervised_user/google_auth_state_waiter_mixin.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/test/supervised_user/google_auth_state_waiter_mixin.cc @@ -24,7 +24,7 @@ GoogleAuthStateWaiterMixin::GoogleAuthStateWaiterMixin GoogleAuthStateWaiterMixin::~GoogleAuthStateWaiterMixin() = default; void GoogleAuthStateWaiterMixin::SetUpOnMainThread() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ChildAccountService* child_account_service = ChildAccountServiceFactory::GetForProfile( test_base_->browser()->profile()); diff --git a/www/iridium/files/patch-chrome_updater_app_app__uninstall.cc b/www/iridium/files/patch-chrome_updater_app_app__uninstall.cc index a4c27f190086..44b20c4fd945 100644 --- a/www/iridium/files/patch-chrome_updater_app_app__uninstall.cc +++ b/www/iridium/files/patch-chrome_updater_app_app__uninstall.cc @@ -1,11 +1,11 @@ ---- chrome/updater/app/app_uninstall.cc.orig 2025-02-22 18:06:53 UTC +--- chrome/updater/app/app_uninstall.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/updater/app/app_uninstall.cc @@ -157,7 +157,7 @@ void UninstallInThreadPool(UpdaterScope scope, } if (int result = UninstallOtherVersions(scope); result != kErrorOk) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // TODO(crbug.com/366249606): Ignores the errors when uninstalls // the other versions, because currently older Linux updater on // CIPD exits with error `kErrorFailedToDeleteFolder`. diff --git a/www/iridium/files/patch-chrome_updater_configurator.cc b/www/iridium/files/patch-chrome_updater_configurator.cc index 93a2bd5739eb..0f0f782fd745 100644 --- a/www/iridium/files/patch-chrome_updater_configurator.cc +++ b/www/iridium/files/patch-chrome_updater_configurator.cc @@ -1,11 +1,11 @@ ---- chrome/updater/configurator.cc.orig 2025-03-18 16:46:04 UTC +--- chrome/updater/configurator.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/updater/configurator.cc @@ -73,7 +73,7 @@ Configurator::Configurator(scoped_refptr return std::nullopt; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) }()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux creating the NetworkFetcherFactory requires performing blocking IO // to load an external library. This should be done when the configurator is // created. diff --git a/www/iridium/files/patch-chrome_updater_lock.cc b/www/iridium/files/patch-chrome_updater_lock.cc index c8675ad2d486..eb205fe271cf 100644 --- a/www/iridium/files/patch-chrome_updater_lock.cc +++ b/www/iridium/files/patch-chrome_updater_lock.cc @@ -1,11 +1,11 @@ ---- chrome/updater/lock.cc.orig 2024-08-01 05:47:53 UTC +--- chrome/updater/lock.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/updater/lock.cc @@ -26,7 +26,7 @@ namespace updater { std::unique_ptr CreateScopedLock(const std::string& name, UpdaterScope scope, base::TimeDelta timeout) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return named_system_lock::ScopedLock::Create( base::StrCat({"/" PRODUCT_FULLNAME_STRING, name, UpdaterScopeToString(scope), ".lock"}), diff --git a/www/iridium/files/patch-chrome_updater_util_posix__util.cc b/www/iridium/files/patch-chrome_updater_util_posix__util.cc index cc3ab6996de9..fdeed110bbe3 100644 --- a/www/iridium/files/patch-chrome_updater_util_posix__util.cc +++ b/www/iridium/files/patch-chrome_updater_util_posix__util.cc @@ -1,11 +1,11 @@ ---- chrome/updater/util/posix_util.cc.orig 2024-06-25 12:08:48 UTC +--- chrome/updater/util/posix_util.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/updater/util/posix_util.cc @@ -20,7 +20,7 @@ #include "chrome/updater/updater_branding.h" #include "chrome/updater/util/util.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/updater/util/linux_util.h" #endif diff --git a/www/iridium/files/patch-chrome_utility_services.cc b/www/iridium/files/patch-chrome_utility_services.cc index 9f6392ec1d70..41c6c1b082a8 100644 --- a/www/iridium/files/patch-chrome_utility_services.cc +++ b/www/iridium/files/patch-chrome_utility_services.cc @@ -1,29 +1,29 @@ ---- chrome/utility/services.cc.orig 2025-04-16 18:18:42 UTC +--- chrome/utility/services.cc.orig 2025-05-07 06:48:23 UTC +++ chrome/utility/services.cc -@@ -49,7 +49,7 @@ +@@ -48,7 +48,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) -@@ -209,7 +209,7 @@ auto RunMacNotificationService( +@@ -205,7 +205,7 @@ auto RunMacNotificationService( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto RunSystemSignalsService( mojo::PendingReceiver receiver) { -@@ -485,7 +485,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -479,7 +479,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/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc index fc488edef44d..68c7525a704e 100644 --- a/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc +++ b/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -1,38 +1,38 @@ ---- chromecast/browser/cast_browser_main_parts.cc.orig 2025-02-22 18:06:53 UTC +--- chromecast/browser/cast_browser_main_parts.cc.orig 2025-05-07 06:48:23 UTC +++ chromecast/browser/cast_browser_main_parts.cc -@@ -95,7 +95,7 @@ +@@ -100,7 +100,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 -@@ -268,7 +268,7 @@ class CastViewsDelegate : public views::ViewsDelegate +@@ -273,7 +273,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()); -@@ -314,7 +314,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { +@@ -319,7 +319,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. -@@ -491,7 +491,7 @@ void CastBrowserMainParts::ToolkitInitialized() { +@@ -496,7 +496,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/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc index c44fbe98b5b2..2b0ae1dcc852 100644 --- a/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc +++ b/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -1,11 +1,11 @@ ---- chromecast/browser/cast_content_browser_client.cc.orig 2025-04-16 18:18:42 UTC +--- chromecast/browser/cast_content_browser_client.cc.orig 2025-05-07 06:48:23 UTC +++ chromecast/browser/cast_content_browser_client.cc @@ -434,7 +434,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS switches::kAudioOutputChannels)); } } else if (process_type == switches::kGpuProcess) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Necessary for accelerated 2d canvas. By default on Linux, Chromium // assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU // canvas apps. diff --git a/www/iridium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc b/www/iridium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc index c4a41568f379..5b35e6074011 100644 --- a/www/iridium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc +++ b/www/iridium/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc @@ -1,11 +1,11 @@ ---- chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc.orig 2025-04-16 18:18:42 UTC +--- chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc.orig 2025-05-07 06:48:23 UTC +++ chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc @@ -352,7 +352,7 @@ CastWebView::Scoped RuntimeApplicationServiceImpl::Cre params->force_720p_resolution = GetFlagEntry(feature::kCastCoreForce720p, config_.extra_features(), /*default_value=*/false); -#if BUILDFLAG(ENABLE_CAST_RECEIVER) && BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_CAST_RECEIVER) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) // Starboard-based (linux) cast receivers may not render their UI at 720p, so // we need to scale to the proper resolution. For example, a 4k TV may render // the window at 1920x1080, so a scaling factor of 1.5 is necessary for a 720p diff --git a/www/iridium/files/patch-chromecast_media_base_default__monotonic__clock.cc b/www/iridium/files/patch-chromecast_media_base_default__monotonic__clock.cc index 7b076ff6561d..4cc16ecca3ec 100644 --- a/www/iridium/files/patch-chromecast_media_base_default__monotonic__clock.cc +++ b/www/iridium/files/patch-chromecast_media_base_default__monotonic__clock.cc @@ -1,20 +1,20 @@ ---- chromecast/media/base/default_monotonic_clock.cc.orig 2022-03-28 18:11:04 UTC +--- chromecast/media/base/default_monotonic_clock.cc.orig 2025-05-07 06:48:23 UTC +++ chromecast/media/base/default_monotonic_clock.cc @@ -11,7 +11,7 @@ #include "base/time/time.h" #include "build/build_config.h" -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chromecast/media/base/buildflags.h" #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) @@ -28,7 +28,7 @@ std::unique_ptr MonotonicClock::Create return std::make_unique(); } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) int64_t MonotonicClockNow() { timespec now = {0, 0}; #if BUILDFLAG(MEDIA_CLOCK_MONOTONIC_RAW) diff --git a/www/iridium/files/patch-components_BUILD.gn b/www/iridium/files/patch-components_BUILD.gn index 04ba556b3677..e4c4a24a3289 100644 --- a/www/iridium/files/patch-components_BUILD.gn +++ b/www/iridium/files/patch-components_BUILD.gn @@ -1,28 +1,28 @@ ---- components/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- components/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/BUILD.gn @@ -208,7 +208,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", -@@ -607,7 +606,7 @@ test("components_unittests") { +@@ -610,7 +609,7 @@ test("components_unittests") { deps += [ "//components/cast: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", -@@ -765,7 +764,7 @@ test("components_unittests") { +@@ -771,7 +770,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" ] } diff --git a/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc b/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc index 28df39cd4771..16e0be84af1c 100644 --- a/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc +++ b/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.cc @@ -1,29 +1,38 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.cc.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.cc -@@ -1003,7 +1003,7 @@ void PaymentsDataManager::SetAutofillHasSeenIban() { +@@ -950,7 +950,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, +@@ -1026,7 +1026,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_); } -@@ -1172,7 +1172,7 @@ bool PaymentsDataManager::IsServerCard(const CreditCar - bool PaymentsDataManager::ShouldShowCardsFromAccountOption() const { - // The feature is only for Linux, Windows, Mac, and Fuchsia. - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || \ -- BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // This option should only be shown for users that have not enabled the Sync - // Feature and that have server credit cards available. - // TODO(crbug.com/40066949): Simplify once ConsentLevel::kSync and -@@ -2026,7 +2026,7 @@ bool PaymentsDataManager::AreEwalletAccountsSupported( +@@ -2022,7 +2022,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" && + return app_locale_ == "en-US" && GetCountryCodeForExperimentGroup() == "US" && base::FeatureList::IsEnabled( features::kAutofillEnableBuyNowPayLaterSyncing); +@@ -2055,7 +2055,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/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h b/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h index 23c8197eb6a2..9e94c0e0d11b 100644 --- a/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h +++ b/www/iridium/files/patch-components_autofill_core_browser_data__manager_payments_payments__data__manager.h @@ -1,11 +1,20 @@ ---- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/browser/data_manager/payments/payments_data_manager.h.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/browser/data_manager/payments/payments_data_manager.h @@ -354,7 +354,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; +@@ -683,7 +683,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/iridium/files/patch-components_autofill_core_browser_integrators_autofill__optimization__guide.cc b/www/iridium/files/patch-components_autofill_core_browser_integrators_autofill__optimization__guide.cc index 21ea2731ecf6..3e6228b8d306 100644 --- a/www/iridium/files/patch-components_autofill_core_browser_integrators_autofill__optimization__guide.cc +++ b/www/iridium/files/patch-components_autofill_core_browser_integrators_autofill__optimization__guide.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/integrators/autofill_optimization_guide.cc.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/browser/integrators/autofill_optimization_guide.cc.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/browser/integrators/autofill_optimization_guide.cc @@ -231,7 +231,7 @@ void AutofillOptimizationGuide::OnDidParseForm( } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) auto bnpl_issuer_allowlist_can_be_loaded = [&payments_data_manager](std::string_view issuer_id) { return base::Contains(payments_data_manager.GetBnplIssuers(), issuer_id, diff --git a/www/iridium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/iridium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc index b9c80cb8eec2..11751e1737b2 100644 --- a/www/iridium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc +++ b/www/iridium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc @@ -1,20 +1,20 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -109,7 +109,7 @@ void BnplManager::OnAmountExtractionReturned( +@@ -114,7 +114,7 @@ void BnplManager::OnAmountExtractionReturned( bool BnplManager::ShouldShowBnplSettings() const { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const PaymentsDataManager& payments_data_manager = payments_autofill_client().GetPaymentsDataManager(); -@@ -223,7 +223,7 @@ void BnplManager::MaybeUpdateSuggestionsWithBnpl( +@@ -431,7 +431,7 @@ void BnplManager::MaybeUpdateSuggestionsWithBnpl( .Run(update_suggestions_result.suggestions, trigger_source); #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/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc index bac68db6f090..9d6c24ac4898 100644 --- a/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -269,7 +269,7 @@ BASE_FEATURE(kAutofillSyncEwalletAccounts, +@@ -267,7 +267,7 @@ BASE_FEATURE(kAutofillSyncEwalletAccounts, #endif // BUILDFLAG(IS_ANDROID) bool ShouldShowImprovedUserConsentForCreditCardSave() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The new user consent UI is fully launched on MacOS, Windows and Linux. return true; #else diff --git a/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.cc index 0dff42d0bbff..60ddeaf54585 100644 --- a/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.cc +++ b/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.cc @@ -1,38 +1,38 @@ ---- components/autofill/core/common/autofill_prefs.cc.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/common/autofill_prefs.cc.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/common/autofill_prefs.cc -@@ -102,7 +102,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -98,7 +98,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(prefs::kAutofillPredictionImprovementsEnabled, - false); registry->RegisterBooleanPref( -@@ -297,7 +297,7 @@ bool IsFacilitatedPaymentsEwalletEnabled(const PrefSer + kAutofillBnplEnabled, true, + user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); +@@ -277,7 +277,7 @@ bool IsFacilitatedPaymentsEwalletEnabled(const PrefSer } #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); } -@@ -306,7 +306,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -286,7 +286,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; -@@ -315,7 +315,7 @@ bool IsAutofillBnplEnabled(const PrefService* prefs) { +@@ -295,7 +295,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/iridium/files/patch-components_autofill_core_common_autofill__prefs.h b/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.h index 0f2a0d9d09c3..45fcfb6b78e2 100644 --- a/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.h +++ b/www/iridium/files/patch-components_autofill_core_common_autofill__prefs.h @@ -1,38 +1,29 @@ ---- components/autofill/core/common/autofill_prefs.h.orig 2025-04-16 18:18:42 UTC +--- components/autofill/core/common/autofill_prefs.h.orig 2025-05-07 06:48:23 UTC +++ components/autofill/core/common/autofill_prefs.h -@@ -26,7 +26,7 @@ namespace autofill::prefs { - inline constexpr std::string_view kAutofillAblationSeedPref = - "autofill.ablation_seed"; +@@ -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. -@@ -82,7 +82,7 @@ inline constexpr char kAutofillPaymentCvcStorage[] = - inline constexpr char kAutofillPaymentCardBenefits[] = - "autofill.payment_card_benefits"; - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Boolean that controls improved autofill filling predictions. When enabled, - // the autofill functionality is enhanced with adopting user data to - // the form being filled in, which is triggered by the user via an extra -@@ -237,7 +237,7 @@ void SetFacilitatedPaymentsEwallet(PrefService* prefs, +@@ -208,7 +208,7 @@ void SetFacilitatedPaymentsEwallet(PrefService* prefs, bool IsFacilitatedPaymentsEwalletEnabled(const PrefService* prefs); #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) -@@ -245,7 +245,7 @@ void SetAutofillBnplEnabled(PrefService* prefs, bool v +@@ -216,7 +216,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/iridium/files/patch-components_commerce_core_commerce__feature__list.cc b/www/iridium/files/patch-components_commerce_core_commerce__feature__list.cc index 88663baaae09..1c41bbebbbfe 100644 --- a/www/iridium/files/patch-components_commerce_core_commerce__feature__list.cc +++ b/www/iridium/files/patch-components_commerce_core_commerce__feature__list.cc @@ -1,48 +1,39 @@ ---- components/commerce/core/commerce_feature_list.cc.orig 2025-04-16 18:18:42 UTC +--- components/commerce/core/commerce_feature_list.cc.orig 2025-05-07 06:48:23 UTC +++ components/commerce/core/commerce_feature_list.cc -@@ -156,7 +156,7 @@ BASE_FEATURE(kPriceAnnotationsRegionLaunched, - BASE_FEATURE(kPriceInsights, +@@ -156,7 +156,8 @@ BASE_FEATURE(kPriceInsights, "PriceInsights", base::FEATURE_DISABLED_BY_DEFAULT); --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) + #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", -@@ -222,7 +222,7 @@ BASE_FEATURE(kEnableDiscountInfoApi, + base::FEATURE_ENABLED_BY_DEFAULT); +@@ -227,7 +228,7 @@ BASE_FEATURE(kEnableDiscountInfoApi, const char kDiscountOnShoppyPageParam[] = "discount-on-shoppy-page"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const base::FeatureParam kDiscountOnShoppyPage{ &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, true}; #else -@@ -231,7 +231,7 @@ const base::FeatureParam kDiscountOnShoppyPage{ +@@ -236,7 +237,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); -@@ -246,7 +246,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi +@@ -251,7 +252,7 @@ const char kMerchantWideBehaviorParam[] = "merchant-wi const char kNonMerchantWideBehaviorParam[] = "non-merchant-wide-behavior"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDiscountDialogAutoPopupBehaviorSetting, "DiscountDialogAutoPopupBehaviorSetting", base::FEATURE_ENABLED_BY_DEFAULT); -@@ -287,7 +287,8 @@ const base::FeatureParam kDeleteAllMerchantsOnCl - - BASE_FEATURE(kShoppingList, "ShoppingList", base::FEATURE_DISABLED_BY_DEFAULT); - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) -+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || \ -+ BUILDFLAG(IS_BSD) - BASE_FEATURE(kShoppingListRegionLaunched, - "ShoppingListRegionLaunched", - base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-components_constrained__window_constrained__window__views.cc b/www/iridium/files/patch-components_constrained__window_constrained__window__views.cc index d286146d8b37..3154c27167ea 100644 --- a/www/iridium/files/patch-components_constrained__window_constrained__window__views.cc +++ b/www/iridium/files/patch-components_constrained__window_constrained__window__views.cc @@ -1,11 +1,11 @@ ---- components/constrained_window/constrained_window_views.cc.orig 2025-03-18 16:46:04 UTC +--- components/constrained_window/constrained_window_views.cc.orig 2025-05-07 06:48:23 UTC +++ components/constrained_window/constrained_window_views.cc -@@ -375,7 +375,7 @@ bool SupportsGlobalScreenCoordinates() { +@@ -377,7 +377,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/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc index c4bdbc1855aa..448c69dc9a9e 100644 --- a/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc +++ b/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc @@ -1,11 +1,11 @@ ---- components/content_settings/core/browser/website_settings_registry.cc.orig 2025-02-22 18:06:53 UTC +--- components/content_settings/core/browser/website_settings_registry.cc.orig 2025-05-07 06:48:23 UTC +++ components/content_settings/core/browser/website_settings_registry.cc @@ -66,7 +66,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re #if BUILDFLAG(IS_WIN) if (!(platform & PLATFORM_WINDOWS)) return nullptr; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!(platform & PLATFORM_LINUX)) return nullptr; #elif BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc b/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc index 537219bf4f68..d0b22ede18d4 100644 --- a/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc +++ b/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc @@ -1,11 +1,11 @@ ---- components/cookie_config/cookie_store_util.cc.orig 2024-06-25 12:08:48 UTC +--- components/cookie_config/cookie_store_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/cookie_config/cookie_store_util.cc @@ -12,7 +12,7 @@ namespace cookie_config { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace { // Use the operating system's mechanisms to encrypt cookies before writing diff --git a/www/iridium/files/patch-components_crash_core_app_BUILD.gn b/www/iridium/files/patch-components_crash_core_app_BUILD.gn index a5900d865b12..0bc6361ffc26 100644 --- a/www/iridium/files/patch-components_crash_core_app_BUILD.gn +++ b/www/iridium/files/patch-components_crash_core_app_BUILD.gn @@ -1,43 +1,43 @@ ---- components/crash/core/app/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- components/crash/core/app/BUILD.gn.orig 2025-05-07 06:48:23 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" ] } -@@ -103,7 +107,7 @@ static_library("app") { +@@ -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", -@@ -235,11 +239,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { +@@ -237,11 +241,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/iridium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc b/www/iridium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc index 8597b8aef7dd..818226c9a081 100644 --- a/www/iridium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc +++ b/www/iridium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc @@ -1,12 +1,12 @@ ---- components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-03-28 18:11:04 UTC +--- components/crash/core/app/chrome_crashpad_handler.cc.orig 2025-05-07 06:48:23 UTC +++ components/crash/core/app/chrome_crashpad_handler.cc @@ -6,5 +6,9 @@ extern "C" int CrashpadHandlerMain(int argc, char* argv[]); int main(int argc, char* argv[]) { +#if defined(__OpenBSD__) || defined(__FreeBSD__) + return -1; +#else return CrashpadHandlerMain(argc, argv); +#endif } diff --git a/www/iridium/files/patch-components_crash_core_app_crashpad__handler__main.cc b/www/iridium/files/patch-components_crash_core_app_crashpad__handler__main.cc index 732ba2d50247..0d1c852922c3 100644 --- a/www/iridium/files/patch-components_crash_core_app_crashpad__handler__main.cc +++ b/www/iridium/files/patch-components_crash_core_app_crashpad__handler__main.cc @@ -1,20 +1,20 @@ ---- components/crash/core/app/crashpad_handler_main.cc.orig 2024-06-25 12:08:48 UTC +--- components/crash/core/app/crashpad_handler_main.cc.orig 2025-05-07 06:48:23 UTC +++ components/crash/core/app/crashpad_handler_main.cc @@ -10,7 +10,7 @@ #include "third_party/crashpad/crashpad/handler/handler_main.h" #include "third_party/crashpad/crashpad/handler/user_stream_data_source.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "components/stability_report/user_stream_data_source_posix.h" #endif @@ -31,7 +31,7 @@ __attribute__((visibility("default"), used)) int Crash char* argv[]) { crashpad::UserStreamDataSources user_stream_data_sources; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) user_stream_data_sources.push_back( std::make_unique()); #endif diff --git a/www/iridium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc b/www/iridium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc index 0cd2ea7e8ce3..2e6f587ecaa7 100644 --- a/www/iridium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc +++ b/www/iridium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc @@ -1,26 +1,26 @@ ---- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2025-02-22 18:06:53 UTC +--- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2025-05-07 06:48:23 UTC +++ components/crash/core/browser/crash_upload_list_crashpad.cc @@ -37,7 +37,9 @@ CrashUploadListCrashpad::~CrashUploadListCrashpad() = std::vector> CrashUploadListCrashpad::LoadUploadList() { std::vector reports; +#if !BUILDFLAG(IS_BSD) crash_reporter::GetReports(&reports); +#endif std::vector> uploads; for (const crash_reporter::Report& report : reports) { @@ -51,9 +53,13 @@ CrashUploadListCrashpad::LoadUploadList() { void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin, const base::Time& end) { +#if !BUILDFLAG(IS_BSD) crash_reporter::ClearReportsBetween(begin, end); +#endif } void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) { +#if !BUILDFLAG(IS_BSD) crash_reporter::RequestSingleCrashUpload(local_id); +#endif } diff --git a/www/iridium/files/patch-components_crash_core_common_BUILD.gn b/www/iridium/files/patch-components_crash_core_common_BUILD.gn index 2eb8ded90053..fe568f50273e 100644 --- a/www/iridium/files/patch-components_crash_core_common_BUILD.gn +++ b/www/iridium/files/patch-components_crash_core_common_BUILD.gn @@ -1,11 +1,11 @@ ---- components/crash/core/common/BUILD.gn.orig 2023-07-24 14:27:53 UTC +--- components/crash/core/common/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/crash/core/common/BUILD.gn @@ -9,7 +9,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn declare_args() { # If set to true, this will stub out and disable the entire crash key system. - use_crash_key_stubs = is_fuchsia + use_crash_key_stubs = is_fuchsia || is_bsd } group("common") { diff --git a/www/iridium/files/patch-components_device__signals_core_browser_browser__utils.h b/www/iridium/files/patch-components_device__signals_core_browser_browser__utils.h new file mode 100644 index 000000000000..0ff352cbf560 --- /dev/null +++ b/www/iridium/files/patch-components_device__signals_core_browser_browser__utils.h @@ -0,0 +1,20 @@ +--- components/device_signals/core/browser/browser_utils.h.orig 2025-05-07 06:48:23 UTC ++++ components/device_signals/core/browser/browser_utils.h +@@ -15,7 +15,7 @@ namespace device_signals { + // Returns the hostname of the current machine. + std::string GetHostName(); + +-#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(); + +@@ -23,7 +23,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/iridium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h b/www/iridium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h index 2a32fc1e61a5..8b1fed7d1088 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h +++ b/www/iridium/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/mock_signals_aggregator.h.orig 2023-07-24 14:27:53 UTC +--- components/device_signals/core/browser/mock_signals_aggregator.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/mock_signals_aggregator.h @@ -17,7 +17,7 @@ class MockSignalsAggregator : public SignalsAggregator MockSignalsAggregator(); ~MockSignalsAggregator() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MOCK_METHOD(void, GetSignalsForUser, (const UserContext&, diff --git a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator.h b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator.h index b004f058e724..bd581e31a837 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator.h +++ b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/signals_aggregator.h.orig 2023-07-24 14:27:53 UTC +--- components/device_signals/core/browser/signals_aggregator.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/signals_aggregator.h @@ -22,7 +22,7 @@ class SignalsAggregator : public KeyedService { ~SignalsAggregator() override = default; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Will asynchronously collect signals whose names are specified in the // `request` object, and will also use a `user_context` to validate that the // user has permissions to the device's signals. Invokes `callback` with the diff --git a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc index 66d8658f46b7..b27ca1b63cc1 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc +++ b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/signals_aggregator_impl.cc.orig 2025-02-22 18:06:53 UTC +--- components/device_signals/core/browser/signals_aggregator_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/signals_aggregator_impl.cc @@ -64,7 +64,7 @@ SignalsAggregatorImpl::SignalsAggregatorImpl( SignalsAggregatorImpl::~SignalsAggregatorImpl() = default; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SignalsAggregatorImpl::GetSignalsForUser( const UserContext& user_context, const SignalsAggregationRequest& request, diff --git a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h index f6061c9d6a7f..7fba77cf66e1 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h +++ b/www/iridium/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/signals_aggregator_impl.h.orig 2025-04-16 18:18:42 UTC +--- components/device_signals/core/browser/signals_aggregator_impl.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/signals_aggregator_impl.h @@ -30,7 +30,7 @@ class SignalsAggregatorImpl : public SignalsAggregator ~SignalsAggregatorImpl() override; // SignalsAggregator: -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void GetSignalsForUser(const UserContext& user_context, const SignalsAggregationRequest& request, GetSignalsCallback callback) override; diff --git a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service.h b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service.h index 007da4b37caa..5a96c37d1e8a 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service.h +++ b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/user_permission_service.h.orig 2023-07-24 14:27:53 UTC +--- components/device_signals/core/browser/user_permission_service.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/user_permission_service.h @@ -57,7 +57,7 @@ class UserPermissionService : public KeyedService { // missing. virtual bool ShouldCollectConsent() const = 0; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Will verify whether context-aware signals can be collected // on behalf of the user represented by `user_context`. Returns `kGranted` if // collection is allowed. diff --git a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc index af74fb7d2990..d9500aa2ac4f 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc +++ b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/user_permission_service_impl.cc.orig 2024-08-01 05:47:53 UTC +--- components/device_signals/core/browser/user_permission_service_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/user_permission_service_impl.cc @@ -87,7 +87,7 @@ bool UserPermissionServiceImpl::ShouldCollectConsent() consent_required_by_dependent_policy; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) UserPermission UserPermissionServiceImpl::CanUserCollectSignals( const UserContext& user_context) const { // Return "unknown user" if no user ID was given. diff --git a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h index 95600c2815fe..19d880ddee66 100644 --- a/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h +++ b/www/iridium/files/patch-components_device__signals_core_browser_user__permission__service__impl.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/browser/user_permission_service_impl.h.orig 2024-08-01 05:47:53 UTC +--- components/device_signals/core/browser/user_permission_service_impl.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/browser/user_permission_service_impl.h @@ -38,7 +38,7 @@ class UserPermissionServiceImpl : public UserPermissio // UserPermissionService: bool ShouldCollectConsent() const override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) UserPermission CanUserCollectSignals( const UserContext& user_context) const override; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX diff --git a/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc b/www/iridium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc similarity index 78% rename from www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc rename to www/iridium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc index acbdca1cffb5..af8a7374e4a6 100644 --- a/www/iridium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc +++ b/www/iridium/files/patch-components_device__signals_core_common_linux_platform__utils__linux.cc @@ -1,78 +1,78 @@ ---- chrome/browser/enterprise/signals/device_info_fetcher_linux.cc.orig 2025-03-18 16:46:04 UTC -+++ chrome/browser/enterprise/signals/device_info_fetcher_linux.cc +--- components/device_signals/core/common/linux/platform_utils_linux.cc.orig 2025-05-07 06:48:23 UTC ++++ components/device_signals/core/common/linux/platform_utils_linux.cc @@ -4,12 +4,23 @@ - #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" + #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 - -@@ -117,6 +128,7 @@ SettingValue GetScreenlockSecured() { +@@ -100,6 +111,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) -@@ -138,11 +150,35 @@ SettingValue GetDiskEncrypted() { + if (stat("/", &info) != 0) { +@@ -122,11 +134,35 @@ SettingValue GetDiskEncrypted() { } return SettingValue::UNKNOWN; } +#endif return SettingValue::DISABLED; } std::vector GetMacAddresses() { 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()) + if (!reader.IsValid()) { return result; -@@ -165,6 +201,7 @@ std::vector GetMacAddresses() { +@@ -151,6 +187,7 @@ std::vector GetMacAddresses() { &address); result.push_back(address); } +#endif return result; } diff --git a/www/iridium/files/patch-components_device__signals_core_common_signals__features.cc b/www/iridium/files/patch-components_device__signals_core_common_signals__features.cc index 8a6c01df1a90..2b22a946e7c2 100644 --- a/www/iridium/files/patch-components_device__signals_core_common_signals__features.cc +++ b/www/iridium/files/patch-components_device__signals_core_common_signals__features.cc @@ -1,11 +1,11 @@ ---- components/device_signals/core/common/signals_features.cc.orig 2025-04-16 18:18:42 UTC +--- components/device_signals/core/common/signals_features.cc.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/common/signals_features.cc @@ -31,7 +31,7 @@ bool IsBrowserSignalsReportingEnabled() { } #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/iridium/files/patch-components_device__signals_core_common_signals__features.h b/www/iridium/files/patch-components_device__signals_core_common_signals__features.h index bb6476a68084..c8ca0067d636 100644 --- a/www/iridium/files/patch-components_device__signals_core_common_signals__features.h +++ b/www/iridium/files/patch-components_device__signals_core_common_signals__features.h @@ -1,11 +1,11 @@ ---- components/device_signals/core/common/signals_features.h.orig 2025-04-16 18:18:42 UTC +--- components/device_signals/core/common/signals_features.h.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/common/signals_features.h @@ -24,7 +24,7 @@ bool IsProfileSignalsReportingEnabled(); bool IsBrowserSignalsReportingEnabled(); #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/iridium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc b/www/iridium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc index b6bfb2378735..74d4a4fdad1f 100644 --- a/www/iridium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc +++ b/www/iridium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc @@ -1,11 +1,11 @@ ---- components/device_signals/core/system_signals/platform_delegate.cc.orig 2022-10-05 07:34:01 UTC +--- components/device_signals/core/system_signals/platform_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/core/system_signals/platform_delegate.cc @@ -11,7 +11,7 @@ namespace device_signals { bool CustomFilePathComparator::operator()(const base::FilePath& a, const base::FilePath& b) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, the file system is case sensitive. return a < b; #else diff --git a/www/iridium/files/patch-components_device__signals_test_signals__contract.cc b/www/iridium/files/patch-components_device__signals_test_signals__contract.cc index 1686d4b6fce1..b198197a2102 100644 --- a/www/iridium/files/patch-components_device__signals_test_signals__contract.cc +++ b/www/iridium/files/patch-components_device__signals_test_signals__contract.cc @@ -1,11 +1,11 @@ ---- components/device_signals/test/signals_contract.cc.orig 2025-04-16 18:18:42 UTC +--- components/device_signals/test/signals_contract.cc.orig 2025-05-07 06:48:23 UTC +++ components/device_signals/test/signals_contract.cc @@ -221,7 +221,7 @@ GetSignalsContract(bool is_av_signal_enabled) { base::BindRepeating(VerifyUnset, names::kCrowdStrike); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) contract[names::kAllowScreenLock] = base::BindRepeating(VerifyUnset, names::kAllowScreenLock); contract[names::kImei] = base::BindRepeating(VerifyUnset, names::kImei); diff --git a/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc index fc1ea1de7c3c..e773484d930f 100644 --- a/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc +++ b/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc @@ -1,11 +1,11 @@ ---- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2024-11-04 08:56:03 UTC +--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2025-05-07 06:48:23 UTC +++ components/discardable_memory/service/discardable_shared_memory_manager.cc @@ -172,7 +172,7 @@ uint64_t GetDefaultMemoryLimit() { // Limits the number of FDs used to 32, assuming a 4MB allocation size. uint64_t max_default_memory_limit = 128 * kMegabyte; #else - uint64_t max_default_memory_limit = 512 * kMegabyte; + uint64_t max_default_memory_limit = 128 * kMegabyte; #endif // Use 1/8th of discardable memory on low-end devices. diff --git a/www/iridium/files/patch-components_embedder__support_user__agent__utils.cc b/www/iridium/files/patch-components_embedder__support_user__agent__utils.cc index 5b0ec07b78be..c15e92c710aa 100644 --- a/www/iridium/files/patch-components_embedder__support_user__agent__utils.cc +++ b/www/iridium/files/patch-components_embedder__support_user__agent__utils.cc @@ -1,12 +1,47 @@ ---- components/embedder_support/user_agent_utils.cc.orig 2025-04-16 18:18:42 UTC +--- components/embedder_support/user_agent_utils.cc.orig 2025-05-07 06:48:23 UTC +++ components/embedder_support/user_agent_utils.cc -@@ -435,6 +435,9 @@ std::string GetPlatformForUAMetadata() { - # else +@@ -318,7 +318,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; "; +@@ -344,7 +344,7 @@ std::string GetUnifiedPlatform() { + return "Windows NT 10.0; Win64; x64"; + #elif BUILDFLAG(IS_FUCHSIA) + return "Fuchsia"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "X11; Linux x86_64"; + #elif BUILDFLAG(IS_IOS) + if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { +@@ -601,6 +601,9 @@ std::string GetPlatformForUAMetadata() { + #else return "Chromium OS"; - # endif + #endif +#elif BUILDFLAG(IS_BSD) + // The internet is weird... + return "Linux"; #else return std::string(version_info::GetOSType()); #endif +@@ -813,6 +816,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/iridium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/iridium/files/patch-components_embedder__support_user__agent__utils__unittest.cc index 856ffb7ebdaa..d1b121dbc72f 100644 --- a/www/iridium/files/patch-components_embedder__support_user__agent__utils__unittest.cc +++ b/www/iridium/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -1,29 +1,29 @@ ---- components/embedder_support/user_agent_utils_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/embedder_support/user_agent_utils_unittest.cc -@@ -151,7 +151,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) +@@ -148,7 +148,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()); -@@ -339,7 +339,7 @@ class UserAgentUtilsTest : public testing::Test, +@@ -336,7 +336,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"; -@@ -699,7 +699,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { +@@ -696,7 +696,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/iridium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc b/www/iridium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc index 7abf8bc6dd86..ec4b72a4f98a 100644 --- a/www/iridium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc +++ b/www/iridium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc @@ -1,20 +1,20 @@ ---- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2025-04-16 18:18:42 UTC +--- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2025-05-07 06:48:23 UTC +++ components/enterprise/connectors/core/realtime_reporting_client_base.cc @@ -190,7 +190,7 @@ void RealtimeReportingClientBase::ReportEvent( event.mutable_time()->set_nanos((timestamp_millis % 1000) * 1000000); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) MaybeCollectDeviceSignalsAndReportEvent(std::move(event), client, settings); #else // Regardless of collecting device signals or not, upload the security event @@ -239,7 +239,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes if (include_profile_user_name) { event.Set(kKeyProfileUserName, GetProfileUserName()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) MaybeCollectDeviceSignalsAndReportEventDeprecated(std::move(event), client, name, settings, time); #else diff --git a/www/iridium/files/patch-components_enterprise_watermarking_watermark.cc b/www/iridium/files/patch-components_enterprise_watermarking_watermark.cc index 7760699631db..bd4e7e0493a7 100644 --- a/www/iridium/files/patch-components_enterprise_watermarking_watermark.cc +++ b/www/iridium/files/patch-components_enterprise_watermarking_watermark.cc @@ -1,20 +1,20 @@ ---- components/enterprise/watermarking/watermark.cc.orig 2025-02-22 18:06:53 UTC +--- components/enterprise/watermarking/watermark.cc.orig 2025-05-07 06:48:23 UTC +++ components/enterprise/watermarking/watermark.cc @@ -31,7 +31,7 @@ gfx::Font WatermarkFont() { "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() { } 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/iridium/files/patch-components_error__page_common_localized__error.cc b/www/iridium/files/patch-components_error__page_common_localized__error.cc index 87e2b4f281d8..8519953ea2d4 100644 --- a/www/iridium/files/patch-components_error__page_common_localized__error.cc +++ b/www/iridium/files/patch-components_error__page_common_localized__error.cc @@ -1,11 +1,11 @@ ---- components/error_page/common/localized_error.cc.orig 2025-02-22 18:06:53 UTC +--- components/error_page/common/localized_error.cc.orig 2025-05-07 06:48:23 UTC +++ components/error_page/common/localized_error.cc @@ -901,7 +901,7 @@ void AddSuggestionsDetails(int error_code, if (suggestions & SUGGEST_PROXY_CONFIG) { // Custom body string. std::u16string inner = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) l10n_util::GetStringFUTF16( IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM, l10n_util::GetStringUTF16(IDS_SETTINGS_TITLE), diff --git a/www/iridium/files/patch-components_eye__dropper_eye__dropper__view.cc b/www/iridium/files/patch-components_eye__dropper_eye__dropper__view.cc index 46d95d639409..c747f7eeb600 100644 --- a/www/iridium/files/patch-components_eye__dropper_eye__dropper__view.cc +++ b/www/iridium/files/patch-components_eye__dropper_eye__dropper__view.cc @@ -1,11 +1,11 @@ ---- components/eye_dropper/eye_dropper_view.cc.orig 2025-03-18 16:46:04 UTC +--- components/eye_dropper/eye_dropper_view.cc.orig 2025-05-07 06:48:23 UTC +++ components/eye_dropper/eye_dropper_view.cc @@ -208,7 +208,7 @@ EyeDropperView::EyeDropperView(gfx::NativeView parent, // EyeDropper/WidgetDelegate. set_owned_by_client(); SetPreferredSize(GetSize()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed // above the color picker. views::Widget::InitParams params( diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc index 9c8b5514f3a1..daa76ccafe32 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc +++ b/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc @@ -1,11 +1,11 @@ ---- components/feature_engagement/public/event_constants.cc.orig 2024-12-22 12:24:29 UTC +--- components/feature_engagement/public/event_constants.cc.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/event_constants.cc @@ -11,7 +11,7 @@ namespace feature_engagement { namespace events { #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) const char kNewTabOpened[] = "new_tab_opened"; const char kSixthTabOpened[] = "sixth_tab_opened"; const char kReadingListItemAdded[] = "reading_list_item_added"; diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.h b/www/iridium/files/patch-components_feature__engagement_public_event__constants.h index 6cb7fcd7b82e..88d25502de9a 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_event__constants.h +++ b/www/iridium/files/patch-components_feature__engagement_public_event__constants.h @@ -1,11 +1,11 @@ ---- components/feature_engagement/public/event_constants.h.orig 2023-10-21 11:51:27 UTC +--- components/feature_engagement/public/event_constants.h.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/event_constants.h @@ -14,7 +14,7 @@ namespace events { // Desktop #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) // The user has explicitly opened a new tab via an entry point from inside of // Chrome. extern const char kNewTabOpened[]; diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__configurations.cc index 296eec10d162..88993bd0bb49 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,30 +1,30 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2025-04-16 18:18:42 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2025-05-07 06:48:23 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; -@@ -1722,7 +1722,8 @@ std::optional GetClientSideFeatureConfi +@@ -1740,7 +1740,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) { - // Credit card benefit IPH is shown: + // The credit card benefit IPH appears up to three times over 10 years and diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc index a84a233a2d38..43eba87fe51b 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2025-04-16 18:18:42 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/feature_constants.cc @@ -19,7 +19,7 @@ BASE_FEATURE(kIPHDemoMode, "IPH_DemoMode", base::FEATU BASE_FEATURE(kIPHDummyFeature, "IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT); #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", -@@ -682,7 +682,7 @@ BASE_FEATURE(kDefaultBrowserTriggerCriteriaExperiment, +@@ -710,7 +710,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(kIPHAutofillCardInfoRetrievalSuggestionFeature, - "IPH_AutofillCardInfoRetrievalSuggestion", -@@ -823,7 +823,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, + BASE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature, + "IPH_AutofillBnplAffirmOrZipSuggestion", +@@ -857,7 +857,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/iridium/files/patch-components_feature__engagement_public_feature__constants.h b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h index 64569e4e2db9..e1e9cbf79917 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2025-04-16 18:18:42 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/feature_constants.h @@ -27,7 +27,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 -@@ -303,7 +303,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kDefaultBrowserTrigg +@@ -316,7 +316,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( - kIPHAutofillCardInfoRetrievalSuggestionFeature); -@@ -359,7 +359,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHScalableIphHelpA +@@ -374,7 +374,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/iridium/files/patch-components_feature__engagement_public_feature__list.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc index 0b1ff76acb90..9378e4276a91 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,29 +1,29 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2025-04-16 18:18:42 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -170,7 +170,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHiOSReminderNotificationsOverflowMenuNewBadgeFeature, +@@ -175,7 +175,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSSettingsInOverflowMenuBubbleFeature, #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 -@@ -241,7 +241,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -247,7 +247,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) - &kIPHAutofillCardInfoRetrievalSuggestionFeature, - &kIPHAutofillCreditCardBenefitFeature, -@@ -294,7 +294,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHAutofillAiOptInFeature, + &kIPHAutofillBnplAffirmOrZipSuggestionFeature, +@@ -302,7 +302,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/iridium/files/patch-components_feature__engagement_public_feature__list.h b/www/iridium/files/patch-components_feature__engagement_public_feature__list.h index 9530828869af..a64e527fb486 100644 --- a/www/iridium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,58 +1,58 @@ ---- components/feature_engagement/public/feature_list.h.orig 2025-04-16 18:18:42 UTC +--- components/feature_engagement/public/feature_list.h.orig 2025-05-07 06:48:23 UTC +++ components/feature_engagement/public/feature_list.h -@@ -302,7 +302,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSDownloadAutoDeletionFeat +@@ -312,7 +312,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSSettingsInOverflowMenuBu #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 -@@ -415,7 +415,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -427,7 +427,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(kIPHAutofillCreditCardBenefitFeature, - "IPH_AutofillCreditCardBenefit"); - -@@ -509,7 +510,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphHelpAppBasedTenF + DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn"); + DEFINE_VARIATION_PARAM(kIPHAutofillBnplAffirmOrZipSuggestionFeature, + "IPH_AutofillBnplAffirmOrZipSuggestion"); +@@ -523,7 +524,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, -@@ -682,7 +683,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -697,7 +698,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat kIPHiOSReminderNotificationsOverflowMenuNewBadgeFeature), VARIATION_ENTRY(kIPHiOSDownloadAutoDeletionFeature), #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), -@@ -743,7 +744,8 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -759,7 +760,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), - VARIATION_ENTRY(kIPHAutofillDisabledVirtualCardSuggestionFeature), -@@ -795,7 +797,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -812,7 +814,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/iridium/files/patch-components_feed_core_proto_v2_wire_version.proto b/www/iridium/files/patch-components_feed_core_proto_v2_wire_version.proto index 8333a1ba2035..b61a4e83a30e 100644 --- a/www/iridium/files/patch-components_feed_core_proto_v2_wire_version.proto +++ b/www/iridium/files/patch-components_feed_core_proto_v2_wire_version.proto @@ -1,13 +1,13 @@ ---- components/feed/core/proto/v2/wire/version.proto.orig 2022-03-28 18:11:04 UTC +--- components/feed/core/proto/v2/wire/version.proto.orig 2025-05-07 06:48:23 UTC +++ components/feed/core/proto/v2/wire/version.proto @@ -25,8 +25,8 @@ message Version { BETA = 3; RELEASE = 4; } - optional int32 major = 1; - optional int32 minor = 2; + optional int32 gmajor = 1; + optional int32 gminor = 2; optional int32 build = 3; optional int32 revision = 4; optional Architecture architecture = 5; diff --git a/www/iridium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/www/iridium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc index 271da20725a2..73dcdd4bb3c1 100644 --- a/www/iridium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc +++ b/www/iridium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2024-11-04 08:56:03 UTC +--- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/feed/core/v2/feed_network_impl_unittest.cc @@ -747,8 +747,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, client_info.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, client_info.app_version().build_type()); - EXPECT_EQ(1, client_info.app_version().major()); - EXPECT_EQ(2, client_info.app_version().minor()); + EXPECT_EQ(1, client_info.app_version().gmajor()); + EXPECT_EQ(2, client_info.app_version().gminor()); EXPECT_EQ(3, client_info.app_version().build()); EXPECT_EQ(4, client_info.app_version().revision()); EXPECT_FALSE(client_info.chrome_client_info().start_surface()); diff --git a/www/iridium/files/patch-components_feed_core_v2_proto__util.cc b/www/iridium/files/patch-components_feed_core_v2_proto__util.cc index 5d025834a8a7..8fdca0eab096 100644 --- a/www/iridium/files/patch-components_feed_core_v2_proto__util.cc +++ b/www/iridium/files/patch-components_feed_core_v2_proto__util.cc @@ -1,24 +1,24 @@ ---- components/feed/core/v2/proto_util.cc.orig 2023-07-24 14:27:53 UTC +--- components/feed/core/v2/proto_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/feed/core/v2/proto_util.cc @@ -93,8 +93,8 @@ feedwire::Version GetPlatformVersionMessage() { int32_t major, minor, revision; base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision); - result.set_major(major); - result.set_minor(minor); + result.set_gmajor(major); + result.set_gminor(minor); result.set_revision(revision); #if BUILDFLAG(IS_ANDROID) result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int()); @@ -109,8 +109,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH. const std::vector& numbers = chrome_info.version.components(); if (numbers.size() > 3) { - result.set_major(static_cast(numbers[0])); - result.set_minor(static_cast(numbers[1])); + result.set_gmajor(static_cast(numbers[0])); + result.set_gminor(static_cast(numbers[1])); result.set_build(static_cast(numbers[2])); result.set_revision(static_cast(numbers[3])); } diff --git a/www/iridium/files/patch-components_feed_core_v2_proto__util__unittest.cc b/www/iridium/files/patch-components_feed_core_v2_proto__util__unittest.cc index 99e4e9e9143c..339f5dd920eb 100644 --- a/www/iridium/files/patch-components_feed_core_v2_proto__util__unittest.cc +++ b/www/iridium/files/patch-components_feed_core_v2_proto__util__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/proto_util_unittest.cc.orig 2024-08-27 06:28:16 UTC +--- components/feed/core/v2/proto_util_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/feed/core/v2/proto_util_unittest.cc @@ -43,8 +43,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { feedwire::ClientInfo result = CreateClientInfo(request_metadata); EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, result.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, result.app_version().build_type()); - EXPECT_EQ(1, result.app_version().major()); - EXPECT_EQ(2, result.app_version().minor()); + EXPECT_EQ(1, result.app_version().gmajor()); + EXPECT_EQ(2, result.app_version().gminor()); EXPECT_EQ(3, result.app_version().build()); EXPECT_EQ(4, result.app_version().revision()); diff --git a/www/iridium/files/patch-components_feed_core_v2_test_proto__printer.cc b/www/iridium/files/patch-components_feed_core_v2_test_proto__printer.cc index 59a5fedc25fa..f5abdb3a86aa 100644 --- a/www/iridium/files/patch-components_feed_core_v2_test_proto__printer.cc +++ b/www/iridium/files/patch-components_feed_core_v2_test_proto__printer.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/test/proto_printer.cc.orig 2023-07-24 14:27:53 UTC +--- components/feed/core/v2/test/proto_printer.cc.orig 2025-05-07 06:48:23 UTC +++ components/feed/core/v2/test/proto_printer.cc @@ -158,8 +158,8 @@ class TextProtoPrinter { } TextProtoPrinter& operator<<(const feedwire::Version& v) { BeginMessage(); - PRINT_FIELD(major); - PRINT_FIELD(minor); + PRINT_FIELD(gmajor); + PRINT_FIELD(gminor); PRINT_FIELD(build); PRINT_FIELD(revision); PRINT_FIELD(architecture); diff --git a/www/iridium/files/patch-components_gcm__driver_gcm__desktop__utils.cc b/www/iridium/files/patch-components_gcm__driver_gcm__desktop__utils.cc index fc4ba66ff48c..3a6f51117ca6 100644 --- a/www/iridium/files/patch-components_gcm__driver_gcm__desktop__utils.cc +++ b/www/iridium/files/patch-components_gcm__driver_gcm__desktop__utils.cc @@ -1,11 +1,11 @@ ---- components/gcm_driver/gcm_desktop_utils.cc.orig 2025-02-22 18:06:53 UTC +--- components/gcm_driver/gcm_desktop_utils.cc.orig 2025-05-07 06:48:23 UTC +++ components/gcm_driver/gcm_desktop_utils.cc @@ -32,7 +32,7 @@ GCMClient::ChromePlatform GetPlatform() { return GCMClient::PLATFORM_ANDROID; #elif BUILDFLAG(IS_CHROMEOS) return GCMClient::PLATFORM_CROS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GCMClient::PLATFORM_LINUX; #else // For all other platforms, return as LINUX. diff --git a/www/iridium/files/patch-components_gwp__asan_BUILD.gn b/www/iridium/files/patch-components_gwp__asan_BUILD.gn index 460737d2bc59..5708bee18d8e 100644 --- a/www/iridium/files/patch-components_gwp__asan_BUILD.gn +++ b/www/iridium/files/patch-components_gwp__asan_BUILD.gn @@ -1,11 +1,11 @@ ---- components/gwp_asan/BUILD.gn.orig 2022-12-06 08:09:13 UTC +--- components/gwp_asan/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/gwp_asan/BUILD.gn @@ -15,7 +15,7 @@ test("gwp_asan_unittests") { "//testing/gtest", "//third_party/boringssl", ] -- if (is_win || is_mac || is_linux || is_chromeos || is_android) { -+ if ((is_win || is_mac || is_linux || is_chromeos || is_android) && !is_bsd) { +- if (is_win || is_mac || is_linux || is_chromeos || is_android || is_ios) { ++ if ((is_win || is_mac || is_linux || is_chromeos || is_android || is_ios) && !is_bsd) { deps += [ "//components/gwp_asan/client:unit_tests", "//components/gwp_asan/crash_handler:unit_tests", diff --git a/www/iridium/files/patch-components_gwp__asan_buildflags_buildflags.gni b/www/iridium/files/patch-components_gwp__asan_buildflags_buildflags.gni index 4edaa2625eee..35a3ed70322a 100644 --- a/www/iridium/files/patch-components_gwp__asan_buildflags_buildflags.gni +++ b/www/iridium/files/patch-components_gwp__asan_buildflags_buildflags.gni @@ -1,14 +1,14 @@ ---- components/gwp_asan/buildflags/buildflags.gni.orig 2025-04-16 18:18:42 UTC +--- components/gwp_asan/buildflags/buildflags.gni.orig 2025-05-07 06:48:23 UTC +++ components/gwp_asan/buildflags/buildflags.gni @@ -10,10 +10,7 @@ import("//build/config/compiler/compiler.gni") # Android component builds are disabled due to https://crbug.com/976399 # Android requires frame pointers for unwinding, unwind tables aren't shipped in # official builds. -supported_platform = -- is_linux || is_chromeos || is_mac || +- is_linux || is_chromeos || is_mac || is_ios || - (is_win && (current_cpu == "x64" || current_cpu == "arm64")) || - (is_android && !is_component_build && enable_frame_pointers) +supported_platform = false declare_args() { # Is GWP-ASan malloc/PartitionAlloc hooking enabled for chrome/ on a given diff --git a/www/iridium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc b/www/iridium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc index 55d8ca57cf42..70e96b569893 100644 --- a/www/iridium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc +++ b/www/iridium/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc @@ -1,13 +1,13 @@ ---- components/gwp_asan/client/guarded_page_allocator_posix.cc.orig 2023-10-21 11:51:27 UTC +--- components/gwp_asan/client/guarded_page_allocator_posix.cc.orig 2025-05-07 06:48:23 UTC +++ components/gwp_asan/client/guarded_page_allocator_posix.cc @@ -35,8 +35,9 @@ void GuardedPageAllocator::MarkPageInaccessible(void* // mmap() a PROT_NONE page over the address to release it to the system, if // we used mprotect() here the system would count pages in the quarantine // against the RSS. + // MAP_ANONYMOUS requires the fd to be -1 on !linux void* err = mmap(ptr, state_.page_size, PROT_NONE, - MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); + MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); PCHECK(err == ptr) << "mmap"; } diff --git a/www/iridium/files/patch-components_gwp__asan_client_gwp__asan.cc b/www/iridium/files/patch-components_gwp__asan_client_gwp__asan.cc index 3d2aa33af03c..1a62e596fe77 100644 --- a/www/iridium/files/patch-components_gwp__asan_client_gwp__asan.cc +++ b/www/iridium/files/patch-components_gwp__asan_client_gwp__asan.cc @@ -1,11 +1,11 @@ ---- components/gwp_asan/client/gwp_asan.cc.orig 2024-06-25 12:08:48 UTC +--- components/gwp_asan/client/gwp_asan.cc.orig 2025-05-07 06:48:23 UTC +++ components/gwp_asan/client/gwp_asan.cc -@@ -75,7 +75,7 @@ namespace { +@@ -76,7 +76,7 @@ namespace { // ProcessSamplingBoost is the multiplier to increase the // ProcessSamplingProbability in scenarios where we want to perform additional // testing (e.g., on canary/dev builds). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr int kDefaultMaxAllocations = 50; constexpr int kDefaultMaxMetadata = 210; constexpr int kDefaultTotalPages = kCpuIs64Bit ? 2048 : kDefaultMaxMetadata * 2; diff --git a/www/iridium/files/patch-components_gwp__asan_client_gwp__asan__features.cc b/www/iridium/files/patch-components_gwp__asan_client_gwp__asan__features.cc index 5b873fee3827..d88da304c2f5 100644 --- a/www/iridium/files/patch-components_gwp__asan_client_gwp__asan__features.cc +++ b/www/iridium/files/patch-components_gwp__asan_client_gwp__asan__features.cc @@ -1,11 +1,11 @@ ---- components/gwp_asan/client/gwp_asan_features.cc.orig 2024-06-25 12:08:48 UTC +--- components/gwp_asan/client/gwp_asan_features.cc.orig 2025-05-07 06:48:23 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 diff --git a/www/iridium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/www/iridium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc index cca3ec18e77f..66055b4cfcaf 100644 --- a/www/iridium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc +++ b/www/iridium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc @@ -1,20 +1,20 @@ ---- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2024-11-04 08:56:03 UTC +--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2025-05-07 06:48:23 UTC +++ components/gwp_asan/crash_handler/crash_analyzer.cc @@ -35,7 +35,7 @@ #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h" #include "third_party/crashpad/crashpad/util/process/process_memory.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include #elif BUILDFLAG(IS_APPLE) #include -@@ -95,7 +95,7 @@ bool CrashAnalyzer::GetExceptionInfo( +@@ -113,7 +113,7 @@ bool CrashAnalyzer::GetExceptionInfo( crashpad::VMAddress CrashAnalyzer::GetAccessAddress( const crashpad::ExceptionSnapshot& exception) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS) return exception.ExceptionAddress(); #elif BUILDFLAG(IS_APPLE) diff --git a/www/iridium/files/patch-components_live__caption_caption__util.cc b/www/iridium/files/patch-components_live__caption_caption__util.cc index e5a227e5311c..749cfdef6977 100644 --- a/www/iridium/files/patch-components_live__caption_caption__util.cc +++ b/www/iridium/files/patch-components_live__caption_caption__util.cc @@ -1,11 +1,11 @@ ---- components/live_caption/caption_util.cc.orig 2025-02-22 18:06:53 UTC +--- components/live_caption/caption_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/live_caption/caption_util.cc @@ -136,7 +136,7 @@ bool IsLiveCaptionFeatureSupported() { std::string GetCaptionSettingsUrl() { #if BUILDFLAG(IS_CHROMEOS) return "chrome://os-settings/audioAndCaptions"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "chrome://settings/captions"; #elif BUILDFLAG(IS_WIN) return base::win::GetVersion() >= base::win::Version::WIN10 diff --git a/www/iridium/files/patch-components_live__caption_caption__util.h b/www/iridium/files/patch-components_live__caption_caption__util.h index afd0640a8c08..9e5d16635e4c 100644 --- a/www/iridium/files/patch-components_live__caption_caption__util.h +++ b/www/iridium/files/patch-components_live__caption_caption__util.h @@ -1,11 +1,11 @@ ---- components/live_caption/caption_util.h.orig 2024-06-25 12:08:48 UTC +--- components/live_caption/caption_util.h.orig 2025-05-07 06:48:23 UTC +++ components/live_caption/caption_util.h @@ -15,7 +15,7 @@ class PrefService; namespace captions { #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extern const char kCaptionSettingsUrl[]; #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-components_media__router_common_media__source.cc b/www/iridium/files/patch-components_media__router_common_media__source.cc index 13a501ff0a10..d2e833dae2e3 100644 --- a/www/iridium/files/patch-components_media__router_common_media__source.cc +++ b/www/iridium/files/patch-components_media__router_common_media__source.cc @@ -1,11 +1,11 @@ ---- components/media_router/common/media_source.cc.orig 2025-03-18 16:46:04 UTC +--- components/media_router/common/media_source.cc.orig 2025-05-07 06:48:23 UTC +++ components/media_router/common/media_source.cc @@ -62,7 +62,7 @@ bool IsSystemAudioCaptureSupported() { if (!media::IsSystemLoopbackCaptureSupported()) { return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); #else return true; diff --git a/www/iridium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc b/www/iridium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc index e0a154d3bc36..673144016b92 100644 --- a/www/iridium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc +++ b/www/iridium/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc @@ -1,11 +1,11 @@ ---- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2025-02-22 18:06:53 UTC +--- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/media_router/common/providers/cast/channel/cast_message_util.cc @@ -168,7 +168,7 @@ int GetVirtualConnectPlatformValue() { return 4; #elif BUILDFLAG(IS_CHROMEOS) return 5; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return 6; #else return 0; diff --git a/www/iridium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h b/www/iridium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h index d8a59d924ffd..00cd65b88c55 100644 --- a/www/iridium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h +++ b/www/iridium/files/patch-components_media__router_common_providers_cast_channel_enum__table.h @@ -1,15 +1,15 @@ ---- components/media_router/common/providers/cast/channel/enum_table.h.orig 2024-12-22 12:24:29 UTC +--- components/media_router/common/providers/cast/channel/enum_table.h.orig 2025-05-07 06:48:23 UTC +++ components/media_router/common/providers/cast/channel/enum_table.h @@ -368,7 +368,12 @@ class EnumTable { private: #ifdef ARCH_CPU_64_BITS +#ifdef __cpp_lib_hardware_interference_size alignas(std::hardware_destructive_interference_size) +#else + static constexpr std::size_t hardware_destructive_interference_size = 64; + alignas(hardware_destructive_interference_size) +#endif #endif std::initializer_list data_; bool is_sorted_; diff --git a/www/iridium/files/patch-components_metrics_drive__metrics__provider.cc b/www/iridium/files/patch-components_metrics_drive__metrics__provider.cc index e271157774e9..f7960e91a398 100644 --- a/www/iridium/files/patch-components_metrics_drive__metrics__provider.cc +++ b/www/iridium/files/patch-components_metrics_drive__metrics__provider.cc @@ -1,11 +1,20 @@ ---- components/metrics/drive_metrics_provider.cc.orig 2025-03-18 16:46:04 UTC +--- components/metrics/drive_metrics_provider.cc.orig 2025-05-07 06:48:23 UTC +++ components/metrics/drive_metrics_provider.cc -@@ -113,7 +113,7 @@ void DriveMetricsProvider::FillDriveMetrics( - response.has_seek_penalty); - RecordTriStateMetric("UMA.SeekPenaltyResult.Base", - response.has_seek_penalty_base); +@@ -21,7 +21,7 @@ + namespace metrics { + + namespace { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void RecordTriStateMetric(const char* name, std::optional sample) { + base::UmaHistogramEnumeration( + name, !sample.has_value() +@@ -106,7 +106,7 @@ void DriveMetricsProvider::FillDriveMetrics( + drive->set_has_seek_penalty(*response.has_seek_penalty); + } + -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RecordTriStateMetric("UMA.DriveIsRemovableResult", response.is_removable); #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc b/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc deleted file mode 100644 index 2aa7f2065d39..000000000000 --- a/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- components/metrics/drive_metrics_provider_linux.cc.orig 2023-10-21 11:51:27 UTC -+++ components/metrics/drive_metrics_provider_linux.cc -@@ -4,7 +4,13 @@ - - #include "components/metrics/drive_metrics_provider.h" - -+#if BUILDFLAG(IS_BSD) -+#include -+#define MAJOR(dev) major(dev) -+#define MINOR(dev) minor(dev) -+#else - #include // For MAJOR()/MINOR(). -+#endif - #include - #include - diff --git a/www/iridium/files/patch-components_metrics_dwa_dwa__service.cc b/www/iridium/files/patch-components_metrics_dwa_dwa__service.cc index 59739505c337..1acbb268bbcf 100644 --- a/www/iridium/files/patch-components_metrics_dwa_dwa__service.cc +++ b/www/iridium/files/patch-components_metrics_dwa_dwa__service.cc @@ -1,11 +1,11 @@ ---- components/metrics/dwa/dwa_service.cc.orig 2025-04-16 18:18:42 UTC +--- components/metrics/dwa/dwa_service.cc.orig 2025-05-07 06:48:23 UTC +++ components/metrics/dwa/dwa_service.cc @@ -162,7 +162,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/iridium/files/patch-components_metrics_metrics__log.cc b/www/iridium/files/patch-components_metrics_metrics__log.cc index bb5537554911..5fc68336002c 100644 --- a/www/iridium/files/patch-components_metrics_metrics__log.cc +++ b/www/iridium/files/patch-components_metrics_metrics__log.cc @@ -1,38 +1,38 @@ ---- components/metrics/metrics_log.cc.orig 2025-04-16 18:18:42 UTC +--- components/metrics/metrics_log.cc.orig 2025-05-07 06:48:23 UTC +++ components/metrics/metrics_log.cc -@@ -61,7 +61,7 @@ +@@ -62,7 +62,7 @@ #include "base/win/current_module.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif -@@ -157,7 +157,7 @@ void RecordCurrentTime( +@@ -158,7 +158,7 @@ void RecordCurrentTime( } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics::SystemProfileProto::OS::XdgSessionType ToProtoSessionType( base::nix::SessionType session_type) { switch (session_type) { @@ -441,7 +441,7 @@ void MetricsLog::RecordCoreSystemProfile( // OperatingSystemVersion refers to the ChromeOS release version. #if BUILDFLAG(IS_CHROMEOS) os->set_kernel_version(base::SysInfo::KernelVersion()); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux operating system version is copied over into kernel version to be // consistent. os->set_kernel_version(base::SysInfo::OperatingSystemVersion()); @@ -458,7 +458,7 @@ void MetricsLog::RecordCoreSystemProfile( os->set_build_number(base::SysInfo::GetIOSBuildNumber()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr env = base::Environment::Create(); os->set_xdg_session_type(ToProtoSessionType(base::nix::GetSessionType(*env))); os->set_xdg_current_desktop( diff --git a/www/iridium/files/patch-components_metrics_motherboard.cc b/www/iridium/files/patch-components_metrics_motherboard.cc index d555a1c25a68..97d8e15344b7 100644 --- a/www/iridium/files/patch-components_metrics_motherboard.cc +++ b/www/iridium/files/patch-components_metrics_motherboard.cc @@ -1,10 +1,10 @@ ---- components/metrics/motherboard.cc.orig 2022-12-01 10:35:46 UTC +--- components/metrics/motherboard.cc.orig 2025-05-07 06:48:23 UTC +++ components/metrics/motherboard.cc @@ -1,6 +1,7 @@ // Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// CHECK #include "components/metrics/motherboard.h" diff --git a/www/iridium/files/patch-components_named__mojo__ipc__server_connection__info.h b/www/iridium/files/patch-components_named__mojo__ipc__server_connection__info.h index 26e31a26c146..ccb7c2eaa7f2 100644 --- a/www/iridium/files/patch-components_named__mojo__ipc__server_connection__info.h +++ b/www/iridium/files/patch-components_named__mojo__ipc__server_connection__info.h @@ -1,23 +1,23 @@ ---- components/named_mojo_ipc_server/connection_info.h.orig 2025-04-16 18:18:42 UTC +--- components/named_mojo_ipc_server/connection_info.h.orig 2025-05-07 06:48:23 UTC +++ components/named_mojo_ipc_server/connection_info.h @@ -12,7 +12,10 @@ #include "base/win/scoped_handle.h" #elif BUILDFLAG(IS_MAC) #include -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +#if BUILDFLAG(IS_OPENBSD) +#include +#endif #include #endif @@ -29,7 +32,7 @@ struct ConnectionInfo { base::ProcessId pid{}; #if BUILDFLAG(IS_MAC) audit_token_t audit_token{}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) ucred credentials{}; #endif }; diff --git a/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc b/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc index 739288745792..0194cf3c429b 100644 --- a/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc +++ b/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc @@ -1,11 +1,11 @@ ---- components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc.orig 2024-11-04 08:56:03 UTC +--- components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc @@ -23,7 +23,7 @@ namespace named_mojo_ipc_server { // static mojo::PlatformChannelEndpoint ConnectToServer( const mojo::NamedPlatformChannel::ServerName& server_name) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return mojo::NamedPlatformChannel::ConnectToServer(server_name); #elif BUILDFLAG(IS_MAC) mojo::PlatformChannelEndpoint endpoint = diff --git a/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc b/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc index 195b30da52bb..9bb8fde27624 100644 --- a/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc +++ b/www/iridium/files/patch-components_named__mojo__ipc__server_named__mojo__server__endpoint__connector__linux.cc @@ -1,12 +1,12 @@ ---- components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.orig 2025-04-16 18:18:42 UTC +--- components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.orig 2025-05-07 06:48:23 UTC +++ components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc @@ -89,7 +89,9 @@ void NamedMojoServerEndpointConnectorLinux::OnSocketRe PLOG(ERROR) << "getsockopt failed."; return; } +#if !BUILDFLAG(IS_OPENBSD) info->pid = info->credentials.pid; +#endif mojo::PlatformChannelEndpoint endpoint( mojo::PlatformHandle(std::move(connection_fd))); diff --git a/www/iridium/files/patch-components_named__system__lock_BUILD.gn b/www/iridium/files/patch-components_named__system__lock_BUILD.gn index 36bbea7143dd..d394c51afa9a 100644 --- a/www/iridium/files/patch-components_named__system__lock_BUILD.gn +++ b/www/iridium/files/patch-components_named__system__lock_BUILD.gn @@ -1,20 +1,20 @@ ---- components/named_system_lock/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- components/named_system_lock/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/named_system_lock/BUILD.gn @@ -5,7 +5,7 @@ static_library("named_system_lock") { sources = [ "lock.h" ] deps = [ "//base" ] - if (is_linux) { + if (!is_bsd && is_linux) { sources += [ "lock_linux.cc" ] } else if (is_mac) { sources += [ "lock_mac.mm" ] @@ -20,7 +20,7 @@ source_set("unit_tests") { sources = [] # Disable NamedSystemLockTest on unsupported platforms. - if (is_linux || is_win || is_mac) { + if (!is_bsd && (is_linux || is_win || is_mac)) { sources += [ "lock_unittest.cc" ] } diff --git a/www/iridium/files/patch-components_named__system__lock_lock.h b/www/iridium/files/patch-components_named__system__lock_lock.h index 4f13172d804e..8af8064d58f4 100644 --- a/www/iridium/files/patch-components_named__system__lock_lock.h +++ b/www/iridium/files/patch-components_named__system__lock_lock.h @@ -1,11 +1,11 @@ ---- components/named_system_lock/lock.h.orig 2024-08-01 05:47:53 UTC +--- components/named_system_lock/lock.h.orig 2025-05-07 06:48:23 UTC +++ components/named_system_lock/lock.h @@ -38,7 +38,7 @@ class ScopedLock { // may acquire that lock. The lock name has different meanings per platform: // Linux: A shared memory object name starting with `/`. E.g. `/MyApp.lock`. // Mac: A bootstrap service name (see `man bootstrap_check_in`). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) static std::unique_ptr Create(const std::string& name, base::TimeDelta timeout); #elif BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-components_named__system__lock_lock__unittest.cc b/www/iridium/files/patch-components_named__system__lock_lock__unittest.cc index 354c50a1cff7..4f960d6e9c1b 100644 --- a/www/iridium/files/patch-components_named__system__lock_lock__unittest.cc +++ b/www/iridium/files/patch-components_named__system__lock_lock__unittest.cc @@ -1,29 +1,29 @@ ---- components/named_system_lock/lock_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- components/named_system_lock/lock_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/named_system_lock/lock_unittest.cc @@ -18,7 +18,7 @@ #include "build/build_config.h" #include "testing/gtest/include/gtest/gtest.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include @@ -45,7 +45,7 @@ class NamedSystemLockTest : public ::testing::Test { const std::string lock_name_ = base::UnguessableToken::Create().ToString(); std::unique_ptr CreateLock() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return ScopedLock::Create(lock_name_, base::Seconds(0)); #else CSecurityAttributes sa; @@ -95,7 +95,7 @@ TEST_F(NamedSystemLockTest, TryLockInThreadSuccess) { EXPECT_TRUE(CreateLock()); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) TEST_F(NamedSystemLockTest, SharedMemoryWrongPermissions) { // Create a shared memory region with overpermissive perms. int shm_fd = shm_open(lock_name_.c_str(), O_RDWR | O_CREAT | O_EXCL, diff --git a/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__features.cc index 15d2fb5872d5..76ef522576a6 100644 --- a/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__features.cc +++ b/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__features.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-02-22 18:06:53 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2025-05-07 06:48:23 UTC +++ components/optimization_guide/core/optimization_guide_features.cc @@ -136,7 +136,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, // Whether to use the on device model service in optimization guide. 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) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__util.cc b/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__util.cc index 4896e371dbf1..ddc32d2bb38a 100644 --- a/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__util.cc +++ b/www/iridium/files/patch-components_optimization__guide_core_optimization__guide__util.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/optimization_guide_util.cc.orig 2024-12-22 12:24:29 UTC +--- components/optimization_guide/core/optimization_guide_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/optimization_guide/core/optimization_guide_util.cc @@ -37,7 +37,7 @@ optimization_guide::proto::Platform GetPlatform() { return optimization_guide::proto::PLATFORM_CHROMEOS; #elif BUILDFLAG(IS_ANDROID) return optimization_guide::proto::PLATFORM_ANDROID; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return optimization_guide::proto::PLATFORM_LINUX; #else return optimization_guide::proto::PLATFORM_UNDEFINED; diff --git a/www/iridium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc b/www/iridium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc index a9cd5b015ede..6b4fdec9eaba 100644 --- a/www/iridium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc +++ b/www/iridium/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc @@ -1,12 +1,12 @@ ---- components/os_crypt/async/browser/secret_portal_key_provider.cc.orig 2024-11-04 08:56:03 UTC +--- components/os_crypt/async/browser/secret_portal_key_provider.cc.orig 2025-05-07 06:48:23 UTC +++ components/os_crypt/async/browser/secret_portal_key_provider.cc @@ -5,7 +5,9 @@ #include "components/os_crypt/async/browser/secret_portal_key_provider.h" #include +#if BUILDFLAG(IS_LINUX) #include +#endif #include #include diff --git a/www/iridium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc b/www/iridium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc index 49c1bbd29371..87ba7aec9b54 100644 --- a/www/iridium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc +++ b/www/iridium/files/patch-components_os__crypt_sync_libsecret__util__linux.cc @@ -1,27 +1,27 @@ ---- components/os_crypt/sync/libsecret_util_linux.cc.orig 2024-11-04 08:56:03 UTC +--- components/os_crypt/sync/libsecret_util_linux.cc.orig 2025-05-07 06:48:23 UTC +++ components/os_crypt/sync/libsecret_util_linux.cc @@ -185,16 +185,22 @@ bool LibsecretLoader::EnsureLibsecretLoaded() { // static bool LibsecretLoader::LoadLibsecret() { +#if BUILDFLAG(IS_BSD) + const char* kSecretLib = "libsecret-1.so"; +#else + const char* kSecretLib = "libsecret-1.so.0"; +#endif + if (libsecret_loaded_) return true; - static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); + static void* handle = dlopen(kSecretLib, RTLD_NOW | RTLD_GLOBAL); if (!handle) { // We wanted to use libsecret, but we couldn't load it. Warn, because // either the user asked for this, or we autodetected it incorrectly. (Or // the system has broken libraries, which is also good to warn about.) // TODO(crbug.com/40467093): Channel this message to the user-facing log - VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); + VLOG(1) << "Could not load " << kSecretLib << ": " << dlerror(); return false; } diff --git a/www/iridium/files/patch-components_os__crypt_sync_os__crypt.h b/www/iridium/files/patch-components_os__crypt_sync_os__crypt.h index ca721f588382..0902ed08f88a 100644 --- a/www/iridium/files/patch-components_os__crypt_sync_os__crypt.h +++ b/www/iridium/files/patch-components_os__crypt_sync_os__crypt.h @@ -1,63 +1,63 @@ ---- components/os_crypt/sync/os_crypt.h.orig 2025-04-16 18:18:42 UTC +--- components/os_crypt/sync/os_crypt.h.orig 2025-05-07 06:48:23 UTC +++ components/os_crypt/sync/os_crypt.h @@ -16,7 +16,7 @@ #include "build/chromecast_buildflags.h" #include "crypto/subtle_passkey.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class KeyStorageLinux; #endif // BUILDFLAG(IS_LINUX) @@ -32,7 +32,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) @@ -77,7 +77,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()> @@ -111,7 +111,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(). @@ -207,7 +207,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 @@ -231,13 +231,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/iridium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client.cc index 345615cbcf3a..017e24bd9013 100644 --- a/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client.cc +++ b/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client.cc.orig 2024-11-04 08:56:03 UTC +--- components/paint_preview/browser/paint_preview_client.cc.orig 2025-05-07 06:48:23 UTC +++ components/paint_preview/browser/paint_preview_client.cc @@ -326,8 +326,8 @@ void PaintPreviewClient::CapturePaintPreview( metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); - chromeVersion->set_major(current_chrome_version.components()[0]); - chromeVersion->set_minor(current_chrome_version.components()[1]); + chromeVersion->set_gmajor(current_chrome_version.components()[0]); + chromeVersion->set_gminor(current_chrome_version.components()[1]); chromeVersion->set_build(current_chrome_version.components()[2]); chromeVersion->set_patch(current_chrome_version.components()[3]); document_data.callback = std::move(callback); diff --git a/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc index 7a2ff0bcdb99..1876216166b9 100644 --- a/www/iridium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc +++ b/www/iridium/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-06-25 12:08:48 UTC +--- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/paint_preview/browser/paint_preview_client_unittest.cc @@ -174,8 +174,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/iridium/files/patch-components_paint__preview_common_proto_paint__preview.proto b/www/iridium/files/patch-components_paint__preview_common_proto_paint__preview.proto index d88f542ead7b..9cccbbdaa630 100644 --- a/www/iridium/files/patch-components_paint__preview_common_proto_paint__preview.proto +++ b/www/iridium/files/patch-components_paint__preview_common_proto_paint__preview.proto @@ -1,13 +1,13 @@ ---- components/paint_preview/common/proto/paint_preview.proto.orig 2022-03-28 18:11:04 UTC +--- components/paint_preview/common/proto/paint_preview.proto.orig 2025-05-07 06:48:23 UTC +++ components/paint_preview/common/proto/paint_preview.proto @@ -82,8 +82,8 @@ message PaintPreviewFrameProto { // Stores Chrome version. // NEXT_TAG = 5 message ChromeVersionProto { - optional uint64 major = 1; - optional uint64 minor = 2; + optional uint64 gmajor = 1; + optional uint64 gminor = 2; optional uint64 build = 3; optional uint64 patch = 4; } diff --git a/www/iridium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/iridium/files/patch-components_paint__preview_player_player__compositor__delegate.cc index fc0037e5bb9b..469a13980fcc 100644 --- a/www/iridium/files/patch-components_paint__preview_player_player__compositor__delegate.cc +++ b/www/iridium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/player/player_compositor_delegate.cc.orig 2025-02-22 18:06:53 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ components/paint_preview/player/player_compositor_delegate.cc @@ -433,8 +433,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT auto chrome_version = capture_result_->proto.metadata().chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); if (capture_result_->proto.metadata().has_chrome_version() && - chrome_version.major() == current_chrome_version.components()[0] && - chrome_version.minor() == current_chrome_version.components()[1] && + chrome_version.gmajor() == current_chrome_version.components()[0] && + chrome_version.gminor() == current_chrome_version.components()[1] && chrome_version.build() == current_chrome_version.components()[2] && chrome_version.patch() == current_chrome_version.components()[3]) { paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/iridium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/iridium/files/patch-components_password__manager_core_browser_features_password__features.cc index eb14f6cb0437..7ff9b99777e3 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/features/password_features.cc @@ -40,7 +40,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 @@ -112,7 +112,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/iridium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/iridium/files/patch-components_password__manager_core_browser_features_password__features.h index 5f2203905c39..4c08ef1f4076 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_features_password__features.h +++ b/www/iridium/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-03-18 16:46:04 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/features/password_features.h @@ -108,7 +108,7 @@ BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable) // 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/iridium/files/patch-components_password__manager_core_browser_password__form__manager.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__form__manager.cc index f512270b287f..2f9dc9d72859 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__form__manager.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- components/password_manager/core/browser/password_form_manager.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_form_manager.cc -@@ -63,7 +63,7 @@ +@@ -64,7 +64,7 @@ #include "components/webauthn/android/webauthn_cred_man_delegate.h" #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/os_crypt/sync/os_crypt.h" #endif -@@ -239,7 +239,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest +@@ -240,7 +240,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()) { -@@ -898,7 +898,7 @@ void PasswordFormManager::OnFetchCompleted() { +@@ -913,7 +913,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/iridium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__manager.cc index 2658a5dc9cb6..babcbe1c4aa7 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manager.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manager.cc.orig 2025-04-16 18:18:42 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -492,7 +492,7 @@ void PasswordManager::RegisterProfilePrefs( - false); - #endif +@@ -511,7 +511,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 -@@ -505,7 +505,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -524,7 +524,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/iridium/files/patch-components_password__manager_core_browser_password__manager__client.h b/www/iridium/files/patch-components_password__manager_core_browser_password__manager__client.h index 051924f9ba8a..8db4c0cb8b66 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manager__client.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- components/password_manager/core/browser/password_manager_client.h.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manager_client.h @@ -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" -@@ -550,7 +550,7 @@ class PasswordManagerClient { - CredentialsCallback callback); +@@ -533,7 +533,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/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.cc index 72e5c17a8f99..65f0b7d16fee 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_manager_switches.cc.orig 2024-06-25 12:08:48 UTC +--- components/password_manager/core/browser/password_manager_switches.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manager_switches.cc @@ -6,7 +6,7 @@ namespace password_manager { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Specifies which encryption storage backend to use. Possible values are // kwallet, kwallet5, kwallet6, gnome-libsecret, basic. // Any other value will lead to Chrome detecting the best backend automatically. diff --git a/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.h b/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.h index 73ebf66c95ef..c45f941ed3bd 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.h +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__manager__switches.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_manager_switches.h.orig 2025-02-22 18:06:53 UTC +--- components/password_manager/core/browser/password_manager_switches.h.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manager_switches.h @@ -9,7 +9,7 @@ namespace password_manager { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extern const char kPasswordStore[]; extern const char kEnableEncryptionSelection[]; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc index fd1b67478a8b..b9335252f11f 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.cc -@@ -45,7 +45,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri +@@ -46,7 +46,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns the password form corresponding to the `payload` data. In most // cases there is only one such form stored, but having more than one or no // forms is also possible. If there is more than one form, showing any of them -@@ -294,7 +294,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( +@@ -295,7 +295,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(), -@@ -429,7 +429,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass +@@ -425,7 +425,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) { cross_domain_confirmation_popup_controller_ = password_client_->ShowCrossDomainConfirmationPopup( diff --git a/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h index c0ac6c0bdc96..598716cdc417 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h +++ b/www/iridium/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 2024-11-04 08:56:03 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.h -@@ -17,7 +17,7 @@ +@@ -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) -@@ -178,7 +178,7 @@ class PasswordManualFallbackFlow : public autofill::Au +@@ -180,7 +180,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/iridium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc index 55d75d797857..58aa8f09d255 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__store__factory__util.cc +++ b/www/iridium/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-11-04 08:56:03 UTC +--- components/password_manager/core/browser/password_store_factory_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_store_factory_util.cc @@ -29,7 +29,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/iridium/files/patch-components_password__manager_core_browser_password__store_login__database.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database.cc index 1653ed29700e..f02d5f14c9a4 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_store/login_database.cc.orig 2024-11-04 08:56:03 UTC +--- components/password_manager/core/browser/password_store/login_database.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_store/login_database.cc @@ -1030,7 +1030,7 @@ bool ShouldDeleteUndecryptablePasswords( bool is_user_data_dir_policy_set, bool is_enabled_by_policy, IsAccountStore is_account_store) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - std::string user_data_dir_string; std::unique_ptr environment(base::Environment::Create()); // On Linux user data directory ca be specified using an env variable. If it -@@ -1049,7 +1049,7 @@ bool ShouldDeleteUndecryptablePasswords( + // exists, passwords shouldn't be deleted. +@@ -1048,7 +1048,7 @@ bool ShouldDeleteUndecryptablePasswords( return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch(password_manager::kPasswordStore)) { RecordShouldDeleteUndecryptablePasswordsMetric( ShouldDeleteUndecryptablePasswordsResult:: diff --git a/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc index 5f8e6a7f8abf..a2c38ba78d5d 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2024-11-04 08:56:03 UTC +--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_store/login_database_async_helper.cc @@ -154,7 +154,7 @@ LoginsResultOrError LoginDatabaseAsyncHelper::FillMatc std::vector matched_forms; if (!login_db_ || !login_db_->GetLogins(form, include_psl, &matched_forms)) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return PasswordStoreBackendError( OSCrypt::IsEncryptionAvailable() ? PasswordStoreBackendErrorType::kUncategorized diff --git a/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc index 10ab8cb15ff8..441f22f991d3 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2025-02-22 18:06:53 UTC +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/password_store/login_database_unittest.cc @@ -2257,7 +2257,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, testing::Bool())); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) class LoginDatabaseUndecryptableLoginsTest : public testing::Test { protected: LoginDatabaseUndecryptableLoginsTest() = default; diff --git a/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc b/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc index 1e546e243231..f18124906558 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc +++ b/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2025-04-16 18:18:42 UTC +--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/stub_password_manager_client.cc -@@ -201,7 +201,7 @@ version_info::Channel StubPasswordManagerClient::GetCh +@@ -206,7 +206,7 @@ version_info::Channel StubPasswordManagerClient::GetCh } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void StubPasswordManagerClient::OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) {} #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h b/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h index e982b0438641..20b5a4653125 100644 --- a/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h +++ b/www/iridium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.h.orig 2025-03-18 16:46:04 UTC +--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2025-05-07 06:48:23 UTC +++ components/password_manager/core/browser/stub_password_manager_client.h @@ -77,7 +77,7 @@ class StubPasswordManagerClient : public PasswordManag MockPasswordFeatureManager* GetPasswordFeatureManager(); version_info::Channel GetChannel() const override; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) override; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/www/iridium/files/patch-components_password__manager_core_common_password__manager__pref__names.h b/www/iridium/files/patch-components_password__manager_core_common_password__manager__pref__names.h index 7ebd554a6067..0c8e8dadfab9 100644 --- a/www/iridium/files/patch-components_password__manager_core_common_password__manager__pref__names.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- components/password_manager/core/common/password_manager_pref_names.h.orig 2025-05-07 06:48:23 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. -@@ -357,7 +357,7 @@ inline constexpr char kPasswordChangeFlowNoticeAgreeme +@@ -356,7 +356,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/iridium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc b/www/iridium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc index beaa3d0789d1..9c36e173b12d 100644 --- a/www/iridium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc +++ b/www/iridium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc @@ -1,11 +1,11 @@ ---- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2024-12-22 12:24:29 UTC +--- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2025-05-07 06:48:23 UTC +++ components/performance_manager/decorators/process_metrics_decorator.cc @@ -264,7 +264,7 @@ void ProcessMetricsDecorator::DidGetMemoryUsage( // RSS and PMF to each node proportionally to its V8 heap size. uint64_t process_rss = process_dump_iter.os_dump().resident_set_kb; process_node->set_resident_set_kb(process_rss); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) process_node->set_private_swap_kb( process_dump_iter.os_dump().private_footprint_swap_kb); #endif diff --git a/www/iridium/files/patch-components_performance__manager_public_features.h b/www/iridium/files/patch-components_performance__manager_public_features.h index 39b059faf95a..b1d968ce9ac4 100644 --- a/www/iridium/files/patch-components_performance__manager_public_features.h +++ b/www/iridium/files/patch-components_performance__manager_public_features.h @@ -1,11 +1,11 @@ ---- components/performance_manager/public/features.h.orig 2025-03-18 16:46:04 UTC +--- components/performance_manager/public/features.h.orig 2025-05-07 06:48:23 UTC +++ components/performance_manager/public/features.h -@@ -17,7 +17,7 @@ namespace performance_manager::features { +@@ -19,7 +19,7 @@ namespace performance_manager::features { #if !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() false #else #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() true diff --git a/www/iridium/files/patch-components_permissions_prediction__service_prediction__common.cc b/www/iridium/files/patch-components_permissions_prediction__service_prediction__common.cc index 06fa3c5e40ff..4099ffbbb05f 100644 --- a/www/iridium/files/patch-components_permissions_prediction__service_prediction__common.cc +++ b/www/iridium/files/patch-components_permissions_prediction__service_prediction__common.cc @@ -1,20 +1,20 @@ ---- components/permissions/prediction_service/prediction_common.cc.orig 2025-04-16 18:18:42 UTC +--- components/permissions/prediction_service/prediction_common.cc.orig 2025-05-07 06:48:23 UTC +++ components/permissions/prediction_service/prediction_common.cc @@ -34,7 +34,7 @@ int BucketizeValue(int count) { ClientFeatures_Platform GetCurrentPlatformProto() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return permissions::ClientFeatures_Platform_PLATFORM_DESKTOP; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) return permissions::ClientFeatures_Platform_PLATFORM_MOBILE; @@ -45,7 +45,7 @@ ClientFeatures_Platform GetCurrentPlatformProto() { ClientFeatures_PlatformEnum GetCurrentPlatformEnumProto() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return permissions::ClientFeatures_PlatformEnum_PLATFORM_DESKTOP_V2; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) return permissions::ClientFeatures_PlatformEnum_PLATFORM_MOBILE_V2; diff --git a/www/iridium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/iridium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc index 1a9eaf3740bc..69f92ed0fcc8 100644 --- a/www/iridium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc +++ b/www/iridium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc @@ -1,11 +1,11 @@ ---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2025-04-16 18:18:42 UTC +--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/browser/policy_pref_mapping_test.cc -@@ -413,7 +413,7 @@ class PolicyTestCase { - const std::string os("chromeos_ash"); +@@ -432,7 +432,7 @@ class PolicyTestCase { + const std::string os("chromeos"); #elif BUILDFLAG(IS_IOS) const std::string os("ios"); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::string os("linux"); #elif BUILDFLAG(IS_MAC) const std::string os("mac"); diff --git a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index bb556b8e3d3e..68bdbc8412e1 100644 --- a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2025-04-16 18:18:42 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -741,7 +741,7 @@ void CloudPolicyClient::FetchPolicy(PolicyFetchReason +@@ -742,7 +742,7 @@ void CloudPolicyClient::FetchPolicy(PolicyFetchReason fetch_request->set_invalidation_payload(invalidation_payload_); } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Only set browser device identifier for CBCM Chrome cloud policy on // desktop. if (type_to_fetch.first == diff --git a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc index b9077c827e20..183a4512837a 100644 --- a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc +++ b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc @@ -1,20 +1,20 @@ ---- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2024-11-04 08:56:03 UTC +--- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc @@ -25,7 +25,7 @@ namespace policy { namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kRetryWithKeyReset, "RetryWithKeyReset", base::FEATURE_ENABLED_BY_DEFAULT); @@ -220,7 +220,7 @@ void CloudPolicyRefreshScheduler::OnStoreError(CloudPo // continue using the stale information. Thus, no specific response to a store // error is required. NB: Changes to is_managed fire OnStoreLoaded(). -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Client is registered means we have successfully get policy key once. However, // a following policy fetch request is failed because we can't verified // signature. Delete the policy key so that we can get it again with next diff --git a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc index b9e116125dff..5807a63c38f7 100644 --- a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc +++ b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc @@ -1,55 +1,55 @@ ---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2025-02-22 18:06:53 UTC +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/cloud/cloud_policy_util.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "base/win/wincred_shim.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include #include #include -@@ -35,10 +35,15 @@ +@@ -36,10 +36,15 @@ #import #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include // For HOST_NAME_MAX #endif +#if BUILDFLAG(IS_FREEBSD) +#include +#define HOST_NAME_MAX MAXHOSTNAMELEN +#endif + #include #include -@@ -83,7 +88,7 @@ namespace policy { +@@ -84,7 +89,7 @@ namespace policy { namespace em = enterprise_management; std::string GetMachineName() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) char hostname[HOST_NAME_MAX]; if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. return hostname; -@@ -139,7 +144,7 @@ std::string GetMachineName() { +@@ -140,7 +145,7 @@ std::string GetMachineName() { std::string GetOSVersion() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return base::SysInfo::OperatingSystemVersion(); #elif BUILDFLAG(IS_WIN) base::win::OSInfo::VersionNumber version_number = -@@ -161,7 +166,7 @@ std::string GetOSArchitecture() { +@@ -162,7 +167,7 @@ std::string GetOSArchitecture() { } std::string GetOSUsername() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) struct passwd* creds = getpwuid(getuid()); if (!creds || !creds->pw_name) return std::string(); diff --git a/www/iridium/files/patch-components_policy_core_common_policy__loader__common.cc b/www/iridium/files/patch-components_policy_core_common_policy__loader__common.cc index faef992d4de8..73ad2fb3b9d2 100644 --- a/www/iridium/files/patch-components_policy_core_common_policy__loader__common.cc +++ b/www/iridium/files/patch-components_policy_core_common_policy__loader__common.cc @@ -1,20 +1,20 @@ ---- components/policy/core/common/policy_loader_common.cc.orig 2025-02-22 18:06:53 UTC +--- components/policy/core/common/policy_loader_common.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/policy_loader_common.cc @@ -46,7 +46,7 @@ const char* kSensitivePolicies[] = { key::kDefaultSearchProviderEnabled, key::kSafeBrowsingEnabled, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) key::kAutoOpenFileTypes, key::kEnterpriseSearchAggregatorSettings, key::kHomepageIsNewTabPage, @@ -57,7 +57,7 @@ const char* kSensitivePolicies[] = { key::kSafeBrowsingAllowlistDomains, key::kSiteSearchSettings, #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::kCommandLineFlagSecurityWarningsEnabled, #endif #if !BUILDFLAG(IS_IOS) diff --git a/www/iridium/files/patch-components_policy_core_common_policy__paths.cc b/www/iridium/files/patch-components_policy_core_common_policy__paths.cc index 8964b6dd7e3d..b062f7ce75c1 100644 --- a/www/iridium/files/patch-components_policy_core_common_policy__paths.cc +++ b/www/iridium/files/patch-components_policy_core_common_policy__paths.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/policy_paths.cc.orig 2025-02-22 18:06:53 UTC +--- components/policy/core/common/policy_paths.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/policy_paths.cc @@ -17,6 +17,8 @@ namespace policy { const char kPolicyPath[] = "/etc/iridium-browser/policies"; #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING) const char kPolicyPath[] = "/etc/iridium-browser/policies"; +#elif BUILDFLAG(IS_FREEBSD) +const char kPolicyPath[] = "/usr/local/etc/iridium-browser/policies"; #else const char kPolicyPath[] = "/etc/iridium-browser/policies"; #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) diff --git a/www/iridium/files/patch-components_policy_core_common_policy__utils.cc b/www/iridium/files/patch-components_policy_core_common_policy__utils.cc index fb3fdfe01b8c..65226b94eef9 100644 --- a/www/iridium/files/patch-components_policy_core_common_policy__utils.cc +++ b/www/iridium/files/patch-components_policy_core_common_policy__utils.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/policy_utils.cc.orig 2024-11-04 08:56:03 UTC +--- components/policy/core/common/policy_utils.cc.orig 2025-05-07 06:48:23 UTC +++ components/policy/core/common/policy_utils.cc @@ -22,7 +22,7 @@ bool IsPolicyTestingEnabled(PrefService* pref_service, return true; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) if (channel == version_info::Channel::DEV) { return true; } diff --git a/www/iridium/files/patch-components_policy_tools_generate__policy__source.py b/www/iridium/files/patch-components_policy_tools_generate__policy__source.py index 84765c954c1a..b0ff155bc024 100644 --- a/www/iridium/files/patch-components_policy_tools_generate__policy__source.py +++ b/www/iridium/files/patch-components_policy_tools_generate__policy__source.py @@ -1,14 +1,14 @@ ---- components/policy/tools/generate_policy_source.py.orig 2024-06-25 12:08:48 UTC +--- components/policy/tools/generate_policy_source.py.orig 2025-05-07 06:48:23 UTC +++ components/policy/tools/generate_policy_source.py @@ -38,9 +38,9 @@ PLATFORM_STRINGS = { 'ios': ['ios'], 'fuchsia': ['fuchsia'], 'chrome.win': ['win'], - 'chrome.linux': ['linux'], + 'chrome.linux': ['linux', 'openbsd', 'freebsd'], 'chrome.mac': ['mac'], - 'chrome.*': ['win', 'mac', 'linux'], + 'chrome.*': ['win', 'mac', 'linux', 'openbsd', 'freebsd'], 'chrome.win7': ['win'], } diff --git a/www/iridium/files/patch-components_policy_tools_template__writers_writer__configuration.py b/www/iridium/files/patch-components_policy_tools_template__writers_writer__configuration.py index 846837bacc38..5d3a8c360af7 100644 --- a/www/iridium/files/patch-components_policy_tools_template__writers_writer__configuration.py +++ b/www/iridium/files/patch-components_policy_tools_template__writers_writer__configuration.py @@ -1,11 +1,11 @@ ---- components/policy/tools/template_writers/writer_configuration.py.orig 2023-10-21 11:51:27 UTC +--- components/policy/tools/template_writers/writer_configuration.py.orig 2025-05-07 06:48:23 UTC +++ components/policy/tools/template_writers/writer_configuration.py @@ -59,7 +59,7 @@ def GetConfigurationForBuild(defines): }, }, 'admx_prefix': 'chromium', - 'linux_policy_path': '/etc/iridium-browser/policies/', + 'linux_policy_path': '/etc/iridium/policies/', 'bundle_id': 'org.chromium', } elif '_google_chrome' in defines or '_is_chrome_for_testing_branded' in defines: diff --git a/www/iridium/files/patch-components_power__metrics_BUILD.gn b/www/iridium/files/patch-components_power__metrics_BUILD.gn index ce7dc5570e08..65d1f7041158 100644 --- a/www/iridium/files/patch-components_power__metrics_BUILD.gn +++ b/www/iridium/files/patch-components_power__metrics_BUILD.gn @@ -1,11 +1,11 @@ ---- components/power_metrics/BUILD.gn.orig 2023-10-21 11:51:27 UTC +--- components/power_metrics/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/power_metrics/BUILD.gn @@ -41,7 +41,7 @@ static_library("power_metrics") { ldflags = [ "/DELAYLOAD:setupapi.dll" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { sources += [ "energy_metrics_provider_linux.cc", "energy_metrics_provider_linux.h", diff --git a/www/iridium/files/patch-components_power__metrics_energy__metrics__provider.cc b/www/iridium/files/patch-components_power__metrics_energy__metrics__provider.cc index 61a787b64229..e6892704a86b 100644 --- a/www/iridium/files/patch-components_power__metrics_energy__metrics__provider.cc +++ b/www/iridium/files/patch-components_power__metrics_energy__metrics__provider.cc @@ -1,21 +1,21 @@ ---- components/power_metrics/energy_metrics_provider.cc.orig 2023-08-28 20:17:35 UTC +--- components/power_metrics/energy_metrics_provider.cc.orig 2025-05-07 06:48:23 UTC +++ components/power_metrics/energy_metrics_provider.cc @@ -9,6 +9,8 @@ #include "components/power_metrics/energy_metrics_provider_win.h" #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #include "components/power_metrics/energy_metrics_provider_linux.h" +#elif BUILDFLAG(IS_BSD) +#include "base/notreached.h" #endif // BUILDFLAG(IS_WIN) namespace power_metrics { @@ -22,6 +24,9 @@ std::unique_ptr EnergyMetricsPr return EnergyMetricsProviderWin::Create(); #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) return EnergyMetricsProviderLinux::Create(); +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + return nullptr; #else return nullptr; #endif // BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__service.cc b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__service.cc index c1065cf38f74..57a0ad0b806d 100644 --- a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__service.cc +++ b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__service.cc @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_service.cc.orig 2025-03-18 16:46:04 UTC +--- components/regional_capabilities/regional_capabilities_service.cc.orig 2025-05-07 06:48:23 UTC +++ components/regional_capabilities/regional_capabilities_service.cc -@@ -85,7 +85,7 @@ void RegionalCapabilitiesService::InitializeCountryIdC - base::UmaHistogramEnumeration(kUnknownCountryIdStored, - UnknownCountryIdStored::kValidCountryId); - } else { +@@ -216,7 +216,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(country_codes::kCountryIDAtInstall); - country_id.reset(); + if (base::FeatureList::IsEnabled(switches::kClearPrefForUnknownCountry)) { + profile_prefs_->ClearPref(country_codes::kCountryIDAtInstall); + base::UmaHistogramEnumeration(kUnknownCountryIdStored, diff --git a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc index 80e50a6d6518..5a017d109bdd 100644 --- a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc +++ b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.cc @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-03-18 16:46:04 UTC +--- components/regional_capabilities/regional_capabilities_switches.cc.orig 2025-05-07 06:48:23 UTC +++ components/regional_capabilities/regional_capabilities_switches.cc @@ -6,7 +6,7 @@ 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_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.h b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.h index d6c8cbd1f8f4..d40db626b6c9 100644 --- a/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.h +++ b/www/iridium/files/patch-components_regional__capabilities_regional__capabilities__switches.h @@ -1,11 +1,11 @@ ---- components/regional_capabilities/regional_capabilities_switches.h.orig 2025-03-18 16:46:04 UTC +--- components/regional_capabilities/regional_capabilities_switches.h.orig 2025-05-07 06:48:23 UTC +++ components/regional_capabilities/regional_capabilities_switches.h @@ -25,7 +25,7 @@ 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 the `country_codes::kCountryIDUnknown` is stored in prefs and this + // 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. diff --git a/www/iridium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc b/www/iridium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc index d9298ba731c6..d05a26d6e381 100644 --- a/www/iridium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc +++ b/www/iridium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/content/common/file_type_policies_unittest.cc.orig 2025-02-22 18:06:53 UTC +--- components/safe_browsing/content/common/file_type_policies_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ components/safe_browsing/content/common/file_type_policies_unittest.cc @@ -146,7 +146,7 @@ TEST_F(FileTypePoliciesTest, UnpackResourceBundle) { EXPECT_EQ(142, file_type.uma_value()); EXPECT_FALSE(file_type.is_archive()); EXPECT_EQ(DownloadFileType::FULL_PING, file_type.ping_setting()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, file_type.platform_settings(0).danger_level()); EXPECT_EQ(DownloadFileType::DISALLOW_AUTO_OPEN, diff --git a/www/iridium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py b/www/iridium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py index f80db4035440..eaee81a37be7 100644 --- a/www/iridium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py +++ b/www/iridium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py @@ -1,20 +1,20 @@ ---- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2024-08-27 06:28:16 UTC +--- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2025-05-07 06:48:23 UTC +++ components/safe_browsing/content/resources/gen_file_type_proto.py @@ -37,6 +37,8 @@ def PlatformTypes(): "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_CHROME_OS, "linux": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, + "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, + "freebsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, "mac": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_MAC, "win": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_WINDOWS, # LINT.ThenChange(BUILD.gn:PlatformTypes) @@ -179,7 +181,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera '-t', '--type', help='The platform type. One of android, chromeos, ' + - 'linux, mac, win') + 'linux, mac, win, openbsd, freebsd') def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): if opts.type is not None: diff --git a/www/iridium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc b/www/iridium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc index 8536e4240e43..a75b25091e2b 100644 --- a/www/iridium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc +++ b/www/iridium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2024-11-04 08:56:03 UTC +--- components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc @@ -119,7 +119,7 @@ std::ostream& operator<<(std::ostream& os, const ListI PlatformType GetCurrentPlatformType() { #if BUILDFLAG(IS_WIN) return WINDOWS_PLATFORM; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return LINUX_PLATFORM; #elif BUILDFLAG(IS_IOS) return IOS_PLATFORM; diff --git a/www/iridium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/iridium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc index 98b82815285f..acd34b44e3ce 100644 --- a/www/iridium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc +++ b/www/iridium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2025-04-16 18:18:42 UTC +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2025-05-07 06:48:23 UTC +++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc @@ -111,7 +111,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { return RTLookupRequest::OS_TYPE_CHROME_OS; #elif BUILDFLAG(IS_IOS) return RTLookupRequest::OS_TYPE_IOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return RTLookupRequest::OS_TYPE_LINUX; #elif BUILDFLAG(IS_MAC) return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/iridium/files/patch-components_search__engines_template__url__service.cc b/www/iridium/files/patch-components_search__engines_template__url__service.cc index df2becc50a8d..cba59fad874a 100644 --- a/www/iridium/files/patch-components_search__engines_template__url__service.cc +++ b/www/iridium/files/patch-components_search__engines_template__url__service.cc @@ -1,11 +1,11 @@ ---- components/search_engines/template_url_service.cc.orig 2025-04-16 18:18:42 UTC +--- components/search_engines/template_url_service.cc.orig 2025-05-07 06:48:23 UTC +++ components/search_engines/template_url_service.cc -@@ -3411,7 +3411,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3435,7 +3435,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/iridium/files/patch-components_security__interstitials_content_utils.cc b/www/iridium/files/patch-components_security__interstitials_content_utils.cc index 9c04bf2c0a4f..821de2929e3a 100644 --- a/www/iridium/files/patch-components_security__interstitials_content_utils.cc +++ b/www/iridium/files/patch-components_security__interstitials_content_utils.cc @@ -1,11 +1,11 @@ ---- components/security_interstitials/content/utils.cc.orig 2025-02-22 18:06:53 UTC +--- components/security_interstitials/content/utils.cc.orig 2025-05-07 06:48:23 UTC +++ components/security_interstitials/content/utils.cc @@ -37,7 +37,7 @@ void LaunchDateAndTimeSettings() { #if BUILDFLAG(IS_ANDROID) JNIEnv* env = base::android::AttachCurrentThread(); Java_DateAndTimeSettingsHelper_openDateAndTimeSettings(env); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) struct ClockCommand { const char* const pathname; const char* const argument; diff --git a/www/iridium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/iridium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc index 6b3a98a7d055..0c6ab10dd12f 100644 --- a/www/iridium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc +++ b/www/iridium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc @@ -1,11 +1,11 @@ ---- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2025-02-22 18:06:53 UTC +--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2025-05-07 06:48:23 UTC +++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc @@ -147,7 +147,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( // Check for current device type and subtract it from the device count // calculation. #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) desktop_count -= 1; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { diff --git a/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.cc b/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.cc index c2284064dfac..658485452ada 100644 --- a/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.cc +++ b/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.cc @@ -1,43 +1,43 @@ ---- components/services/on_device_translation/sandbox_hook.cc.orig 2024-12-22 12:24:29 UTC +--- components/services/on_device_translation/sandbox_hook.cc.orig 2025-05-07 06:48:23 UTC +++ components/services/on_device_translation/sandbox_hook.cc @@ -7,12 +7,15 @@ #include "components/services/on_device_translation/translate_kit_client.h" #include "sandbox/linux/syscall_broker/broker_command.h" +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; using sandbox::syscall_broker::MakeBrokerCommandSet; +#endif namespace on_device_translation { namespace { +#if !BUILDFLAG(IS_BSD) // Gets the file permissions required by the TranslateKit std::vector GetOnDeviceTranslationFilePermissions() { std::vector permissions{ @@ -21,6 +24,7 @@ std::vector GetOnDeviceTranslati }; return permissions; } +#endif } // namespace @@ -29,6 +33,7 @@ bool OnDeviceTranslationSandboxHook( // Call `TranslateKitClient::Get()` to load libtranslatekit.so TranslateKitClient::Get(); +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); instance->StartBrokerProcess(MakeBrokerCommandSet({ sandbox::syscall_broker::COMMAND_OPEN, @@ -36,7 +41,7 @@ bool OnDeviceTranslationSandboxHook( GetOnDeviceTranslationFilePermissions(), options); instance->EngageNamespaceSandboxIfPossible(); - +#endif return true; } diff --git a/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.h b/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.h index db763652b7ec..82eb226321fe 100644 --- a/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.h +++ b/www/iridium/files/patch-components_services_on__device__translation_sandbox__hook.h @@ -1,16 +1,16 @@ ---- components/services/on_device_translation/sandbox_hook.h.orig 2024-12-22 12:24:29 UTC +--- components/services/on_device_translation/sandbox_hook.h.orig 2025-05-07 06:48:23 UTC +++ components/services/on_device_translation/sandbox_hook.h @@ -5,7 +5,13 @@ #ifndef COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_ #define COMPONENTS_SERVICES_ON_DEVICE_TRANSLATION_SANDBOX_HOOK_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace on_device_translation { diff --git a/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc index 6cb8f6700a7c..dfc83f8be92c 100644 --- a/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc +++ b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc @@ -1,29 +1,29 @@ ---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2024-06-25 12:08:48 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc @@ -22,7 +22,7 @@ #if BUILDFLAG(IS_WIN) #include "content/public/child/dwrite_font_proxy_init_win.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font/public/cpp/font_loader.h" #endif @@ -79,7 +79,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp // Initialize font access for Skia. #if BUILDFLAG(IS_WIN) content::InitializeDWriteFontProxy(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::PendingRemote font_service; content::UtilityThread::Get()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); @@ -102,7 +102,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp base::BindOnce([] { skia::DefaultFontMgr(); })); // Sanity check that fonts are working. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // No WebSandbox is provided on Linux so the local fonts aren't accessible. // This is fine since since the subsetted fonts are provided in the SkPicture. // However, we still need to check that the SkFontMgr starts as it is used by diff --git a/www/iridium/files/patch-components_signin_public_base_signin__switches.cc b/www/iridium/files/patch-components_signin_public_base_signin__switches.cc new file mode 100644 index 000000000000..96dd3fc0917d --- /dev/null +++ b/www/iridium/files/patch-components_signin_public_base_signin__switches.cc @@ -0,0 +1,11 @@ +--- components/signin/public/base/signin_switches.cc.orig 2025-05-07 06:48:23 UTC ++++ components/signin/public/base/signin_switches.cc +@@ -55,7 +55,7 @@ BASE_FEATURE(kUseHostedDomainForManagementCheckOnSigni + 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) + // Enables the History Sync Opt-in on Desktop. + BASE_FEATURE(kEnableHistorySyncOptin, + "EnableHistorySyncOptin", diff --git a/www/iridium/files/patch-components_signin_public_base_signin__switches.h b/www/iridium/files/patch-components_signin_public_base_signin__switches.h new file mode 100644 index 000000000000..c1c99e6d4215 --- /dev/null +++ b/www/iridium/files/patch-components_signin_public_base_signin__switches.h @@ -0,0 +1,11 @@ +--- components/signin/public/base/signin_switches.h.orig 2025-05-07 06:48:23 UTC ++++ components/signin/public/base/signin_switches.h +@@ -52,7 +52,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kUseHostedDomainForManagementCheckOnSignin); + #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); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-components_soda_soda__util.cc b/www/iridium/files/patch-components_soda_soda__util.cc index db3459ba20fb..f1d39557198a 100644 --- a/www/iridium/files/patch-components_soda_soda__util.cc +++ b/www/iridium/files/patch-components_soda_soda__util.cc @@ -1,29 +1,29 @@ ---- components/soda/soda_util.cc.orig 2025-02-22 18:06:53 UTC +--- components/soda/soda_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/soda/soda_util.cc -@@ -22,7 +22,7 @@ +@@ -23,7 +23,7 @@ #include "base/win/windows_version.h" #endif -#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_X86_FAMILY) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_FAMILY) #include "base/cpu.h" #endif -@@ -38,7 +38,7 @@ bool IsSupportedChromeOS() { +@@ -39,7 +39,7 @@ bool IsSupportedChromeOS() { } #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsSupportedLinux() { #if defined(ARCH_CPU_X86_FAMILY) // Check if the CPU has the required instruction set to run the Speech -@@ -69,7 +69,7 @@ bool IsSupportedWin() { +@@ -70,7 +70,7 @@ bool IsSupportedWin() { bool IsOnDeviceSpeechRecognitionSupported() { #if BUILDFLAG(IS_CHROMEOS) return IsSupportedChromeOS(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return IsSupportedLinux(); #elif BUILDFLAG(IS_WIN) return IsSupportedWin(); diff --git a/www/iridium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/www/iridium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc index fe6f5b377944..a312b9999a3b 100644 --- a/www/iridium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc +++ b/www/iridium/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-27 06:28:16 UTC +--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2025-05-07 06:48:23 UTC +++ components/startup_metric_utils/common/startup_metric_utils.cc @@ -94,7 +94,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/iridium/files/patch-components_storage__monitor_BUILD.gn b/www/iridium/files/patch-components_storage__monitor_BUILD.gn index 50f8140380a9..63438e72eaa3 100644 --- a/www/iridium/files/patch-components_storage__monitor_BUILD.gn +++ b/www/iridium/files/patch-components_storage__monitor_BUILD.gn @@ -1,20 +1,20 @@ ---- components/storage_monitor/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- components/storage_monitor/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ components/storage_monitor/BUILD.gn -@@ -71,7 +71,7 @@ static_library("storage_monitor") { +@@ -73,7 +73,7 @@ component("storage_monitor") { deps += [ "//services/device/public/mojom" ] } } else if (is_linux) { - if (use_udev) { + if (use_udev && !is_bsd) { sources += [ "mtab_watcher_linux.cc", "mtab_watcher_linux.h", -@@ -177,7 +177,7 @@ source_set("unit_tests") { +@@ -182,7 +182,7 @@ source_set("unit_tests") { "storage_monitor_chromeos_unittest.cc", ] } - } else if (is_linux) { + } else if (is_linux && !is_bsd) { if (use_udev) { sources += [ "storage_monitor_linux_unittest.cc" ] } diff --git a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc index 52f24622dd5d..ea0204d7bff3 100644 --- a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc +++ b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc @@ -1,11 +1,11 @@ ---- components/storage_monitor/removable_device_constants.cc.orig 2022-03-28 18:11:04 UTC +--- components/storage_monitor/removable_device_constants.cc.orig 2025-05-07 06:48:23 UTC +++ components/storage_monitor/removable_device_constants.cc @@ -10,7 +10,7 @@ namespace storage_monitor { const char kFSUniqueIdPrefix[] = "UUID:"; const char kVendorModelSerialPrefix[] = "VendorModelSerial:"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kVendorModelVolumeStoragePrefix[] = "VendorModelVolumeStorage:"; #endif diff --git a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h index bb2f6cc01e26..5f2003c7d9da 100644 --- a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h +++ b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h @@ -1,11 +1,11 @@ ---- components/storage_monitor/removable_device_constants.h.orig 2022-03-28 18:11:04 UTC +--- components/storage_monitor/removable_device_constants.h.orig 2025-05-07 06:48:23 UTC +++ components/storage_monitor/removable_device_constants.h -@@ -14,7 +14,7 @@ namespace storage_monitor { - extern const char kFSUniqueIdPrefix[]; - extern const char kVendorModelSerialPrefix[]; +@@ -15,7 +15,7 @@ namespace storage_monitor { + extern COMPONENT_EXPORT(STORAGE_MONITOR) const char kFSUniqueIdPrefix[]; + extern COMPONENT_EXPORT(STORAGE_MONITOR) const char kVendorModelSerialPrefix[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kVendorModelVolumeStoragePrefix[]; + extern COMPONENT_EXPORT(STORAGE_MONITOR) const + char kVendorModelVolumeStoragePrefix[]; #endif - diff --git a/www/iridium/files/patch-components_supervised__user_core_browser_list__family__members__service.h b/www/iridium/files/patch-components_supervised__user_core_browser_list__family__members__service.h index 9aa69899e02b..2cde2330af4f 100644 --- a/www/iridium/files/patch-components_supervised__user_core_browser_list__family__members__service.h +++ b/www/iridium/files/patch-components_supervised__user_core_browser_list__family__members__service.h @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/list_family_members_service.h.orig 2025-02-22 18:06:53 UTC +--- components/supervised_user/core/browser/list_family_members_service.h.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/browser/list_family_members_service.h @@ -33,7 +33,7 @@ namespace supervised_user { // If true, this fetcher is active for all users with CanFetchFamilyMemberInfo // capability. Otherwise, it is only used by supervised users. constexpr bool FetchListFamilyMembersWithCapability() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc b/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc index 3f788336111d..d1e229406da7 100644 --- a/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc +++ b/www/iridium/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 2024-08-01 05:47:53 UTC +--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/browser/supervised_user_metrics_service.cc @@ -47,7 +47,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer extensions_metrics_delegate_(std::move(extensions_metrics_delegate)) { DCHECK(pref_service_); DCHECK(url_filter_); -#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/iridium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc b/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc index 38e961999434..5b087dcf36cf 100644 --- a/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc +++ b/www/iridium/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/supervised_user_preferences.cc.orig 2025-02-22 18:06:53 UTC +--- components/supervised_user/core/browser/supervised_user_preferences.cc.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/browser/supervised_user_preferences.cc -@@ -144,7 +144,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry +@@ -147,7 +147,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry registry->RegisterBooleanPref(prefs::kChildAccountStatusKnown, false); registry->RegisterStringPref(prefs::kFamilyLinkUserMemberRole, std::string()); #if BUILDFLAG(ENABLE_EXTENSIONS) && \ - (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) + (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) registry->RegisterIntegerPref( prefs::kLocallyParentApprovedExtensionsMigrationState, static_cast( diff --git a/www/iridium/files/patch-components_supervised__user_core_common_features.cc b/www/iridium/files/patch-components_supervised__user_core_common_features.cc index 32549885c6f2..cd90df5573f7 100644 --- a/www/iridium/files/patch-components_supervised__user_core_common_features.cc +++ b/www/iridium/files/patch-components_supervised__user_core_common_features.cc @@ -1,63 +1,72 @@ ---- components/supervised_user/core/common/features.cc.orig 2025-04-16 18:18:42 UTC +--- components/supervised_user/core/common/features.cc.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/common/features.cc @@ -36,7 +36,7 @@ BASE_FEATURE(kAllowSubframeLocalWebApprovals, #endif #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const int kLocalWebApprovalBottomSheetLoadTimeoutDefaultValueMs = 5000; const base::FeatureParam kLocalWebApprovalBottomSheetLoadTimeoutMs{ -@@ -83,7 +83,7 @@ BASE_FEATURE(kUpdatedSupervisedUserExtensionApprovalSt +@@ -45,7 +45,7 @@ const base::FeatureParam kLocalWebApprovalBottomS + #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kEnableLocalWebApprovalErrorDialog, + "EnableLocalWebApprovalErrorDialog", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -97,7 +97,7 @@ BASE_FEATURE(kUpdatedSupervisedUserExtensionApprovalSt "UpdatedSupervisedUserExtensionApprovalStrings", base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop, "EnableExtensionsPermissionsForSupervisedUsersOnDesktop", base::FEATURE_ENABLED_BY_DEFAULT); -@@ -98,7 +98,7 @@ bool IsSupervisedUserSkipParentApprovalToInstallExtens +@@ -112,7 +112,7 @@ bool IsSupervisedUserSkipParentApprovalToInstallExtens #if BUILDFLAG(IS_CHROMEOS) return base::FeatureList::IsEnabled( kEnableSupervisedUserSkipParentApprovalToInstallExtensions); -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool skipParentApprovalEnabled = base::FeatureList::IsEnabled( kEnableSupervisedUserSkipParentApprovalToInstallExtensions); bool permissionExtensionsForSupervisedUsersEnabled = -@@ -115,7 +115,7 @@ bool IsSupervisedUserSkipParentApprovalToInstallExtens +@@ -129,7 +129,7 @@ bool IsSupervisedUserSkipParentApprovalToInstallExtens } #endif // BUILDFLAG(ENABLE_EXTENSIONS) -#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); -@@ -127,13 +127,13 @@ BASE_FEATURE(kShowKiteForSupervisedUsers, +@@ -141,13 +141,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) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableSupervisedUserVersionSignOutDialog, "EnableSupervisedUserVersionSignOutDialog", base::FEATURE_ENABLED_BY_DEFAULT); -@@ -155,7 +155,7 @@ BASE_FEATURE(kExemptYouTubeInfrastructureFromBlocking, +@@ -169,7 +169,7 @@ BASE_FEATURE(kExemptYouTubeInfrastructureFromBlocking, // platform #defines. BASE_FEATURE(kUncredentialedFilteringFallbackForSupervisedUsers, "UncredentialedFilteringFallbackForSupervisedUsers", -#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); diff --git a/www/iridium/files/patch-components_supervised__user_core_common_features.h b/www/iridium/files/patch-components_supervised__user_core_common_features.h index 325090c1f452..b04efb72faaf 100644 --- a/www/iridium/files/patch-components_supervised__user_core_common_features.h +++ b/www/iridium/files/patch-components_supervised__user_core_common_features.h @@ -1,38 +1,44 @@ ---- components/supervised_user/core/common/features.h.orig 2025-04-16 18:18:42 UTC +--- components/supervised_user/core/common/features.h.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/common/features.h -@@ -19,7 +19,7 @@ BASE_DECLARE_FEATURE(kLocalWebApprovals); +@@ -19,12 +19,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) extern const base::FeatureParam kLocalWebApprovalBottomSheetLoadTimeoutMs; #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_WIN) -@@ -36,7 +36,7 @@ BASE_DECLARE_FEATURE( + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#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) +@@ -44,7 +44,7 @@ BASE_DECLARE_FEATURE( // Applies new informative strings during the parental extension approval flow. BASE_DECLARE_FEATURE(kUpdatedSupervisedUserExtensionApprovalStrings); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop); #endif -@@ -54,7 +54,7 @@ BASE_DECLARE_FEATURE(kExposedParentalControlNeededForE +@@ -62,7 +62,7 @@ BASE_DECLARE_FEATURE(kExposedParentalControlNeededForE bool IsSupervisedUserSkipParentApprovalToInstallExtensionsEnabled(); #endif // BUILDFLAG(ENABLE_EXTENSIONS) -#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 -@@ -72,7 +72,7 @@ BASE_DECLARE_FEATURE(kShowKiteForSupervisedUsers); +@@ -80,7 +80,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) // Uses supervised user strings on the signout dialog. BASE_DECLARE_FEATURE(kEnableSupervisedUserVersionSignOutDialog); diff --git a/www/iridium/files/patch-components_supervised__user_core_common_pref__names.h b/www/iridium/files/patch-components_supervised__user_core_common_pref__names.h index 13437ec203f2..14f6c3a0d379 100644 --- a/www/iridium/files/patch-components_supervised__user_core_common_pref__names.h +++ b/www/iridium/files/patch-components_supervised__user_core_common_pref__names.h @@ -1,11 +1,11 @@ ---- components/supervised_user/core/common/pref_names.h.orig 2025-02-22 18:06:53 UTC +--- components/supervised_user/core/common/pref_names.h.orig 2025-05-07 06:48:23 UTC +++ components/supervised_user/core/common/pref_names.h @@ -129,7 +129,7 @@ inline constexpr char kDefaultSupervisedUserFilteringB "profile.managed.default_filtering_behavior"; #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) // An integer pref that stores the current state of the local extension // parent approval migration when the feature // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes enabled. diff --git a/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc index f3f6953e9b1c..5bde2d1e740f 100644 --- a/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc +++ b/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc @@ -1,29 +1,29 @@ ---- components/sync_device_info/local_device_info_util.cc.orig 2025-02-22 18:06:53 UTC +--- components/sync_device_info/local_device_info_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/sync_device_info/local_device_info_util.cc @@ -84,7 +84,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na sync_pb::SyncEnums::DeviceType GetLocalDeviceType() { #if BUILDFLAG(IS_CHROMEOS) return sync_pb::SyncEnums_DeviceType_TYPE_CROS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return sync_pb::SyncEnums_DeviceType_TYPE_LINUX; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) switch (ui::GetDeviceFormFactor()) { @@ -107,7 +107,7 @@ sync_pb::SyncEnums::DeviceType GetLocalDeviceType() { DeviceInfo::OsType GetLocalDeviceOSType() { #if BUILDFLAG(IS_CHROMEOS) return DeviceInfo::OsType::kChromeOsAsh; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return DeviceInfo::OsType::kLinux; #elif BUILDFLAG(IS_ANDROID) return DeviceInfo::OsType::kAndroid; @@ -126,7 +126,7 @@ DeviceInfo::OsType GetLocalDeviceOSType() { DeviceInfo::FormFactor GetLocalDeviceFormFactor() { #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return DeviceInfo::FormFactor::kDesktop; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET diff --git a/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc index b71d677782d4..76d483a3c5ee 100644 --- a/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc +++ b/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc @@ -1,14 +1,14 @@ ---- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-10-05 07:34:01 UTC +--- components/sync_device_info/local_device_info_util_linux.cc.orig 2025-05-07 06:48:23 UTC +++ components/sync_device_info/local_device_info_util_linux.cc @@ -9,6 +9,11 @@ #include "base/linux_util.h" +#if defined(__FreeBSD__) +#include +#define HOST_NAME_MAX MAXHOSTNAMELEN +#endif + namespace syncer { std::string GetPersonalizableDeviceNameInternal() { diff --git a/www/iridium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc b/www/iridium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc index 5fa89efaeacc..2d2faf1ea29c 100644 --- a/www/iridium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc +++ b/www/iridium/files/patch-components_sync__preferences_common__syncable__prefs__database.cc @@ -1,11 +1,11 @@ ---- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-04-16 18:18:42 UTC +--- components/sync_preferences/common_syncable_prefs_database.cc.orig 2025-05-07 06:48:23 UTC +++ components/sync_preferences/common_syncable_prefs_database.cc -@@ -332,7 +332,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = +@@ -334,7 +334,7 @@ constexpr auto kCommonSyncablePrefsAllowlist = 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/iridium/files/patch-components_system__cpu_cpu__probe.cc b/www/iridium/files/patch-components_system__cpu_cpu__probe.cc index 1be44ef1b3ee..e25c08cd317d 100644 --- a/www/iridium/files/patch-components_system__cpu_cpu__probe.cc +++ b/www/iridium/files/patch-components_system__cpu_cpu__probe.cc @@ -1,12 +1,12 @@ ---- components/system_cpu/cpu_probe.cc.orig 2024-06-25 12:08:48 UTC +--- components/system_cpu/cpu_probe.cc.orig 2025-05-07 06:48:23 UTC +++ components/system_cpu/cpu_probe.cc @@ -30,6 +30,9 @@ std::unique_ptr CpuProbe::Create() { return CpuProbeWin::Create(); #elif BUILDFLAG(IS_MAC) return CpuProbeMac::Create(); +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + return nullptr; #else return nullptr; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/iridium/files/patch-components_translate_core_common_translate__util.cc b/www/iridium/files/patch-components_translate_core_common_translate__util.cc index d2bd9b65b73b..b9e5c65db162 100644 --- a/www/iridium/files/patch-components_translate_core_common_translate__util.cc +++ b/www/iridium/files/patch-components_translate_core_common_translate__util.cc @@ -1,11 +1,11 @@ ---- components/translate/core/common/translate_util.cc.orig 2023-10-21 11:51:27 UTC +--- components/translate/core/common/translate_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/translate/core/common/translate_util.cc @@ -21,7 +21,7 @@ const char kSecurityOrigin[] = "trk:220:https://transl BASE_FEATURE(kTFLiteLanguageDetectionEnabled, "TFLiteLanguageDetectionEnabled", #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/iridium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc b/www/iridium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc index e03b87adc137..0429ba8dce97 100644 --- a/www/iridium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc +++ b/www/iridium/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc @@ -1,11 +1,11 @@ ---- components/trusted_vault/trusted_vault_connection_impl.cc.orig 2024-11-04 08:56:03 UTC +--- components/trusted_vault/trusted_vault_connection_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/trusted_vault/trusted_vault_connection_impl.cc -@@ -102,7 +102,7 @@ GetLocalPhysicalDeviceType() { +@@ -103,7 +103,7 @@ GetLocalPhysicalDeviceType() { // currently used or even built on all platforms. #if BUILDFLAG(IS_CHROMEOS) return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_CHROMEOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_LINUX; #elif BUILDFLAG(IS_ANDROID) return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_ANDROID; diff --git a/www/iridium/files/patch-components_update__client_update__query__params.cc b/www/iridium/files/patch-components_update__client_update__query__params.cc index 51e62a5bda97..dd7a657124d2 100644 --- a/www/iridium/files/patch-components_update__client_update__query__params.cc +++ b/www/iridium/files/patch-components_update__client_update__query__params.cc @@ -1,11 +1,11 @@ ---- components/update_client/update_query_params.cc.orig 2025-02-22 18:06:53 UTC +--- components/update_client/update_query_params.cc.orig 2025-05-07 06:48:23 UTC +++ components/update_client/update_query_params.cc @@ -39,6 +39,8 @@ const char kOs[] = "fuchsia"; #elif BUILDFLAG(IS_OPENBSD) "openbsd"; +#elif defined(OS_FREEBSD) + "freebsd"; #else #error "unknown os" #endif diff --git a/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc index a6dd207014b7..27af7d276aa2 100644 --- a/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc +++ b/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc @@ -1,11 +1,11 @@ ---- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2025-03-18 16:46:04 UTC +--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2025-05-07 06:48:23 UTC +++ components/url_formatter/spoof_checks/idn_spoof_checker.cc @@ -298,7 +298,7 @@ IDNSpoofChecker::IDNSpoofChecker() { // The ideal fix would be to change the omnibox font used for Thai. In // that case, the Linux-only list should be revisited and potentially // removed. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) "[ทนบพรหเแ๐ดลปฟม]", #else "[บพเแ๐]", diff --git a/www/iridium/files/patch-components_user__education_views_help__bubble__view.cc b/www/iridium/files/patch-components_user__education_views_help__bubble__view.cc index 208674f13577..aaa1a21f96af 100644 --- a/www/iridium/files/patch-components_user__education_views_help__bubble__view.cc +++ b/www/iridium/files/patch-components_user__education_views_help__bubble__view.cc @@ -1,29 +1,29 @@ ---- components/user_education/views/help_bubble_view.cc.orig 2025-04-16 18:18:42 UTC +--- components/user_education/views/help_bubble_view.cc.orig 2025-05-07 06:48:23 UTC +++ components/user_education/views/help_bubble_view.cc -@@ -299,7 +299,7 @@ DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(HelpBubbleView, +@@ -268,7 +268,7 @@ DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(HelpBubbleView, // TODO(https://crbug.com/382611284): Temporarily handle the case when the // primary window is minimized by closing the help bubble. Remove this code when // the issue is solved at the Views framework level. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) class HelpBubbleView::PrimaryWidgetObserver : public views::WidgetObserver { public: explicit PrimaryWidgetObserver(HelpBubbleView& help_bubble) -@@ -774,7 +774,7 @@ HelpBubbleView::HelpBubbleView( +@@ -743,7 +743,7 @@ HelpBubbleView::HelpBubbleView( event_relay_->Init(this); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) primary_widget_observer_ = std::make_unique(*this); #endif -@@ -886,7 +886,7 @@ gfx::Rect HelpBubbleView::GetAnchorRect() const { +@@ -855,7 +855,7 @@ gfx::Rect HelpBubbleView::GetAnchorRect() const { void HelpBubbleView::OnBeforeBubbleWidgetInit(views::Widget::InitParams* params, views::Widget* widget) const { BubbleDialogDelegateView::OnBeforeBubbleWidgetInit(params, widget); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_BSD) // Help bubbles anchored to menus may be clipped to their anchors' bounds, // resulting in visual errors, unless they use accelerated rendering. See // crbug.com/1445770 for details. This also applies to bubbles anchored to diff --git a/www/iridium/files/patch-components_user__education_views_help__bubble__view.h b/www/iridium/files/patch-components_user__education_views_help__bubble__view.h index fd2b547965a3..6f37f0a7bb79 100644 --- a/www/iridium/files/patch-components_user__education_views_help__bubble__view.h +++ b/www/iridium/files/patch-components_user__education_views_help__bubble__view.h @@ -1,11 +1,11 @@ ---- components/user_education/views/help_bubble_view.h.orig 2025-02-22 18:06:53 UTC +--- components/user_education/views/help_bubble_view.h.orig 2025-05-07 06:48:23 UTC +++ components/user_education/views/help_bubble_view.h -@@ -162,7 +162,7 @@ class HelpBubbleView : public views::BubbleDialogDeleg +@@ -160,7 +160,7 @@ class HelpBubbleView : public views::BubbleDialogDeleg // work around this problem by closing the bubble if the widget is minimized. // When the underlying issue is fixed at the framework level, this can be // removed. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) class PrimaryWidgetObserver; std::unique_ptr primary_widget_observer_; #endif diff --git a/www/iridium/files/patch-components_variations_service_variations__service.cc b/www/iridium/files/patch-components_variations_service_variations__service.cc index 176ec8f5b919..f23290cb73d9 100644 --- a/www/iridium/files/patch-components_variations_service_variations__service.cc +++ b/www/iridium/files/patch-components_variations_service_variations__service.cc @@ -1,11 +1,11 @@ ---- components/variations/service/variations_service.cc.orig 2025-03-18 16:46:04 UTC +--- components/variations/service/variations_service.cc.orig 2025-05-07 06:48:23 UTC +++ components/variations/service/variations_service.cc @@ -100,7 +100,7 @@ std::string GetPlatformString() { return "android"; #elif BUILDFLAG(IS_FUCHSIA) return "fuchsia"; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_BSD) // Default BSD and SOLARIS to Linux to not break those builds, although these // platforms are not officially supported by Chrome. return "linux"; diff --git a/www/iridium/files/patch-components_visited__url__ranking_public_url__visit__util.cc b/www/iridium/files/patch-components_visited__url__ranking_public_url__visit__util.cc index f97f4a0ac07e..7dc907f0275e 100644 --- a/www/iridium/files/patch-components_visited__url__ranking_public_url__visit__util.cc +++ b/www/iridium/files/patch-components_visited__url__ranking_public_url__visit__util.cc @@ -1,11 +1,11 @@ ---- components/visited_url_ranking/public/url_visit_util.cc.orig 2024-11-04 08:56:03 UTC +--- components/visited_url_ranking/public/url_visit_util.cc.orig 2025-05-07 06:48:23 UTC +++ components/visited_url_ranking/public/url_visit_util.cc -@@ -66,7 +66,7 @@ PlatformType GetPlatformInput() { +@@ -67,7 +67,7 @@ PlatformType GetPlatformInput() { return PlatformType::kWindows; #elif BUILDFLAG(IS_MAC) return PlatformType::kMac; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return PlatformType::kLinux; #elif BUILDFLAG(IS_IOS) return PlatformType::kIos; diff --git a/www/iridium/files/patch-components_viz_host_gpu__host__impl.cc b/www/iridium/files/patch-components_viz_host_gpu__host__impl.cc index 9683abdc84cc..dfb8a2e6edd0 100644 --- a/www/iridium/files/patch-components_viz_host_gpu__host__impl.cc +++ b/www/iridium/files/patch-components_viz_host_gpu__host__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/host/gpu_host_impl.cc.orig 2025-02-22 18:06:53 UTC +--- components/viz/host/gpu_host_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/host/gpu_host_impl.cc @@ -135,7 +135,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, mojom::GpuServiceCreationParams::New(); #if BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has an issue when running in single-process mode wherein // GetPlatformRuntimeProperties() browser-side calls can have a data race with // in-process GPU service initialization. The call to diff --git a/www/iridium/files/patch-components_viz_host_host__display__client.cc b/www/iridium/files/patch-components_viz_host_host__display__client.cc index 6e0c3964b9d7..5f843b70b66d 100644 --- a/www/iridium/files/patch-components_viz_host_host__display__client.cc +++ b/www/iridium/files/patch-components_viz_host_host__display__client.cc @@ -1,11 +1,11 @@ ---- components/viz/host/host_display_client.cc.orig 2024-06-25 12:08:48 UTC +--- components/viz/host/host_display_client.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/host/host_display_client.cc @@ -65,7 +65,7 @@ void HostDisplayClient::AddChildWindowToBrowser( } #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { NOTIMPLEMENTED(); } diff --git a/www/iridium/files/patch-components_viz_host_host__display__client.h b/www/iridium/files/patch-components_viz_host_host__display__client.h index cf805ef1cc48..cbade4578c85 100644 --- a/www/iridium/files/patch-components_viz_host_host__display__client.h +++ b/www/iridium/files/patch-components_viz_host_host__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/host/host_display_client.h.orig 2024-06-25 12:08:48 UTC +--- components/viz/host/host_display_client.h.orig 2025-05-07 06:48:23 UTC +++ components/viz/host/host_display_client.h @@ -52,7 +52,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override; #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index 3063e5cc4ab2..e5aa94e068ba 100644 --- a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1505,7 +1505,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1510,7 +1510,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/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc index 25ed17d59f41..c6b0898d9c76 100644 --- a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc +++ b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc @@ -1,20 +1,20 @@ ---- components/viz/service/display_embedder/software_output_surface.cc.orig 2025-02-22 18:06:53 UTC +--- components/viz/service/display_embedder/software_output_surface.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/display_embedder/software_output_surface.cc @@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: base::TimeTicks now = base::TimeTicks::Now(); base::TimeDelta interval_to_next_refresh = now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (needs_swap_size_notifications_) client_->DidSwapWithSize(pixel_size); #endif @@ -142,7 +142,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla return gfx::OVERLAY_TRANSFORM_NONE; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SoftwareOutputSurface::SetNeedsSwapSizeNotifications( bool needs_swap_size_notifications) { needs_swap_size_notifications_ = needs_swap_size_notifications; diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h index 95e410ce4f22..7f8cf70d880b 100644 --- a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h +++ b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h @@ -1,20 +1,20 @@ ---- components/viz/service/display_embedder/software_output_surface.h.orig 2025-02-22 18:06:53 UTC +--- components/viz/service/display_embedder/software_output_surface.h.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/display_embedder/software_output_surface.h @@ -41,7 +41,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi UpdateVSyncParametersCallback callback) override; void SetDisplayTransformHint(gfx::OverlayTransform transform) override {} gfx::OverlayTransform GetDisplayTransform() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SetNeedsSwapSizeNotifications( bool needs_swap_size_notifications) override; #endif @@ -59,7 +59,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi base::TimeTicks refresh_timebase_; base::TimeDelta refresh_interval_ = BeginFrameArgs::DefaultInterval(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool needs_swap_size_notifications_ = false; #endif diff --git a/www/iridium/files/patch-components_viz_service_display_skia__renderer.cc b/www/iridium/files/patch-components_viz_service_display_skia__renderer.cc index 0492db85bb2d..0b59e93c923c 100644 --- a/www/iridium/files/patch-components_viz_service_display_skia__renderer.cc +++ b/www/iridium/files/patch-components_viz_service_display_skia__renderer.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display/skia_renderer.cc.orig 2025-04-16 18:18:42 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1383,7 +1383,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1391,7 +1391,7 @@ void SkiaRenderer::ClearFramebuffer() { if (current_frame()->current_render_pass->has_transparent_background) { ClearCanvas(SkColors::kTransparent); } else { -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On DEBUG builds, opaque render passes are cleared to blue // to easily see regions that were not drawn on the screen. // ClearCavas() call causes slight pixel difference, so linux-ref and diff --git a/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index d3208aeaa4ff..aac7bee8c4e8 100644 --- a/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -@@ -123,7 +123,7 @@ RootCompositorFrameSinkImpl::Create( +@@ -126,7 +126,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); -@@ -858,7 +858,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -884,7 +884,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/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index d3c210ed66ac..d2fc6415f8ad 100644 --- a/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/iridium/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-03-18 16:46:04 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2025-05-07 06:48:23 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -228,7 +228,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl - // See comments on `EvictionHandler`. - EvictionHandler eviction_handler_; +@@ -229,7 +229,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl + base::TimeDelta preferred_frame_interval_ = + FrameRateDecider::UnspecifiedFrameInterval(); -#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/iridium/files/patch-components_viz_test_fake__display__client.cc b/www/iridium/files/patch-components_viz_test_fake__display__client.cc index 55c3ee8173d4..9e674dbc9254 100644 --- a/www/iridium/files/patch-components_viz_test_fake__display__client.cc +++ b/www/iridium/files/patch-components_viz_test_fake__display__client.cc @@ -1,11 +1,11 @@ ---- components/viz/test/fake_display_client.cc.orig 2024-06-25 12:08:48 UTC +--- components/viz/test/fake_display_client.cc.orig 2025-05-07 06:48:23 UTC +++ components/viz/test/fake_display_client.cc @@ -27,7 +27,7 @@ void FakeDisplayClient::AddChildWindowToBrowser( gpu::SurfaceHandle child_window) {} #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {} #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) diff --git a/www/iridium/files/patch-components_viz_test_fake__display__client.h b/www/iridium/files/patch-components_viz_test_fake__display__client.h index 0d50aa0d2a1e..066bcf30a3ce 100644 --- a/www/iridium/files/patch-components_viz_test_fake__display__client.h +++ b/www/iridium/files/patch-components_viz_test_fake__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/test/fake_display_client.h.orig 2024-06-25 12:08:48 UTC +--- components/viz/test/fake_display_client.h.orig 2025-05-07 06:48:23 UTC +++ components/viz/test/fake_display_client.h @@ -36,7 +36,7 @@ class FakeDisplayClient : public mojom::DisplayClient void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) void DidCompleteSwapWithNewSize(const gfx::Size& size) override; #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) diff --git a/www/iridium/files/patch-components_viz_test_mock__display__client.h b/www/iridium/files/patch-components_viz_test_mock__display__client.h index 5847f175a4da..d6bb24d68054 100644 --- a/www/iridium/files/patch-components_viz_test_mock__display__client.h +++ b/www/iridium/files/patch-components_viz_test_mock__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/test/mock_display_client.h.orig 2025-02-22 18:06:53 UTC +--- components/viz/test/mock_display_client.h.orig 2025-05-07 06:48:23 UTC +++ components/viz/test/mock_display_client.h @@ -45,7 +45,7 @@ class MockDisplayClient : public mojom::DisplayClient #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate)); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) diff --git a/www/iridium/files/patch-components_webui_flags_flags__state.cc b/www/iridium/files/patch-components_webui_flags_flags__state.cc index e92b49ac4e56..be83c95f74e0 100644 --- a/www/iridium/files/patch-components_webui_flags_flags__state.cc +++ b/www/iridium/files/patch-components_webui_flags_flags__state.cc @@ -1,11 +1,11 @@ ---- components/webui/flags/flags_state.cc.orig 2025-04-16 18:18:42 UTC +--- components/webui/flags/flags_state.cc.orig 2025-05-07 06:48:23 UTC +++ components/webui/flags/flags_state.cc -@@ -777,7 +777,7 @@ unsigned short FlagsState::GetCurrentPlatform() { +@@ -782,7 +782,7 @@ unsigned short FlagsState::GetCurrentPlatform() { return kOsWin; #elif BUILDFLAG(IS_CHROMEOS) return kOsCrOS; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_ANDROID) return kOsAndroid; diff --git a/www/iridium/files/patch-content_app_BUILD.gn b/www/iridium/files/patch-content_app_BUILD.gn index e64861e6dc71..97b0d6827afa 100644 --- a/www/iridium/files/patch-content_app_BUILD.gn +++ b/www/iridium/files/patch-content_app_BUILD.gn @@ -1,15 +1,15 @@ ---- content/app/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- content/app/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/app/BUILD.gn -@@ -89,9 +89,9 @@ source_set("content_main_runner_app") { +@@ -90,9 +90,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") { diff --git a/www/iridium/files/patch-content_app_content__main.cc b/www/iridium/files/patch-content_app_content__main.cc index 55db251ddfc4..e9e338883167 100644 --- a/www/iridium/files/patch-content_app_content__main.cc +++ b/www/iridium/files/patch-content_app_content__main.cc @@ -1,20 +1,20 @@ ---- content/app/content_main.cc.orig 2025-04-16 18:18:42 UTC +--- content/app/content_main.cc.orig 2025-05-07 06:48:23 UTC +++ content/app/content_main.cc @@ -227,7 +227,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 @@ -317,7 +317,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/iridium/files/patch-content_app_content__main__runner__impl.cc b/www/iridium/files/patch-content_app_content__main__runner__impl.cc index b83df9724741..dd60fd276fa9 100644 --- a/www/iridium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/iridium/files/patch-content_app_content__main__runner__impl.cc @@ -1,131 +1,131 @@ ---- content/app/content_main_runner_impl.cc.orig 2025-04-16 18:18:42 UTC +--- content/app/content_main_runner_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/app/content_main_runner_impl.cc -@@ -144,18 +144,20 @@ +@@ -146,18 +146,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 -@@ -184,6 +186,10 @@ +@@ -186,6 +188,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" -@@ -382,7 +388,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -384,7 +390,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 -@@ -420,7 +426,10 @@ void PreloadLibraryCdms() { +@@ -422,7 +428,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. -@@ -432,9 +441,16 @@ void PreSandboxInit() { +@@ -434,9 +443,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. -@@ -748,7 +764,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( +@@ -750,7 +766,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( unregister_thread_closure = base::HangWatcher::RegisterThread( base::HangWatcher::ThreadType::kMainThread); bool start_hang_watcher_now; -#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. -@@ -861,11 +877,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -863,11 +879,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) -@@ -1046,10 +1061,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1048,10 +1063,22 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam process_type == switches::kZygoteProcess) { PreSandboxInit(); } +#elif BUILDFLAG(IS_BSD) + PreSandboxInit(); #elif BUILDFLAG(IS_IOS) 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) -@@ -1146,6 +1173,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1148,6 +1175,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/iridium/files/patch-content_browser_BUILD.gn b/www/iridium/files/patch-content_browser_BUILD.gn index e07b2897eaf4..7ba581093bd2 100644 --- a/www/iridium/files/patch-content_browser_BUILD.gn +++ b/www/iridium/files/patch-content_browser_BUILD.gn @@ -1,33 +1,33 @@ ---- content/browser/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- content/browser/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/browser/BUILD.gn -@@ -2542,6 +2542,14 @@ source_set("browser") { +@@ -2560,6 +2560,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" ] -@@ -2587,6 +2595,15 @@ source_set("browser") { +@@ -2605,6 +2613,15 @@ source_set("browser") { if (allow_oop_video_decoder) { - sources += [ "media/stable_video_decoder_factory.cc" ] - deps += [ "//media/mojo/mojom/stable:stable_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/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc b/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc index 64fd3c30b759..f4fede709061 100644 --- a/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc +++ b/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/accessibility/browser_accessibility_state_impl.cc -@@ -192,7 +192,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta +@@ -180,7 +180,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/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc b/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc index 7252afb6a346..1530960a0fe2 100644 --- a/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc +++ b/www/iridium/files/patch-content_browser_accessibility_browser__accessibility__state__impl__auralinux.cc @@ -1,33 +1,33 @@ ---- content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/accessibility/browser_accessibility_state_impl_auralinux.cc -@@ -31,7 +31,11 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al +@@ -32,7 +32,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 } -@@ -57,7 +61,9 @@ class BrowserAccessibilityStateImplAuralinux +@@ -42,6 +46,10 @@ bool CheckCmdlineForOrca(const std::string& cmdline_al - void BrowserAccessibilityStateImplAuralinux::UpdateHistogramsOnOtherThread() { - BrowserAccessibilityStateImpl::UpdateHistogramsOnOtherThread(); -- + // 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. Code that - // needs to run in the UI thread can be run in -@@ -105,6 +111,7 @@ void BrowserAccessibilityStateImplAuralinux::UpdateHis - } else { - base::debug::ClearCrashKeyString(ax_orca_crash_key); + // there's no guarantee these system calls will return quickly. + std::unique_ptr proc_dir(opendir("/proc"), +@@ -79,6 +87,7 @@ bool DiscoverOrca() { } + + return is_orca_active; +#endif } - void BrowserAccessibilityStateImplAuralinux::UpdateUniqueUserHistograms() { + } // namespace diff --git a/www/iridium/files/patch-content_browser_audio_audio__service.cc b/www/iridium/files/patch-content_browser_audio_audio__service.cc index 9a23902a6922..96df806c7fae 100644 --- a/www/iridium/files/patch-content_browser_audio_audio__service.cc +++ b/www/iridium/files/patch-content_browser_audio_audio__service.cc @@ -1,20 +1,20 @@ ---- content/browser/audio/audio_service.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/audio/audio_service.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/audio/audio_service.cc @@ -33,7 +33,7 @@ #if BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) #include "ui/display/util/edid_parser.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/display_util.h" #endif // BUILDFLAG(IS_LINUX) @@ -201,7 +201,7 @@ audio::mojom::AudioService& GetAudioService() { ->PostTaskAndReplyWithResult( FROM_HERE, base::BindOnce(&ScanEdidBitstreams), base::BindOnce(&LaunchAudioService, std::move(receiver))); -#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) LaunchAudioService( std::move(receiver), ConvertEdidBitstreams(display::DisplayUtil::GetAudioFormats())); diff --git a/www/iridium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/iridium/files/patch-content_browser_browser__child__process__host__impl.cc index cef384f05986..f1fa6a00f6ea 100644 --- a/www/iridium/files/patch-content_browser_browser__child__process__host__impl.cc +++ b/www/iridium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -1,20 +1,20 @@ ---- content/browser/browser_child_process_host_impl.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/browser_child_process_host_impl.cc @@ -326,6 +326,8 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kLogBestEffortTasks, switches::kPerfettoDisableInterning, switches::kTraceToConsole, + switches::kDisableUnveil, + switches::kTrk, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); @@ -690,7 +692,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/iridium/files/patch-content_browser_browser__child__process__host__impl.h b/www/iridium/files/patch-content_browser_browser__child__process__host__impl.h index 0bc17c9fe8e6..8f40d8f95405 100644 --- a/www/iridium/files/patch-content_browser_browser__child__process__host__impl.h +++ b/www/iridium/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-18 16:46:04 UTC +--- content/browser/browser_child_process_host_impl.h.orig 2025-05-07 06:48:23 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 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/iridium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/www/iridium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc index 93c5ee12641c..ca25238a67a7 100644 --- a/www/iridium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc +++ b/www/iridium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc @@ -1,11 +1,11 @@ ---- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/browser_child_process_host_impl_receiver_bindings.cc @@ -64,7 +64,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; diff --git a/www/iridium/files/patch-content_browser_browser__main__loop.cc b/www/iridium/files/patch-content_browser_browser__main__loop.cc index 8a1adc30766d..eb399ec10e00 100644 --- a/www/iridium/files/patch-content_browser_browser__main__loop.cc +++ b/www/iridium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/browser_main_loop.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/browser_main_loop.cc -@@ -247,6 +247,12 @@ +@@ -249,6 +249,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 -@@ -541,6 +547,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -543,6 +549,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 -@@ -573,7 +585,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -575,7 +587,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/iridium/files/patch-content_browser_browser__url__handler__impl.cc b/www/iridium/files/patch-content_browser_browser__url__handler__impl.cc index f3f31e779f97..75854d10a06d 100644 --- a/www/iridium/files/patch-content_browser_browser__url__handler__impl.cc +++ b/www/iridium/files/patch-content_browser_browser__url__handler__impl.cc @@ -1,21 +1,21 @@ ---- content/browser/browser_url_handler_impl.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/browser_url_handler_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/browser_url_handler_impl.cc @@ -14,6 +14,7 @@ #include "content/browser/webui/web_ui_impl.h" #include "content/public/browser/content_browser_client.h" #include "content/public/common/content_client.h" +#include "content/public/common/content_switches.h" #include "content/public/common/url_constants.h" #include "content/public/common/url_utils.h" #include "third_party/blink/public/common/chrome_debug_urls.h" @@ -271,6 +272,10 @@ namespace iridium { static void gfxlog_request2(const std::string &caller, const GURL &url) { + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch(switches::kTrk)) + return; + auto browser = chrome::FindLastActive(); if (browser == nullptr) return; diff --git a/www/iridium/files/patch-content_browser_child__process__launcher__helper.h b/www/iridium/files/patch-content_browser_child__process__launcher__helper.h index 47353f7ccf01..bc16bb926b59 100644 --- a/www/iridium/files/patch-content_browser_child__process__launcher__helper.h +++ b/www/iridium/files/patch-content_browser_child__process__launcher__helper.h @@ -1,11 +1,11 @@ ---- content/browser/child_process_launcher_helper.h.orig 2025-03-18 16:46:04 UTC +--- content/browser/child_process_launcher_helper.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/child_process_launcher_helper.h @@ -308,7 +308,7 @@ class ChildProcessLauncherHelper std::optional process_id_ = std::nullopt; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The priority of the process. The state is stored to avoid changing the // setting repeatedly. std::optional priority_; diff --git a/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc index 465a908c6652..543ac92b62ad 100644 --- a/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc +++ b/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -1,125 +1,125 @@ ---- content/browser/child_process_launcher_helper_linux.cc.orig 2024-06-25 12:08:48 UTC +--- content/browser/child_process_launcher_helper_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/child_process_launcher_helper_linux.cc @@ -22,7 +22,9 @@ #include "content/public/common/result_codes.h" #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "content/public/common/zygote/zygote_handle.h" +#endif #include "sandbox/policy/linux/sandbox_linux.h" namespace content { @@ -47,14 +49,20 @@ ChildProcessLauncherHelper::GetFilesToMap() { } bool ChildProcessLauncherHelper::IsUsingLaunchOptions() { +#if !BUILDFLAG(IS_BSD) return !GetZygoteForLaunch(); +#else + return true; +#endif } bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( PosixFileDescriptorInfo& files_to_register, base::LaunchOptions* options) { if (options) { +#if !BUILDFLAG(IS_BSD) DCHECK(!GetZygoteForLaunch()); +#endif // Convert FD mapping to FileHandleMappingVector options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( base::GlobalDescriptors::kBaseDescriptor); @@ -66,7 +74,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche options->environment = delegate_->GetEnvironment(); } else { +#if !BUILDFLAG(IS_BSD) DCHECK(GetZygoteForLaunch()); +#endif // Environment variables could be supported in the future, but are not // currently supported when launching with the zygote. DCHECK(delegate_->GetEnvironment().empty()); @@ -83,6 +93,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr int* launch_result) { *is_synchronous_launch = true; Process process; +#if !BUILDFLAG(IS_BSD) ZygoteCommunication* zygote_handle = GetZygoteForLaunch(); if (zygote_handle) { // TODO(crbug.com/40448989): If chrome supported multiple zygotes they could @@ -93,7 +104,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr GetProcessType()); *launch_result = LAUNCH_RESULT_SUCCESS; -#if !BUILDFLAG(IS_OPENBSD) if (handle) { // It could be a renderer process or an utility process. int oom_score = content::kMiscOomScore; @@ -102,15 +112,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr oom_score = content::kLowestRendererOomScore; ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score); } -#endif process.process = base::Process(handle); process.zygote = zygote_handle; } else { +#endif process.process = base::LaunchProcess(*command_line(), *options); *launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS : LAUNCH_RESULT_FAILURE; +#if !BUILDFLAG(IS_BSD) } +#endif #if BUILDFLAG(IS_CHROMEOS) process_id_ = process.process.Pid(); @@ -134,10 +146,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper const ChildProcessLauncherHelper::Process& process, bool known_dead) { ChildProcessTerminationInfo info; +#if !BUILDFLAG(IS_BSD) if (process.zygote) { info.status = process.zygote->GetTerminationStatus( process.process.Handle(), known_dead, &info.exit_code); } else if (known_dead) { +#else + if (known_dead) { +#endif info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(), &info.exit_code); } else { @@ -163,13 +179,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer DCHECK(CurrentlyOnProcessLauncherTaskRunner()); process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false); // On POSIX, we must additionally reap the child. +#if !BUILDFLAG(IS_BSD) if (process.zygote) { // If the renderer was created via a zygote, we have to proxy the reaping // through the zygote process. process.zygote->EnsureProcessTerminated(process.process.Handle()); } else { +#endif base::EnsureProcessTerminated(std::move(process.process)); +#if !BUILDFLAG(IS_BSD) } +#endif } void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( @@ -182,11 +202,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL } } +#if !BUILDFLAG(IS_BSD) ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() { return base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) ? nullptr : delegate_->GetZygote(); } +#endif base::File OpenFileToShare(const base::FilePath& path, base::MemoryMappedFile::Region* region) { diff --git a/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.cc b/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.cc index 5192bed2be9e..52d9453906d7 100644 --- a/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.cc +++ b/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.cc @@ -1,29 +1,29 @@ ---- content/browser/child_thread_type_switcher_linux.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/child_thread_type_switcher_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/child_thread_type_switcher_linux.cc @@ -20,6 +20,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::ThreadType thread_type) { DCHECK(CurrentlyOnProcessLauncherTaskRunner()); +#if BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); +#else bool ns_pid_supported = false; pid_t peer_tid = base::FindThreadID(peer_pid, ns_tid.raw(), &ns_pid_supported); @@ -41,6 +44,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::PlatformThread::SetThreadType(peer_pid, base::PlatformThreadId(peer_tid), thread_type, base::IsViaIPC(true)); +#endif } } // namespace @@ -69,7 +73,7 @@ void ChildThreadTypeSwitcher::SetPid(base::ProcessId c } } -void ChildThreadTypeSwitcher::SetThreadType(int32_t ns_tid, +void ChildThreadTypeSwitcher::SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) { // This function is only used on platforms with 32-bit thread ids. static_assert(sizeof(ns_tid) == sizeof(base::PlatformThreadId)); diff --git a/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.h b/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.h index 29b89cbd46a1..36873a9c7bdb 100644 --- a/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.h +++ b/www/iridium/files/patch-content_browser_child__thread__type__switcher__linux.h @@ -1,11 +1,11 @@ ---- content/browser/child_thread_type_switcher_linux.h.orig 2025-04-16 18:18:42 UTC +--- content/browser/child_thread_type_switcher_linux.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/child_thread_type_switcher_linux.h @@ -36,7 +36,7 @@ class ChildThreadTypeSwitcher : public mojom::ThreadTy void SetPid(base::ProcessId child_pid); // mojom::ThreadTypeSwitcher: - void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override; + void SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) override; private: base::ProcessId child_pid_ = base::kNullProcessHandle; diff --git a/www/iridium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/iridium/files/patch-content_browser_compositor_viz__process__transport__factory.cc index d34d925d21ba..fee74b55100c 100644 --- a/www/iridium/files/patch-content_browser_compositor_viz__process__transport__factory.cc +++ b/www/iridium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -110,7 +110,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -105,7 +105,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/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc b/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc index 1c9234d2d8e8..781841966e3a 100644 --- a/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc +++ b/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc @@ -1,38 +1,38 @@ ---- content/browser/devtools/devtools_frontend_host_impl.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/devtools/devtools_frontend_host_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/devtools/devtools_frontend_host_impl.cc @@ -24,7 +24,7 @@ #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "ui/base/webui/resource_path.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/crash/content/browser/error_reporting/javascript_error_report.h" // nogncheck #include "components/crash/content/browser/error_reporting/js_error_report_processor.h" // nogncheck #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -36,7 +36,7 @@ const char kCompatibilityScriptSourceURL[] = "\n//# " "sourceURL=devtools://devtools/bundled/devtools_compatibility.js"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Remove the pieces of the URL we don't want to send back with the error // reports. In particular, do not send query or fragments as those can have // privacy-sensitive information in them. @@ -106,7 +106,7 @@ DevToolsFrontendHostImpl::DevToolsFrontendHostImpl( const HandleMessageCallback& handle_message_callback) : web_contents_(WebContents::FromRenderFrameHost(frame_host)), handle_message_callback_(handle_message_callback) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) Observe(web_contents_); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) mojo::AssociatedRemote frontend; @@ -131,7 +131,7 @@ void DevToolsFrontendHostImpl::DispatchEmbedderMessage handle_message_callback_.Run(std::move(message)); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void DevToolsFrontendHostImpl::OnDidAddMessageToConsole( RenderFrameHost* source_frame, blink::mojom::ConsoleMessageLevel log_level, diff --git a/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h b/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h index aec9aa5d8085..58b8e32c2daa 100644 --- a/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h +++ b/www/iridium/files/patch-content_browser_devtools_devtools__frontend__host__impl.h @@ -1,11 +1,11 @@ ---- content/browser/devtools/devtools_frontend_host_impl.h.orig 2024-06-25 12:08:48 UTC +--- content/browser/devtools/devtools_frontend_host_impl.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/devtools/devtools_frontend_host_impl.h @@ -34,7 +34,7 @@ class DevToolsFrontendHostImpl : public DevToolsFronte void BadMessageReceived() override; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void OnDidAddMessageToConsole( RenderFrameHost* source_frame, blink::mojom::ConsoleMessageLevel log_level, diff --git a/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc index 3727116f8f9b..8bbac07b2d25 100644 --- a/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc +++ b/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc @@ -1,11 +1,11 @@ ---- content/browser/devtools/protocol/system_info_handler.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/devtools/protocol/system_info_handler.cc @@ -52,7 +52,7 @@ std::unique_ptr GfxSizeToSystemInfoS // 1046598, and 1153667. // Windows builds need more time -- see Issue 873112 and 1004472. // Mac builds need more time - see Issue angleproject:6182. -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !defined(NDEBUG)) || \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG)) || \ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_OZONE) static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 3; #else diff --git a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h index a97b203a4c16..4aca86f76163 100644 --- a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h +++ b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h @@ -1,11 +1,11 @@ ---- content/browser/file_system_access/file_path_watcher/file_path_watcher.h.orig 2025-02-22 18:06:53 UTC +--- content/browser/file_system_access/file_path_watcher/file_path_watcher.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/file_system_access/file_path_watcher/file_path_watcher.h @@ -126,7 +126,7 @@ class CONTENT_EXPORT FilePathWatcher { Type type = Type::kNonRecursive; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The callback will return the full path to a changed file instead of // the watched path supplied as |path| when Watch is called. // So the full path can be different from the watched path when a folder is diff --git a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc index 95c709e29c1d..9e1ea4315f9c 100644 --- a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc +++ b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc @@ -1,63 +1,63 @@ ---- content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc @@ -0,0 +1,60 @@ +// Copyright 2024 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/browser/file_system_access/file_path_watcher/file_path_watcher.h" + +#include + +#include "base/memory/ptr_util.h" +#include "build/build_config.h" +#include "content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h" + +namespace content { + +namespace { + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { + public: + FilePathWatcherImpl() = default; + FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; + FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; + ~FilePathWatcherImpl() override = default; + + bool Watch(const base::FilePath& path, + Type type, + const FilePathWatcher::Callback& callback) override { + DCHECK(!impl_.get()); + if (type == Type::kRecursive) { + if (!FilePathWatcher::RecursiveWatchAvailable()) { + return false; + } + } else { + impl_ = std::make_unique(); + } + DCHECK(impl_.get()); + return impl_->Watch(path, type, callback); + } + + void Cancel() override { + if (impl_.get()) { + impl_->Cancel(); + } + set_cancelled(); + } + + private: + std::unique_ptr impl_; +}; + +} // namespace + +FilePathWatcher::FilePathWatcher() + : FilePathWatcher(std::make_unique()) {} + +// static +size_t FilePathWatcher::GetQuotaLimitImpl() { + return std::numeric_limits::max(); +} + +} // namespace content diff --git a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h index 2c6759ae3445..71039ce1470a 100644 --- a/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h +++ b/www/iridium/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h @@ -1,10 +1,10 @@ ---- content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h.orig 2024-08-01 05:47:53 UTC +--- content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h @@ -5,6 +5,7 @@ #ifndef CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_ #define CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_ +#include #include #include diff --git a/www/iridium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc b/www/iridium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc index f4b2b6b8e147..cf02f7ffe85c 100644 --- a/www/iridium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc +++ b/www/iridium/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc @@ -1,11 +1,11 @@ ---- content/browser/file_system_access/file_system_access_local_path_watcher.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/file_system_access/file_system_access_local_path_watcher.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/file_system_access/file_system_access_local_path_watcher.cc @@ -67,7 +67,7 @@ void FileSystemAccessLocalPathWatcher::Initialize( .type = scope().IsRecursive() ? FilePathWatcher::Type::kRecursive : FilePathWatcher::Type::kNonRecursive, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Note: `report_modified_path` is also present on Android // and Fuchsia. Update this switch if support for watching // the local file system is added on those platforms. diff --git a/www/iridium/files/patch-content_browser_font__access_font__enumeration__data__source.cc b/www/iridium/files/patch-content_browser_font__access_font__enumeration__data__source.cc index 0984442420eb..120b2565661a 100644 --- a/www/iridium/files/patch-content_browser_font__access_font__enumeration__data__source.cc +++ b/www/iridium/files/patch-content_browser_font__access_font__enumeration__data__source.cc @@ -1,29 +1,29 @@ ---- content/browser/font_access/font_enumeration_data_source.cc.orig 2023-11-22 14:00:11 UTC +--- content/browser/font_access/font_enumeration_data_source.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/font_access/font_enumeration_data_source.cc @@ -16,7 +16,7 @@ #include "content/browser/font_access/font_enumeration_data_source_win.h" #elif BUILDFLAG(IS_APPLE) #include "content/browser/font_access/font_enumeration_data_source_mac.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/font_access/font_enumeration_data_source_linux.h" #endif // BUILDFLAG(IS_WIN) @@ -61,7 +61,7 @@ std::unique_ptr FontEnumera return std::make_unique(); #elif BUILDFLAG(IS_APPLE) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return std::make_unique(); #else return std::make_unique(); @@ -76,7 +76,7 @@ bool FontEnumerationDataSource::IsOsSupported() { return true; #elif BUILDFLAG(IS_APPLE) return true; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/iridium/files/patch-content_browser_gpu_compositor__util.cc b/www/iridium/files/patch-content_browser_gpu_compositor__util.cc index a8d84469b3c9..5d04c8c30309 100644 --- a/www/iridium/files/patch-content_browser_gpu_compositor__util.cc +++ b/www/iridium/files/patch-content_browser_gpu_compositor__util.cc @@ -1,20 +1,20 @@ ---- content/browser/gpu/compositor_util.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/gpu/compositor_util.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/compositor_util.cc -@@ -147,7 +147,7 @@ std::vector GetGpuFeatureData( +@@ -142,7 +142,7 @@ std::vector GetGpuFeatureData( "video_decode", SafeGetFeatureStatus( gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) !base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) || #endif // BUILDFLAG(IS_LINUX) command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode)), -@@ -159,7 +159,7 @@ std::vector GetGpuFeatureData( +@@ -154,7 +154,7 @@ std::vector GetGpuFeatureData( "video_encode", SafeGetFeatureStatus( gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) !base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux)), #else command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode)), diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc index 315a44d28490..a6120ee2f63d 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc +++ b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.cc.orig 2024-08-27 06:28:16 UTC +--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_data_manager_impl.cc -@@ -402,7 +402,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( +@@ -412,7 +412,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( private_->OnDisplayMetricsChanged(display, changed_metrics); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() { base::AutoLock auto_lock(lock_); return private_->IsGpuMemoryBufferNV12Supported(); diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.h index 7fa6e85f0307..318fae1a7357 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.h +++ b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.h.orig 2024-08-27 06:28:16 UTC +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_data_manager_impl.h -@@ -220,7 +220,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa +@@ -225,7 +225,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(); void SetGpuMemoryBufferNV12Supported(bool supported); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index 8c3792a358fd..5c147ecbf3ea 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1667,7 +1667,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1692,7 +1692,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 is_gpu_memory_buffer_NV12_supported_; } diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h index f3b301aeb13b..6a4a7f795abb 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h +++ b/www/iridium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h @@ -1,20 +1,20 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2024-12-22 12:24:29 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.h -@@ -147,7 +147,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -149,7 +149,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); void SetGpuMemoryBufferNV12Supported(bool supported); #endif // BUILDFLAG(IS_LINUX) -@@ -311,7 +311,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -313,7 +313,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool application_is_visible_ = true; bool disable_gpu_compositing_ = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_gpu_memory_buffer_NV12_supported_ = false; #endif // BUILDFLAG(IS_LINUX) - }; + diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc b/www/iridium/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc index 1a5397ec5ae0..e83c100e65e2 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc +++ b/www/iridium/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc @@ -1,20 +1,20 @@ ---- content/browser/gpu/gpu_memory_buffer_manager_singleton.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/gpu/gpu_memory_buffer_manager_singleton.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_memory_buffer_manager_singleton.cc @@ -46,7 +46,7 @@ scoped_refptr GetTaskRun #endif } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported() { static bool is_computed = false; static bool supported = false; @@ -111,7 +111,7 @@ void GpuMemoryBufferManagerSingleton::RemoveObserver( } void GpuMemoryBufferManagerSingleton::OnGpuExtraInfoUpdate() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Dynamic check whether the NV12 format is supported as it may be // inconsistent between the system GBM (Generic Buffer Management) and // chromium miniGBM. diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc index a53217a2e59e..01037d365c5d 100644 --- a/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc +++ b/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -1,19 +1,19 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/gpu/gpu_process_host.cc @@ -275,6 +275,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, @@ -304,7 +305,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/iridium/files/patch-content_browser_media_frameless__media__interface__proxy.h b/www/iridium/files/patch-content_browser_media_frameless__media__interface__proxy.h index c64c1c4eebbb..729ae77fb63f 100644 --- a/www/iridium/files/patch-content_browser_media_frameless__media__interface__proxy.h +++ b/www/iridium/files/patch-content_browser_media_frameless__media__interface__proxy.h @@ -1,20 +1,20 @@ ---- content/browser/media/frameless_media_interface_proxy.h.orig 2024-06-25 12:08:48 UTC +--- content/browser/media/frameless_media_interface_proxy.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/media/frameless_media_interface_proxy.h @@ -19,7 +19,7 @@ #include "mojo/public/cpp/bindings/receiver_set.h" #include "mojo/public/cpp/bindings/remote.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" + #include "media/mojo/mojom/video_decoder.mojom.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -105,7 +105,7 @@ class FramelessMediaInterfaceProxy final +@@ -104,7 +104,7 @@ class FramelessMediaInterfaceProxy final // Connections to the renderer. mojo::ReceiverSet receivers_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Connection to the StableVideoDecoderFactory that lives in a utility - // process. This is only used for out-of-process video decoding and only when - // the FramelessMediaInterfaceProxy is created without a RenderProcessHost + // Connection to the InterfaceFactory that lives in a utility process. + // This is only used for out-of-process video decoding and only when the + // FramelessMediaInterfaceProxy is created without a RenderProcessHost diff --git a/www/iridium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/iridium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc index b320c01c6514..11d9ab2ef799 100644 --- a/www/iridium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc +++ b/www/iridium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/media/media_keys_listener_manager_impl.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/media/media_keys_listener_manager_impl.cc @@ -332,7 +332,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Create SystemMediaControls with the SingletonHwnd. browser_system_media_controls_ = system_media_controls::SystemMediaControls::Create( diff --git a/www/iridium/files/patch-content_browser_network__service__instance__impl.cc b/www/iridium/files/patch-content_browser_network__service__instance__impl.cc index 7fecf79686ac..d615664b2df3 100644 --- a/www/iridium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/iridium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/network_service_instance_impl.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/network_service_instance_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/network_service_instance_impl.cc -@@ -84,7 +84,7 @@ +@@ -83,7 +83,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 -@@ -367,7 +367,7 @@ void CreateInProcessNetworkService( +@@ -341,7 +341,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( -@@ -436,7 +436,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -410,7 +410,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/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc index 8faa01c59d4a..5c4047a3614e 100644 --- a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc +++ b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc @@ -1,20 +1,20 @@ ---- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2022-03-28 18:11:04 UTC +--- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/iridium/files/patch-content_browser_renderer__host_delegated__frame__host.cc index 9173dac56506..1fafe11f4831 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_delegated__frame__host.cc +++ b/www/iridium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/delegated_frame_host.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -334,7 +334,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -333,7 +333,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Windows and Linux, we would like to produce new content as soon as // possible or the OS will create an additional black gutter. Until we can // block resize on surface synchronization on these platforms, we will not diff --git a/www/iridium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc b/www/iridium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc index e181e176e2ab..d47d1f427cf0 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc +++ b/www/iridium/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc @@ -1,20 +1,20 @@ ---- content/browser/renderer_host/media/service_video_capture_device_launcher.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/renderer_host/media/service_video_capture_device_launcher.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/media/service_video_capture_device_launcher.cc @@ -26,7 +26,7 @@ #include "media/base/media_switches.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "content/browser/gpu/gpu_data_manager_impl.h" #endif @@ -183,7 +183,7 @@ void ServiceVideoCaptureDeviceLauncher::LaunchDeviceAs } #else if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, additionally check whether the NV12 GPU memory buffer is // supported. if (GpuDataManagerImpl::GetInstance()->IsGpuMemoryBufferNV12Supported()) diff --git a/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc index 8af4acb05e47..34a9ed6e78cb 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc +++ b/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc @@ -1,20 +1,20 @@ ---- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2024-06-25 12:08:48 UTC +--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index 25d301b5e511..4c35e5f480fb 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -1,56 +1,56 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_process_host_impl.cc @@ -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 -@@ -1089,7 +1089,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1122,7 +1122,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; -@@ -1257,7 +1257,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1317,7 +1317,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) } -@@ -3328,7 +3328,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3410,7 +3410,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() && -@@ -3384,6 +3384,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3465,6 +3465,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, switches::kDisableTouchDragDrop, + switches::kDisableUnveil, + switches::kTrk, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, -@@ -5220,7 +5222,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5310,7 +5312,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/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h index 915c21fb704c..39f178115cd4 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/iridium/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-04-16 18:18:42 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -102,7 +102,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 -@@ -988,7 +988,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -986,7 +986,7 @@ class CONTENT_EXPORT RenderProcessHostImpl std::unique_ptr binders_; mojo::Receiver receiver_{this}; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::Remote video_encode_accelerator_factory_remote_; ChildThreadTypeSwitcher child_thread_type_switcher_; -@@ -1237,7 +1237,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1235,7 +1235,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/iridium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc index fa8027777615..152bd0896c77 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc +++ b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc @@ -1,20 +1,20 @@ ---- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc @@ -52,7 +52,7 @@ #include "third_party/blink/public/mojom/webdatabase/web_database.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 #include "content/browser/media/video_encode_accelerator_provider_launcher.h" @@ -343,7 +343,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; diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc index 714a67b1c6ca..6e392fc83a4f 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_view_host_impl.cc @@ -275,7 +275,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL); prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips = display::win::ScreenWin::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/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 1c5a6c94e492..81a925570ebf 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -121,7 +121,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" @@ -478,7 +478,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()) -@@ -1867,7 +1867,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -1882,7 +1882,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) { -@@ -2843,7 +2843,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2858,7 +2858,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3027,7 +3027,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3042,7 +3042,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(); - std::vector commands; - if (!event.skip_if_unhandled && linux_ui && event.os_event && + if (!event.skip_if_unhandled && linux_ui && event.os_event) { + const auto command = linux_ui->GetTextEditCommandForEvent( diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h index 10fdec96bfd9..ee0c52130017 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2025-03-18 16:46:04 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h @@ -276,7 +276,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc index d175548a309e..08a7c31034c8 100644 --- a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc +++ b/www/iridium/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 2024-08-27 06:28:16 UTC +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc @@ -602,7 +602,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/iridium/files/patch-content_browser_sandbox__host__linux.cc b/www/iridium/files/patch-content_browser_sandbox__host__linux.cc index 9826a0ad44fa..3dc718e5b4af 100644 --- a/www/iridium/files/patch-content_browser_sandbox__host__linux.cc +++ b/www/iridium/files/patch-content_browser_sandbox__host__linux.cc @@ -1,18 +1,18 @@ ---- content/browser/sandbox_host_linux.cc.orig 2023-10-21 11:51:27 UTC +--- content/browser/sandbox_host_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/sandbox_host_linux.cc @@ -45,6 +45,7 @@ void SandboxHostLinux::Init() { // Instead, it replies on a temporary socket provided by the caller. PCHECK(0 == shutdown(browser_socket, SHUT_WR)) << "shutdown"; +#if !BUILDFLAG(IS_BSD) int pipefds[2]; CHECK(0 == pipe(pipefds)); const int child_lifeline_fd = pipefds[0]; @@ -55,6 +56,7 @@ void SandboxHostLinux::Init() { ipc_thread_ = std::make_unique( ipc_handler_.get(), "sandbox_ipc_thread"); ipc_thread_->Start(); +#endif } } // namespace content diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc index a7e60c4dc764..02302b811a1a 100644 --- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc @@ -337,7 +337,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask // in context menus, among others). Simply ignore the mismatches for now. // See https://crbug.com/929813 for the details of why the mismatch // happens. -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE) task_execution_metadata_.clear(); #endif return; diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc index f17ced7c2b55..6ebdbcd515ce 100644 --- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -1,20 +1,20 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-03-28 18:11:04 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/scheduler/responsiveness/native_event_observer.cc @@ -15,7 +15,7 @@ #include "ui/events/platform/platform_event_source.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/aura/env.h" #include "ui/events/event.h" #endif @@ -39,7 +39,7 @@ NativeEventObserver::~NativeEventObserver() { DeregisterObserver(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void NativeEventObserver::RegisterObserver() { aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this); } diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h index 2128e734621c..781ad6b18be6 100644 --- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -1,47 +1,47 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2023-03-13 07:33:08 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/scheduler/responsiveness/native_event_observer.h @@ -16,7 +16,7 @@ #include "content/public/browser/native_event_processor_observer_mac.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/aura/window_event_dispatcher_observer.h" #endif @@ -41,7 +41,7 @@ namespace responsiveness { class CONTENT_EXPORT NativeEventObserver #if BUILDFLAG(IS_MAC) : public NativeEventProcessorObserver -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) : public aura::WindowEventDispatcherObserver #elif BUILDFLAG(IS_WIN) : public base::MessagePumpForUI::Observer @@ -58,7 +58,7 @@ class CONTENT_EXPORT NativeEventObserver NativeEventObserver(WillRunEventCallback will_run_event_callback, DidRunEventCallback did_run_event_callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) NativeEventObserver(const NativeEventObserver&) = delete; NativeEventObserver& operator=(const NativeEventObserver&) = delete; @@ -74,7 +74,7 @@ class CONTENT_EXPORT NativeEventObserver // Exposed for tests. void WillRunNativeEvent(const void* opaque_identifier) override; void DidRunNativeEvent(const void* opaque_identifier) override; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // aura::WindowEventDispatcherObserver overrides: void OnWindowEventDispatcherStartedProcessing( aura::WindowEventDispatcher* dispatcher, @@ -91,7 +91,7 @@ class CONTENT_EXPORT NativeEventObserver void RegisterObserver(); void DeregisterObserver(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct EventInfo { raw_ptr unique_id; }; diff --git a/www/iridium/files/patch-content_browser_service__host_utility__process__host.cc b/www/iridium/files/patch-content_browser_service__host_utility__process__host.cc index 98cdbf941d5d..f4c1cbfea511 100644 --- a/www/iridium/files/patch-content_browser_service__host_utility__process__host.cc +++ b/www/iridium/files/patch-content_browser_service__host_utility__process__host.cc @@ -1,38 +1,38 @@ ---- content/browser/service_host/utility_process_host.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/service_host/utility_process_host.cc -@@ -67,7 +67,7 @@ +@@ -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" -@@ -95,7 +95,7 @@ namespace content { +@@ -96,7 +96,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; -@@ -425,7 +425,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -427,7 +427,7 @@ bool UtilityProcessHost::StartProcess() { file_data_->files_to_preload.merge(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 (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) { -@@ -442,7 +442,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -444,7 +444,7 @@ bool UtilityProcessHost::StartProcess() { if (metrics_name_ == 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/iridium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc index 46e13f22b7fe..c2276b5e893a 100644 --- a/www/iridium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc +++ b/www/iridium/files/patch-content_browser_service__host_utility__process__host__receiver__bindings.cc @@ -1,20 +1,20 @@ ---- content/browser/service_host/utility_process_host_receiver_bindings.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/service_host/utility_process_host_receiver_bindings.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/service_host/utility_process_host_receiver_bindings.cc @@ -10,7 +10,7 @@ #include "content/public/common/content_client.h" #include "media/media_buildflags.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 @@ -24,7 +24,7 @@ namespace content { void UtilityProcessHost::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)); return; diff --git a/www/iridium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc b/www/iridium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc index 2a7a5906afc7..5835471fe71f 100644 --- a/www/iridium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc +++ b/www/iridium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc @@ -1,52 +1,52 @@ ---- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/service_host/utility_sandbox_delegate.cc @@ -77,7 +77,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::kHardwareVideoDecoding || sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -90,14 +90,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 || @@ -144,7 +144,7 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe // process upon startup. if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork || sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceModelExecution || -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -158,11 +158,11 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe #endif // BUILDFLAG(IS_CHROMEOS) sandbox_type_ == sandbox::mojom::Sandbox::kAudio || #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/iridium/files/patch-content_browser_v8__snapshot__files.cc b/www/iridium/files/patch-content_browser_v8__snapshot__files.cc index 4a6b7e2665df..55ebf01b7422 100644 --- a/www/iridium/files/patch-content_browser_v8__snapshot__files.cc +++ b/www/iridium/files/patch-content_browser_v8__snapshot__files.cc @@ -1,11 +1,11 @@ ---- content/browser/v8_snapshot_files.cc.orig 2024-06-25 12:08:48 UTC +--- content/browser/v8_snapshot_files.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/v8_snapshot_files.cc -@@ -17,7 +17,7 @@ namespace content { - std::map> +@@ -19,7 +19,7 @@ namespace content { + std::map> GetV8SnapshotFilesToPreload(base::CommandLine& process_command_line) { - std::map> files; + std::map> files; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(USE_V8_CONTEXT_SNAPSHOT) files[kV8ContextSnapshotDataDescriptor] = base::FilePath( FILE_PATH_LITERAL(BUILDFLAG(V8_CONTEXT_SNAPSHOT_FILENAME))); diff --git a/www/iridium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc b/www/iridium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc index d9e01c377604..301f18aba461 100644 --- a/www/iridium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc +++ b/www/iridium/files/patch-content_browser_web__contents_slow__web__preference__cache.cc @@ -1,29 +1,29 @@ ---- content/browser/web_contents/slow_web_preference_cache.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/web_contents/slow_web_preference_cache.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/web_contents/slow_web_preference_cache.cc @@ -17,7 +17,7 @@ #if BUILDFLAG(IS_WIN) #include "ui/events/devices/input_device_observer_win.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/events/devices/device_data_manager.h" #elif BUILDFLAG(IS_ANDROID) #include "ui/base/device_form_factor.h" @@ -57,7 +57,7 @@ SlowWebPreferenceCache::SlowWebPreferenceCache() { #if BUILDFLAG(IS_WIN) ui::InputDeviceObserverWin::GetInstance()->AddObserver(this); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ui::DeviceDataManager::GetInstance()->AddObserver(this); #elif BUILDFLAG(IS_ANDROID) ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this); @@ -69,7 +69,7 @@ SlowWebPreferenceCache::SlowWebPreferenceCache() { SlowWebPreferenceCache::~SlowWebPreferenceCache() { #if BUILDFLAG(IS_WIN) ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ui::DeviceDataManager::GetInstance()->RemoveObserver(this); #elif BUILDFLAG(IS_ANDROID) ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this); diff --git a/www/iridium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/iridium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index 4a5f539f94fc..c476bd0cde20 100644 --- a/www/iridium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/iridium/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-03-18 16:46:04 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/web_contents/web_contents_view_aura.cc @@ -173,7 +173,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, @@ -258,7 +258,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. @@ -1327,7 +1327,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/iridium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc b/www/iridium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc index 821acbb2ba44..10023056c3cd 100644 --- a/www/iridium/files/patch-content_browser_web__contents_web__contents__view__aura__unittest.cc +++ b/www/iridium/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-16 18:18:42 UTC +--- content/browser/web_contents/web_contents_view_aura_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/web_contents/web_contents_view_aura_unittest.cc @@ -40,7 +40,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 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 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) { 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) { 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 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 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 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/iridium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/iridium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc index 46c11f6eb698..675a870953b3 100644 --- a/www/iridium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc +++ b/www/iridium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc @@ -1,11 +1,11 @@ ---- content/browser/webui/web_ui_main_frame_observer.cc.orig 2025-02-22 18:06:53 UTC +--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/webui/web_ui_main_frame_observer.cc @@ -47,7 +47,7 @@ std::string RedactURL(const GURL& url) { bool IsWebUIJavaScriptErrorReportingSupported() { #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) return false; -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return base::FeatureList::IsEnabled(features::kWebUIJSErrorReportingExtended); diff --git a/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc index cd76921c94e7..5d4e9532f5f3 100644 --- a/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc +++ b/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc @@ -1,81 +1,81 @@ ---- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2025-03-18 16:46:04 UTC +--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/browser/zygote_host/zygote_host_impl_linux.cc @@ -23,8 +23,10 @@ #include "build/build_config.h" #include "content/common/zygote/zygote_commands_linux.h" #include "content/common/zygote/zygote_communication_linux.h" +#if !BUILDFLAG(IS_BSD) #include "content/common/zygote/zygote_handle_impl_linux.h" #include "content/public/common/zygote/zygote_handle.h" +#endif #include "sandbox/linux/services/credentials.h" #include "sandbox/linux/services/namespace_sandbox.h" #include "sandbox/linux/suid/client/setuid_sandbox_host.h" @@ -42,6 +44,7 @@ namespace content { namespace { +#if !BUILDFLAG(IS_BSD) // Receive a fixed message on fd and return the sender's PID. // Returns true if the message received matches the expected message. bool ReceiveFixedMessage(int fd, @@ -64,6 +67,7 @@ bool ReceiveFixedMessage(int fd, return false; return true; } +#endif } // namespace @@ -73,9 +77,13 @@ ZygoteHost* ZygoteHost::GetInstance() { } ZygoteHostImpl::ZygoteHostImpl() +#if !BUILDFLAG(IS_BSD) : use_namespace_sandbox_(false), use_suid_sandbox_(false), use_suid_sandbox_for_adj_oom_score_(false), +#else + : +#endif sandbox_binary_(), zygote_pids_lock_(), zygote_pids_() {} @@ -88,6 +96,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() { } void ZygoteHostImpl::Init(const base::CommandLine& command_line) { +#if !BUILDFLAG(IS_BSD) if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) { return; } @@ -142,6 +151,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com "you can try using --" << sandbox::policy::switches::kNoSandbox << "."; } +#endif } void ZygoteHostImpl::AddZygotePid(pid_t pid) { @@ -166,6 +176,7 @@ pid_t ZygoteHostImpl::LaunchZygote( base::CommandLine* cmd_line, base::ScopedFD* control_fd, base::FileHandleMappingVector additional_remapped_fds) { +#if !BUILDFLAG(IS_BSD) int fds[2]; CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET | SOCK_CLOEXEC, 0, fds)); CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); @@ -234,9 +245,12 @@ pid_t ZygoteHostImpl::LaunchZygote( AddZygotePid(pid); return pid; +#else + return 0; +#endif } -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid, int score) { // 1) You can't change the oom_score_adj of a non-dumpable process diff --git a/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h b/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h index 6e9a9cfa55f7..05a1644789b0 100644 --- a/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h +++ b/www/iridium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h @@ -1,29 +1,29 @@ ---- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2025-02-22 18:06:53 UTC +--- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2025-05-07 06:48:23 UTC +++ content/browser/zygote_host/zygote_host_impl_linux.h @@ -46,12 +46,14 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos base::ScopedFD* control_fd, base::FileHandleMappingVector additional_remapped_fds); +#if !BUILDFLAG(IS_BSD) void AdjustRendererOOMScore(base::ProcessHandle process_handle, int score) override; #if BUILDFLAG(IS_CHROMEOS) void ReinitializeLogging(uint32_t logging_dest, base::PlatformFile log_file_fd) override; #endif // BUILDFLAG(IS_CHROMEOS) +#endif bool HasZygote() { return !zygote_pids_.empty(); } @@ -66,9 +68,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos int renderer_sandbox_status_; +#if !BUILDFLAG(IS_BSD) bool use_namespace_sandbox_; bool use_suid_sandbox_; bool use_suid_sandbox_for_adj_oom_score_; +#endif std::string sandbox_binary_; // This lock protects the |zygote_pids_| set. diff --git a/www/iridium/files/patch-content_child_BUILD.gn b/www/iridium/files/patch-content_child_BUILD.gn index 07a640e36a2b..e19535d03f05 100644 --- a/www/iridium/files/patch-content_child_BUILD.gn +++ b/www/iridium/files/patch-content_child_BUILD.gn @@ -1,16 +1,16 @@ ---- content/child/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- content/child/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/child/BUILD.gn @@ -135,6 +135,13 @@ target(link_target_type, "child") { ] } + if (is_bsd) { + sources -= [ + "sandboxed_process_thread_type_handler.cc", + "sandboxed_process_thread_type_handler.h", + ] + } + if (is_win) { sources += [ "child_process_sandbox_support_impl_win.cc", diff --git a/www/iridium/files/patch-content_child_child__process.cc b/www/iridium/files/patch-content_child_child__process.cc index 6400386c38dc..73cf148406d1 100644 --- a/www/iridium/files/patch-content_child_child__process.cc +++ b/www/iridium/files/patch-content_child_child__process.cc @@ -1,20 +1,20 @@ ---- content/child/child_process.cc.orig 2025-04-16 18:18:42 UTC +--- content/child/child_process.cc.orig 2025-05-07 06:48:23 UTC +++ content/child/child_process.cc @@ -31,7 +31,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 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/iridium/files/patch-content_child_child__process.h b/www/iridium/files/patch-content_child_child__process.h index 1e56ef4818ef..c3a3be5ba6e5 100644 --- a/www/iridium/files/patch-content_child_child__process.h +++ b/www/iridium/files/patch-content_child_child__process.h @@ -1,11 +1,11 @@ ---- content/child/child_process.h.orig 2024-08-01 05:47:53 UTC +--- content/child/child_process.h.orig 2025-05-07 06:48:23 UTC +++ content/child/child_process.h @@ -79,7 +79,7 @@ class CONTENT_EXPORT ChildProcess { return io_thread_runner_.get(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Changes the thread type of the child process IO thread. void SetIOThreadType(base::ThreadType thread_type); #endif diff --git a/www/iridium/files/patch-content_common_BUILD.gn b/www/iridium/files/patch-content_common_BUILD.gn index fe2326b9f0e2..1d84485ea0b6 100644 --- a/www/iridium/files/patch-content_common_BUILD.gn +++ b/www/iridium/files/patch-content_common_BUILD.gn @@ -1,36 +1,36 @@ ---- content/common/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- content/common/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/common/BUILD.gn -@@ -384,19 +384,28 @@ source_set("common") { +@@ -382,19 +382,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/iridium/files/patch-content_common_features.cc b/www/iridium/files/patch-content_common_features.cc index 8b941e8620d9..0011eb0a7886 100644 --- a/www/iridium/files/patch-content_common_features.cc +++ b/www/iridium/files/patch-content_common_features.cc @@ -1,11 +1,11 @@ ---- content/common/features.cc.orig 2025-03-18 16:46:04 UTC +--- content/common/features.cc.orig 2025-05-07 06:48:23 UTC +++ content/common/features.cc -@@ -125,7 +125,7 @@ BASE_FEATURE(kEmbeddingRequiresOptIn, +@@ -124,7 +124,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/iridium/files/patch-content_common_features.h b/www/iridium/files/patch-content_common_features.h index 8e4707f5404c..8b5485db3296 100644 --- a/www/iridium/files/patch-content_common_features.h +++ b/www/iridium/files/patch-content_common_features.h @@ -1,11 +1,11 @@ ---- content/common/features.h.orig 2025-03-18 16:46:04 UTC +--- content/common/features.h.orig 2025-05-07 06:48:23 UTC +++ content/common/features.h -@@ -28,7 +28,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kCommittedOriginEn +@@ -27,7 +27,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); diff --git a/www/iridium/files/patch-content_common_font__list__unittest.cc b/www/iridium/files/patch-content_common_font__list__unittest.cc index e29e03beb25e..0b0d4f43dc58 100644 --- a/www/iridium/files/patch-content_common_font__list__unittest.cc +++ b/www/iridium/files/patch-content_common_font__list__unittest.cc @@ -1,11 +1,11 @@ ---- content/common/font_list_unittest.cc.orig 2024-06-25 12:08:48 UTC +--- content/common/font_list_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ content/common/font_list_unittest.cc @@ -48,7 +48,7 @@ TEST(FontList, GetFontList) { EXPECT_TRUE(HasFontWithName(fonts, "MS Gothic", "MS Gothic")); EXPECT_TRUE(HasFontWithName(fonts, "Segoe UI", "Segoe UI")); EXPECT_TRUE(HasFontWithName(fonts, "Verdana", "Verdana")); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) EXPECT_TRUE(HasFontWithName(fonts, "Arimo", "Arimo")); #else EXPECT_TRUE(HasFontWithName(fonts, "Arial", "Arial")); diff --git a/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc index 7857ccbaa44d..0324b1dcd011 100644 --- a/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc +++ b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc @@ -1,71 +1,71 @@ ---- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2024-06-25 12:08:48 UTC +--- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2025-05-07 06:48:23 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); + } +} + +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/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h index 4bab3a4eb258..3b4dc6ac5427 100644 --- a/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h +++ b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h @@ -1,23 +1,23 @@ ---- content/common/gpu_pre_sandbox_hook_bsd.h.orig 2024-06-25 12:08:48 UTC +--- content/common/gpu_pre_sandbox_hook_bsd.h.orig 2025-05-07 06:48:23 UTC +++ content/common/gpu_pre_sandbox_hook_bsd.h @@ -0,0 +1,20 @@ +// Copyright 2017 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ +#define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ + +#include "base/component_export.h" +#include "sandbox/policy/sandbox.h" + +namespace content { + +// A pre-sandbox hook to use on Linux-based systems in sandboxed processes that +// require general GPU usage. +COMPONENT_EXPORT(GPU_PRE_SANDBOX_HOOK) +bool GpuPreSandboxHook(sandbox::policy::SandboxLinux::Options options); + +} // namespace content + +#endif // CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ diff --git a/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h index 458336ec9594..fa5bc2a57af1 100644 --- a/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h +++ b/www/iridium/files/patch-content_common_gpu__pre__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- content/common/gpu_pre_sandbox_hook_linux.h.orig 2024-06-25 12:08:48 UTC +--- content/common/gpu_pre_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 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_ +#include "build/build_config.h" #include "base/component_export.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace content { diff --git a/www/iridium/files/patch-content_common_thread__type__switcher.mojom b/www/iridium/files/patch-content_common_thread__type__switcher.mojom index b905ec1af81d..1b5cb6e116b8 100644 --- a/www/iridium/files/patch-content_common_thread__type__switcher.mojom +++ b/www/iridium/files/patch-content_common_thread__type__switcher.mojom @@ -1,10 +1,10 @@ ---- content/common/thread_type_switcher.mojom.orig 2025-04-16 18:18:42 UTC +--- content/common/thread_type_switcher.mojom.orig 2025-05-07 06:48:23 UTC +++ content/common/thread_type_switcher.mojom @@ -10,6 +10,6 @@ import "mojo/public/mojom/base/thread_type.mojom"; // occur in a child process due to its sandbox, e.g. on Linux and ChromeOS. interface ThreadTypeSwitcher { // Asks the browser to change the type of thread. - SetThreadType(int32 platform_thread_id, + SetThreadType(uint64 platform_thread_id, mojo_base.mojom.ThreadType thread_type); }; diff --git a/www/iridium/files/patch-content_common_user__agent.cc b/www/iridium/files/patch-content_common_user__agent.cc deleted file mode 100644 index 46e0ffd48988..000000000000 --- a/www/iridium/files/patch-content_common_user__agent.cc +++ /dev/null @@ -1,37 +0,0 @@ ---- content/common/user_agent.cc.orig 2025-04-16 18:18:42 UTC -+++ content/common/user_agent.cc -@@ -50,7 +50,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; "; -@@ -76,7 +76,7 @@ std::string GetUnifiedPlatform() { - return "Windows NT 10.0; Win64; x64"; - #elif BUILDFLAG(IS_FUCHSIA) - return "Fuchsia"; --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return "X11; Linux x86_64"; - #elif BUILDFLAG(IS_IOS) - if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { -@@ -305,6 +305,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/iridium/files/patch-content_gpu_gpu__child__thread.cc b/www/iridium/files/patch-content_gpu_gpu__child__thread.cc index cb19d479b6b3..2b98aae2e6c2 100644 --- a/www/iridium/files/patch-content_gpu_gpu__child__thread.cc +++ b/www/iridium/files/patch-content_gpu_gpu__child__thread.cc @@ -1,21 +1,21 @@ ---- content/gpu/gpu_child_thread.cc.orig 2025-02-22 18:06:53 UTC +--- content/gpu/gpu_child_thread.cc.orig 2025-05-07 06:48:23 UTC +++ content/gpu/gpu_child_thread.cc @@ -57,7 +57,7 @@ #include "third_party/skia/include/ports/SkFontConfigInterface.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif @@ -147,7 +147,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce viz_main_.gpu_service()->set_start_time(process_start_time); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); #endif diff --git a/www/iridium/files/patch-content_gpu_gpu__main.cc b/www/iridium/files/patch-content_gpu_gpu__main.cc index 557aeb32935a..61a4d6598759 100644 --- a/www/iridium/files/patch-content_gpu_gpu__main.cc +++ b/www/iridium/files/patch-content_gpu_gpu__main.cc @@ -1,73 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2025-04-16 18:18:42 UTC +--- content/gpu/gpu_main.cc.orig 2025-05-07 06:48:23 UTC +++ content/gpu/gpu_main.cc @@ -95,10 +95,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 @@ -117,7 +121,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&); @@ -177,7 +181,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) override { GPU_STARTUP_TRACE_EVENT("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_); @@ -303,7 +307,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 @@ -329,7 +333,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. @@ -462,7 +467,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) { @@ -502,7 +507,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/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc index c81a36d1a60f..73ad1cd28063 100644 --- a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc +++ b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc @@ -1,29 +1,29 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2024-06-25 12:08:48 UTC +--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h index a921219c3c9f..20bbbd4b85fe 100644 --- a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h +++ b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -1,11 +1,11 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2024-08-01 05:47:53 UTC +--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2025-05-07 06:48:23 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/iridium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/www/iridium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc index 0c9af8baf57c..c420df5771df 100644 --- a/www/iridium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc +++ b/www/iridium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc @@ -1,23 +1,23 @@ ---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2025-03-18 16:46:04 UTC +--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-content_public_browser_content__browser__client.cc b/www/iridium/files/patch-content_public_browser_content__browser__client.cc index cd67f021a1fb..7d9fd4c82627 100644 --- a/www/iridium/files/patch-content_public_browser_content__browser__client.cc +++ b/www/iridium/files/patch-content_public_browser_content__browser__client.cc @@ -1,11 +1,11 @@ ---- content/public/browser/content_browser_client.cc.orig 2025-04-16 18:18:42 UTC +--- content/public/browser/content_browser_client.cc.orig 2025-05-07 06:48:23 UTC +++ content/public/browser/content_browser_client.cc -@@ -1376,7 +1376,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1395,7 +1395,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/iridium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h b/www/iridium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h index a7e1982d5b9f..bc2d5be0abaa 100644 --- a/www/iridium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h +++ b/www/iridium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h @@ -1,16 +1,16 @@ ---- content/public/browser/zygote_host/zygote_host_linux.h.orig 2025-02-22 18:06:53 UTC +--- content/public/browser/zygote_host/zygote_host_linux.h.orig 2025-05-07 06:48:23 UTC +++ content/public/browser/zygote_host/zygote_host_linux.h @@ -34,11 +34,13 @@ class ZygoteHost { // after the first render has been forked. virtual int GetRendererSandboxStatus() = 0; +#if !BUILDFLAG(IS_BSD) // Adjust the OOM score of the given renderer's PID. The allowed // range for the score is [0, 1000], where higher values are more // likely to be killed by the OOM killer. virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle, int score) = 0; +#endif #if BUILDFLAG(IS_CHROMEOS) // Reinitialize logging for the Zygote processes. Needed on ChromeOS, which diff --git a/www/iridium/files/patch-content_public_common_content__features.cc b/www/iridium/files/patch-content_public_common_content__features.cc index 60f6f8652f32..b9159d257193 100644 --- a/www/iridium/files/patch-content_public_common_content__features.cc +++ b/www/iridium/files/patch-content_public_common_content__features.cc @@ -1,35 +1,35 @@ ---- content/public/common/content_features.cc.orig 2025-04-16 18:18:42 UTC +--- content/public/common/content_features.cc.orig 2025-05-07 06:48:23 UTC +++ content/public/common/content_features.cc @@ -75,7 +75,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 -@@ -1274,9 +1274,9 @@ BASE_FEATURE(kWebAssemblyTiering, +@@ -1271,9 +1271,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 -@@ -1329,7 +1329,11 @@ BASE_FEATURE(kWebUIJSErrorReportingExtended, +@@ -1330,7 +1330,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 // Controls whether the WebXR Device API is enabled. BASE_FEATURE(kWebXr, "WebXR", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-content_public_common_content__switches.cc b/www/iridium/files/patch-content_public_common_content__switches.cc index 2f021342f950..d8109434f832 100644 --- a/www/iridium/files/patch-content_public_common_content__switches.cc +++ b/www/iridium/files/patch-content_public_common_content__switches.cc @@ -1,22 +1,22 @@ ---- content/public/common/content_switches.cc.orig 2025-04-16 18:18:42 UTC +--- content/public/common/content_switches.cc.orig 2025-05-07 06:48:23 UTC +++ content/public/common/content_switches.cc -@@ -342,6 +342,10 @@ const char kEnableIsolatedWebAppsInRenderer[] = +@@ -339,6 +339,10 @@ const char kEnableIsolatedWebAppsInRenderer[] = // builds. const char kEnableLogging[] = "enable-logging"; +const char kDisableUnveil[] = "disable-unveil"; + +const char kTrk[] = "trk"; + // 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. -@@ -949,7 +953,7 @@ const char kPreventResizingContentsForTesting[] = +@@ -946,7 +950,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/iridium/files/patch-content_public_common_content__switches.h b/www/iridium/files/patch-content_public_common_content__switches.h index 82c1a3cab7e9..1eff413bf882 100644 --- a/www/iridium/files/patch-content_public_common_content__switches.h +++ b/www/iridium/files/patch-content_public_common_content__switches.h @@ -1,20 +1,20 @@ ---- content/public/common/content_switches.h.orig 2025-04-16 18:18:42 UTC +--- content/public/common/content_switches.h.orig 2025-05-07 06:48:23 UTC +++ content/public/common/content_switches.h -@@ -108,6 +108,8 @@ CONTENT_EXPORT extern const char kEnableGpuMemoryBuffe +@@ -107,6 +107,8 @@ 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 kTrk[]; CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[]; -@@ -259,7 +261,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -258,7 +260,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD CONTENT_EXPORT extern const char kPreventResizingContentsForTesting[]; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/iridium/files/patch-content_public_common_zygote_features.gni b/www/iridium/files/patch-content_public_common_zygote_features.gni index 4b3fe2e86b3d..e9f4aa2b43a9 100644 --- a/www/iridium/files/patch-content_public_common_zygote_features.gni +++ b/www/iridium/files/patch-content_public_common_zygote_features.gni @@ -1,8 +1,8 @@ ---- content/public/common/zygote/features.gni.orig 2023-04-22 17:45:15 UTC +--- content/public/common/zygote/features.gni.orig 2025-05-07 06:48:23 UTC +++ content/public/common/zygote/features.gni @@ -2,4 +2,4 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -use_zygote = is_posix && !is_android && !is_apple +use_zygote = is_posix && !is_android && !is_mac && !is_bsd diff --git a/www/iridium/files/patch-content_renderer_render__thread__impl.cc b/www/iridium/files/patch-content_renderer_render__thread__impl.cc index 73dc7f14d65d..8b81be16f1e0 100644 --- a/www/iridium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/iridium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2025-04-16 18:18:42 UTC +--- content/renderer/render_thread_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/renderer/render_thread_impl.cc -@@ -212,6 +212,8 @@ +@@ -207,6 +207,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -1050,7 +1052,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1069,7 +1071,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) && -@@ -1059,7 +1061,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1078,7 +1080,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) && -@@ -1855,7 +1857,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1870,7 +1872,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/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc index de59a0660088..3287b7e4cbde 100644 --- a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc +++ b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -1,45 +1,45 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2025-04-16 18:18:42 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -129,7 +129,7 @@ +@@ -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 -@@ -197,13 +197,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -192,13 +192,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()); -@@ -228,7 +228,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -223,7 +223,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(); -@@ -292,7 +292,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl +@@ -296,7 +296,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/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h index 1b02b07101ab..3f452e2b3a6e 100644 --- a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,11 +1,11 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2025-03-18 16:46:04 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2025-05-07 06:48:23 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -260,7 +260,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -267,7 +267,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/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc index 91f17d03c0d9..9f00112eec8b 100644 --- a/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc +++ b/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc @@ -1,18 +1,18 @@ ---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2023-10-21 11:51:27 UTC +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/renderer/renderer_main_platform_delegate_linux.cc @@ -44,6 +44,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { // any renderer has been started. // Here, we test that the status of SeccompBpf in the renderer is consistent // with what SandboxLinux::GetStatus() said we would do. +#if !BUILDFLAG(IS_BSD) auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); if (linux_sandbox->GetStatus() & sandbox::policy::SandboxLinux::kSeccompBPF) { CHECK(linux_sandbox->seccomp_bpf_started()); @@ -65,6 +66,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { CHECK_EQ(errno, EPERM); } #endif // __x86_64__ +#endif return true; } diff --git a/www/iridium/files/patch-content_shell_BUILD.gn b/www/iridium/files/patch-content_shell_BUILD.gn index f73ef1473975..872cfd0d36f7 100644 --- a/www/iridium/files/patch-content_shell_BUILD.gn +++ b/www/iridium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- content/shell/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/shell/BUILD.gn -@@ -1093,7 +1093,7 @@ group("content_shell_crash_test") { +@@ -1099,7 +1099,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc index ca4ad9ccb71d..e9fd7f4423b8 100644 --- a/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc +++ b/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc @@ -1,11 +1,11 @@ ---- content/shell/app/shell_main_delegate.cc.orig 2024-12-22 12:24:29 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ content/shell/app/shell_main_delegate.cc @@ -269,7 +269,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/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc index 199b051ccace..26053d01ee8e 100644 --- a/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc +++ b/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc @@ -1,47 +1,47 @@ ---- content/shell/browser/shell_browser_main_parts.cc.orig 2025-04-16 18:18:42 UTC +--- content/shell/browser/shell_browser_main_parts.cc.orig 2025-05-07 06:48:23 UTC +++ content/shell/browser/shell_browser_main_parts.cc @@ -50,7 +50,7 @@ #include "net/base/network_change_notifier.h" #endif -#if BUILDFLAG(IS_LINUX) && defined(USE_AURA) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_AURA) #include "ui/base/ime/init/input_method_initializer.h" #endif @@ -61,7 +61,7 @@ #include "device/bluetooth/floss/floss_features.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h" #include "ui/linux/linux_ui.h" // nogncheck #include "ui/linux/linux_ui_factory.h" // nogncheck @@ -128,7 +128,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( } int ShellBrowserMainParts::PreEarlyInitialization() { -#if BUILDFLAG(IS_LINUX) && defined(USE_AURA) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_AURA) ui::InitializeInputMethodForTesting(); #elif BUILDFLAG(IS_ANDROID) net::NetworkChangeNotifier::SetFactory( @@ -156,7 +156,7 @@ void ShellBrowserMainParts::ToolkitInitialized() { if (switches::IsRunWebTestsSwitchPresent()) return; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::LinuxUi::SetInstance(ui::GetDefaultLinuxUi()); #endif } @@ -203,7 +203,7 @@ void ShellBrowserMainParts::PostMainMessageLoopRun() { ShellDevToolsManagerDelegate::StopHttpHandler(); browser_context_.reset(); off_the_record_browser_context_.reset(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::LinuxUi::SetInstance(nullptr); #endif performance_manager_lifetime_.reset(); diff --git a/www/iridium/files/patch-content_shell_browser_shell__paths.cc b/www/iridium/files/patch-content_shell_browser_shell__paths.cc index f1d29b599830..35a013b5a25b 100644 --- a/www/iridium/files/patch-content_shell_browser_shell__paths.cc +++ b/www/iridium/files/patch-content_shell_browser_shell__paths.cc @@ -1,20 +1,20 @@ ---- content/shell/browser/shell_paths.cc.orig 2022-03-28 18:11:04 UTC +--- content/shell/browser/shell_paths.cc.orig 2025-05-07 06:48:23 UTC +++ content/shell/browser/shell_paths.cc @@ -13,7 +13,7 @@ #if BUILDFLAG(IS_FUCHSIA) #include "base/fuchsia/file_utils.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif @@ -25,7 +25,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul #if BUILDFLAG(IS_WIN) CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, result)); *result = result->Append(std::wstring(L"content_shell")); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr env(base::Environment::Create()); base::FilePath config_dir(base::nix::GetXDGDirectory( env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir)); diff --git a/www/iridium/files/patch-content_shell_browser_shell__platform__delegate__views.cc b/www/iridium/files/patch-content_shell_browser_shell__platform__delegate__views.cc new file mode 100644 index 000000000000..2b2d3799bd07 --- /dev/null +++ b/www/iridium/files/patch-content_shell_browser_shell__platform__delegate__views.cc @@ -0,0 +1,11 @@ +--- content/shell/browser/shell_platform_delegate_views.cc.orig 2025-05-07 06:48:23 UTC ++++ content/shell/browser/shell_platform_delegate_views.cc +@@ -373,7 +373,7 @@ void ShellPlatformDelegate::CreatePlatformWindow( + views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); + params.bounds = gfx::Rect(initial_size); + params.delegate = delegate.release(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + params.wm_class_class = "chromium-content_shell"; + params.wm_class_name = params.wm_class_class; + #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-content_shell_renderer_shell__content__renderer__client.cc b/www/iridium/files/patch-content_shell_renderer_shell__content__renderer__client.cc index 03de70a620d0..5ad9042f1fc0 100644 --- a/www/iridium/files/patch-content_shell_renderer_shell__content__renderer__client.cc +++ b/www/iridium/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-22 18:06:53 UTC +--- content/shell/renderer/shell_content_renderer_client.cc.orig 2025-05-07 06:48:23 UTC +++ content/shell/renderer/shell_content_renderer_client.cc @@ -55,7 +55,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/iridium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/iridium/files/patch-content_shell_utility_shell__content__utility__client.cc index 4dae77b4373c..b8499b55bf86 100644 --- a/www/iridium/files/patch-content_shell_utility_shell__content__utility__client.cc +++ b/www/iridium/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-18 16:46:04 UTC +--- content/shell/utility/shell_content_utility_client.cc.orig 2025-05-07 06:48:23 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), 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/iridium/files/patch-content_utility_services.cc b/www/iridium/files/patch-content_utility_services.cc index 70dc575d2e36..1f4a66a636ce 100644 --- a/www/iridium/files/patch-content_utility_services.cc +++ b/www/iridium/files/patch-content_utility_services.cc @@ -1,65 +1,65 @@ ---- content/utility/services.cc.orig 2025-02-22 18:06:53 UTC +--- content/utility/services.cc.orig 2025-05-07 06:48:23 UTC +++ content/utility/services.cc @@ -73,7 +73,7 @@ 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 "media/mojo/services/mojo_video_encode_accelerator_provider_factory.h" #include "sandbox/linux/services/libc_interceptor.h" #include "sandbox/policy/mojom/sandbox.mojom.h" @@ -101,7 +101,7 @@ extern sandbox::TargetServices* g_utility_target_servi #endif // BUILDFLAG(IS_CHROMEOS) && (BUILDFLAG(USE_VAAPI) || // BUILDFLAG(USE_V4L2_CODEC)) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) #include "content/common/features.h" - #include "media/mojo/services/stable_video_decoder_factory_process_service.h" // nogncheck + #include "media/mojo/services/oop_video_decoder_factory_process_service.h" // nogncheck @@ -237,7 +237,7 @@ auto RunAudio(mojo::PendingReceiver receiver) { +@@ -391,7 +391,7 @@ auto RunOOPVideoDecoderFactoryProcessService( #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && // (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) auto RunVideoEncodeAcceleratorProviderFactory( mojo::PendingReceiver receiver) { -@@ -415,7 +415,7 @@ void RegisterIOThreadServices(mojo::ServiceFactory& se +@@ -414,7 +414,7 @@ void RegisterIOThreadServices(mojo::ServiceFactory& se // loop of type IO that can get notified when pipes have data. services.Add(RunNetworkService); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS)) && \ (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) - services.Add(RunStableVideoDecoderFactoryProcessService); + services.Add(RunOOPVideoDecoderFactoryProcessService); #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && -@@ -468,7 +468,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -467,7 +467,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& #endif // BUILDFLAG(IS_CHROMEOS) && \ // (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) services.Add(RunVideoEncodeAcceleratorProviderFactory); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc b/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc index 7aa61249e91d..d40101838471 100644 --- a/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc @@ -1,37 +1,37 @@ ---- content/utility/speech/speech_recognition_sandbox_hook_linux.cc.orig 2024-06-25 12:08:48 UTC +--- content/utility/speech/speech_recognition_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/utility/speech/speech_recognition_sandbox_hook_linux.cc @@ -12,11 +12,14 @@ #include "sandbox/linux/syscall_broker/broker_command.h" #include "sandbox/linux/syscall_broker/broker_file_permission.h" +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; using sandbox::syscall_broker::MakeBrokerCommandSet; +#endif namespace speech { +#if !BUILDFLAG(IS_BSD) namespace { // Gets the file permissions required by the Speech On-Device API (SODA). @@ -50,9 +53,11 @@ std::vector GetSodaFilePermissio } } // namespace +#endif bool SpeechRecognitionPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(ENABLE_SODA_INTEGRATION_TESTS) base::FilePath test_binary_path = GetSodaTestBinaryPath(); DVLOG(0) << "SODA test binary path: " << test_binary_path.value().c_str(); @@ -75,6 +80,7 @@ bool SpeechRecognitionPreSandboxHook( }), GetSodaFilePermissions(), options); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h b/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h index b64adce3476a..a15b8e429727 100644 --- a/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h +++ b/www/iridium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2023-10-21 11:51:27 UTC +--- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ content/utility/speech/speech_recognition_sandbox_hook_linux.h @@ -5,7 +5,13 @@ #ifndef CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ #define CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace speech { diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc index 3832a9e69de1..c4c845f9befb 100644 --- a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc +++ b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc @@ -1,29 +1,29 @@ ---- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2025-03-18 16:46:04 UTC +--- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc @@ -9,7 +9,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" #elif BUILDFLAG(IS_WIN) #include "content/child/child_process_sandbox_support_impl_win.h" @@ -19,7 +19,7 @@ namespace content { UtilityBlinkPlatformWithSandboxSupportImpl:: UtilityBlinkPlatformWithSandboxSupportImpl() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::PendingRemote font_service; UtilityThread::Get()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); @@ -40,7 +40,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl:: blink::WebSandboxSupport* UtilityBlinkPlatformWithSandboxSupportImpl::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 return nullptr; diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h index 93da84860616..0b8c42edba7e 100644 --- a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h +++ b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -1,11 +1,11 @@ ---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2025-03-18 16:46:04 UTC +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2025-05-07 06:48:23 UTC +++ content/utility/utility_blink_platform_with_sandbox_support_impl.h @@ -34,7 +34,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub private: #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif }; diff --git a/www/iridium/files/patch-content_utility_utility__main.cc b/www/iridium/files/patch-content_utility_utility__main.cc index b78adc819e1d..dbf0a5f9b210 100644 --- a/www/iridium/files/patch-content_utility_utility__main.cc +++ b/www/iridium/files/patch-content_utility_utility__main.cc @@ -1,122 +1,122 @@ ---- content/utility/utility_main.cc.orig 2025-02-22 18:06:53 UTC +--- content/utility/utility_main.cc.orig 2025-05-07 06:48:23 UTC +++ content/utility/utility_main.cc @@ -36,18 +36,22 @@ #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_LINUX) || 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 "gpu/config/gpu_info_collector.h" #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h" #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.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" @@ -66,7 +70,12 @@ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX) +-#if 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)) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "services/video_effects/video_effects_sandbox_hook_linux.h" // nogncheck - #endif // BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX) + #endif // BUILDFLAG(IS_LINUX) @@ -101,7 +110,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) @@ -109,7 +118,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( @@ -247,7 +256,8 @@ int UtilityMain(MainFunctionParams parameters) { CHECK(on_device_model::OnDeviceModelService::PreSandboxInit()); } -#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 // thread type change in ChildProcess constructor. It also needs to be // registered before the process has multiple threads, which may race with @@ -255,7 +265,7 @@ int UtilityMain(MainFunctionParams parameters) { SandboxedProcessThreadTypeHandler::Create(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#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. @@ -287,7 +297,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); @@ -303,13 +313,13 @@ int UtilityMain(MainFunctionParams parameters) { #else NOTREACHED(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case sandbox::mojom::Sandbox::kVideoEffects: pre_sandbox_hook = base::BindOnce(&video_effects::VideoEffectsPreSandboxHook); 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::kHardwareVideoDecoding: pre_sandbox_hook = base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook); @@ -336,6 +346,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 = @@ -343,6 +354,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. diff --git a/www/iridium/files/patch-content_utility_utility__thread__impl.cc b/www/iridium/files/patch-content_utility_utility__thread__impl.cc index 7ca5d07cc0d7..375e5c2b0247 100644 --- a/www/iridium/files/patch-content_utility_utility__thread__impl.cc +++ b/www/iridium/files/patch-content_utility_utility__thread__impl.cc @@ -1,21 +1,21 @@ ---- content/utility/utility_thread_impl.cc.orig 2024-06-25 12:08:48 UTC +--- content/utility/utility_thread_impl.cc.orig 2025-05-07 06:48:23 UTC +++ content/utility/utility_thread_impl.cc @@ -31,7 +31,7 @@ #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/service_factory.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #endif @@ -251,7 +251,8 @@ void UtilityThreadImpl::Init() { GetContentClient()->utility()->UtilityThreadStarted(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); #endif diff --git a/www/iridium/files/patch-content_zygote_BUILD.gn b/www/iridium/files/patch-content_zygote_BUILD.gn index 9e0ceff177e8..78424cef4d8a 100644 --- a/www/iridium/files/patch-content_zygote_BUILD.gn +++ b/www/iridium/files/patch-content_zygote_BUILD.gn @@ -1,11 +1,11 @@ ---- content/zygote/BUILD.gn.orig 2022-03-28 18:11:04 UTC +--- content/zygote/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ content/zygote/BUILD.gn @@ -5,7 +5,7 @@ import("//build/config/nacl/config.gni") 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/iridium/files/patch-content_zygote_zygote__linux.cc b/www/iridium/files/patch-content_zygote_zygote__linux.cc index 1a58c268c382..3dc51f9df36d 100644 --- a/www/iridium/files/patch-content_zygote_zygote__linux.cc +++ b/www/iridium/files/patch-content_zygote_zygote__linux.cc @@ -1,15 +1,15 @@ ---- content/zygote/zygote_linux.cc.orig 2025-02-22 18:06:53 UTC +--- content/zygote/zygote_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/zygote/zygote_linux.cc @@ -1,6 +1,7 @@ // Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#if 0 - #ifdef UNSAFE_BUFFERS_BUILD - // TODO(crbug.com/342213636): Remove this and spanify to fix the errors. -@@ -709,3 +710,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi + #include "content/zygote/zygote_linux.h" + +@@ -705,3 +706,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi } } // namespace content +#endif diff --git a/www/iridium/files/patch-content_zygote_zygote__main__linux.cc b/www/iridium/files/patch-content_zygote_zygote__main__linux.cc index 8de6d623f6a0..d1f4b96c6051 100644 --- a/www/iridium/files/patch-content_zygote_zygote__main__linux.cc +++ b/www/iridium/files/patch-content_zygote_zygote__main__linux.cc @@ -1,58 +1,58 @@ ---- content/zygote/zygote_main_linux.cc.orig 2023-10-21 11:51:27 UTC +--- content/zygote/zygote_main_linux.cc.orig 2025-05-07 06:48:23 UTC +++ content/zygote/zygote_main_linux.cc @@ -11,7 +11,9 @@ #include #include #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include #include @@ -41,7 +43,9 @@ #include "sandbox/linux/services/thread_helpers.h" #include "sandbox/linux/suid/client/setuid_sandbox_client.h" #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox.h" #include "sandbox/policy/switches.h" #include "third_party/icu/source/i18n/unicode/timezone.h" @@ -50,11 +54,13 @@ namespace content { namespace { +#if !BUILDFLAG(IS_BSD) void CloseFds(const std::vector& fds) { for (const auto& it : fds) { PCHECK(0 == IGNORE_EINTR(close(it))); } } +#endif base::OnceClosure ClosureFromTwoClosures(base::OnceClosure one, base::OnceClosure two) { @@ -157,9 +163,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand CHECK(!using_layer1_sandbox); } } +#endif bool ZygoteMain( std::vector> fork_delegates) { +#if !BUILDFLAG(IS_BSD) sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); @@ -224,6 +232,9 @@ bool ZygoteMain( // This function call can return multiple times, once per fork(). return zygote.ProcessRequests(); +#else + return false; +#endif } } // namespace content diff --git a/www/iridium/files/patch-device_bluetooth_bluetooth__adapter.cc b/www/iridium/files/patch-device_bluetooth_bluetooth__adapter.cc index aa309d9de541..eee3f74e5327 100644 --- a/www/iridium/files/patch-device_bluetooth_bluetooth__adapter.cc +++ b/www/iridium/files/patch-device_bluetooth_bluetooth__adapter.cc @@ -1,11 +1,11 @@ ---- device/bluetooth/bluetooth_adapter.cc.orig 2024-06-25 12:08:48 UTC +--- device/bluetooth/bluetooth_adapter.cc.orig 2025-05-07 06:48:23 UTC +++ device/bluetooth/bluetooth_adapter.cc @@ -32,7 +32,7 @@ namespace device { BluetoothAdapter::ServiceOptions::ServiceOptions() = default; BluetoothAdapter::ServiceOptions::~ServiceOptions() = default; -#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \ +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) && \ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) // static scoped_refptr BluetoothAdapter::CreateAdapter() { diff --git a/www/iridium/files/patch-device_bluetooth_cast__bluetooth.gni b/www/iridium/files/patch-device_bluetooth_cast__bluetooth.gni index 6ac86368d4a7..e65482b3ff08 100644 --- a/www/iridium/files/patch-device_bluetooth_cast__bluetooth.gni +++ b/www/iridium/files/patch-device_bluetooth_cast__bluetooth.gni @@ -1,9 +1,9 @@ ---- device/bluetooth/cast_bluetooth.gni.orig 2022-10-05 07:34:01 UTC +--- device/bluetooth/cast_bluetooth.gni.orig 2025-05-07 06:48:23 UTC +++ device/bluetooth/cast_bluetooth.gni @@ -2,5 +2,5 @@ import("//build/config/features.gni") declare_args() { force_cast_bluetooth = false - use_bluez = (is_linux && !is_castos && use_dbus) || is_chromeos + use_bluez = use_dbus && !is_bsd } diff --git a/www/iridium/files/patch-device_gamepad_BUILD.gn b/www/iridium/files/patch-device_gamepad_BUILD.gn index 6a4c7e18cdc3..cdc80d1bf067 100644 --- a/www/iridium/files/patch-device_gamepad_BUILD.gn +++ b/www/iridium/files/patch-device_gamepad_BUILD.gn @@ -1,11 +1,11 @@ ---- device/gamepad/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- device/gamepad/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ device/gamepad/BUILD.gn @@ -98,7 +98,7 @@ component("gamepad") { "hid_writer_linux.cc", "hid_writer_linux.h", ] - if (use_udev) { + if (use_udev && !is_bsd) { sources += [ "gamepad_device_linux.cc", "gamepad_device_linux.h", diff --git a/www/iridium/files/patch-device_gamepad_gamepad__provider.cc b/www/iridium/files/patch-device_gamepad_gamepad__provider.cc index 8e5161c410d6..d2bb300f35a5 100644 --- a/www/iridium/files/patch-device_gamepad_gamepad__provider.cc +++ b/www/iridium/files/patch-device_gamepad_gamepad__provider.cc @@ -1,11 +1,11 @@ ---- device/gamepad/gamepad_provider.cc.orig 2025-02-22 18:06:53 UTC +--- device/gamepad/gamepad_provider.cc.orig 2025-05-07 06:48:23 UTC +++ device/gamepad/gamepad_provider.cc @@ -159,7 +159,7 @@ void GamepadProvider::Initialize(std::unique_ptr("Gamepad polling thread"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, the data fetcher needs to watch file descriptors, so the message // loop needs to be a libevent loop. const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO; diff --git a/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc b/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc index d034cb86cd9d..9d64d3480e8f 100644 --- a/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc +++ b/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc @@ -1,11 +1,11 @@ ---- device/gamepad/hid_writer_linux.cc.orig 2022-03-28 18:11:04 UTC +--- device/gamepad/hid_writer_linux.cc.orig 2025-05-07 06:48:23 UTC +++ device/gamepad/hid_writer_linux.cc @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include + #include "device/gamepad/hid_writer_linux.h" #include diff --git a/www/iridium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc b/www/iridium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc index 605660ee890d..1352001ccfa2 100644 --- a/www/iridium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc +++ b/www/iridium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc @@ -1,11 +1,11 @@ ---- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/browser/api/api_browser_context_keyed_service_factories.cc @@ -120,7 +120,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt + MediaPerceptionAPIManager::GetFactoryInstance(); #endif - MessageService::GetFactoryInstance(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) NetworkingPrivateEventRouterFactory::GetInstance(); #endif PrinterProviderAPIFactory::GetInstance(); diff --git a/www/iridium/files/patch-extensions_browser_api_management_management__api.cc b/www/iridium/files/patch-extensions_browser_api_management_management__api.cc index aab1f269ed7e..82dd79c2df4e 100644 --- a/www/iridium/files/patch-extensions_browser_api_management_management__api.cc +++ b/www/iridium/files/patch-extensions_browser_api_management_management__api.cc @@ -1,11 +1,11 @@ ---- extensions/browser/api/management/management_api.cc.orig 2024-08-27 06:28:16 UTC +--- extensions/browser/api/management/management_api.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/browser/api/management/management_api.cc -@@ -285,7 +285,7 @@ bool PlatformSupportsApprovalFlowForExtensions() { +@@ -286,7 +286,7 @@ bool PlatformSupportsApprovalFlowForExtensions() { #if BUILDFLAG(IS_CHROMEOS) // ChromeOS devices have this feature already shipped. return true; -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled( supervised_user::kEnableExtensionsPermissionsForSupervisedUsersOnDesktop); #else diff --git a/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc index 5f483fb9a072..f07d692f5405 100644 --- a/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc +++ b/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -1,20 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2025-04-16 18:18:42 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/browser/api/messaging/message_service.cc -@@ -77,7 +77,7 @@ namespace { +@@ -81,7 +81,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_CHROMEOS) || BUILDFLAG(IS_BSD) const char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; const char kProhibitedByPoliciesError[] = -@@ -667,7 +667,7 @@ void MessageService::OpenChannelToNativeAppImpl( +@@ -673,7 +673,7 @@ void MessageService::OpenChannelToNativeAppImpl( return; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); if (!has_permission) { diff --git a/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc index 23465b8b7959..46cb6b5eebea 100644 --- a/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc +++ b/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc @@ -1,29 +1,29 @@ ---- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc @@ -12,7 +12,7 @@ #if BUILDFLAG(IS_CHROMEOS) #include "extensions/browser/api/networking_private/networking_private_chromeos.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "extensions/browser/api/networking_private/networking_private_linux.h" #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) #include "components/wifi/wifi_service.h" @@ -63,7 +63,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance std::unique_ptr delegate; #if BUILDFLAG(IS_CHROMEOS) delegate = std::make_unique(browser_context); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) delegate = std::make_unique(); #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) std::unique_ptr wifi_service(wifi::WiFiService::Create()); @@ -74,7 +74,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (ui_factory_) { delegate->set_ui_delegate(ui_factory_->CreateDelegate()); } diff --git a/www/iridium/files/patch-extensions_common_api___permission__features.json b/www/iridium/files/patch-extensions_common_api___permission__features.json index a6179a6c77fa..4e796587769e 100644 --- a/www/iridium/files/patch-extensions_common_api___permission__features.json +++ b/www/iridium/files/patch-extensions_common_api___permission__features.json @@ -1,29 +1,29 @@ ---- extensions/common/api/_permission_features.json.orig 2025-04-16 18:18:42 UTC +--- extensions/common/api/_permission_features.json.orig 2025-05-07 06:48:23 UTC +++ extensions/common/api/_permission_features.json @@ -134,7 +134,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 @@ -419,7 +419,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"], "allowlist": [ "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 @@ -463,7 +463,7 @@ "networkingPrivate": { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], + "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"], "allowlist": [ // DO NOT ADD ANY MORE ENTRIES HERE. // networkingPrivate is being migrated to networking.onc. diff --git a/www/iridium/files/patch-extensions_common_api_runtime.json b/www/iridium/files/patch-extensions_common_api_runtime.json index 508f662cfea0..ebf0e687387d 100644 --- a/www/iridium/files/patch-extensions_common_api_runtime.json +++ b/www/iridium/files/patch-extensions_common_api_runtime.json @@ -1,10 +1,10 @@ ---- extensions/common/api/runtime.json.orig 2024-06-25 12:08:48 UTC +--- extensions/common/api/runtime.json.orig 2025-05-07 06:48:23 UTC +++ extensions/common/api/runtime.json @@ -86,6 +86,7 @@ {"name": "cros", "description": "Specifies the Chrome operating system."}, {"name": "linux", "description": "Specifies the Linux operating system."}, {"name": "openbsd", "description": "Specifies the OpenBSD operating system."}, + {"name": "freebsd", "description": "Specifies the FreeBSD operating system."}, {"name": "fuchsia", "description": "Specifies the Fuchsia operating system."} ] }, diff --git a/www/iridium/files/patch-extensions_common_command.cc b/www/iridium/files/patch-extensions_common_command.cc index beae49a875e7..d8d30d4e844b 100644 --- a/www/iridium/files/patch-extensions_common_command.cc +++ b/www/iridium/files/patch-extensions_common_command.cc @@ -1,11 +1,11 @@ ---- extensions/common/command.cc.orig 2025-03-18 16:46:04 UTC +--- extensions/common/command.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/common/command.cc @@ -116,7 +116,7 @@ std::string Command::CommandPlatform() { return ui::kKeybindingPlatformMac; #elif BUILDFLAG(IS_CHROMEOS) return ui::kKeybindingPlatformChromeOs; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ui::kKeybindingPlatformLinux; #elif BUILDFLAG(IS_FUCHSIA) // TODO(crbug.com/40220501): Change this once we decide what string should be diff --git a/www/iridium/files/patch-extensions_common_features_feature.cc b/www/iridium/files/patch-extensions_common_features_feature.cc index c6657c5b8433..f136794d98c3 100644 --- a/www/iridium/files/patch-extensions_common_features_feature.cc +++ b/www/iridium/files/patch-extensions_common_features_feature.cc @@ -1,11 +1,11 @@ ---- extensions/common/features/feature.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/common/features/feature.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/common/features/feature.cc @@ -29,6 +29,8 @@ Feature::Platform Feature::GetCurrentPlatform() { return WIN_PLATFORM; #elif BUILDFLAG(IS_FUCHSIA) return FUCHSIA_PLATFORM; +#elif BUILDFLAG(IS_BSD) + return LINUX_PLATFORM; #else return UNSPECIFIED_PLATFORM; #endif diff --git a/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc index a3c3c038b252..e7366d14a3ae 100644 --- a/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc +++ b/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -1,11 +1,11 @@ ---- extensions/renderer/bindings/api_binding_util.cc.orig 2025-03-18 16:46:04 UTC +--- extensions/renderer/bindings/api_binding_util.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/renderer/bindings/api_binding_util.cc @@ -129,7 +129,7 @@ void InvalidateContext(v8::Local context) std::string GetPlatformString() { #if BUILDFLAG(IS_CHROMEOS) return "chromeos"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "linux"; #elif BUILDFLAG(IS_MAC) return "mac"; diff --git a/www/iridium/files/patch-extensions_renderer_bindings_argument__spec.cc b/www/iridium/files/patch-extensions_renderer_bindings_argument__spec.cc index 111cb54e06e4..eefaa8afe20b 100644 --- a/www/iridium/files/patch-extensions_renderer_bindings_argument__spec.cc +++ b/www/iridium/files/patch-extensions_renderer_bindings_argument__spec.cc @@ -1,11 +1,11 @@ ---- extensions/renderer/bindings/argument_spec.cc.orig 2022-12-06 08:09:13 UTC +--- extensions/renderer/bindings/argument_spec.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/renderer/bindings/argument_spec.cc @@ -18,6 +18,8 @@ #include "gin/data_object_builder.h" #include "gin/dictionary.h" +#include + namespace extensions { namespace { diff --git a/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc index ebbaeacfdb3f..77a83b26327d 100644 --- a/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc +++ b/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc @@ -1,20 +1,20 @@ ---- extensions/shell/app/shell_main_delegate.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/shell/app/shell_main_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/shell/app/shell_main_delegate.cc @@ -40,7 +40,7 @@ #if BUILDFLAG(IS_WIN) #include "base/base_paths_win.h" #include "base/process/process_info.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #elif BUILDFLAG(IS_MAC) #include "base/base_paths_mac.h" @@ -60,7 +60,7 @@ base::FilePath GetDataPath() { } base::FilePath data_dir; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr env(base::Environment::Create()); data_dir = base::nix::GetXDGDirectory( env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); diff --git a/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc index 988b9bc22f48..4fce27b6112f 100644 --- a/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc +++ b/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc @@ -1,11 +1,11 @@ ---- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc @@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { #if BUILDFLAG(IS_CHROMEOS) info->os = api::runtime::PlatformOs::kCros; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) info->os = api::runtime::PlatformOs::kLinux; #endif return true; diff --git a/www/iridium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/www/iridium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc index c143b272c986..ed2cf79bcfb9 100644 --- a/www/iridium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc +++ b/www/iridium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc @@ -1,11 +1,11 @@ ---- extensions/shell/browser/shell_browser_main_parts.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/shell/browser/shell_browser_main_parts.cc @@ -137,7 +137,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( switches::kAppShellAllowRoaming)) { network_controller_->SetCellularAllowRoaming(true); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // app_shell doesn't need GTK, so the fake input method context can work. // See crbug.com/381852 and revision fb69f142. // TODO(michaelpg): Verify this works for target environments. diff --git a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc index ef2031d4d3f5..332975708314 100644 --- a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc +++ b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc @@ -1,20 +1,20 @@ ---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2025-02-22 18:06:53 UTC +--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2025-05-07 06:48:23 UTC +++ extensions/shell/browser/shell_extensions_api_client.cc @@ -18,7 +18,7 @@ #include "extensions/shell/browser/shell_virtual_keyboard_delegate.h" #include "extensions/shell/browser/shell_web_view_guest_delegate.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h" #endif -@@ -54,7 +54,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() +@@ -56,7 +56,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() return std::make_unique(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { if (!file_system_delegate_) file_system_delegate_ = std::make_unique(); diff --git a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h index 8e6573e05ceb..19ba593693a1 100644 --- a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h +++ b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h @@ -1,19 +1,19 @@ ---- extensions/shell/browser/shell_extensions_api_client.h.orig 2025-02-22 18:06:53 UTC +--- extensions/shell/browser/shell_extensions_api_client.h.orig 2025-05-07 06:48:23 UTC +++ extensions/shell/browser/shell_extensions_api_client.h -@@ -34,14 +34,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC +@@ -36,14 +36,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC content::BrowserContext* browser_context) const override; std::unique_ptr CreateDisplayInfoProvider() const override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) FileSystemDelegate* GetFileSystemDelegate() override; #endif MessagingDelegate* GetMessagingDelegate() override; FeedbackPrivateDelegate* GetFeedbackPrivateDelegate() override; private: -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr file_system_delegate_; #endif std::unique_ptr messaging_delegate_; diff --git a/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc index d92549ab6dca..310d78df907c 100644 --- a/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc +++ b/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -1,29 +1,29 @@ ---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2025-04-16 18:18:42 UTC +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2025-05-07 06:48:23 UTC +++ google_apis/gcm/engine/heartbeat_manager.cc @@ -31,7 +31,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30; // Minimum time spent sleeping before we force a new heartbeat. const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The period at which to check if the heartbeat time has passed. Used to // protect against platforms where the timer is delayed by the system being // suspended. Only needed on linux because the other OSes provide a standard @@ -190,7 +190,7 @@ void HeartbeatManager::RestartTimer() { base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered, weak_ptr_factory_.GetWeakPtr())); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified // when the system is suspending or resuming. The only one that does not is // Linux so we need to poll to check for missed heartbeats. @@ -213,7 +213,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() { return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Otherwise check again later. io_task_runner_->PostDelayedTask( FROM_HERE, diff --git a/www/iridium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc b/www/iridium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc index 6df6d62f9add..5585733a38c0 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_dawn__context__provider.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/dawn_context_provider.cc.orig 2025-03-18 16:46:04 UTC +--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/dawn_context_provider.cc -@@ -341,7 +341,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke +@@ -377,7 +377,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke return base::FeatureList::IsEnabled(features::kSkiaGraphiteDawnUseD3D12) ? wgpu::BackendType::D3D12 : wgpu::BackendType::D3D11; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) return wgpu::BackendType::Vulkan; #elif BUILDFLAG(IS_APPLE) return wgpu::BackendType::Metal; diff --git a/www/iridium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/iridium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index f6da8af81793..a6b27c5c3309 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-03-18 16:46:04 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -2862,7 +2862,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/iridium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc b/www/iridium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc index d2dd26894886..21aede3f06f9 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_raster__decoder__unittest__context__lost.cc @@ -1,21 +1,21 @@ ---- gpu/command_buffer/service/raster_decoder_unittest_context_lost.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/command_buffer/service/raster_decoder_unittest_context_lost.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/raster_decoder_unittest_context_lost.cc @@ -15,6 +15,18 @@ using ::testing::Return; using ::testing::SaveArg; using ::testing::SetArrayArgument; +#ifndef GL_CONTEXT_LOST_KHR +#define GL_CONTEXT_LOST_KHR 0x0507 +#endif + +#ifndef GL_GUILTY_CONTEXT_RESET_KHR +#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253 +#endif + +#ifndef GL_INNOCENT_CONTEXT_RESET_KHR +#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254 +#endif + namespace gpu { namespace raster { diff --git a/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.cc index cc6413c5d628..6e59ac23555d 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.cc @@ -1,29 +1,29 @@ ---- gpu/command_buffer/service/shared_context_state.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/command_buffer/service/shared_context_state.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_context_state.cc -@@ -65,7 +65,7 @@ +@@ -64,7 +64,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 -@@ -334,7 +334,7 @@ SharedContextState::SharedContextState( +@@ -322,7 +322,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; -@@ -371,7 +371,7 @@ SharedContextState::~SharedContextState() { +@@ -359,7 +359,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/iridium/files/patch-gpu_command__buffer_service_shared__context__state.h b/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.h index 7bd949b21d00..432e497464a9 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.h +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__context__state.h @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_context_state.h.orig 2025-04-16 18:18:42 UTC +--- gpu/command_buffer/service/shared_context_state.h.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_context_state.h @@ -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(); } @@ -449,7 +449,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/iridium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc index daeb936ce670..41c675fb556c 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc @@ -1,11 +1,20 @@ ---- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2024-08-27 06:28:16 UTC +--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc @@ -20,7 +20,7 @@ namespace { // TODO(penghuang): verify the scanout is the right usage for video playback. // crbug.com/1280798 constexpr SharedImageUsageSet kSupportedUsage = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SHARED_IMAGE_USAGE_SCANOUT | #endif SHARED_IMAGE_USAGE_GLES2_READ | SHARED_IMAGE_USAGE_GLES2_WRITE | +@@ -121,7 +121,7 @@ bool AngleVulkanImageBackingFactory::IsGMBSupported( + switch (gmb_type) { + case gfx::EMPTY_BUFFER: + return true; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + case gfx::NATIVE_PIXMAP: { + auto* vulkan_implementation = + context_state_->vk_context_provider()->GetVulkanImplementation(); diff --git a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc index 98dd0d1fd290..4f0fdf231d72 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc +++ b/www/iridium/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-02-22 18:06:53 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc @@ -57,7 +57,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/scoped_binders.h" -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" #if BUILDFLAG(DAWN_ENABLE_BACKEND_OPENGLES) #include "gpu/command_buffer/service/shared_image/dawn_gl_texture_representation.h" @@ -702,7 +702,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/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc index 2085a8bc2203..06ba5a3374fa 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc @@ -143,7 +143,7 @@ bool IsFormatSupported(viz::SharedImageFormat format, SharedImageUsageSet SupportedUsage() { SharedImageUsageSet supported_usage = -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) SHARED_IMAGE_USAGE_WEBGPU_READ | SHARED_IMAGE_USAGE_WEBGPU_WRITE | SHARED_IMAGE_USAGE_WEBGPU_SWAP_CHAIN_TEXTURE | SHARED_IMAGE_USAGE_WEBGPU_STORAGE_TEXTURE | diff --git a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index a0366215aa59..8d5c46268063 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -1,29 +1,38 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc @@ -48,7 +48,7 @@ #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h" #include "gpu/vulkan/vulkan_device_queue.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" #endif -@@ -112,7 +112,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -102,7 +102,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 +@@ -123,7 +123,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; -@@ -315,7 +315,7 @@ SharedImageFactory::SharedImageFactory( +@@ -326,7 +326,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/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc index 7ac78103b8c6..fc80e495bd6c 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/shared_image_manager.cc @@ -756,7 +756,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/iridium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc index 804fa8d9529d..d30142dddb72 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2024-06-25 12:08:48 UTC +--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc @@ -214,7 +214,7 @@ bool WrappedSkImageBacking::Initialize(const std::stri constexpr GrRenderable is_renderable = GrRenderable::kYes; constexpr GrProtected is_protected = GrProtected::kNo; -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // Blue for single-planar and magenta-ish for multi-planar. SkColor4f fallback_color = format().is_single_plane() ? SkColors::kBlue : SkColors::kWhite; diff --git a/www/iridium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/iridium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index fd7cf3a5bc7f..f5e8af979e5d 100644 --- a/www/iridium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/iridium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-03-18 16:46:04 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1752,7 +1752,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1754,7 +1754,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte backend_types = {wgpu::BackendType::D3D12}; #elif BUILDFLAG(IS_MAC) 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}; -@@ -1994,7 +1994,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -1996,7 +1996,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/iridium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc b/www/iridium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc index e8cac3ac7969..c4082f255b1c 100644 --- a/www/iridium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc +++ b/www/iridium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2024-11-04 08:56:03 UTC +--- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc @@ -32,7 +32,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 "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" #endif @@ -75,7 +75,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/iridium/files/patch-gpu_config_gpu__control__list.cc b/www/iridium/files/patch-gpu_config_gpu__control__list.cc index b403c9dcad82..6c050137e552 100644 --- a/www/iridium/files/patch-gpu_config_gpu__control__list.cc +++ b/www/iridium/files/patch-gpu_config_gpu__control__list.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_control_list.cc.orig 2025-02-22 18:06:53 UTC +--- gpu/config/gpu_control_list.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/config/gpu_control_list.cc @@ -831,7 +831,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/iridium/files/patch-gpu_config_gpu__finch__features.cc b/www/iridium/files/patch-gpu_config_gpu__finch__features.cc index eef44131e8a5..59e4752cfad1 100644 --- a/www/iridium/files/patch-gpu_config_gpu__finch__features.cc +++ b/www/iridium/files/patch-gpu_config_gpu__finch__features.cc @@ -1,12 +1,12 @@ ---- gpu/config/gpu_finch_features.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/config/gpu_finch_features.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/config/gpu_finch_features.cc @@ -155,7 +155,8 @@ BASE_FEATURE(kAllowHardwareBufferUsageFlagsFromVulkanF BASE_FEATURE(kDefaultEnableGpuRasterization, "DefaultEnableGpuRasterization", #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ + BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/iridium/files/patch-gpu_config_gpu__info__collector.cc b/www/iridium/files/patch-gpu_config_gpu__info__collector.cc index 9a28fa117ab4..066a0bdfabd9 100644 --- a/www/iridium/files/patch-gpu_config_gpu__info__collector.cc +++ b/www/iridium/files/patch-gpu_config_gpu__info__collector.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_info_collector.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/config/gpu_info_collector.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/config/gpu_info_collector.cc -@@ -347,7 +347,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance +@@ -349,7 +349,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance void ReportWebGPUSupportMetrics(dawn::native::Instance* instance) { static BASE_FEATURE(kCollectWebGPUSupportMetrics, "CollectWebGPUSupportMetrics", -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT); #else base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-gpu_config_gpu__test__config.cc b/www/iridium/files/patch-gpu_config_gpu__test__config.cc index 4718ac84df3c..79cfa3f273bf 100644 --- a/www/iridium/files/patch-gpu_config_gpu__test__config.cc +++ b/www/iridium/files/patch-gpu_config_gpu__test__config.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_test_config.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/config/gpu_test_config.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/config/gpu_test_config.cc @@ -27,7 +27,7 @@ namespace { GPUTestConfig::OS GetCurrentOS() { #if BUILDFLAG(IS_CHROMEOS) return GPUTestConfig::kOsChromeOS; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GPUTestConfig::kOsLinux; #elif BUILDFLAG(IS_WIN) int32_t major_version = 0; diff --git a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc index 99683556a785..81e5947d9f11 100644 --- a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc +++ b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc @@ -1,20 +1,20 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2024-11-04 08:56:03 UTC +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/ipc/common/gpu_memory_buffer_support.cc @@ -26,7 +26,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif -#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" #endif @@ -55,7 +55,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() return gfx::IO_SURFACE_BUFFER; #elif BUILDFLAG(IS_ANDROID) return gfx::ANDROID_HARDWARE_BUFFER; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) return gfx::NATIVE_PIXMAP; #elif BUILDFLAG(IS_WIN) return gfx::DXGI_SHARED_HANDLE; diff --git a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h index d95cc2449a72..0485f38a7c19 100644 --- a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h +++ b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h @@ -1,11 +1,11 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2023-08-28 20:17:35 UTC +--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2025-05-07 06:48:23 UTC +++ gpu/ipc/common/gpu_memory_buffer_support.h @@ -21,7 +21,7 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/gpu_memory_buffer.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/iridium/files/patch-gpu_ipc_service_gpu__init.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc index 10d909ad892e..905d8cd520e8 100644 --- a/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/ipc/service/gpu_init.cc @@ -153,7 +153,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 +@@ -389,7 +389,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 +@@ -427,7 +427,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 +@@ -524,7 +524,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 -@@ -590,7 +590,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -586,7 +586,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; -@@ -758,7 +758,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -754,7 +754,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. -@@ -810,7 +810,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -806,7 +806,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 -@@ -1014,7 +1014,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1008,7 +1008,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 -@@ -1069,7 +1069,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1063,7 +1063,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/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc index 292deb113cc6..85cb50760cb8 100644 --- a/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -1,20 +1,20 @@ ---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2024-11-04 08:56:03 UTC +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2025-05-07 06:48:23 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( // 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/iridium/files/patch-gpu_ipc_service_x__util.h b/www/iridium/files/patch-gpu_ipc_service_x__util.h index 6bce1d225131..a94a018f0ed3 100644 --- a/www/iridium/files/patch-gpu_ipc_service_x__util.h +++ b/www/iridium/files/patch-gpu_ipc_service_x__util.h @@ -1,11 +1,11 @@ ---- gpu/ipc/service/x_util.h.orig 2024-06-25 12:08:48 UTC +--- gpu/ipc/service/x_util.h.orig 2025-05-07 06:48:23 UTC +++ gpu/ipc/service/x_util.h @@ -12,7 +12,7 @@ #include "gpu/ipc/service/gpu_config.h" #include "ui/base/ozone_buildflags.h" -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) namespace gpu { diff --git a/www/iridium/files/patch-gpu_vulkan_generate__bindings.py b/www/iridium/files/patch-gpu_vulkan_generate__bindings.py index 37a55ab051c8..d38760231276 100644 --- a/www/iridium/files/patch-gpu_vulkan_generate__bindings.py +++ b/www/iridium/files/patch-gpu_vulkan_generate__bindings.py @@ -1,11 +1,11 @@ ---- gpu/vulkan/generate_bindings.py.orig 2024-06-25 12:08:48 UTC +--- gpu/vulkan/generate_bindings.py.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/generate_bindings.py @@ -271,7 +271,7 @@ VULKAN_DEVICE_FUNCTIONS = [ ] }, { - 'ifdef': 'BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)', + 'ifdef': 'BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)', 'extension': 'VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME', 'functions': [ 'vkGetImageDrmFormatModifierPropertiesEXT', diff --git a/www/iridium/files/patch-gpu_vulkan_semaphore__handle.cc b/www/iridium/files/patch-gpu_vulkan_semaphore__handle.cc index 156b462b78a4..f4f4e355f087 100644 --- a/www/iridium/files/patch-gpu_vulkan_semaphore__handle.cc +++ b/www/iridium/files/patch-gpu_vulkan_semaphore__handle.cc @@ -1,20 +1,20 @@ ---- gpu/vulkan/semaphore_handle.cc.orig 2023-11-22 14:00:11 UTC +--- gpu/vulkan/semaphore_handle.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/semaphore_handle.cc @@ -39,7 +39,7 @@ SemaphoreHandle::SemaphoreHandle(gfx::GpuFenceHandle f // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic. Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA, fence_handle.Release()); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, fence_handle.Release()); #elif BUILDFLAG(IS_POSIX) @@ -64,7 +64,7 @@ gfx::GpuFenceHandle SemaphoreHandle::ToGpuFenceHandle( // VkSemaphore, which can then be used to submit present work, see // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic. fence_handle.Adopt(TakeHandle()); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (type_ == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR) { fence_handle.Adopt(TakeHandle()); } else { diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.cc b/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.cc index 59299f5fc570..3037dac7ff57 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.cc +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.cc @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_device_queue.cc.orig 2025-03-18 16:46:04 UTC +--- gpu/vulkan/vulkan_device_queue.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_device_queue.cc @@ -156,7 +156,7 @@ bool VulkanDeviceQueue::Initialize( // In dual-CPU cases, we cannot detect the active GPU correctly on Linux, // so don't select GPU device based on the |gpu_info|. -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // If gpu_info is provided, the device should match it. if (gpu_info && (device_properties.vendorID != gpu_info->gpu.vendor_id || device_properties.deviceID != gpu_info->gpu.device_id)) { @@ -303,7 +303,7 @@ bool VulkanDeviceQueue::Initialize( // Android, Fuchsia, Linux, and CrOS (VaapiVideoDecoder) need YCbCr sampler // support. #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!physical_device_info.feature_sampler_ycbcr_conversion) { LOG(ERROR) << "samplerYcbcrConversion is not supported."; return false; diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.h b/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.h index b6676b12a322..a07576e34cea 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.h +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__device__queue.h @@ -1,11 +1,11 @@ ---- gpu/vulkan/vulkan_device_queue.h.orig 2025-03-18 16:46:04 UTC +--- gpu/vulkan/vulkan_device_queue.h.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_device_queue.h @@ -182,7 +182,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VkPhysicalDeviceSamplerYcbcrConversionFeatures sampler_ycbcr_conversion_features_{ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES}; diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc index 5d1c081fe2c3..2f1f1d4f4715 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_function_pointers.cc.orig 2024-06-25 12:08:48 UTC +--- gpu/vulkan/vulkan_function_pointers.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_function_pointers.cc @@ -1297,7 +1297,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (gfx::HasExtension(enabled_extensions, VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) { constexpr char kvkGetImageDrmFormatModifierPropertiesEXT[] = @@ -1498,7 +1498,7 @@ void VulkanFunctionPointers::ResetForTesting() { vkGetSwapchainImagesKHR = nullptr; vkQueuePresentKHR = nullptr; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) vkGetImageDrmFormatModifierPropertiesEXT = nullptr; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h index 6c515861575a..133528551b65 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h @@ -1,27 +1,27 @@ ---- gpu/vulkan/vulkan_function_pointers.h.orig 2024-06-25 12:08:48 UTC +--- gpu/vulkan/vulkan_function_pointers.h.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_function_pointers.h -@@ -322,7 +322,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers +@@ -391,7 +391,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers VulkanFunction vkGetSwapchainImagesKHR; VulkanFunction vkQueuePresentKHR; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VulkanFunction vkGetImageDrmFormatModifierPropertiesEXT; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -1336,7 +1336,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue +@@ -1405,7 +1405,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue pPresentInfo); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, -@@ -1346,4 +1346,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp +@@ -1415,4 +1415,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ \ No newline at end of file +#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__image.h b/www/iridium/files/patch-gpu_vulkan_vulkan__image.h index 910287117bb1..182d907496ca 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__image.h +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__image.h @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_image.h.orig 2023-03-13 07:33:08 UTC +--- gpu/vulkan/vulkan_image.h.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_image.h @@ -87,7 +87,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 { 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/iridium/files/patch-gpu_vulkan_vulkan__util.cc b/www/iridium/files/patch-gpu_vulkan_vulkan__util.cc index 4cf75cc73672..0b4730996da9 100644 --- a/www/iridium/files/patch-gpu_vulkan_vulkan__util.cc +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__util.cc @@ -1,11 +1,11 @@ ---- gpu/vulkan/vulkan_util.cc.orig 2025-04-16 18:18:42 UTC +--- gpu/vulkan/vulkan_util.cc.orig 2025-05-07 06:48:23 UTC +++ gpu/vulkan/vulkan_util.cc @@ -467,7 +467,7 @@ bool CheckVulkanCompatibilities( } } -#if BUILDFLAG(IS_LINUX) && !defined(OZONE_PLATFORM_IS_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(OZONE_PLATFORM_IS_X11) // Vulkan is only supported with X11 on Linux for now. return false; #else diff --git a/www/iridium/files/patch-headless_BUILD.gn b/www/iridium/files/patch-headless_BUILD.gn index f184f3a006d9..14a45be6245a 100644 --- a/www/iridium/files/patch-headless_BUILD.gn +++ b/www/iridium/files/patch-headless_BUILD.gn @@ -1,11 +1,11 @@ ---- headless/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- headless/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ headless/BUILD.gn -@@ -474,7 +474,7 @@ component("headless_non_renderer") { +@@ -475,7 +475,7 @@ component("headless_non_renderer") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/content/browser", "//components/crash/core/app", diff --git a/www/iridium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc b/www/iridium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc index 64ade5debfcc..02164792fa3c 100644 --- a/www/iridium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc +++ b/www/iridium/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc @@ -1,39 +1,39 @@ ---- headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2025-04-16 18:18:42 UTC +--- headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2025-05-07 06:48:23 UTC +++ headless/lib/browser/headless_browser_main_parts_posix.cc @@ -26,13 +26,13 @@ #include "content/public/browser/browser_thread.h" #include "headless/lib/browser/headless_browser_impl.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/command_line.h" #include "components/os_crypt/sync/key_storage_config_linux.h" #include "components/os_crypt/sync/os_crypt.h" #include "headless/public/switches.h" -#if BUILDFLAG(USE_DBUS) +#if BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_BSD) #include "device/bluetooth/dbus/bluez_dbus_manager.h" #endif @@ -166,7 +166,7 @@ class BrowserShutdownHandler { } // namespace -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kProductName[] = "HeadlessChrome"; #endif @@ -174,9 +174,9 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLo BrowserShutdownHandler::Install(base::BindOnce( &HeadlessBrowserImpl::ShutdownWithExitCode, browser_->GetWeakPtr())); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) -#if BUILDFLAG(USE_DBUS) +#if BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_BSD) bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr); #endif diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc index e08b0925f86a..d85f421daaa6 100644 --- a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc +++ b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_content_browser_client.cc.orig 2025-04-16 18:18:42 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2025-05-07 06:48:23 UTC +++ headless/lib/browser/headless_content_browser_client.cc @@ -58,7 +58,7 @@ #include "content/public/common/content_descriptors.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) #include "components/os_crypt/sync/os_crypt.h" // nogncheck #include "content/public/browser/network_service_util.h" #endif @@ -520,7 +520,7 @@ void HeadlessContentBrowserClient::HandleExplicitlyAll void HeadlessContentBrowserClient::SetEncryptionKey( ::network::mojom::NetworkService* network_service) { -#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) // The OSCrypt keys are process bound, so if network service is out of // process, send it the required key if it is available. if (content::IsOutOfProcessNetworkService() diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h index c49cde274cf0..038723a66923 100644 --- a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h +++ b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_content_browser_client.h.orig 2025-04-16 18:18:42 UTC +--- headless/lib/browser/headless_content_browser_client.h.orig 2025-05-07 06:48:23 UTC +++ headless/lib/browser/headless_content_browser_client.h @@ -47,7 +47,7 @@ class HeadlessContentBrowserClient : public content::C CreateDevToolsManagerDelegate() override; content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings( content::BrowserContext* context) 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/iridium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/iridium/files/patch-headless_lib_browser_headless__web__contents__impl.cc index def1189acdcb..32178af77221 100644 --- a/www/iridium/files/patch-headless_lib_browser_headless__web__contents__impl.cc +++ b/www/iridium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_web_contents_impl.cc.orig 2025-04-16 18:18:42 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2025-05-07 06:48:23 UTC +++ headless/lib/browser/headless_web_contents_impl.cc @@ -70,7 +70,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, namespace { void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc index 14f68f4da8fd..1a1cf168e966 100644 --- a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2025-03-18 16:46:04 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -408,7 +408,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -407,7 +407,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( if (process_type != ::switches::kZygoteProcess) { g_headless_crash_client.Pointer()->set_crash_dumps_dir( command_line.GetSwitchValuePath(switches::kCrashDumpsDir)); -#if !BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) crash_reporter::InitializeCrashpad(process_type.empty(), process_type); #endif // !BUILDFLAG(IS_WIN) crash_keys::SetSwitchesFromCommandLine(command_line, nullptr); diff --git a/www/iridium/files/patch-ipc_ipc__channel.h b/www/iridium/files/patch-ipc_ipc__channel.h index 10bcdb7d3e01..2623942d0f80 100644 --- a/www/iridium/files/patch-ipc_ipc__channel.h +++ b/www/iridium/files/patch-ipc_ipc__channel.h @@ -1,11 +1,11 @@ ---- ipc/ipc_channel.h.orig 2024-06-25 12:08:48 UTC +--- ipc/ipc_channel.h.orig 2025-05-07 06:48:23 UTC +++ ipc/ipc_channel.h @@ -218,7 +218,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { 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/iridium/files/patch-ipc_ipc__channel__common.cc b/www/iridium/files/patch-ipc_ipc__channel__common.cc index 9c887f40ede3..0cd750c6aafa 100644 --- a/www/iridium/files/patch-ipc_ipc__channel__common.cc +++ b/www/iridium/files/patch-ipc_ipc__channel__common.cc @@ -1,11 +1,11 @@ ---- ipc/ipc_channel_common.cc.orig 2023-03-13 07:33:08 UTC +--- ipc/ipc_channel_common.cc.orig 2025-05-07 06:48:23 UTC +++ ipc/ipc_channel_common.cc @@ -10,7 +10,7 @@ namespace IPC { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace { int g_global_pid = 0; diff --git a/www/iridium/files/patch-ipc_ipc__channel__mojo.cc b/www/iridium/files/patch-ipc_ipc__channel__mojo.cc index 9e646b1bae54..ecaea7234d3a 100644 --- a/www/iridium/files/patch-ipc_ipc__channel__mojo.cc +++ b/www/iridium/files/patch-ipc_ipc__channel__mojo.cc @@ -1,11 +1,11 @@ ---- ipc/ipc_channel_mojo.cc.orig 2023-03-13 07:33:08 UTC +--- ipc/ipc_channel_mojo.cc.orig 2025-05-07 06:48:23 UTC +++ ipc/ipc_channel_mojo.cc @@ -105,7 +105,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/iridium/files/patch-ipc_ipc__message__utils.cc b/www/iridium/files/patch-ipc_ipc__message__utils.cc index 3fb09f553916..f4f992fc97c0 100644 --- a/www/iridium/files/patch-ipc_ipc__message__utils.cc +++ b/www/iridium/files/patch-ipc_ipc__message__utils.cc @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.cc.orig 2024-12-22 12:24:29 UTC +--- ipc/ipc_message_utils.cc.orig 2025-05-07 06:48:23 UTC +++ ipc/ipc_message_utils.cc @@ -399,7 +399,7 @@ void ParamTraits::Log(const param_type& } #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)) void ParamTraits::Log(const param_type& p, std::string* l) { l->append(base::NumberToString(p)); diff --git a/www/iridium/files/patch-ipc_ipc__message__utils.h b/www/iridium/files/patch-ipc_ipc__message__utils.h index af9aba1eabbd..51285f68af11 100644 --- a/www/iridium/files/patch-ipc_ipc__message__utils.h +++ b/www/iridium/files/patch-ipc_ipc__message__utils.h @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.h.orig 2025-03-18 16:46:04 UTC +--- ipc/ipc_message_utils.h.orig 2025-05-07 06:48:23 UTC +++ ipc/ipc_message_utils.h -@@ -215,7 +215,7 @@ struct ParamTraits { +@@ -216,7 +216,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/iridium/files/patch-media_BUILD.gn b/www/iridium/files/patch-media_BUILD.gn index 29d28b985ac7..0584658ebf27 100644 --- a/www/iridium/files/patch-media_BUILD.gn +++ b/www/iridium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2025-03-18 16:46:04 UTC +--- media/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ media/BUILD.gn -@@ -94,6 +94,9 @@ config("media_config") { +@@ -99,6 +99,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/iridium/files/patch-media_audio_BUILD.gn b/www/iridium/files/patch-media_audio_BUILD.gn index 1ca657e87e2d..632457614659 100644 --- a/www/iridium/files/patch-media_audio_BUILD.gn +++ b/www/iridium/files/patch-media_audio_BUILD.gn @@ -1,27 +1,27 @@ ---- media/audio/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- media/audio/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ media/audio/BUILD.gn -@@ -271,9 +271,23 @@ source_set("audio") { +@@ -275,9 +275,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/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc index e91b1dec3daa..a9c7c313ad1b 100644 --- a/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ b/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -1,54 +1,54 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2025-03-18 16:46:04 UTC +--- media/audio/alsa/audio_manager_alsa.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/alsa/audio_manager_alsa.cc @@ -106,7 +106,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 = NULL; int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { @@ -118,7 +120,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, @@ -201,7 +205,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable( // 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"; +#else static const char kDeviceTypeDesired[] = "plughw"; +#endif return strncmp(kDeviceTypeDesired, device_name, std::size(kDeviceTypeDesired) - 1) == 0; } @@ -253,7 +261,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 != NULL; hint_iter++) { @@ -277,7 +287,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/iridium/files/patch-media_audio_audio__input__device.cc b/www/iridium/files/patch-media_audio_audio__input__device.cc index 41727d5851c8..1a097e8bf92d 100644 --- a/www/iridium/files/patch-media_audio_audio__input__device.cc +++ b/www/iridium/files/patch-media_audio_audio__input__device.cc @@ -1,11 +1,11 @@ ---- media/audio/audio_input_device.cc.orig 2025-02-22 18:06:53 UTC +--- media/audio/audio_input_device.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/audio_input_device.cc @@ -275,7 +275,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/iridium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/iridium/files/patch-media_audio_audio__output__proxy__unittest.cc index fb80a0ad5023..4b78211fd102 100644 --- a/www/iridium/files/patch-media_audio_audio__output__proxy__unittest.cc +++ b/www/iridium/files/patch-media_audio_audio__output__proxy__unittest.cc @@ -1,14 +1,14 @@ ---- media/audio/audio_output_proxy_unittest.cc.orig 2023-03-13 07:33:08 UTC +--- media/audio/audio_output_proxy_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/audio_output_proxy_unittest.cc @@ -443,7 +443,11 @@ class AudioOutputProxyTest : public testing::Test { // |stream| is closed at this point. Start() should reopen it again. EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _)) .Times(2) +#if BUILDFLAG(IS_BSD) + .WillRepeatedly(Return(static_cast(NULL))); +#else .WillRepeatedly(Return(reinterpret_cast(NULL))); +#endif EXPECT_CALL(callback_, OnError(_)).Times(2); diff --git a/www/iridium/files/patch-media_audio_pulse_pulse__util.cc b/www/iridium/files/patch-media_audio_pulse_pulse__util.cc index 0d37a7ae2e8e..a660a2cb0869 100644 --- a/www/iridium/files/patch-media_audio_pulse_pulse__util.cc +++ b/www/iridium/files/patch-media_audio_pulse_pulse__util.cc @@ -1,14 +1,14 @@ ---- media/audio/pulse/pulse_util.cc.orig 2024-11-04 08:56:03 UTC +--- media/audio/pulse/pulse_util.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/pulse/pulse_util.cc @@ -50,7 +50,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/iridium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.cc index fb3135cbc20e..69792852be8d 100644 --- a/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.cc +++ b/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -1,216 +1,216 @@ ---- media/audio/sndio/audio_manager_sndio.cc.orig 2024-08-01 05:47:53 UTC +--- media/audio/sndio/audio_manager_sndio.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/audio_manager_sndio.cc @@ -0,0 +1,213 @@ +// 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 "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 char* 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/iridium/files/patch-media_audio_sndio_audio__manager__sndio.h b/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.h index 192ac27408cf..0bebefb3420c 100644 --- a/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.h +++ b/www/iridium/files/patch-media_audio_sndio_audio__manager__sndio.h @@ -1,69 +1,69 @@ ---- media/audio/sndio/audio_manager_sndio.h.orig 2022-03-28 18:11:04 UTC +--- media/audio/sndio/audio_manager_sndio.h.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/audio_manager_sndio.h @@ -0,0 +1,66 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ +#define MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ + +#include + +#include "base/compiler_specific.h" +#include "base/memory/ref_counted.h" +#include "base/threading/thread.h" +#include "media/audio/audio_manager_base.h" + +namespace media { + +class MEDIA_EXPORT AudioManagerSndio : public AudioManagerBase { + public: + AudioManagerSndio(std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory); + + AudioManagerSndio(const AudioManagerSndio&) = delete; + AudioManagerSndio& operator=(const AudioManagerSndio&) = delete; + + ~AudioManagerSndio() override; + + // Implementation of AudioManager. + bool HasAudioOutputDevices() override; + bool HasAudioInputDevices() override; + void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; + void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; + AudioParameters GetInputStreamParameters( + const std::string& device_id) override; + const char* GetName() override; + + // Implementation of AudioManagerBase. + AudioOutputStream* MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) override; + AudioOutputStream* MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + + protected: + AudioParameters GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) override; + + private: + // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. + AudioOutputStream* MakeOutputStream(const AudioParameters& params); + AudioInputStream* MakeInputStream(const AudioParameters& params); +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ diff --git a/www/iridium/files/patch-media_audio_sndio_sndio__input.cc b/www/iridium/files/patch-media_audio_sndio_sndio__input.cc index e99b1c8a19bf..d8541f45308a 100644 --- a/www/iridium/files/patch-media_audio_sndio_sndio__input.cc +++ b/www/iridium/files/patch-media_audio_sndio_sndio__input.cc @@ -1,203 +1,203 @@ ---- media/audio/sndio/sndio_input.cc.orig 2023-07-24 14:27:53 UTC +--- media/audio/sndio/sndio_input.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/sndio_input.cc @@ -0,0 +1,200 @@ +// 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_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/iridium/files/patch-media_audio_sndio_sndio__input.h b/www/iridium/files/patch-media_audio_sndio_sndio__input.h index 6ce82dab0318..55d8bff8a511 100644 --- a/www/iridium/files/patch-media_audio_sndio_sndio__input.h +++ b/www/iridium/files/patch-media_audio_sndio_sndio__input.h @@ -1,94 +1,94 @@ ---- media/audio/sndio/sndio_input.h.orig 2022-03-28 18:11:04 UTC +--- media/audio/sndio/sndio_input.h.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/sndio_input.h @@ -0,0 +1,91 @@ +// 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. + +#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ +#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ + +#include +#include +#include + +#include "base/compiler_specific.h" +#include "base/memory/weak_ptr.h" +#include "base/time/time.h" +#include "media/audio/agc_audio_stream.h" +#include "media/audio/audio_io.h" +#include "media/audio/audio_device_description.h" +#include "media/base/audio_parameters.h" + +namespace media { + +class AudioManagerBase; + +// Implementation of AudioOutputStream using sndio(7) +class SndioAudioInputStream : public AgcAudioStream { + public: + // Pass this to the constructor if you want to attempt auto-selection + // of the audio recording device. + static const char kAutoSelectDevice[]; + + // Create a PCM Output stream for the SNDIO device identified by + // |device_name|. If unsure of what to use for |device_name|, use + // |kAutoSelectDevice|. + SndioAudioInputStream(AudioManagerBase* audio_manager, + const std::string& device_name, + const AudioParameters& params); + + SndioAudioInputStream(const SndioAudioInputStream&) = delete; + SndioAudioInputStream& operator=(const SndioAudioInputStream&) = delete; + + ~SndioAudioInputStream() override; + + // Implementation of AudioInputStream. + OpenOutcome Open() override; + void Start(AudioInputCallback* callback) override; + void Stop() override; + void Close() override; + double GetMaxVolume() override; + void SetVolume(double volume) override; + double GetVolume() override; + bool IsMuted() override; + void SetOutputDeviceForAec(const std::string& output_device_id) override; + + private: + + enum StreamState { + kClosed, // Not opened yet + kStopped, // Device opened, but not started yet + kRunning, // Started, device playing + kStopWait // Stopping, waiting for the real-time thread to exit + }; + + // C-style call-backs + static void OnMoveCallback(void *arg, int delta); + static void* ThreadEntry(void *arg); + + // Continuously moves data from the device to the consumer + void ThreadLoop(); + // Our creator, the audio manager needs to be notified when we close. + AudioManagerBase* manager; + // Parameters of the source + AudioParameters params; + // We store data here for consumer + std::unique_ptr audio_bus; + // Call-back that consumes recorded data + AudioInputCallback* callback; // Valid during a recording session. + // Handle of the audio device + struct sio_hdl* hdl; + // Current state of the stream + enum StreamState state; + // High priority thread running ThreadLoop() + pthread_t thread; + // Number of frames buffered in the hardware + int hw_delay; + // Temporary buffer where data is stored sndio-compatible format + char* buffer; +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ diff --git a/www/iridium/files/patch-media_audio_sndio_sndio__output.cc b/www/iridium/files/patch-media_audio_sndio_sndio__output.cc index 0111100cd59d..60100ec47704 100644 --- a/www/iridium/files/patch-media_audio_sndio_sndio__output.cc +++ b/www/iridium/files/patch-media_audio_sndio_sndio__output.cc @@ -1,190 +1,190 @@ ---- media/audio/sndio/sndio_output.cc.orig 2023-03-13 07:33:08 UTC +--- media/audio/sndio/sndio_output.cc.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/sndio_output.cc @@ -0,0 +1,187 @@ +// 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_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/iridium/files/patch-media_audio_sndio_sndio__output.h b/www/iridium/files/patch-media_audio_sndio_sndio__output.h index 20fbe15f8951..486e8c1c08cd 100644 --- a/www/iridium/files/patch-media_audio_sndio_sndio__output.h +++ b/www/iridium/files/patch-media_audio_sndio_sndio__output.h @@ -1,91 +1,91 @@ ---- media/audio/sndio/sndio_output.h.orig 2022-03-28 18:11:04 UTC +--- media/audio/sndio/sndio_output.h.orig 2025-05-07 06:48:23 UTC +++ media/audio/sndio/sndio_output.h @@ -0,0 +1,88 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ +#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ + +#include +#include + +#include "base/time/tick_clock.h" +#include "base/time/time.h" +#include "media/audio/audio_io.h" + +namespace media { + +class AudioManagerBase; + +// Implementation of AudioOutputStream using sndio(7) +class SndioAudioOutputStream : public AudioOutputStream { + public: + // The manager is creating this object + SndioAudioOutputStream(const AudioParameters& params, + AudioManagerBase* manager); + + SndioAudioOutputStream(const SndioAudioOutputStream&) = delete; + SndioAudioOutputStream& operator=(const SndioAudioOutputStream&) = delete; + + virtual ~SndioAudioOutputStream(); + + // Implementation of AudioOutputStream. + bool Open() override; + void Close() override; + void Start(AudioSourceCallback* callback) override; + void Stop() override; + void SetVolume(double volume) override; + void GetVolume(double* volume) override; + void Flush() override; + + friend void sndio_onmove(void *arg, int delta); + friend void sndio_onvol(void *arg, unsigned int vol); + friend void *sndio_threadstart(void *arg); + + private: + enum StreamState { + kClosed, // Not opened yet + kStopped, // Device opened, but not started yet + kRunning, // Started, device playing + kStopWait // Stopping, waiting for the real-time thread to exit + }; + + // C-style call-backs + static void OnMoveCallback(void *arg, int delta); + static void OnVolCallback(void *arg, unsigned int vol); + static void* ThreadEntry(void *arg); + + // Continuously moves data from the producer to the device + void ThreadLoop(void); + + // Our creator, the audio manager needs to be notified when we close. + AudioManagerBase* manager; + // Parameters of the source + AudioParameters params; + // Source stores data here + std::unique_ptr audio_bus; + // Call-back that produces data to play + AudioSourceCallback* source; + // Handle of the audio device + struct sio_hdl* hdl; + // Current state of the stream + enum StreamState state; + // High priority thread running ThreadLoop() + pthread_t thread; + // Protects vol, volpending and hw_delay + pthread_mutex_t mutex; + // Current volume in the 0..SIO_MAXVOL range + int vol; + // Set to 1 if volumes must be refreshed in the realtime thread + int volpending; + // Number of frames buffered in the hardware + int hw_delay; + // Temporary buffer where data is stored sndio-compatible format + char* buffer; +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ diff --git a/www/iridium/files/patch-media_base_audio__latency.cc b/www/iridium/files/patch-media_base_audio__latency.cc index eef07ea8b18e..bc461bd5b453 100644 --- a/www/iridium/files/patch-media_base_audio__latency.cc +++ b/www/iridium/files/patch-media_base_audio__latency.cc @@ -1,11 +1,11 @@ ---- media/base/audio_latency.cc.orig 2025-04-16 18:18:42 UTC +--- media/base/audio_latency.cc.orig 2025-05-07 06:48:23 UTC +++ media/base/audio_latency.cc @@ -147,7 +147,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/iridium/files/patch-media_base_libaom__thread__wrapper.cc b/www/iridium/files/patch-media_base_libaom__thread__wrapper.cc index 53bd9e79b1f5..c48ec2e2d4d3 100644 --- a/www/iridium/files/patch-media_base_libaom__thread__wrapper.cc +++ b/www/iridium/files/patch-media_base_libaom__thread__wrapper.cc @@ -1,24 +1,24 @@ ---- media/base/libaom_thread_wrapper.cc.orig 2024-06-25 12:08:48 UTC +--- media/base/libaom_thread_wrapper.cc.orig 2025-05-07 06:48:23 UTC +++ media/base/libaom_thread_wrapper.cc @@ -5,17 +5,21 @@ #include "base/logging.h" #include "media/base/codec_worker_impl.h" #include "media/base/libvpx_thread_wrapper.h" +#if !BUILDFLAG(IS_BSD) #include "third_party/libaom/source/libaom/aom_util/aom_thread.h" +#endif namespace media { void InitLibAomThreadWrapper() { +#if !BUILDFLAG(IS_BSD) const AVxWorkerInterface interface = CodecWorkerImpl::GetCodecWorkerInterface(); CHECK(aom_set_worker_interface(&interface)); +#endif } } // namespace media diff --git a/www/iridium/files/patch-media_base_libvpx__thread__wrapper.cc b/www/iridium/files/patch-media_base_libvpx__thread__wrapper.cc index d06e5c479448..19cb05d67d88 100644 --- a/www/iridium/files/patch-media_base_libvpx__thread__wrapper.cc +++ b/www/iridium/files/patch-media_base_libvpx__thread__wrapper.cc @@ -1,25 +1,25 @@ ---- media/base/libvpx_thread_wrapper.cc.orig 2024-06-25 12:08:48 UTC +--- media/base/libvpx_thread_wrapper.cc.orig 2025-05-07 06:48:23 UTC +++ media/base/libvpx_thread_wrapper.cc @@ -5,11 +5,14 @@ #include "media/base/libvpx_thread_wrapper.h" #include "media/base/codec_worker_impl.h" +#if !BUILDFLAG(IS_OPENBSD) #include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h" +#endif namespace media { void InitLibVpxThreadWrapper() { +#if !BUILDFLAG(IS_OPENBSD) const VPxWorkerInterface interface = CodecWorkerImpl::GetCodecWorkerInterface(); CHECK(vpx_set_worker_interface(&interface)); +#endif } } // namespace media diff --git a/www/iridium/files/patch-media_base_media__switches.cc b/www/iridium/files/patch-media_base_media__switches.cc index 76f00dabd680..229c6d0f0a28 100644 --- a/www/iridium/files/patch-media_base_media__switches.cc +++ b/www/iridium/files/patch-media_base_media__switches.cc @@ -1,114 +1,114 @@ ---- media/base/media_switches.cc.orig 2025-04-16 18:18:42 UTC +--- media/base/media_switches.cc.orig 2025-05-07 06:48:23 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 @@ -358,8 +358,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", @@ -369,6 +369,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 -@@ -611,7 +633,7 @@ BASE_FEATURE(kFileDialogsBlockPictureInPicture, +@@ -636,7 +658,7 @@ BASE_FEATURE(kFileDialogsBlockPictureInPicture, // 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 -@@ -634,7 +656,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, +@@ -659,7 +681,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 -@@ -646,7 +668,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, +@@ -671,7 +693,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 -@@ -675,7 +697,7 @@ BASE_FEATURE(kUnifiedAutoplay, +@@ -700,7 +722,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, -@@ -775,7 +797,7 @@ BASE_FEATURE(kVSyncMjpegDecoding, +@@ -800,7 +822,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", -@@ -1347,7 +1369,7 @@ BASE_FEATURE(kUseGTFOOutOfProcessVideoDecoding, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -1361,7 +1383,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, -@@ -1429,7 +1451,7 @@ BASE_FEATURE(kRecordWebAudioEngagement, +@@ -1443,7 +1465,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. diff --git a/www/iridium/files/patch-media_base_media__switches.h b/www/iridium/files/patch-media_base_media__switches.h index 8c0d3f30921e..f8279fe482c1 100644 --- a/www/iridium/files/patch-media_base_media__switches.h +++ b/www/iridium/files/patch-media_base_media__switches.h @@ -1,57 +1,57 @@ ---- media/base/media_switches.h.orig 2025-04-16 18:18:42 UTC +--- media/base/media_switches.h.orig 2025-05-07 06:48:23 UTC +++ media/base/media_switches.h -@@ -321,13 +321,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -329,13 +329,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); -@@ -341,7 +353,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kSuspendMutedAudio); +@@ -349,7 +361,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kSuspendMutedAudio); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); -#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); -@@ -363,7 +375,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -371,7 +383,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); -@@ -493,7 +505,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide - MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseGTFOOutOfProcessVideoDecoding); +@@ -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/iridium/files/patch-media_base_video__frame.cc b/www/iridium/files/patch-media_base_video__frame.cc index de9cba1450f5..cd5221fa47aa 100644 --- a/www/iridium/files/patch-media_base_video__frame.cc +++ b/www/iridium/files/patch-media_base_video__frame.cc @@ -1,47 +1,47 @@ ---- media/base/video_frame.cc.orig 2025-04-16 18:18:42 UTC +--- media/base/video_frame.cc.orig 2025-05-07 06:48:23 UTC +++ media/base/video_frame.cc @@ -92,7 +92,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 @@ -106,7 +106,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 && @@ -420,7 +420,7 @@ VideoFrame::CreateFrameForGpuMemoryBufferOrMappableSII 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) @@ -938,7 +938,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM return frame; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static scoped_refptr VideoFrame::WrapExternalDmabufs( const VideoFrameLayout& layout, @@ -1625,7 +1625,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/iridium/files/patch-media_base_video__frame.h b/www/iridium/files/patch-media_base_video__frame.h index 8934ca8f406e..ef808dda9221 100644 --- a/www/iridium/files/patch-media_base_video__frame.h +++ b/www/iridium/files/patch-media_base_video__frame.h @@ -1,47 +1,47 @@ ---- media/base/video_frame.h.orig 2025-04-16 18:18:42 UTC +--- media/base/video_frame.h.orig 2025-05-07 06:48:23 UTC +++ media/base/video_frame.h @@ -42,7 +42,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 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, @@ -435,7 +435,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb, base::TimeDelta timestamp); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Wraps provided dmabufs // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will @@ -748,7 +748,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. @@ -988,7 +988,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/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc index b06306439271..494378fd13dd 100644 --- a/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc +++ b/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -1,20 +1,20 @@ ---- media/capture/video/create_video_capture_device_factory.cc.orig 2025-04-16 18:18:42 UTC +--- media/capture/video/create_video_capture_device_factory.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/create_video_capture_device_factory.cc @@ -12,7 +12,7 @@ #include "media/capture/video/fake_video_capture_device_factory.h" #include "media/capture/video/file_video_capture_device_factory.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "media/capture/video/linux/video_capture_device_factory_linux.h" #elif BUILDFLAG(IS_CHROMEOS) #include "media/capture/video/chromeos/public/cros_features.h" @@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() { std::unique_ptr CreatePlatformSpecificVideoCaptureDeviceFactory( scoped_refptr ui_task_runner) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(ui_task_runner); #elif BUILDFLAG(IS_CHROMEOS) if (base::SysInfo::IsRunningOnChromeOS()) diff --git a/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc index 13de90cd045b..58c84606f7f1 100644 --- a/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc +++ b/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc @@ -1,11 +1,11 @@ ---- media/capture/video/fake_video_capture_device_factory.cc.orig 2024-06-25 12:08:48 UTC +--- media/capture/video/fake_video_capture_device_factory.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/fake_video_capture_device_factory.cc @@ -231,7 +231,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo( int entry_index = 0; for (const auto& entry : devices_config_) { VideoCaptureApi api = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; #elif BUILDFLAG(IS_IOS) VideoCaptureApi::UNKNOWN; diff --git a/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc index 7429c462c0c2..8ac1039bced3 100644 --- a/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc +++ b/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc @@ -1,11 +1,11 @@ ---- media/capture/video/file_video_capture_device_factory.cc.orig 2022-03-28 18:11:04 UTC +--- media/capture/video/file_video_capture_device_factory.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/file_video_capture_device_factory.cc @@ -52,7 +52,7 @@ void FileVideoCaptureDeviceFactory::GetDevicesInfo( VideoCaptureApi::WIN_DIRECT_SHOW; #elif BUILDFLAG(IS_MAC) VideoCaptureApi::MACOSX_AVFOUNDATION; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; #else VideoCaptureApi::UNKNOWN; diff --git a/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc b/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc index ea9015f2f342..fba607eef6c8 100644 --- a/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc +++ b/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc @@ -1,11 +1,11 @@ ---- media/capture/video/linux/fake_v4l2_impl.cc.orig 2025-03-18 16:46:04 UTC +--- media/capture/video/linux/fake_v4l2_impl.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/fake_v4l2_impl.cc @@ -569,7 +569,7 @@ int FakeV4L2Impl::close(int fd) { return kSuccessReturnValue; } -int FakeV4L2Impl::ioctl(int fd, int request, void* argp) { +int FakeV4L2Impl::ioctl(int fd, unsigned long request, void* argp) { base::AutoLock lock(lock_); auto device_iter = opened_devices_.find(fd); if (device_iter == opened_devices_.end()) diff --git a/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.h b/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.h index 46a60553bb8a..fbdc3644a319 100644 --- a/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.h +++ b/www/iridium/files/patch-media_capture_video_linux_fake__v4l2__impl.h @@ -1,25 +1,25 @@ ---- media/capture/video/linux/fake_v4l2_impl.h.orig 2023-10-21 11:51:27 UTC +--- media/capture/video/linux/fake_v4l2_impl.h.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/fake_v4l2_impl.h @@ -8,7 +8,13 @@ #include #include +#include "build/build_config.h" +#if BUILDFLAG(IS_OPENBSD) +#include +typedef __uint32_t __u32; +#else #include +#endif #include "base/synchronization/lock.h" #include "media/capture/capture_export.h" @@ -38,7 +44,7 @@ class CAPTURE_EXPORT FakeV4L2Impl : public V4L2Capture // Implementation of V4L2CaptureDevice interface: int open(const char* device_name, int flags) override; int close(int fd) override; - int ioctl(int fd, int request, void* argp) override; + int ioctl(int fd, unsigned long request, void* argp) override; void* mmap(void* start, size_t length, int prot, diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc index ffdb4d740fe2..da0078066125 100644 --- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -1,156 +1,156 @@ ---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2025-03-18 16:46:04 UTC +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/v4l2_capture_delegate.cc @@ -10,8 +10,10 @@ #include "media/capture/video/linux/v4l2_capture_delegate.h" #include +#if !BUILDFLAG(IS_BSD) #include #include +#endif #include #include #include @@ -34,17 +36,19 @@ #include "media/capture/video/blob_utils.h" #include "media/capture/video/linux/video_capture_device_linux.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "media/capture/capture_switches.h" #include "media/capture/video/linux/v4l2_capture_delegate_gpu_helper.h" #endif // BUILDFLAG(IS_LINUX) using media::mojom::MeteringMode; +#if !BUILDFLAG(IS_BSD) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) // 16 bit depth, Realsense F200. #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') #endif +#endif // TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the // format is introduced to kernel. @@ -54,6 +58,14 @@ using media::mojom::MeteringMode; #define V4L2_PIX_FMT_INVZ v4l2_fourcc('I', 'N', 'V', 'Z') #endif +#ifndef V4L2_COLORSPACE_OPRGB +#define V4L2_COLORSPACE_OPRGB V4L2_COLORSPACE_ADOBERGB +#endif + +#ifndef V4L2_XFER_FUNC_OPRGB +#define V4L2_XFER_FUNC_OPRGB V4L2_XFER_FUNC_ADOBERGB +#endif + namespace media { namespace { @@ -273,7 +285,7 @@ bool V4L2CaptureDelegate::IsBlockedControl(int control // static bool V4L2CaptureDelegate::IsControllableControl( int control_id, - const base::RepeatingCallback& do_ioctl) { + const base::RepeatingCallback& do_ioctl) { const int special_control_id = GetControllingSpecialControl(control_id); if (!special_control_id) { // The control is not controlled by a special control thus the control is @@ -329,7 +341,7 @@ V4L2CaptureDelegate::V4L2CaptureDelegate( is_capturing_(false), timeout_count_(0), rotation_(rotation) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) use_gpu_buffer_ = switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); #endif // BUILDFLAG(IS_LINUX) } @@ -456,7 +468,7 @@ void V4L2CaptureDelegate::AllocateAndStart( client_->OnStarted(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (use_gpu_buffer_) { v4l2_gpu_helper_ = std::make_unique(); } @@ -800,7 +812,7 @@ base::WeakPtr V4L2CaptureDelegate V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; -bool V4L2CaptureDelegate::RunIoctl(int request, void* argp) { +bool V4L2CaptureDelegate::RunIoctl(unsigned int request, void* argp) { int num_retries = 0; for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries; ++num_retries) { @@ -810,7 +822,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void* return num_retries != kMaxIOCtrlRetries; } -int V4L2CaptureDelegate::DoIoctl(int request, void* argp) { +int V4L2CaptureDelegate::DoIoctl(unsigned int request, void* argp) { return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp)); } @@ -821,6 +833,7 @@ bool V4L2CaptureDelegate::IsControllableControl(int co } void V4L2CaptureDelegate::ReplaceControlEventSubscriptions() { +#if !BUILDFLAG(IS_BSD) constexpr uint32_t kControlIds[] = {V4L2_CID_AUTO_EXPOSURE_BIAS, V4L2_CID_AUTO_WHITE_BALANCE, V4L2_CID_BRIGHTNESS, @@ -848,6 +861,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript << ", {type = V4L2_EVENT_CTRL, id = " << control_id << "}"; } } +#endif } mojom::RangePtr V4L2CaptureDelegate::RetrieveUserControlRange(int control_id) { @@ -1028,7 +1042,11 @@ void V4L2CaptureDelegate::DoCapture() { pollfd device_pfd = {}; device_pfd.fd = device_fd_.get(); +#if !BUILDFLAG(IS_BSD) device_pfd.events = POLLIN | POLLPRI; +#else + device_pfd.events = POLLIN; +#endif const int result = HANDLE_EINTR(v4l2_->poll(&device_pfd, 1, kCaptureTimeoutMs)); @@ -1066,6 +1084,7 @@ void V4L2CaptureDelegate::DoCapture() { timeout_count_ = 0; } +#if !BUILDFLAG(IS_BSD) // Dequeue events if the driver has filled in some. if (device_pfd.revents & POLLPRI) { bool controls_changed = false; @@ -1099,6 +1118,7 @@ void V4L2CaptureDelegate::DoCapture() { client_->OnCaptureConfigurationChanged(); } } +#endif // Deenqueue, send and reenqueue a buffer if the driver has filled one in. if (device_pfd.revents & POLLIN) { @@ -1152,7 +1172,7 @@ void V4L2CaptureDelegate::DoCapture() { // workable on Linux. // See http://crbug.com/959919. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (use_gpu_buffer_) { v4l2_gpu_helper_->OnIncomingCapturedData( client_.get(), buffer_tracker->start(), @@ -1226,7 +1246,7 @@ void V4L2CaptureDelegate::SetErrorState(VideoCaptureEr client_->OnError(error, from_here, reason); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() { v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace; v4l2_quantization v4l2_range = diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h index 067dbfe61015..340f0bf13255 100644 --- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h @@ -1,51 +1,51 @@ ---- media/capture/video/linux/v4l2_capture_delegate.h.orig 2025-02-22 18:06:53 UTC +--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/v4l2_capture_delegate.h @@ -34,7 +34,7 @@ class Location; namespace media { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class V4L2CaptureDelegateGpuHelper; #endif // BUILDFLAG(IS_LINUX) @@ -85,7 +85,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { static bool IsBlockedControl(int control_id); static bool IsControllableControl( int control_id, - const base::RepeatingCallback& do_ioctl); + const base::RepeatingCallback& do_ioctl); private: friend class V4L2CaptureDelegateTest; @@ -96,10 +96,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { // device file descriptor or (re)starting streaming, can fail but works after // retrying (https://crbug.com/670262). Returns false if the |request| ioctl // fails too many times. - bool RunIoctl(int request, void* argp); + bool RunIoctl(unsigned int request, void* argp); // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), ...)). - int DoIoctl(int request, void* argp); + int DoIoctl(unsigned int request, void* argp); // Check whether the control is controllable (and not changed automatically). bool IsControllableControl(int control_id); @@ -129,7 +129,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { const base::Location& from_here, const std::string& reason); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Systems which describe a "color space" usually map that to one or more of // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the // matched value as first priority. Otherwise, if there is no best matching @@ -163,7 +163,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { // Clockwise rotation in degrees. This value should be 0, 90, 180, or 270. int rotation_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Support GPU memory buffer. bool use_gpu_buffer_; std::unique_ptr v4l2_gpu_helper_; diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device.h b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device.h index f586b096d2d3..480b70d44df0 100644 --- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device.h +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device.h @@ -1,11 +1,11 @@ ---- media/capture/video/linux/v4l2_capture_device.h.orig 2022-03-28 18:11:04 UTC +--- media/capture/video/linux/v4l2_capture_device.h.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/v4l2_capture_device.h -@@ -21,7 +21,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice - public: +@@ -23,7 +23,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice + virtual int open(const char* device_name, int flags) = 0; virtual int close(int fd) = 0; - virtual int ioctl(int fd, int request, void* argp) = 0; + virtual int ioctl(int fd, unsigned long request, void* argp) = 0; virtual void* mmap(void* start, size_t length, int prot, diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc index 242550f55965..eb712e6a3148 100644 --- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc @@ -1,11 +1,11 @@ ---- media/capture/video/linux/v4l2_capture_device_impl.cc.orig 2022-03-28 18:11:04 UTC +--- media/capture/video/linux/v4l2_capture_device_impl.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/v4l2_capture_device_impl.cc @@ -22,7 +22,7 @@ int V4L2CaptureDeviceImpl::close(int fd) { return ::close(fd); } -int V4L2CaptureDeviceImpl::ioctl(int fd, int request, void* argp) { +int V4L2CaptureDeviceImpl::ioctl(int fd, unsigned long request, void* argp) { return ::ioctl(fd, request, argp); } diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h index 5269f6be6817..00ed40868bc0 100644 --- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h @@ -1,11 +1,11 @@ ---- media/capture/video/linux/v4l2_capture_device_impl.h.orig 2022-03-28 18:11:04 UTC +--- media/capture/video/linux/v4l2_capture_device_impl.h.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/v4l2_capture_device_impl.h @@ -19,7 +19,7 @@ class CAPTURE_EXPORT V4L2CaptureDeviceImpl : public V4 public: int open(const char* device_name, int flags) override; int close(int fd) override; - int ioctl(int fd, int request, void* argp) override; + int ioctl(int fd, unsigned long request, void* argp) override; void* mmap(void* start, size_t length, int prot, diff --git a/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc b/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc index 437c377c8840..d0e190a08814 100644 --- a/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc +++ b/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc @@ -1,80 +1,80 @@ ---- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2025-03-18 16:46:04 UTC +--- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/video_capture_device_factory_v4l2.cc @@ -43,6 +43,7 @@ bool CompareCaptureDevices(const VideoCaptureDeviceInf return a.descriptor < b.descriptor; } +#if !BUILDFLAG(IS_OPENBSD) // USB VID and PID are both 4 bytes long. const size_t kVidPidSize = 4; const size_t kMaxInterfaceNameSize = 256; @@ -75,11 +76,24 @@ std::string ExtractFileNameFromDeviceId(const std::str DCHECK(base::StartsWith(device_id, kDevDir, base::CompareCase::SENSITIVE)); return device_id.substr(strlen(kDevDir), device_id.length()); } +#endif class DevVideoFilePathsDeviceProvider : public VideoCaptureDeviceFactoryV4L2::DeviceProvider { public: void GetDeviceIds(std::vector* target_container) override { +#if BUILDFLAG(IS_OPENBSD) + char device[12]; + int fd; + /* unveil(2) limits access to /dev/, try /dev/video[0-7] */ + for (int n = 0; n < 8; n++) { + snprintf(device, sizeof(device), "/dev/video%d", n); + if ((fd = open(device, O_RDONLY)) != -1) { + close(fd); + target_container->emplace_back(device); + } + } +#else const base::FilePath path("/dev/"); base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, "video*"); @@ -87,9 +101,13 @@ class DevVideoFilePathsDeviceProvider const base::FileEnumerator::FileInfo info = enumerator.GetInfo(); target_container->emplace_back(path.value() + info.GetName().value()); } +#endif } std::string GetDeviceModelId(const std::string& device_id) override { +#if BUILDFLAG(IS_OPENBSD) + return std::string(); +#else const std::string file_name = ExtractFileNameFromDeviceId(device_id); std::string usb_id; const std::string vid_path = @@ -106,9 +124,13 @@ class DevVideoFilePathsDeviceProvider } return usb_id; +#endif } std::string GetDeviceDisplayName(const std::string& device_id) override { +#if BUILDFLAG(IS_OPENBSD) + return std::string(); +#else const std::string file_name = ExtractFileNameFromDeviceId(device_id); const std::string interface_path = base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); @@ -119,6 +141,7 @@ class DevVideoFilePathsDeviceProvider return std::string(); } return display_name; +#endif } }; @@ -224,7 +247,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo( std::move(callback).Run(std::move(devices_info)); } -int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, int request, void* argp) { +int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, unsigned int request, void* argp) { return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); } diff --git a/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h b/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h index e4ae9c521194..42d3b6bd7131 100644 --- a/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h +++ b/www/iridium/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h @@ -1,11 +1,11 @@ ---- media/capture/video/linux/video_capture_device_factory_v4l2.h.orig 2023-04-22 17:45:15 UTC +--- media/capture/video/linux/video_capture_device_factory_v4l2.h.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/linux/video_capture_device_factory_v4l2.h @@ -51,7 +51,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryV4L2 private: // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(fd, ...)). - int DoIoctl(int fd, int request, void* argp); + int DoIoctl(int fd, unsigned int request, void* argp); VideoCaptureControlSupport GetControlSupport(int fd); bool GetControlSupport(int fd, int control_id); diff --git a/www/iridium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc b/www/iridium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc index 595f51ddc73f..7e1982fb6afb 100644 --- a/www/iridium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc +++ b/www/iridium/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc @@ -1,20 +1,20 @@ ---- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2025-04-16 18:18:42 UTC +--- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/video_capture_buffer_tracker_factory_impl.cc @@ -13,7 +13,7 @@ #include "media/capture/video/chromeos/gpu_memory_buffer_tracker_cros.h" #elif BUILDFLAG(IS_APPLE) #include "media/capture/video/apple/gpu_memory_buffer_tracker_apple.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "media/capture/video/linux/v4l2_gpu_memory_buffer_tracker.h" #elif BUILDFLAG(IS_WIN) #include "media/capture/video/win/gpu_memory_buffer_tracker_win.h" @@ -41,7 +41,7 @@ VideoCaptureBufferTrackerFactoryImpl::CreateTracker( return std::make_unique(); #elif BUILDFLAG(IS_APPLE) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(); #elif BUILDFLAG(IS_WIN) if (!dxgi_device_manager_) { diff --git a/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc b/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc index 8b85411e77a8..fb603fce8577 100644 --- a/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc +++ b/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc @@ -1,11 +1,11 @@ ---- media/capture/video/video_capture_device_client.cc.orig 2025-04-16 18:18:42 UTC +--- media/capture/video/video_capture_device_client.cc.orig 2025-05-07 06:48:23 UTC +++ media/capture/video/video_capture_device_client.cc @@ -172,7 +172,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( CHECK(!is_width_odd && !is_height_odd); return {libyuv::FOURCC_UYVY}; case media::PIXEL_FORMAT_RGB24: - if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) { + if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) { // Linux RGB24 defines red at lowest byte address, // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. return {libyuv::FOURCC_RAW}; diff --git a/www/iridium/files/patch-media_cdm_cdm__paths__unittest.cc b/www/iridium/files/patch-media_cdm_cdm__paths__unittest.cc index 3c0a55210c11..d35d5e2916a6 100644 --- a/www/iridium/files/patch-media_cdm_cdm__paths__unittest.cc +++ b/www/iridium/files/patch-media_cdm_cdm__paths__unittest.cc @@ -1,11 +1,11 @@ ---- media/cdm/cdm_paths_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- media/cdm/cdm_paths_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ media/cdm/cdm_paths_unittest.cc @@ -26,7 +26,7 @@ const char kComponentPlatform[] = "win"; #elif BUILDFLAG(IS_CHROMEOS) "cros"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "linux"; #elif BUILDFLAG(IS_FUCHSIA) "fuchsia"; diff --git a/www/iridium/files/patch-media_cdm_library__cdm_cdm__paths.gni b/www/iridium/files/patch-media_cdm_library__cdm_cdm__paths.gni index 59ffefb141e5..86f4bc40074d 100644 --- a/www/iridium/files/patch-media_cdm_library__cdm_cdm__paths.gni +++ b/www/iridium/files/patch-media_cdm_library__cdm_cdm__paths.gni @@ -1,11 +1,11 @@ ---- media/cdm/library_cdm/cdm_paths.gni.orig 2025-04-16 18:18:42 UTC +--- media/cdm/library_cdm/cdm_paths.gni.orig 2025-05-07 06:48:23 UTC +++ media/cdm/library_cdm/cdm_paths.gni @@ -14,7 +14,7 @@ assert(enable_library_cdms) # Explicitly define what we use to avoid confusion. if (is_chromeos) { component_os = "cros" -} else if (is_linux) { +} else if (is_linux || is_bsd) { component_os = "linux" } else if (is_win) { component_os = "win" diff --git a/www/iridium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/www/iridium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py index 1b2b49b2c861..833bac761f44 100644 --- a/www/iridium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py +++ b/www/iridium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py @@ -1,66 +1,66 @@ ---- media/ffmpeg/scripts/build_ffmpeg.py.orig 2024-08-01 05:47:53 UTC +--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2025-05-07 06:48:23 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'], + 'openbsd': ['x64', 'arm64', 'ia32'], + 'freebsd': ['x64', 'arm64', 'ia32'], 'mac': ['x64', 'arm64'], 'win': ['ia32', 'x64', 'arm64'], } @@ -122,7 +124,7 @@ def PrintAndCheckCall(argv, *args, **kwargs): def GetDsoName(target_os, dso_name, dso_version): - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): return 'lib%s.so.%s' % (dso_name, dso_version) elif target_os == 'mac': return 'lib%s.%s.dylib' % (dso_name, dso_version) @@ -475,7 +477,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ # removing soon, so this is needed to silence a deprecation # #warning which will be converted to an error via -Werror. # There is also no prctl.h - if target_os in ['linux', 'linux-noasm']: + if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']: pre_make_rewrites += [ (r'(#define HAVE_SYSCTL [01])', r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'), @@ -598,7 +600,7 @@ def main(argv): configure_args = args[2:] if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', - 'all'): + 'all', 'openbsd', 'freebsd'): parser.print_help() return 1 @@ -712,7 +714,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, '--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([ @@ -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/iridium/files/patch-media_ffmpeg_scripts_robo__lib_config.py b/www/iridium/files/patch-media_ffmpeg_scripts_robo__lib_config.py index 50e34455367b..b0f4a0ffe745 100644 --- a/www/iridium/files/patch-media_ffmpeg_scripts_robo__lib_config.py +++ b/www/iridium/files/patch-media_ffmpeg_scripts_robo__lib_config.py @@ -1,56 +1,56 @@ ---- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-02-22 18:06:53 UTC +--- media/ffmpeg/scripts/robo_lib/config.py.orig 2025-05-07 06:48:23 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" @@ -224,6 +218,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()}") @@ -232,8 +230,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/iridium/files/patch-media_gpu_buffer__validation.cc b/www/iridium/files/patch-media_gpu_buffer__validation.cc deleted file mode 100644 index f599e5a9718f..000000000000 --- a/www/iridium/files/patch-media_gpu_buffer__validation.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- media/gpu/buffer_validation.cc.orig 2024-12-22 12:24:29 UTC -+++ media/gpu/buffer_validation.cc -@@ -15,7 +15,7 @@ - #include "ui/gfx/geometry/size.h" - #include "ui/gfx/gpu_memory_buffer.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include - #include - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -23,7 +23,7 @@ - namespace media { - - bool GetFileSize(const int fd, size_t* size) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (fd < 0) { - VLOG(1) << "Invalid file descriptor"; - return false; -@@ -77,7 +77,7 @@ bool VerifyGpuMemoryBufferHandle( - VLOG(1) << "Unsupported: " << pixel_format; - return false; - } --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format); - if (num_planes != gmb_handle.native_pixmap_handle.planes.size() || - num_planes == 0) { diff --git a/www/iridium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc b/www/iridium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc index 34c856c58baf..845c2d0496d9 100644 --- a/www/iridium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc +++ b/www/iridium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc @@ -1,13 +1,13 @@ ---- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2024-06-25 12:08:48 UTC +--- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/chromeos/gl_image_processor_backend.cc @@ -28,6 +28,10 @@ #include "ui/ozone/public/ozone_platform.h" #include "ui/ozone/public/surface_factory_ozone.h" +#ifndef GL_CONTEXT_LOST_KHR +#define GL_CONTEXT_LOST_KHR 0x0507 +#endif + namespace media { namespace { diff --git a/www/iridium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc b/www/iridium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc index d8a270964018..1d0222ae30d4 100644 --- a/www/iridium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc +++ b/www/iridium/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc @@ -1,29 +1,29 @@ ---- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2024-12-22 12:24:29 UTC +--- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/chromeos/libyuv_image_processor_backend.cc @@ -53,7 +53,7 @@ static constexpr struct { #define CONV(in, out, trans, result) \ {Fourcc::in, Fourcc::out, Transform::trans, SupportResult::result} // Conversion. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONV(NV12, AR24, kConversion, Supported), #endif CONV(NV12, NV12, kConversion, Supported), @@ -412,7 +412,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr fr->GetWritableVisibleData(VideoFrame::Plane::kUV)), \ fr->stride(VideoFrame::Plane::kUV) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define ARGB_DATA(fr) \ fr->GetWritableVisibleData(VideoFrame::Plane::kARGB), \ fr->stride(VideoFrame::Plane::kARGB) @@ -574,7 +574,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (output->format() == PIXEL_FORMAT_ARGB) { if (input_config_.fourcc == Fourcc(Fourcc::NV12)) { return LIBYUV_FUNC(NV12ToARGB, Y_UV_DATA(input), diff --git a/www/iridium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc b/www/iridium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc index 9afb7ea3dc29..aa5d17bdc1bf 100644 --- a/www/iridium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc +++ b/www/iridium/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc @@ -1,11 +1,11 @@ ---- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2024-11-04 08:56:03 UTC +--- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/chromeos/mailbox_video_frame_converter.cc -@@ -67,7 +67,7 @@ viz::SharedImageFormat GetSharedImageFormat(gfx::Buffe +@@ -68,7 +68,7 @@ viz::SharedImageFormat GetSharedImageFormat(gfx::Buffe << static_cast(buffer_format); NOTREACHED(); } -#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()) { diff --git a/www/iridium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc b/www/iridium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc index 0024fad11154..5275f33e004b 100644 --- a/www/iridium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc +++ b/www/iridium/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/chromeos/platform_video_frame_utils.cc @@ -68,7 +68,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 @@ -193,7 +193,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/iridium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/iridium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc index 3f6113150ed3..1f3eb4c3e9fa 100644 --- a/www/iridium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/iridium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,29 +1,29 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1121,7 +1121,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1122,7 +1122,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( } #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_VAAPI) // Linux should always use a custom allocator (to allocate buffers using // libva) and a PlatformVideoFramePool. CHECK(allocator.has_value()); -@@ -1130,7 +1130,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1131,7 +1131,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( *allocator, VideoFrame::STORAGE_DMABUFS); -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) // Linux w/ V4L2 should not use a custom allocator // Only tested with video_decode_accelerator_tests // TODO(wenst@) Test with full Chromium Browser -@@ -1304,7 +1304,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1305,7 +1305,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( << " VideoFrames"; auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The custom allocator creates frames backed by NativePixmap, which uses a // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. auxiliary_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( diff --git a/www/iridium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc b/www/iridium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc index c3a28ffb60eb..6af0aad32ad1 100644 --- a/www/iridium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc +++ b/www/iridium/files/patch-media_gpu_gpu__video__decode__accelerator__factory.cc @@ -1,20 +1,20 @@ ---- media/gpu/gpu_video_decode_accelerator_factory.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/gpu_video_decode_accelerator_factory.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/gpu_video_decode_accelerator_factory.cc -@@ -12,7 +12,7 @@ +@@ -13,7 +13,7 @@ #include "media/gpu/media_gpu_export.h" #include "media/media_buildflags.h" -#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) #include "media/gpu/v4l2/legacy/v4l2_video_decode_accelerator.h" #include "media/gpu/v4l2/v4l2_device.h" #endif -@@ -28,7 +28,7 @@ GpuVideoDecodeAcceleratorFactory::CreateVDA( +@@ -29,7 +29,7 @@ GpuVideoDecodeAcceleratorFactory::CreateVDA( if (gpu_preferences.disable_accelerated_video_decode) return nullptr; -#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if BUILDFLAG(USE_V4L2_CODEC) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) std::unique_ptr vda; - vda.reset(new V4L2VideoDecodeAccelerator(new V4L2Device())); + vda.reset(new V4L2VideoDecodeAccelerator(base::MakeRefCounted())); diff --git a/www/iridium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/www/iridium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc index 24df60c85a66..7f66aaf4dae4 100644 --- a/www/iridium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc +++ b/www/iridium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc @@ -1,20 +1,20 @@ ---- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/gpu_video_encode_accelerator_factory.cc -@@ -150,7 +150,7 @@ std::vector GetVEAFactoryFunctions - return vea_factory_functions; +@@ -160,7 +160,7 @@ std::vector GetVEAFactoryFunctions + } #if BUILDFLAG(USE_VAAPI) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { - vea_factory_functions.push_back(base::BindRepeating(&CreateVaapiVEA)); + vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); } -@@ -158,7 +158,7 @@ std::vector GetVEAFactoryFunctions - vea_factory_functions.push_back(base::BindRepeating(&CreateVaapiVEA)); +@@ -168,7 +168,7 @@ std::vector GetVEAFactoryFunctions + vea_factory_functions->push_back(base::BindRepeating(&CreateVaapiVEA)); #endif #elif BUILDFLAG(USE_V4L2_CODEC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kAcceleratedVideoEncodeLinux)) { - vea_factory_functions.push_back(base::BindRepeating(&CreateV4L2VEA)); + vea_factory_functions->push_back(base::BindRepeating(&CreateV4L2VEA)); } diff --git a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc index 0eca5d7ab069..22ac6cf45db9 100644 --- a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc @@ -1,44 +1,44 @@ ---- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc @@ -17,7 +17,9 @@ #include "media/gpu/vaapi/vaapi_wrapper.h" #endif +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; +#endif // TODO(b/195769334): the hardware video decoding sandbox is really only useful // when building with VA-API or V4L2 (otherwise, we're not really doing hardware @@ -33,6 +35,7 @@ using sandbox::syscall_broker::BrokerFilePermission; namespace media { namespace { +#if !BUILDFLAG(IS_BSD) void AllowAccessToRenderNodes(std::vector& permissions, bool include_sys_dev_char, bool read_write) { @@ -189,6 +192,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( NOTREACHED(); #endif // BUILDFLAG(USE_V4L2_CODEC) } +#endif } // namespace @@ -204,6 +208,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( // (at least). bool HardwareVideoDecodingPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) using HardwareVideoDecodingProcessPolicy = sandbox::policy::HardwareVideoDecodingProcessPolicy; using PolicyType = @@ -249,6 +254,7 @@ bool HardwareVideoDecodingPreSandboxHook( // |permissions| is empty? sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( command_set, permissions, options); +#endif return true; } diff --git a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h index 32d4cb373f76..685c1bb3cb5e 100644 --- a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h +++ b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2023-07-24 14:27:53 UTC +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h @@ -5,7 +5,13 @@ #ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_DECODING_SANDBOX_HOOK_LINUX_H_ #define MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_DECODING_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace media { diff --git a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc index 7b6208e93c03..80e64e3ae0de 100644 --- a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc @@ -1,26 +1,26 @@ ---- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2024-11-04 08:56:03 UTC +--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc @@ -18,12 +18,15 @@ #include "media/gpu/v4l2/v4l2_device.h" #endif +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; +#endif namespace media { bool HardwareVideoEncodingPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) sandbox::syscall_broker::BrokerCommandSet command_set; std::vector permissions; @@ -131,6 +134,7 @@ bool HardwareVideoEncodingPreSandboxHook( dlopen("libvulkan.so.1", kDlopenFlags); dlopen("libvulkan_radeon.so", kDlopenFlags); } +#endif #endif return true; } diff --git a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h index a2a6fa501157..5d41e5f2814a 100644 --- a/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h +++ b/www/iridium/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h @@ -1,23 +1,23 @@ ---- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2023-07-24 14:27:53 UTC +--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h @@ -5,7 +5,13 @@ #ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ #define MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace media { @@ -14,4 +20,4 @@ bool HardwareVideoEncodingPreSandboxHook( } // namespace media -#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ \ No newline at end of file +#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ diff --git a/www/iridium/files/patch-media_gpu_test_raw__video.cc b/www/iridium/files/patch-media_gpu_test_raw__video.cc index 6ae38df4973a..2f57c3e05c30 100644 --- a/www/iridium/files/patch-media_gpu_test_raw__video.cc +++ b/www/iridium/files/patch-media_gpu_test_raw__video.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/raw_video.cc.orig 2025-02-22 18:06:53 UTC +--- media/gpu/test/raw_video.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/test/raw_video.cc @@ -61,7 +61,7 @@ std::unique_ptr CreateMemoryMa base::File::FLAG_READ | base::File::FLAG_WRITE // On Windows FLAG_CREATE_ALWAYS will require FLAG_WRITE, and FLAG_APPEND // must not be specified. -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) | base::File::FLAG_APPEND #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ), diff --git a/www/iridium/files/patch-media_gpu_test_video__frame__file__writer.cc b/www/iridium/files/patch-media_gpu_test_video__frame__file__writer.cc index 53de53a26c16..f9307ae01958 100644 --- a/www/iridium/files/patch-media_gpu_test_video__frame__file__writer.cc +++ b/www/iridium/files/patch-media_gpu_test_video__frame__file__writer.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_file_writer.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/test/video_frame_file_writer.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/test/video_frame_file_writer.cc @@ -25,7 +25,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/codec/png_codec.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-media_gpu_test_video__frame__helpers.cc b/www/iridium/files/patch-media_gpu_test_video__frame__helpers.cc index 58d6372d9720..117f699fdf2e 100644 --- a/www/iridium/files/patch-media_gpu_test_video__frame__helpers.cc +++ b/www/iridium/files/patch-media_gpu_test_video__frame__helpers.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_helpers.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/test/video_frame_helpers.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/test/video_frame_helpers.cc @@ -23,7 +23,7 @@ #include "ui/gfx/buffer_format_util.h" #include "ui/gfx/gpu_memory_buffer.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/iridium/files/patch-media_gpu_test_video__frame__validator.cc b/www/iridium/files/patch-media_gpu_test_video__frame__validator.cc index 8a2740731535..a66a0adeaa51 100644 --- a/www/iridium/files/patch-media_gpu_test_video__frame__validator.cc +++ b/www/iridium/files/patch-media_gpu_test_video__frame__validator.cc @@ -1,11 +1,11 @@ ---- media/gpu/test/video_frame_validator.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/test/video_frame_validator.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/test/video_frame_validator.cc @@ -34,7 +34,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/gpu_memory_buffer.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/iridium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/iridium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc index 77700fea9b3c..6e7e5a970cbe 100644 --- a/www/iridium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/iridium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -780,7 +780,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -784,7 +784,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/iridium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/www/iridium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc index 59e82ffd8bd0..358949b8dc8c 100644 --- a/www/iridium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc +++ b/www/iridium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2025-04-16 18:18:42 UTC +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2025-05-07 06:48:23 UTC +++ media/gpu/vaapi/vaapi_wrapper.cc -@@ -79,7 +79,7 @@ +@@ -81,7 +81,7 @@ using media_gpu_vaapi::kModuleVa_prot; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/files/file_util.h" #include "base/strings/string_split.h" #endif diff --git a/www/iridium/files/patch-media_media__options.gni b/www/iridium/files/patch-media_media__options.gni index 70223c32d3c1..95afdb1e1c2d 100644 --- a/www/iridium/files/patch-media_media__options.gni +++ b/www/iridium/files/patch-media_media__options.gni @@ -1,19 +1,19 @@ ---- media/media_options.gni.orig 2025-04-16 18:18:42 UTC +--- media/media_options.gni.orig 2025-05-07 06:48:23 UTC +++ media/media_options.gni @@ -201,12 +201,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/iridium/files/patch-media_mojo_mojom_BUILD.gn b/www/iridium/files/patch-media_mojo_mojom_BUILD.gn new file mode 100644 index 000000000000..15f83cd6ada4 --- /dev/null +++ b/www/iridium/files/patch-media_mojo_mojom_BUILD.gn @@ -0,0 +1,11 @@ +--- media/mojo/mojom/BUILD.gn.orig 2025-05-07 06:48:23 UTC ++++ media/mojo/mojom/BUILD.gn +@@ -959,7 +959,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/iridium/files/patch-media_mojo_mojom_stable_BUILD.gn b/www/iridium/files/patch-media_mojo_mojom_stable_BUILD.gn deleted file mode 100644 index a367d4bc780a..000000000000 --- a/www/iridium/files/patch-media_mojo_mojom_stable_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- media/mojo/mojom/stable/BUILD.gn.orig 2025-04-16 18:18:42 UTC -+++ media/mojo/mojom/stable/BUILD.gn -@@ -191,7 +191,7 @@ source_set("unit_tests") { - } else if (use_v4l2_codec) { - deps += [ "//media/gpu/v4l2:v4l2_status" ] - } -- if (is_linux || is_chromeos) { -+ if (!is_bsd && (is_linux || is_chromeos)) { - sources += [ - "mojom_traits_test_util.cc", - "mojom_traits_test_util.h", diff --git a/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc b/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc deleted file mode 100644 index 46ef18923eed..000000000000 --- a/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2025-03-18 16:46:04 UTC -+++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc -@@ -861,7 +861,7 @@ const gfx::GpuMemoryBufferId& StructTraits< - return input.id; - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // static - gfx::NativePixmapHandle StructTraits< - media::stable::mojom::NativeGpuMemoryBufferHandleDataView, -@@ -882,7 +882,7 @@ bool StructTraitstype = gfx::NATIVE_PIXMAP; - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (!data.ReadPlatformHandle(&output->native_pixmap_handle)) - return false; - return true; diff --git a/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h b/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h deleted file mode 100644 index c9c8d351c0be..000000000000 --- a/www/iridium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h +++ /dev/null @@ -1,11 +0,0 @@ ---- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2025-02-22 18:06:53 UTC -+++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h -@@ -704,7 +704,7 @@ struct StructTraitsstorage_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. +@@ -197,7 +197,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, +@@ -436,7 +436,7 @@ bool StructTraits + struct StructTraits { diff --git a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc index 7c313b770816..fb4cde5597af 100644 --- a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc +++ b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc @@ -1,38 +1,29 @@ ---- media/video/fake_gpu_memory_buffer.cc.orig 2025-04-16 18:18:42 UTC +--- media/video/fake_gpu_memory_buffer.cc.orig 2025-05-07 06:48:23 UTC +++ media/video/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 media { 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()); -@@ -84,7 +84,7 @@ gfx::GpuMemoryBufferHandle CreatePixmapHandleForTestin - static base::AtomicSequenceNumber buffer_id_generator; - handle.id = gfx::GpuMemoryBufferId(buffer_id_generator.GetNext()); +@@ -73,7 +73,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) - for (size_t i = 0; i < VideoFrame::NumPlanes(*video_pixel_format); i++) { - const gfx::Size plane_size_in_bytes = - VideoFrame::PlaneSize(*video_pixel_format, i, size); -@@ -187,7 +187,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH - gfx::GpuMemoryBufferHandle handle; - handle.type = gfx::NATIVE_PIXMAP; - handle.id = handle_.id; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - handle.native_pixmap_handle = - gfx::CloneHandleForIPC(handle_.native_pixmap_handle); - #endif + gfx::GpuMemoryBufferHandle CreatePixmapHandleForTesting( + const gfx::Size& size, + gfx::BufferFormat format, diff --git a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.h b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.h index dd8e1a035e27..abf2d866d36c 100644 --- a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.h +++ b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.h @@ -1,11 +1,11 @@ ---- media/video/fake_gpu_memory_buffer.h.orig 2025-04-16 18:18:42 UTC +--- media/video/fake_gpu_memory_buffer.h.orig 2025-05-07 06:48:23 UTC +++ media/video/fake_gpu_memory_buffer.h @@ -13,7 +13,7 @@ namespace media { -#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/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc index b02423ea0f1d..af55d3f7f678 100644 --- a/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc +++ b/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc @@ -1,29 +1,29 @@ ---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2025-03-18 16:46:04 UTC +--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2025-05-07 06:48:23 UTC +++ media/video/gpu_memory_buffer_video_frame_pool.cc -@@ -644,7 +644,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa +@@ -647,7 +647,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa } bool is_software_backed_video_frame = !video_frame->HasSharedImage(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) is_software_backed_video_frame &= !video_frame->HasDmaBufs(); #endif -@@ -1054,7 +1054,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo +@@ -1057,7 +1057,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.native_pixmap_handle.supports_zero_copy_webgpu_import; #endif -@@ -1225,7 +1225,7 @@ GpuMemoryBufferVideoFramePool::PoolImpl::GetOrCreateFr +@@ -1228,7 +1228,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/iridium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/iridium/files/patch-media_video_video__encode__accelerator__adapter.cc index 40b87b431e83..1e2e20684391 100644 --- a/www/iridium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/iridium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2025-03-18 16:46:04 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2025-05-07 06:48:23 UTC +++ media/video/video_encode_accelerator_adapter.cc -@@ -463,7 +463,7 @@ void VideoEncodeAcceleratorAdapter::InitializeOnAccele +@@ -468,7 +468,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/iridium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/iridium/files/patch-media_video_video__encode__accelerator__adapter__test.cc index 0400fa07078d..53ddc2ea9ce1 100644 --- a/www/iridium/files/patch-media_video_video__encode__accelerator__adapter__test.cc +++ b/www/iridium/files/patch-media_video_video__encode__accelerator__adapter__test.cc @@ -1,38 +1,38 @@ ---- media/video/video_encode_accelerator_adapter_test.cc.orig 2025-03-18 16:46:04 UTC +--- media/video/video_encode_accelerator_adapter_test.cc.orig 2025-05-07 06:48:23 UTC +++ media/video/video_encode_accelerator_adapter_test.cc @@ -260,7 +260,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, InitializeAf }); VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) expected_input_format = PIXEL_FORMAT_NV12; #endif vea()->SetEncodingCallback(base::BindLambdaForTesting( @@ -369,7 +369,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, FlushDuringI }); VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) expected_input_format = PIXEL_FORMAT_NV12; #endif @@ -467,7 +467,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2)); VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) expected_input_format = PIXEL_FORMAT_NV12; #endif const gfx::ColorSpace expected_color_space = @@ -674,7 +674,7 @@ TEST_F(VideoEncodeAcceleratorAdapterTest, }); VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) expected_input_format = PIXEL_FORMAT_NV12; #endif vea()->SetEncodingCallback(base::BindLambdaForTesting( diff --git a/www/iridium/files/patch-media_webrtc_audio__processor.cc b/www/iridium/files/patch-media_webrtc_audio__processor.cc index 785de6aef142..4c7c1d119c95 100644 --- a/www/iridium/files/patch-media_webrtc_audio__processor.cc +++ b/www/iridium/files/patch-media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- media/webrtc/audio_processor.cc.orig 2025-04-16 18:18:42 UTC +--- media/webrtc/audio_processor.cc.orig 2025-05-07 06:48:23 UTC +++ media/webrtc/audio_processor.cc -@@ -507,7 +507,7 @@ std::optional AudioProcessor::ProcessData( +@@ -509,7 +509,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/iridium/files/patch-media_webrtc_helpers.cc b/www/iridium/files/patch-media_webrtc_helpers.cc index b51a6ab4632c..ba157564cc6c 100644 --- a/www/iridium/files/patch-media_webrtc_helpers.cc +++ b/www/iridium/files/patch-media_webrtc_helpers.cc @@ -1,19 +1,19 @@ ---- media/webrtc/helpers.cc.orig 2025-02-22 18:06:53 UTC +--- media/webrtc/helpers.cc.orig 2025-05-07 06:48:23 UTC +++ media/webrtc/helpers.cc @@ -43,14 +43,14 @@ void ConfigAutomaticGainControl(const AudioProcessingS return; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool kInputVolumeAdjustmentOverrideAllowed = true; #elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) const bool kInputVolumeAdjustmentOverrideAllowed = false; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Use AGC2 digital and input volume controller. // TODO(crbug.com/40872787): Remove `kWebRtcAllowInputVolumeAdjustment` safely // and set `input_volume_controller.enabled` true. diff --git a/www/iridium/files/patch-media_webrtc_helpers__unittests.cc b/www/iridium/files/patch-media_webrtc_helpers__unittests.cc index e73852475a4d..c7224c2ef6c1 100644 --- a/www/iridium/files/patch-media_webrtc_helpers__unittests.cc +++ b/www/iridium/files/patch-media_webrtc_helpers__unittests.cc @@ -1,38 +1,38 @@ ---- media/webrtc/helpers_unittests.cc.orig 2025-02-22 18:06:53 UTC +--- media/webrtc/helpers_unittests.cc.orig 2025-05-07 06:48:23 UTC +++ media/webrtc/helpers_unittests.cc @@ -39,7 +39,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, } #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, #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, #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/iridium/files/patch-mojo_core_BUILD.gn b/www/iridium/files/patch-mojo_core_BUILD.gn index 2ecbda1c8821..67e714d84f45 100644 --- a/www/iridium/files/patch-mojo_core_BUILD.gn +++ b/www/iridium/files/patch-mojo_core_BUILD.gn @@ -1,11 +1,11 @@ ---- mojo/core/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- mojo/core/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ mojo/core/BUILD.gn @@ -163,7 +163,7 @@ source_set("impl_for_embedder") { ] } - if ((is_linux || is_chromeos || is_android) && !is_nacl) { + if ((is_linux || is_chromeos || is_android) && !is_nacl && !is_bsd) { sources += [ "channel_linux.cc", "channel_linux.h", diff --git a/www/iridium/files/patch-mojo_core_channel.cc b/www/iridium/files/patch-mojo_core_channel.cc index 2212c3bbb913..b67cecd0b5f4 100644 --- a/www/iridium/files/patch-mojo_core_channel.cc +++ b/www/iridium/files/patch-mojo_core_channel.cc @@ -1,14 +1,14 @@ ---- mojo/core/channel.cc.orig 2025-02-22 18:06:53 UTC +--- mojo/core/channel.cc.orig 2025-05-07 06:48:23 UTC +++ mojo/core/channel.cc @@ -83,7 +83,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 diff --git a/www/iridium/files/patch-mojo_core_embedder_features.h b/www/iridium/files/patch-mojo_core_embedder_features.h index a87a5a809ca9..f51c267c43e6 100644 --- a/www/iridium/files/patch-mojo_core_embedder_features.h +++ b/www/iridium/files/patch-mojo_core_embedder_features.h @@ -1,11 +1,11 @@ ---- mojo/core/embedder/features.h.orig 2023-07-24 14:27:53 UTC +--- mojo/core/embedder/features.h.orig 2025-05-07 06:48:23 UTC +++ mojo/core/embedder/features.h @@ -16,7 +16,7 @@ namespace core { #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && \ !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/iridium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/iridium/files/patch-mojo_public_tools_bindings_mojom.gni index 7e45e7ac62d7..b836291974b8 100644 --- a/www/iridium/files/patch-mojo_public_tools_bindings_mojom.gni +++ b/www/iridium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -1,19 +1,19 @@ ---- mojo/public/tools/bindings/mojom.gni.orig 2025-04-16 18:18:42 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2025-05-07 06:48:23 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -782,6 +782,16 @@ template("mojom") { +@@ -774,6 +774,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/iridium/files/patch-net_BUILD.gn b/www/iridium/files/patch-net_BUILD.gn index dd4589ff6a93..b748a4e7df63 100644 --- a/www/iridium/files/patch-net_BUILD.gn +++ b/www/iridium/files/patch-net_BUILD.gn @@ -1,95 +1,95 @@ ---- net/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- net/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ net/BUILD.gn @@ -125,7 +125,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" ] } -@@ -1312,6 +1312,19 @@ component("net") { +@@ -1320,6 +1320,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", -@@ -1475,7 +1488,7 @@ component("net") { +@@ -1483,7 +1496,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", -@@ -2174,7 +2187,7 @@ static_library("test_support") { +@@ -2182,7 +2195,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", -@@ -2985,14 +2998,14 @@ target(_test_target_type, "net_unittests") { +@@ -3001,14 +3014,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", -@@ -3086,6 +3099,10 @@ target(_test_target_type, "net_unittests") { +@@ -3104,6 +3117,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3152,7 +3169,7 @@ target(_test_target_type, "net_unittests") { +@@ -3170,7 +3187,7 @@ target(_test_target_type, "net_unittests") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "tools/quic/quic_simple_server_test.cc" ] } -@@ -3291,7 +3308,7 @@ target(_test_target_type, "net_unittests") { +@@ -3309,7 +3326,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/iridium/files/patch-net_base_features.cc b/www/iridium/files/patch-net_base_features.cc index 6564144a327d..f183e1fe0ae7 100644 --- a/www/iridium/files/patch-net_base_features.cc +++ b/www/iridium/files/patch-net_base_features.cc @@ -1,24 +1,24 @@ ---- net/base/features.cc.orig 2025-03-18 16:46:04 UTC +--- net/base/features.cc.orig 2025-05-07 06:48:23 UTC +++ net/base/features.cc @@ -26,7 +26,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 -@@ -549,7 +549,12 @@ BASE_FEATURE(kSpdyHeadersToHttpResponseUseBuilder, +@@ -548,7 +548,12 @@ BASE_FEATURE(kSpdyHeadersToHttpResponseUseBuilder, "SpdyHeadersToHttpResponseUseBuilder", base::FEATURE_DISABLED_BY_DEFAULT); +#if BUILDFLAG(IS_OPENBSD) +// No IP_RECVTOS support +BASE_FEATURE(kReportEcn, "ReportEcn", base::FEATURE_DISABLED_BY_DEFAULT); +#else BASE_FEATURE(kReportEcn, "ReportEcn", base::FEATURE_ENABLED_BY_DEFAULT); +#endif BASE_FEATURE(kUseNewAlpsCodepointHttp2, "UseNewAlpsCodepointHttp2", diff --git a/www/iridium/files/patch-net_base_network__change__notifier.cc b/www/iridium/files/patch-net_base_network__change__notifier.cc index ace4fcbd8b28..e8a559f53df6 100644 --- a/www/iridium/files/patch-net_base_network__change__notifier.cc +++ b/www/iridium/files/patch-net_base_network__change__notifier.cc @@ -1,21 +1,21 @@ ---- net/base/network_change_notifier.cc.orig 2025-04-16 18:18:42 UTC +--- net/base/network_change_notifier.cc.orig 2025-05-07 06:48:23 UTC +++ net/base/network_change_notifier.cc @@ -36,7 +36,7 @@ #include "net/base/network_change_notifier_linux.h" #elif BUILDFLAG(IS_APPLE) #include "net/base/network_change_notifier_apple.h" -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "net/base/network_change_notifier_passive.h" #elif BUILDFLAG(IS_FUCHSIA) #include "net/base/network_change_notifier_fuchsia.h" @@ -323,6 +323,9 @@ std::unique_ptr NetworkChangeNo #elif BUILDFLAG(IS_FUCHSIA) return std::make_unique( /*require_wlan=*/false); +#elif BUILDFLAG(IS_BSD) + return std::make_unique( + /*dns_config_notifier*/nullptr); #else NOTIMPLEMENTED(); return nullptr; diff --git a/www/iridium/files/patch-net_base_network__change__notifier__passive.cc b/www/iridium/files/patch-net_base_network__change__notifier__passive.cc index b33ecf69de1d..4d1bc307f5f3 100644 --- a/www/iridium/files/patch-net_base_network__change__notifier__passive.cc +++ b/www/iridium/files/patch-net_base_network__change__notifier__passive.cc @@ -1,11 +1,11 @@ ---- net/base/network_change_notifier_passive.cc.orig 2025-04-16 18:18:42 UTC +--- net/base/network_change_notifier_passive.cc.orig 2025-05-07 06:48:23 UTC +++ net/base/network_change_notifier_passive.cc @@ -106,7 +106,7 @@ NetworkChangeNotifierPassive::GetAddressMapOwnerIntern NetworkChangeNotifier::NetworkChangeCalculatorParams NetworkChangeNotifierPassive::NetworkChangeCalculatorParamsPassive() { NetworkChangeCalculatorParams params; -#if BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Delay values arrived at by simple experimentation and adjusted so as to // produce a single signal when switching between network connections. params.ip_address_offline_delay_ = base::Milliseconds(4000); diff --git a/www/iridium/files/patch-net_base_network__interfaces__posix.h b/www/iridium/files/patch-net_base_network__interfaces__posix.h index f778a775c886..b83ccfd0d65a 100644 --- a/www/iridium/files/patch-net_base_network__interfaces__posix.h +++ b/www/iridium/files/patch-net_base_network__interfaces__posix.h @@ -1,11 +1,11 @@ ---- net/base/network_interfaces_posix.h.orig 2022-03-28 18:11:04 UTC +--- net/base/network_interfaces_posix.h.orig 2025-05-07 06:48:23 UTC +++ net/base/network_interfaces_posix.h @@ -8,6 +8,8 @@ // This file provides some basic functionality shared between // network_interfaces_linux.cc and network_interfaces_getifaddrs.cc. +#include + #include struct sockaddr; diff --git a/www/iridium/files/patch-net_base_sockaddr__util__posix.cc b/www/iridium/files/patch-net_base_sockaddr__util__posix.cc index d044d6235f0d..708426ba2667 100644 --- a/www/iridium/files/patch-net_base_sockaddr__util__posix.cc +++ b/www/iridium/files/patch-net_base_sockaddr__util__posix.cc @@ -1,12 +1,12 @@ ---- net/base/sockaddr_util_posix.cc.orig 2025-03-18 16:46:04 UTC +--- net/base/sockaddr_util_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/base/sockaddr_util_posix.cc @@ -45,7 +45,8 @@ bool FillUnixAddress(const std::string& socket_path, return true; } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // XXX ? // Convert the path given into abstract socket name. It must start with // the '\0' character, so we are adding it. |addr_len| must specify the // length of the structure exactly, as potentially the socket name may diff --git a/www/iridium/files/patch-net_base_sockaddr__util__posix__unittest.cc b/www/iridium/files/patch-net_base_sockaddr__util__posix__unittest.cc index 4661f6d13038..db843ae508fc 100644 --- a/www/iridium/files/patch-net_base_sockaddr__util__posix__unittest.cc +++ b/www/iridium/files/patch-net_base_sockaddr__util__posix__unittest.cc @@ -1,12 +1,12 @@ ---- net/base/sockaddr_util_posix_unittest.cc.orig 2024-08-01 05:47:53 UTC +--- net/base/sockaddr_util_posix_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ net/base/sockaddr_util_posix_unittest.cc @@ -88,7 +88,8 @@ TEST(FillUnixAddressTest, AbstractLinuxAddress) { size_t path_max = MaxPathLength(&storage); std::string path(path_max, '0'); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // XXX? EXPECT_TRUE(FillUnixAddress(path, /*use_abstract_namespace=*/true, &storage)); EXPECT_EQ(path.size() + 1U + offsetof(struct sockaddr_un, sun_path), diff --git a/www/iridium/files/patch-net_cert_cert__verify__proc.h b/www/iridium/files/patch-net_cert_cert__verify__proc.h index 84fcf2dbf85d..fd4ac1b6c7d8 100644 --- a/www/iridium/files/patch-net_cert_cert__verify__proc.h +++ b/www/iridium/files/patch-net_cert_cert__verify__proc.h @@ -1,11 +1,11 @@ ---- net/cert/cert_verify_proc.h.orig 2024-12-22 12:24:29 UTC +--- net/cert/cert_verify_proc.h.orig 2025-05-07 06:48:23 UTC +++ net/cert/cert_verify_proc.h -@@ -186,7 +186,7 @@ class NET_EXPORT CertVerifyProc +@@ -182,7 +182,7 @@ class NET_EXPORT CertVerifyProc kMaxValue = kChainLengthOne }; -#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY)) // Creates and returns a CertVerifyProc that uses the system verifier. // |cert_net_fetcher| may not be used, depending on the implementation. diff --git a/www/iridium/files/patch-net_disk__cache_backend__experiment.h b/www/iridium/files/patch-net_disk__cache_backend__experiment.h index 5bd8e53b3448..cfca471a68f6 100644 --- a/www/iridium/files/patch-net_disk__cache_backend__experiment.h +++ b/www/iridium/files/patch-net_disk__cache_backend__experiment.h @@ -1,11 +1,11 @@ ---- net/disk_cache/backend_experiment.h.orig 2024-12-22 12:24:29 UTC +--- net/disk_cache/backend_experiment.h.orig 2025-05-07 06:48:23 UTC +++ net/disk_cache/backend_experiment.h @@ -14,7 +14,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/iridium/files/patch-net_disk__cache_simple_simple__file__tracker.cc b/www/iridium/files/patch-net_disk__cache_simple_simple__file__tracker.cc index 4c02b8382dbb..86a5b77a989d 100644 --- a/www/iridium/files/patch-net_disk__cache_simple_simple__file__tracker.cc +++ b/www/iridium/files/patch-net_disk__cache_simple_simple__file__tracker.cc @@ -1,20 +1,20 @@ ---- net/disk_cache/simple/simple_file_tracker.cc.orig 2025-03-18 16:46:04 UTC +--- net/disk_cache/simple/simple_file_tracker.cc.orig 2025-05-07 06:48:23 UTC +++ net/disk_cache/simple/simple_file_tracker.cc @@ -37,7 +37,17 @@ bool SimpleFileTracker::TrackedFiles::InLRUList() cons } SimpleFileTracker::SimpleFileTracker(int file_limit) +#if defined(OS_OPENBSD) +{ + // cap the file descriptor limit at 85% of the size of the + // file descriptor table and also substract the amount of + // currently used file descriptors as this should give us + // enough reserve to avoid hitting the limit + file_limit_ = (getdtablesize() * 0.85) - getdtablecount(); +} +#else : file_limit_(file_limit) {} +#endif SimpleFileTracker::~SimpleFileTracker() { DCHECK(lru_.empty()); diff --git a/www/iridium/files/patch-net_dns_BUILD.gn b/www/iridium/files/patch-net_dns_BUILD.gn index 70e403a4448c..3d4d9837d67a 100644 --- a/www/iridium/files/patch-net_dns_BUILD.gn +++ b/www/iridium/files/patch-net_dns_BUILD.gn @@ -1,31 +1,31 @@ ---- net/dns/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- net/dns/BUILD.gn.orig 2025-05-07 06:48:23 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") { ":host_resolver_manager", ":mdns_client", "//net:net_public_deps", + "//printing/buildflags", ] allow_circular_includes_from = [ @@ -450,9 +451,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/iridium/files/patch-net_dns_address__info.cc b/www/iridium/files/patch-net_dns_address__info.cc index d3568be553b4..0fb081f0958d 100644 --- a/www/iridium/files/patch-net_dns_address__info.cc +++ b/www/iridium/files/patch-net_dns_address__info.cc @@ -1,16 +1,16 @@ ---- net/dns/address_info.cc.orig 2024-08-01 05:47:53 UTC +--- net/dns/address_info.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/address_info.cc @@ -83,8 +83,12 @@ AddressInfo::AddressInfoAndResult AddressInfo::Get( // error. // http://crbug.com/134142 err = ERR_NAME_NOT_RESOLVED; -#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_FREEBSD) +#elif BUILDFLAG(IS_POSIX) +#ifdef EAI_NODATA if (os_error != EAI_NONAME && os_error != EAI_NODATA) +#else + if (os_error != EAI_NONAME) +#endif err = ERR_NAME_RESOLUTION_FAILED; #endif diff --git a/www/iridium/files/patch-net_dns_address__sorter__posix.cc b/www/iridium/files/patch-net_dns_address__sorter__posix.cc index 0bc07ca83cb9..de92425c9c68 100644 --- a/www/iridium/files/patch-net_dns_address__sorter__posix.cc +++ b/www/iridium/files/patch-net_dns_address__sorter__posix.cc @@ -1,10 +1,10 @@ ---- net/dns/address_sorter_posix.cc.orig 2024-08-01 05:47:53 UTC +--- net/dns/address_sorter_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/address_sorter_posix.cc @@ -32,6 +32,7 @@ #include "net/dns/netinet_in_var_ios.h" #else #include +#include #endif // BUILDFLAG(IS_IOS) #endif #include diff --git a/www/iridium/files/patch-net_dns_dns__config__service__posix.cc b/www/iridium/files/patch-net_dns_dns__config__service__posix.cc index 059bd7f53038..baf57aede3c0 100644 --- a/www/iridium/files/patch-net_dns_dns__config__service__posix.cc +++ b/www/iridium/files/patch-net_dns_dns__config__service__posix.cc @@ -1,26 +1,26 @@ ---- net/dns/dns_config_service_posix.cc.orig 2024-08-01 05:47:53 UTC +--- net/dns/dns_config_service_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/dns_config_service_posix.cc @@ -39,6 +39,11 @@ #include "net/dns/dns_config_watcher_mac.h" #endif +#if BUILDFLAG(IS_BSD) +#include "base/command_line.h" +#include "sandbox/policy/switches.h" +#endif + namespace net { namespace internal { @@ -135,6 +140,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi bool Watch() override { CheckOnCorrectSequence(); + +// pledge + unveil + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) + return false; bool success = true; if (!config_watcher_.Watch(base::BindRepeating(&Watcher::OnConfigChanged, diff --git a/www/iridium/files/patch-net_dns_dns__reloader.cc b/www/iridium/files/patch-net_dns_dns__reloader.cc index fd30a2efc4b4..c7e7f88074ac 100644 --- a/www/iridium/files/patch-net_dns_dns__reloader.cc +++ b/www/iridium/files/patch-net_dns_dns__reloader.cc @@ -1,10 +1,10 @@ ---- net/dns/dns_reloader.cc.orig 2023-04-22 17:45:15 UTC +--- net/dns/dns_reloader.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/dns_reloader.cc @@ -10,6 +10,7 @@ // - there's not guarantee it exists at all. :( #if BUILDFLAG(IS_POSIX) +#include #include // This code only works on systems where the C library provides res_ninit(3) and diff --git a/www/iridium/files/patch-net_dns_dns__util.cc b/www/iridium/files/patch-net_dns_dns__util.cc index cdf9e1b563fd..5d057d67fd63 100644 --- a/www/iridium/files/patch-net_dns_dns__util.cc +++ b/www/iridium/files/patch-net_dns_dns__util.cc @@ -1,11 +1,11 @@ ---- net/dns/dns_util.cc.orig 2023-03-13 07:33:08 UTC +--- net/dns/dns_util.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/dns_util.cc @@ -29,6 +29,8 @@ #include "net/dns/public/util.h" #include "net/third_party/uri_template/uri_template.h" +#include + #if BUILDFLAG(IS_POSIX) #include #include diff --git a/www/iridium/files/patch-net_dns_host__resolver__proc.cc b/www/iridium/files/patch-net_dns_host__resolver__proc.cc index 4fdd727daede..40288c7d25ac 100644 --- a/www/iridium/files/patch-net_dns_host__resolver__proc.cc +++ b/www/iridium/files/patch-net_dns_host__resolver__proc.cc @@ -1,13 +1,13 @@ ---- net/dns/host_resolver_proc.cc.orig 2022-12-06 08:09:13 UTC +--- net/dns/host_resolver_proc.cc.orig 2025-05-07 06:48:23 UTC +++ net/dns/host_resolver_proc.cc @@ -15,10 +15,6 @@ #include "net/base/net_errors.h" #include "net/dns/host_resolver_system_task.h" -#if BUILDFLAG(IS_OPENBSD) -#define AI_ADDRCONFIG 0 -#endif - namespace net { HostResolverProc* HostResolverProc::default_proc_ = nullptr; diff --git a/www/iridium/files/patch-net_dns_public_BUILD.gn b/www/iridium/files/patch-net_dns_public_BUILD.gn index 74de88fd1a41..32c48e931966 100644 --- a/www/iridium/files/patch-net_dns_public_BUILD.gn +++ b/www/iridium/files/patch-net_dns_public_BUILD.gn @@ -1,11 +1,11 @@ ---- net/dns/public/BUILD.gn.orig 2024-06-25 12:08:48 UTC +--- net/dns/public/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ net/dns/public/BUILD.gn @@ -78,7 +78,7 @@ source_set("tests") { "doh_provider_entry_unittest.cc", ] - if (is_posix && !is_android) { + if (is_posix && !is_android && !is_bsd) { sources += [ "resolv_reader_unittest.cc" ] } diff --git a/www/iridium/files/patch-net_dns_public_resolv__reader.h b/www/iridium/files/patch-net_dns_public_resolv__reader.h index 898a1d5fe1de..61f200c3d2e0 100644 --- a/www/iridium/files/patch-net_dns_public_resolv__reader.h +++ b/www/iridium/files/patch-net_dns_public_resolv__reader.h @@ -1,10 +1,10 @@ ---- net/dns/public/resolv_reader.h.orig 2022-03-28 18:11:04 UTC +--- net/dns/public/resolv_reader.h.orig 2025-05-07 06:48:23 UTC +++ net/dns/public/resolv_reader.h @@ -5,6 +5,7 @@ #ifndef NET_DNS_PUBLIC_RESOLV_READER_H_ #define NET_DNS_PUBLIC_RESOLV_READER_H_ +#include #include #include diff --git a/www/iridium/files/patch-net_dns_public_scoped__res__state.h b/www/iridium/files/patch-net_dns_public_scoped__res__state.h index 3741eae536f8..d8a9f30611e2 100644 --- a/www/iridium/files/patch-net_dns_public_scoped__res__state.h +++ b/www/iridium/files/patch-net_dns_public_scoped__res__state.h @@ -1,10 +1,10 @@ ---- net/dns/public/scoped_res_state.h.orig 2024-06-25 12:08:48 UTC +--- net/dns/public/scoped_res_state.h.orig 2025-05-07 06:48:23 UTC +++ net/dns/public/scoped_res_state.h @@ -5,6 +5,7 @@ #ifndef NET_DNS_PUBLIC_SCOPED_RES_STATE_H_ #define NET_DNS_PUBLIC_SCOPED_RES_STATE_H_ +#include #include #include diff --git a/www/iridium/files/patch-net_filter_zstd__source__stream.cc b/www/iridium/files/patch-net_filter_zstd__source__stream.cc index 49266ce0d3bc..5e91cb56a88d 100644 --- a/www/iridium/files/patch-net_filter_zstd__source__stream.cc +++ b/www/iridium/files/patch-net_filter_zstd__source__stream.cc @@ -1,10 +1,10 @@ ---- net/filter/zstd_source_stream.cc.orig 2024-06-25 12:08:48 UTC +--- net/filter/zstd_source_stream.cc.orig 2025-05-07 06:48:23 UTC +++ net/filter/zstd_source_stream.cc @@ -7,6 +7,7 @@ #include #include #include +#include #define ZSTD_STATIC_LINKING_ONLY diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc index 3e62bfe2c8ee..7db9301607ac 100644 --- a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc +++ b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc @@ -1,14 +1,13 @@ ---- net/http/http_auth_gssapi_posix.cc.orig 2024-08-01 05:47:53 UTC +--- net/http/http_auth_gssapi_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/http/http_auth_gssapi_posix.cc -@@ -375,8 +375,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib - static const char* const kDefaultLibraryNames[] = { +@@ -366,7 +366,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib + } else { #if BUILDFLAG(IS_APPLE) - "/System/Library/Frameworks/GSS.framework/GSS" + library_names.emplace_back("/System/Library/Frameworks/GSS.framework/GSS"); -#elif BUILDFLAG(IS_OPENBSD) -- "libgssapi.so" // Heimdal - OpenBSD +#elif BUILDFLAG(IS_BSD) -+ "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD -+ "libgssapi.so" // Heimdal - OpenBSD, FreeBSD ++ // MIT Kerberos - FreeBSD ++ library_names.emplace_back("libgssapi_krb5.so.2"); + // Heimdal - OpenBSD + library_names.emplace_back("libgssapi.so"); #else - "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian - "libgssapi.so.4", // Heimdal - Suse10, MDK diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h index ce5cf36e6b11..471c76ddb2cb 100644 --- a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h +++ b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h @@ -1,12 +1,12 @@ ---- net/http/http_auth_gssapi_posix.h.orig 2022-10-05 07:34:01 UTC +--- net/http/http_auth_gssapi_posix.h.orig 2025-05-07 06:48:23 UTC +++ net/http/http_auth_gssapi_posix.h @@ -21,6 +21,9 @@ #if BUILDFLAG(IS_APPLE) #include #elif BUILDFLAG(IS_FREEBSD) +#ifndef GSS_C_DELEG_POLICY_FLAG +#define GSS_C_DELEG_POLICY_FLAG 32768 +#endif #include #else #include diff --git a/www/iridium/files/patch-net_http_http__auth__handler__negotiate.cc b/www/iridium/files/patch-net_http_http__auth__handler__negotiate.cc index d9ae0fb981a7..61bcbe06cd1d 100644 --- a/www/iridium/files/patch-net_http_http__auth__handler__negotiate.cc +++ b/www/iridium/files/patch-net_http_http__auth__handler__negotiate.cc @@ -1,11 +1,11 @@ ---- net/http/http_auth_handler_negotiate.cc.orig 2025-04-16 18:18:42 UTC +--- net/http/http_auth_handler_negotiate.cc.orig 2025-05-07 06:48:23 UTC +++ net/http/http_auth_handler_negotiate.cc @@ -119,7 +119,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl #elif BUILDFLAG(IS_POSIX) if (is_unsupported_) return ERR_UNSUPPORTED_AUTH_SCHEME; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Note: Don't set is_unsupported_ = true here. AllowGssapiLibraryLoad() // might change to true during a session. if (!http_auth_preferences() || diff --git a/www/iridium/files/patch-net_http_http__auth__preferences.cc b/www/iridium/files/patch-net_http_http__auth__preferences.cc index 9893a3379346..01cc5ce69525 100644 --- a/www/iridium/files/patch-net_http_http__auth__preferences.cc +++ b/www/iridium/files/patch-net_http_http__auth__preferences.cc @@ -1,11 +1,11 @@ ---- net/http/http_auth_preferences.cc.orig 2025-04-16 18:18:42 UTC +--- net/http/http_auth_preferences.cc.orig 2025-05-07 06:48:23 UTC +++ net/http/http_auth_preferences.cc @@ -38,7 +38,7 @@ std::string HttpAuthPreferences::AuthAndroidNegotiateA } #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool HttpAuthPreferences::AllowGssapiLibraryLoad() const { return allow_gssapi_library_load_; } diff --git a/www/iridium/files/patch-net_http_http__auth__preferences.h b/www/iridium/files/patch-net_http_http__auth__preferences.h index 637f32963aa0..f437953d92e3 100644 --- a/www/iridium/files/patch-net_http_http__auth__preferences.h +++ b/www/iridium/files/patch-net_http_http__auth__preferences.h @@ -1,29 +1,29 @@ ---- net/http/http_auth_preferences.h.orig 2025-04-16 18:18:42 UTC +--- net/http/http_auth_preferences.h.orig 2025-05-07 06:48:23 UTC +++ net/http/http_auth_preferences.h @@ -49,7 +49,7 @@ class NET_EXPORT HttpAuthPreferences { #if BUILDFLAG(IS_ANDROID) virtual std::string AuthAndroidNegotiateAccountType() const; #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual bool AllowGssapiLibraryLoad() const; #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) virtual bool CanUseDefaultCredentials( @@ -85,7 +85,7 @@ class NET_EXPORT HttpAuthPreferences { } #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void set_allow_gssapi_library_load(bool allow_gssapi_library_load) { allow_gssapi_library_load_ = allow_gssapi_library_load; } @@ -136,7 +136,7 @@ class NET_EXPORT HttpAuthPreferences { std::string auth_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) bool allow_gssapi_library_load_ = true; #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-net_http_http__network__session.cc b/www/iridium/files/patch-net_http_http__network__session.cc index f0648d090cb5..9adf5aa2f05d 100644 --- a/www/iridium/files/patch-net_http_http__network__session.cc +++ b/www/iridium/files/patch-net_http_http__network__session.cc @@ -1,12 +1,12 @@ ---- net/http/http_network_session.cc.orig 2024-11-04 08:56:03 UTC +--- net/http/http_network_session.cc.orig 2025-05-07 06:48:23 UTC +++ net/http/http_network_session.cc @@ -20,7 +20,9 @@ #include "build/build_config.h" #include "net/base/features.h" #include "net/dns/host_resolver.h" +#if defined(USE_KERBEROS) #include "net/http/http_auth_handler_factory.h" +#endif #include "net/http/http_response_body_drainer.h" #include "net/http/http_stream_factory.h" #include "net/http/http_stream_pool.h" diff --git a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service.cc index 50b9e044181f..523a3393da25 100644 --- a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service.cc +++ b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service.cc @@ -1,35 +1,35 @@ ---- net/proxy_resolution/proxy_config_service.cc.orig 2023-03-13 07:33:08 UTC +--- net/proxy_resolution/proxy_config_service.cc.orig 2025-05-07 06:48:23 UTC +++ net/proxy_resolution/proxy_config_service.cc @@ -19,20 +19,20 @@ #include "net/proxy_resolution/proxy_config_service_ios.h" #elif BUILDFLAG(IS_MAC) #include "net/proxy_resolution/proxy_config_service_mac.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "net/proxy_resolution/proxy_config_service_linux.h" #elif BUILDFLAG(IS_ANDROID) #include "net/proxy_resolution/proxy_config_service_android.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "net/traffic_annotation/network_traffic_annotation.h" #endif namespace net { namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( semantics { @@ -108,7 +108,7 @@ ProxyConfigService::CreateSystemProxyConfigService( << "profile_io_data.cc::CreateProxyConfigService and this should " << "be used only for examples."; return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr linux_config_service( std::make_unique()); diff --git a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc index 81c8ecf85d65..761b6dccbe18 100644 --- a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc +++ b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc @@ -1,40 +1,40 @@ ---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2024-08-01 05:47:53 UTC +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2025-05-07 06:48:23 UTC +++ net/proxy_resolution/proxy_config_service_linux.cc @@ -11,7 +11,9 @@ #include #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include @@ -510,6 +512,7 @@ bool SettingGetterImplGSettings::CheckVersion( } #endif // defined(USE_GIO) +#if !BUILDFLAG(IS_BSD) // Converts |value| from a decimal string to an int. If there was a failure // parsing, returns |default_value|. int StringToIntOrDefault(std::string_view value, int default_value) { -@@ -1038,6 +1041,7 @@ class SettingGetterImplKDE : public ProxyConfigService +@@ -1048,6 +1051,7 @@ class SettingGetterImplKDE : public ProxyConfigService // events on. scoped_refptr file_task_runner_; }; +#endif } // namespace -@@ -1256,9 +1260,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( +@@ -1266,9 +1270,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( case base::nix::DESKTOP_ENVIRONMENT_KDE4: case base::nix::DESKTOP_ENVIRONMENT_KDE5: case base::nix::DESKTOP_ENVIRONMENT_KDE6: +#if !BUILDFLAG(IS_BSD) setting_getter_ = std::make_unique(env_var_getter_.get()); break; +#endif case base::nix::DESKTOP_ENVIRONMENT_XFCE: case base::nix::DESKTOP_ENVIRONMENT_LXQT: case base::nix::DESKTOP_ENVIRONMENT_OTHER: diff --git a/www/iridium/files/patch-net_quic_quic__network__transaction__unittest.cc b/www/iridium/files/patch-net_quic_quic__network__transaction__unittest.cc index f8290dda7a09..caf85f580c65 100644 --- a/www/iridium/files/patch-net_quic_quic__network__transaction__unittest.cc +++ b/www/iridium/files/patch-net_quic_quic__network__transaction__unittest.cc @@ -1,28 +1,28 @@ ---- net/quic/quic_network_transaction_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- net/quic/quic_network_transaction_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ net/quic/quic_network_transaction_unittest.cc @@ -5202,10 +5202,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 }; @@ -5248,10 +5248,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/iridium/files/patch-net_socket_socks5__client__socket.cc b/www/iridium/files/patch-net_socket_socks5__client__socket.cc index 2e3ba1348487..34adf2bc3bf0 100644 --- a/www/iridium/files/patch-net_socket_socks5__client__socket.cc +++ b/www/iridium/files/patch-net_socket_socks5__client__socket.cc @@ -1,12 +1,12 @@ ---- net/socket/socks5_client_socket.cc.orig 2025-04-16 18:18:42 UTC +--- net/socket/socks5_client_socket.cc.orig 2025-05-07 06:48:23 UTC +++ net/socket/socks5_client_socket.cc @@ -23,6 +23,9 @@ #include "net/log/net_log_event_type.h" #include "net/traffic_annotation/network_traffic_annotation.h" +#include +#include + namespace net { const unsigned int SOCKS5ClientSocket::kGreetReadHeaderSize = 2; diff --git a/www/iridium/files/patch-net_socket_tcp__socket__posix.cc b/www/iridium/files/patch-net_socket_tcp__socket__posix.cc index 66981f3eb75f..6917d3eb7e6e 100644 --- a/www/iridium/files/patch-net_socket_tcp__socket__posix.cc +++ b/www/iridium/files/patch-net_socket_tcp__socket__posix.cc @@ -1,20 +1,20 @@ ---- net/socket/tcp_socket_posix.cc.orig 2024-11-04 08:56:03 UTC +--- net/socket/tcp_socket_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/socket/tcp_socket_posix.cc @@ -98,6 +98,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) { PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd; return false; } +#elif BUILDFLAG(IS_FREEBSD) + // Set seconds until first TCP keep alive. + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) { + PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd; + return false; + } + // Set seconds between TCP keep alives. + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) { + PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd; + return false; + } #endif } diff --git a/www/iridium/files/patch-net_socket_udp__socket__posix.cc b/www/iridium/files/patch-net_socket_udp__socket__posix.cc index bcc7cd5b25e0..7ce43eb13129 100644 --- a/www/iridium/files/patch-net_socket_udp__socket__posix.cc +++ b/www/iridium/files/patch-net_socket_udp__socket__posix.cc @@ -1,39 +1,39 @@ ---- net/socket/udp_socket_posix.cc.orig 2025-04-16 18:18:42 UTC +--- net/socket/udp_socket_posix.cc.orig 2025-05-07 06:48:23 UTC +++ net/socket/udp_socket_posix.cc @@ -527,12 +527,17 @@ int UDPSocketPosix::SetRecvTos() { #endif // BUILDFLAG(IS_APPLE) } +#ifdef IP_RECVTOS int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn)); +#else + int rv = -1; + errno = EOPNOTSUPP; +#endif return rv == 0 ? OK : MapSystemError(errno); } void UDPSocketPosix::SetMsgConfirm(bool confirm) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) if (confirm) { sendto_flags_ |= MSG_CONFIRM; } else { @@ -553,7 +558,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); int value = broadcast ? 1 : 0; int rv; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // SO_REUSEPORT on OSX permits multiple processes to each receive // UDP multicast or broadcast datagrams destined for the bound // port. @@ -891,7 +896,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) #if BUILDFLAG(IS_CHROMEOS) if (last_error == EINVAL) return ERR_ADDRESS_IN_USE; -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) if (last_error == EADDRNOTAVAIL) return ERR_ADDRESS_IN_USE; #endif diff --git a/www/iridium/files/patch-net_socket_udp__socket__unittest.cc b/www/iridium/files/patch-net_socket_udp__socket__unittest.cc index e966f7584e73..99e041cb3e12 100644 --- a/www/iridium/files/patch-net_socket_udp__socket__unittest.cc +++ b/www/iridium/files/patch-net_socket_udp__socket__unittest.cc @@ -1,47 +1,47 @@ ---- net/socket/udp_socket_unittest.cc.orig 2025-04-16 18:18:42 UTC +--- net/socket/udp_socket_unittest.cc.orig 2025-05-07 06:48:23 UTC +++ net/socket/udp_socket_unittest.cc @@ -371,7 +371,7 @@ TEST_F(UDPSocketTest, PartialRecv) { EXPECT_EQ(second_packet, received); } -#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // - MacOS: requires root permissions on OSX 10.7+. // - Android: devices attached to testbots don't have default network, so // broadcasting to 255.255.255.255 returns error -109 (Address not reachable). @@ -682,7 +682,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = client.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else @@ -704,7 +704,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = server.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else -@@ -763,7 +763,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { +@@ -770,7 +770,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { // TODO(crbug.com/40620614): failing on device on iOS 12.2. // TODO(crbug.com/40189274): flaky on Mac 11. -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #define MAYBE_SharedMulticastAddress DISABLED_SharedMulticastAddress #else #define MAYBE_SharedMulticastAddress SharedMulticastAddress -@@ -817,7 +817,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { +@@ -824,7 +824,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { NetLogSource()); ASSERT_THAT(client_socket.Connect(send_address), IsOk()); -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // Send a message via the multicast group. That message is expected be be // received by both receving sockets. // diff --git a/www/iridium/files/patch-net_third__party_quiche_BUILD.gn b/www/iridium/files/patch-net_third__party_quiche_BUILD.gn index 414b96ec9383..87c4e02d1819 100644 --- a/www/iridium/files/patch-net_third__party_quiche_BUILD.gn +++ b/www/iridium/files/patch-net_third__party_quiche_BUILD.gn @@ -1,11 +1,11 @@ ---- net/third_party/quiche/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- net/third_party/quiche/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ net/third_party/quiche/BUILD.gn @@ -28,7 +28,7 @@ import("//net/third_party/quiche/src/build/source_list import("//testing/libfuzzer/fuzzer_test.gni") import("//third_party/protobuf/proto_library.gni") -build_epoll_based_tools = is_linux || is_chromeos +build_epoll_based_tools = (is_linux && !is_bsd) || is_chromeos config("quiche_internal_config") { cflags = [] diff --git a/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc index 76d63a3eee13..3ed9cbd0aa77 100644 --- a/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc +++ b/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -1,29 +1,29 @@ ---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2024-11-04 08:56:03 UTC +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2025-05-07 06:48:23 UTC +++ net/tools/cert_verify_tool/cert_verify_tool.cc @@ -35,7 +35,7 @@ #include "third_party/boringssl/src/pki/trust_store.h" #include "third_party/boringssl/src/pki/trust_store_collection.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "net/proxy_resolution/proxy_config.h" #include "net/proxy_resolution/proxy_config_service_fixed.h" #endif @@ -67,7 +67,7 @@ void SetUpOnNetworkThread( base::WaitableEvent* initialization_complete_event) { net::URLRequestContextBuilder url_request_context_builder; url_request_context_builder.set_user_agent(GetUserAgent()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, use a fixed ProxyConfigService, since the default one // depends on glib. // -@@ -580,7 +580,7 @@ int main(int argc, char** argv) { +@@ -582,7 +582,7 @@ int main(int argc, char** argv) { std::string impls_str = command_line.GetSwitchValueASCII("impls"); if (impls_str.empty()) { // Default value. -#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY)) impls_str = "platform,"; #endif diff --git a/www/iridium/files/patch-net_tools_net__watcher_net__watcher.cc b/www/iridium/files/patch-net_tools_net__watcher_net__watcher.cc index 8362e2e84bcb..e392002a3722 100644 --- a/www/iridium/files/patch-net_tools_net__watcher_net__watcher.cc +++ b/www/iridium/files/patch-net_tools_net__watcher_net__watcher.cc @@ -1,38 +1,38 @@ ---- net/tools/net_watcher/net_watcher.cc.orig 2025-04-16 18:18:42 UTC +--- net/tools/net_watcher/net_watcher.cc.orig 2025-05-07 06:48:23 UTC +++ net/tools/net_watcher/net_watcher.cc @@ -31,7 +31,7 @@ #include "net/proxy_resolution/proxy_config_service.h" #include "net/proxy_resolution/proxy_config_with_annotation.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "net/base/network_change_notifier_linux.h" #endif @@ -41,7 +41,7 @@ namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Flag to specifies which network interfaces to ignore. Interfaces should // follow as a comma seperated list. const char kIgnoreNetifFlag[] = "ignore-netif"; @@ -143,7 +143,7 @@ class NetWatcher : } // namespace int main(int argc, char* argv[]) { -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::apple::ScopedNSAutoreleasePool pool; #endif base::AtExitManager exit_manager; @@ -160,7 +160,7 @@ int main(int argc, char* argv[]) { NetWatcher net_watcher; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); std::string ignored_netifs_str = command_line->GetSwitchValueASCII(kIgnoreNetifFlag); diff --git a/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h index 64b5c87ad49e..417f7bdf66e4 100644 --- a/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h +++ b/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h @@ -1,20 +1,20 @@ ---- net/traffic_annotation/network_traffic_annotation.h.orig 2025-04-16 18:18:42 UTC +--- net/traffic_annotation/network_traffic_annotation.h.orig 2025-05-07 06:48:23 UTC +++ net/traffic_annotation/network_traffic_annotation.h @@ -374,7 +374,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { } // namespace net // Placeholder for unannotated usages. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \ net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.") #endif @@ -385,7 +385,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { // // On Linux and Windows, use MISSING_TRAFFIC_ANNOTATION or // TRAFFIC_ANNOTATION_FOR_TESTS. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) #define NO_TRAFFIC_ANNOTATION_YET \ net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") diff --git a/www/iridium/files/patch-net_url__request_url__request.cc b/www/iridium/files/patch-net_url__request_url__request.cc index c28a33a6ae92..19bb489c965b 100644 --- a/www/iridium/files/patch-net_url__request_url__request.cc +++ b/www/iridium/files/patch-net_url__request_url__request.cc @@ -1,30 +1,30 @@ ---- net/url_request/url_request.cc.orig 2025-04-16 18:18:42 UTC +--- net/url_request/url_request.cc.orig 2025-05-07 06:48:23 UTC +++ net/url_request/url_request.cc @@ -10,6 +10,7 @@ # include #endif +#include "base/command_line.h" #include "base/compiler_specific.h" #include "base/functional/bind.h" #include "base/functional/callback.h" @@ -24,6 +25,7 @@ #include "base/types/optional_util.h" #include "base/types/pass_key.h" #include "base/values.h" +#include "content/public/common/content_switches.h" #include "net/base/auth.h" #include "net/base/features.h" #include "net/base/io_buffer.h" -@@ -63,7 +65,10 @@ namespace iridium { +@@ -64,7 +66,10 @@ namespace iridium { void textlog_request(const char *caller, const GURL &url) { -#ifdef __linux__ + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch(switches::kTrk)) + return; +#ifdef __unix__ bool tty = isatty(fileno(stderr)); #else bool tty = false; diff --git a/www/iridium/files/patch-net_url__request_url__request__context.cc b/www/iridium/files/patch-net_url__request_url__request__context.cc index 53e6ece4fa37..dc65ab2cfe8d 100644 --- a/www/iridium/files/patch-net_url__request_url__request__context.cc +++ b/www/iridium/files/patch-net_url__request_url__request__context.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context.cc.orig 2025-04-16 18:18:42 UTC +--- net/url_request/url_request_context.cc.orig 2025-05-07 06:48:23 UTC +++ net/url_request/url_request_context.cc @@ -119,7 +119,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/iridium/files/patch-net_url__request_url__request__context.h b/www/iridium/files/patch-net_url__request_url__request__context.h index 333b93cffc9a..dbf0b579fb38 100644 --- a/www/iridium/files/patch-net_url__request_url__request__context.h +++ b/www/iridium/files/patch-net_url__request_url__request__context.h @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context.h.orig 2025-04-16 18:18:42 UTC +--- net/url_request/url_request_context.h.orig 2025-05-07 06:48:23 UTC +++ net/url_request/url_request_context.h @@ -86,7 +86,7 @@ class NET_EXPORT URLRequestContext final { // session. const HttpNetworkSessionContext* GetNetworkSessionContext() const; -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // This function should not be used in Chromium, please use the version with // NetworkTrafficAnnotationTag in the future. // diff --git a/www/iridium/files/patch-net_url__request_url__request__context__builder.cc b/www/iridium/files/patch-net_url__request_url__request__context__builder.cc index 79da739b5728..ce8f97fd6a03 100644 --- a/www/iridium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/iridium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2025-04-16 18:18:42 UTC +--- net/url_request/url_request_context_builder.cc.orig 2025-05-07 06:48:23 UTC +++ net/url_request/url_request_context_builder.cc -@@ -440,7 +440,7 @@ std::unique_ptr URLRequestContextBu +@@ -441,7 +441,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/iridium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc b/www/iridium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc index 6324e735d68b..954b057b4e46 100644 --- a/www/iridium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc +++ b/www/iridium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc @@ -1,15 +1,15 @@ ---- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2025-04-16 18:18:42 UTC +--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2025-05-07 06:48:23 UTC +++ net/websockets/websocket_basic_stream_adapters_test.cc @@ -1098,10 +1098,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, OnCloseOkShouldBeTranslatedToConnectionClose) { spdy::SpdySerializedFrame response_headers( spdy_util_.ConstructSpdyResponseHeaders(1, ResponseHeaders(), false)); - spdy::SpdySerializedFrame close( + spdy::SpdySerializedFrame test_close( spdy_util_.ConstructSpdyRstStream(1, spdy::ERROR_CODE_NO_ERROR)); MockRead reads[] = {CreateMockRead(response_headers, 1), - CreateMockRead(close, 2), MockRead(ASYNC, 0, 3)}; + CreateMockRead(test_close, 2), MockRead(ASYNC, 0, 3)}; spdy::SpdySerializedFrame request_headers(spdy_util_.ConstructSpdyHeaders( 1, RequestHeaders(), DEFAULT_PRIORITY, false)); MockWrite writes[] = {CreateMockWrite(request_headers, 0)}; diff --git a/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc index 57a37739dd9a..bebe760cbab0 100644 --- a/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2025-04-16 18:18:42 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2025-05-07 06:48:23 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -109,7 +109,7 @@ +@@ -111,7 +111,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 -@@ -565,7 +565,7 @@ void InitializeSDK(bool enable_v8, +@@ -567,7 +567,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/iridium/files/patch-printing_backend_cups__ipp__helper.cc b/www/iridium/files/patch-printing_backend_cups__ipp__helper.cc index 07a2e60ec071..895461afb670 100644 --- a/www/iridium/files/patch-printing_backend_cups__ipp__helper.cc +++ b/www/iridium/files/patch-printing_backend_cups__ipp__helper.cc @@ -1,11 +1,11 @@ ---- printing/backend/cups_ipp_helper.cc.orig 2025-03-18 16:46:04 UTC +--- printing/backend/cups_ipp_helper.cc.orig 2025-05-07 06:48:23 UTC +++ printing/backend/cups_ipp_helper.cc @@ -201,7 +201,7 @@ void ExtractResolutions(const CupsOptionProvider& prin // Provide a default DPI if no valid DPI is found. #if BUILDFLAG(IS_MAC) constexpr gfx::Size kDefaultMissingDpi(kDefaultMacDpi, kDefaultMacDpi); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr gfx::Size kDefaultMissingDpi(kPixelsPerInch, kPixelsPerInch); #else constexpr gfx::Size kDefaultMissingDpi(kDefaultPdfDpi, kDefaultPdfDpi); diff --git a/www/iridium/files/patch-printing_backend_print__backend__cups.cc b/www/iridium/files/patch-printing_backend_print__backend__cups.cc index 64bb5c00d832..1a25e1b1ff06 100644 --- a/www/iridium/files/patch-printing_backend_print__backend__cups.cc +++ b/www/iridium/files/patch-printing_backend_print__backend__cups.cc @@ -1,29 +1,29 @@ ---- printing/backend/print_backend_cups.cc.orig 2025-04-16 18:18:42 UTC +--- printing/backend/print_backend_cups.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.cc index d4165ef2b086..682601e14000 100644 --- a/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.cc +++ b/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -1,29 +1,29 @@ ---- printing/mojom/printing_context_mojom_traits.cc.orig 2023-11-22 14:00:11 UTC +--- printing/mojom/printing_context_mojom_traits.cc.orig 2025-05-07 06:48:23 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 @@ -161,7 +161,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; @@ -238,7 +238,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/iridium/files/patch-printing_mojom_printing__context__mojom__traits.h b/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.h index ce44a32067f2..d3f22e8e85ba 100644 --- a/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.h +++ b/www/iridium/files/patch-printing_mojom_printing__context__mojom__traits.h @@ -1,11 +1,11 @@ ---- printing/mojom/printing_context_mojom_traits.h.orig 2023-10-21 11:51:27 UTC +--- printing/mojom/printing_context_mojom_traits.h.orig 2025-05-07 06:48:23 UTC +++ printing/mojom/printing_context_mojom_traits.h @@ -166,7 +166,7 @@ struct StructTraits #include "base/values.h" @@ -51,7 +51,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 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 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_; @@ -429,7 +429,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/iridium/files/patch-printing_print__settings__conversion.cc b/www/iridium/files/patch-printing_print__settings__conversion.cc index e650576f9000..0b4e7a47d8a3 100644 --- a/www/iridium/files/patch-printing_print__settings__conversion.cc +++ b/www/iridium/files/patch-printing_print__settings__conversion.cc @@ -1,11 +1,11 @@ ---- printing/print_settings_conversion.cc.orig 2024-06-25 12:08:48 UTC +--- printing/print_settings_conversion.cc.orig 2025-05-07 06:48:23 UTC +++ printing/print_settings_conversion.cc @@ -285,7 +285,7 @@ std::unique_ptr PrintSettingsFromJobSet settings->set_is_modifiable(is_modifiable.value()); } -#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)) +#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)) const base::Value::Dict* advanced_settings = job_settings.FindDict(kSettingAdvancedSettings); if (advanced_settings) { diff --git a/www/iridium/files/patch-printing_printing__context__linux.cc b/www/iridium/files/patch-printing_printing__context__linux.cc index be33d28c98cf..10590c43497e 100644 --- a/www/iridium/files/patch-printing_printing__context__linux.cc +++ b/www/iridium/files/patch-printing_printing__context__linux.cc @@ -1,38 +1,38 @@ ---- printing/printing_context_linux.cc.orig 2024-12-22 12:24:29 UTC +--- printing/printing_context_linux.cc.orig 2025-05-07 06:48:23 UTC +++ printing/printing_context_linux.cc @@ -23,7 +23,7 @@ #endif // Avoid using LinuxUi on Fuchsia. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif @@ -66,7 +66,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett ResetSettings(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::LinuxUi::instance()) return mojom::ResultCode::kSuccess; @@ -82,7 +82,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett } gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ui::LinuxUi::instance()) return ui::LinuxUi::instance()->GetPdfPaperSize(this); #endif @@ -95,7 +95,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS DCHECK(!printer_settings.show_system_dialog); DCHECK(!in_print_job_); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::LinuxUi::instance()) return mojom::ResultCode::kSuccess; diff --git a/www/iridium/files/patch-printing_printing__features.cc b/www/iridium/files/patch-printing_printing__features.cc index 3b7e19c38071..d0276997445a 100644 --- a/www/iridium/files/patch-printing_printing__features.cc +++ b/www/iridium/files/patch-printing_printing__features.cc @@ -1,26 +1,26 @@ ---- printing/printing_features.cc.orig 2025-02-22 18:06:53 UTC +--- printing/printing_features.cc.orig 2025-05-07 06:48:23 UTC +++ printing/printing_features.cc -@@ -21,12 +21,12 @@ BASE_FEATURE(kAddPrinterViaPrintscanmgr, - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -26,12 +26,12 @@ 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) // 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 -@@ -69,7 +69,7 @@ BASE_FEATURE(kUseXpsForPrintingFromPdf, +@@ -81,7 +81,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/iridium/files/patch-printing_printing__features.h b/www/iridium/files/patch-printing_printing__features.h index 40856b0206cc..9f7e8d13e53b 100644 --- a/www/iridium/files/patch-printing_printing__features.h +++ b/www/iridium/files/patch-printing_printing__features.h @@ -1,11 +1,11 @@ ---- printing/printing_features.h.orig 2024-08-01 05:47:53 UTC +--- printing/printing_features.h.orig 2025-05-07 06:48:23 UTC +++ printing/printing_features.h -@@ -22,7 +22,7 @@ COMPONENT_EXPORT(PRINTING_BASE) - BASE_DECLARE_FEATURE(kAddPrinterViaPrintscanmgr); +@@ -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) COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kCupsIppPrintingBackend); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) diff --git a/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc b/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc index e8302ed55fc6..5fa377a79c06 100644 --- a/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc @@ -1,50 +1,50 @@ ---- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2024-06-25 12:08:48 UTC +--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ printing/sandbox/print_backend_sandbox_hook_linux.cc @@ -10,20 +10,27 @@ #include "base/path_service.h" #include "build/build_config.h" #include "printing/buildflags/buildflags.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/linux/syscall_broker/broker_command.h" #include "sandbox/linux/syscall_broker/broker_file_permission.h" #include "sandbox/policy/export.h" #include "sandbox/policy/linux/sandbox_linux.h" +#else +#include "sandbox/policy/sandbox.h" +#endif #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS) #include "printing/backend/cups_connection_pool.h" #endif +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; using sandbox::syscall_broker::MakeBrokerCommandSet; +#endif namespace printing { +#if !BUILDFLAG(IS_BSD) namespace { sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() { @@ -76,9 +83,11 @@ std::vector GetPrintBackendFileP } } // namespace +#endif bool PrintBackendPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS) // Create the socket connections to the CUPS server before engaging the // sandbox, since new connections cannot be made after that. @@ -91,6 +100,7 @@ bool PrintBackendPreSandboxHook( GetPrintBackendFilePermissions(), options); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h b/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h index ff1a7382c3df..ce222611e103 100644 --- a/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h +++ b/www/iridium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2023-10-21 11:51:27 UTC +--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ printing/sandbox/print_backend_sandbox_hook_linux.h @@ -5,8 +5,13 @@ #ifndef PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ #define PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" #include "base/component_export.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace printing { diff --git a/www/iridium/files/patch-remoting_base_chromoting__event.cc b/www/iridium/files/patch-remoting_base_chromoting__event.cc index 61e16a336821..57048286fc15 100644 --- a/www/iridium/files/patch-remoting_base_chromoting__event.cc +++ b/www/iridium/files/patch-remoting_base_chromoting__event.cc @@ -1,11 +1,11 @@ ---- remoting/base/chromoting_event.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/base/chromoting_event.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/base/chromoting_event.cc @@ -191,7 +191,7 @@ void ChromotingEvent::AddSystemInfo() { SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture()); SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion()); SetString(kWebAppVersionKey, STRINGIZE(VERSION)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) Os os = Os::CHROMOTING_LINUX; #elif BUILDFLAG(IS_CHROMEOS) Os os = Os::CHROMOTING_CHROMEOS; diff --git a/www/iridium/files/patch-remoting_base_host__settings.cc b/www/iridium/files/patch-remoting_base_host__settings.cc index 594d771d25bf..72a3e103c91b 100644 --- a/www/iridium/files/patch-remoting_base_host__settings.cc +++ b/www/iridium/files/patch-remoting_base_host__settings.cc @@ -1,20 +1,20 @@ ---- remoting/base/host_settings.cc.orig 2022-03-28 18:11:04 UTC +--- remoting/base/host_settings.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/base/host_settings.cc @@ -7,7 +7,7 @@ #include "base/no_destructor.h" #include "build/build_config.h" -#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) +#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) #include "remoting/base/file_host_settings.h" #endif // BUILDFLAG(IS_LINUX) @@ -44,7 +44,7 @@ HostSettings::~HostSettings() = default; // static HostSettings* HostSettings::GetInstance() { -#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) +#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) static base::NoDestructor instance( FileHostSettings::GetSettingsFilePath()); #elif BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/www/iridium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc index ea0adabbda94..d32adda37d50 100644 --- a/www/iridium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc +++ b/www/iridium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc @@ -1,11 +1,11 @@ ---- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/codec/webrtc_video_encoder_vpx.cc @@ -92,7 +92,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config const webrtc::DesktopSize& size) { SetCommonCodecParameters(config, size); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, using too many threads for VP8 encoding has been linked to high // CPU usage on machines that are under stress. See http://crbug.com/1151148. // 5/3/2022 update: Perf testing has shown that doubling the number of threads diff --git a/www/iridium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/iridium/files/patch-remoting_host_base_desktop__environment__options.cc index e78a7d9d2066..0c26dcf1c068 100644 --- a/www/iridium/files/patch-remoting_host_base_desktop__environment__options.cc +++ b/www/iridium/files/patch-remoting_host_base_desktop__environment__options.cc @@ -1,11 +1,11 @@ ---- remoting/host/base/desktop_environment_options.cc.orig 2024-11-04 08:56:03 UTC +--- remoting/host/base/desktop_environment_options.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/base/desktop_environment_options.cc -@@ -99,7 +99,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic +@@ -109,7 +109,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic // TODO(joedow): Determine whether we can migrate additional platforms to // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then // clean up DesktopCapturerProxy::Core::CreateCapturer(). -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return capture_video_on_dedicated_thread_; #else return false; diff --git a/www/iridium/files/patch-remoting_host_base_switches.cc b/www/iridium/files/patch-remoting_host_base_switches.cc index 39aac3aa0ef1..a7b337bac377 100644 --- a/www/iridium/files/patch-remoting_host_base_switches.cc +++ b/www/iridium/files/patch-remoting_host_base_switches.cc @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.cc.orig 2022-10-05 07:34:01 UTC +--- remoting/host/base/switches.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/base/switches.cc @@ -23,13 +23,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat const char kProcessTypeFileChooser[] = "file_chooser"; const char kProcessTypeUrlForwarderConfigurator[] = "url_forwarder_configurator"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kProcessTypeXSessionChooser[] = "xsession_chooser"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char kEnableUtempter[] = "enable-utempter"; #endif diff --git a/www/iridium/files/patch-remoting_host_base_switches.h b/www/iridium/files/patch-remoting_host_base_switches.h index b2abc0b8f72b..4205bba1835f 100644 --- a/www/iridium/files/patch-remoting_host_base_switches.h +++ b/www/iridium/files/patch-remoting_host_base_switches.h @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.h.orig 2022-10-05 07:34:01 UTC +--- remoting/host/base/switches.h.orig 2025-05-07 06:48:23 UTC +++ remoting/host/base/switches.h @@ -35,13 +35,13 @@ extern const char kProcessTypeRdpDesktopSession[]; extern const char kProcessTypeEvaluateCapability[]; extern const char kProcessTypeFileChooser[]; extern const char kProcessTypeUrlForwarderConfigurator[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kProcessTypeXSessionChooser[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) extern const char kEvaluateCapabilitySwitchName[]; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used to record client sessions to utmp/wtmp. extern const char kEnableUtempter[]; #endif diff --git a/www/iridium/files/patch-remoting_host_chromoting__host.cc b/www/iridium/files/patch-remoting_host_chromoting__host.cc index b5086b231605..4f85724fb7c9 100644 --- a/www/iridium/files/patch-remoting_host_chromoting__host.cc +++ b/www/iridium/files/patch-remoting_host_chromoting__host.cc @@ -1,11 +1,11 @@ ---- remoting/host/chromoting_host.cc.orig 2025-02-22 18:06:53 UTC +--- remoting/host/chromoting_host.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/chromoting_host.cc -@@ -135,7 +135,7 @@ void ChromotingHost::Start(const std::string& host_own +@@ -137,7 +137,7 @@ void ChromotingHost::Start(const std::string& host_own &ChromotingHost::OnIncomingSession, base::Unretained(this))); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromotingHost::StartChromotingHostServices() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(!ipc_server_); diff --git a/www/iridium/files/patch-remoting_host_chromoting__host.h b/www/iridium/files/patch-remoting_host_chromoting__host.h index 89c054366049..85529fb300c8 100644 --- a/www/iridium/files/patch-remoting_host_chromoting__host.h +++ b/www/iridium/files/patch-remoting_host_chromoting__host.h @@ -1,29 +1,29 @@ ---- remoting/host/chromoting_host.h.orig 2025-02-22 18:06:53 UTC +--- remoting/host/chromoting_host.h.orig 2025-05-07 06:48:23 UTC +++ remoting/host/chromoting_host.h @@ -36,7 +36,7 @@ #include "remoting/protocol/session_manager.h" #include "remoting/protocol/transport_context.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/chromoting_host_services_server.h" #endif @@ -112,7 +112,7 @@ class ChromotingHost : public ClientSession::EventHand // This method can only be called once during the lifetime of this object. void Start(const std::string& host_owner); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Starts running the ChromotingHostServices server and listening for incoming // IPC binding requests. // Currently only Linux runs the ChromotingHostServices server on the host -@@ -220,7 +220,7 @@ class ChromotingHost : public ClientSession::EventHand +@@ -222,7 +222,7 @@ class ChromotingHost : public ClientSession::EventHand // List of host extensions. std::vector> extensions_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // IPC server that runs the CRD host service API. Non-null if the server name // is set and the host is started. // Currently only Linux runs the ChromotingHostServices server on the host diff --git a/www/iridium/files/patch-remoting_host_chromoting__host__context.cc b/www/iridium/files/patch-remoting_host_chromoting__host__context.cc index 012a0007bf77..fef136f0a176 100644 --- a/www/iridium/files/patch-remoting_host_chromoting__host__context.cc +++ b/www/iridium/files/patch-remoting_host_chromoting__host__context.cc @@ -1,11 +1,11 @@ ---- remoting/host/chromoting_host_context.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/chromoting_host_context.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/chromoting_host_context.cc @@ -335,7 +335,7 @@ std::unique_ptr ChromotingHostC // on a UI thread. scoped_refptr input_task_runner = AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::MessagePumpType::UI); #else base::MessagePumpType::IO); diff --git a/www/iridium/files/patch-remoting_host_chromoting__host__services__client.cc b/www/iridium/files/patch-remoting_host_chromoting__host__services__client.cc index 7200f90d05e4..3e8848fda974 100644 --- a/www/iridium/files/patch-remoting_host_chromoting__host__services__client.cc +++ b/www/iridium/files/patch-remoting_host_chromoting__host__services__client.cc @@ -1,20 +1,20 @@ ---- remoting/host/chromoting_host_services_client.cc.orig 2023-10-21 11:51:27 UTC +--- remoting/host/chromoting_host_services_client.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/chromoting_host_services_client.cc @@ -59,7 +59,7 @@ mojo::PendingRemote Con } // namespace -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static constexpr char @@ -136,7 +136,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic if (session_services_remote_.is_bound()) { return true; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!environment_->HasVar(kChromeRemoteDesktopSessionEnvVar)) { LOG(WARNING) << "Current desktop environment is not remotable."; return false; diff --git a/www/iridium/files/patch-remoting_host_client__session.cc b/www/iridium/files/patch-remoting_host_client__session.cc index 40925c806b13..dab2b504767d 100644 --- a/www/iridium/files/patch-remoting_host_client__session.cc +++ b/www/iridium/files/patch-remoting_host_client__session.cc @@ -1,11 +1,11 @@ ---- remoting/host/client_session.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/client_session.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/client_session.cc -@@ -187,7 +187,7 @@ void ClientSession::NotifyClientResolution( +@@ -188,7 +188,7 @@ void ClientSession::NotifyClientResolution( if (effective_policies_.curtain_required.value_or(false)) { dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); #endif diff --git a/www/iridium/files/patch-remoting_host_crash_crash__file__uploader.cc b/www/iridium/files/patch-remoting_host_crash_crash__file__uploader.cc index 1328aefbdd89..b8897e06f6ab 100644 --- a/www/iridium/files/patch-remoting_host_crash_crash__file__uploader.cc +++ b/www/iridium/files/patch-remoting_host_crash_crash__file__uploader.cc @@ -1,11 +1,11 @@ ---- remoting/host/crash/crash_file_uploader.cc.orig 2024-08-01 05:47:53 UTC +--- remoting/host/crash/crash_file_uploader.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/crash/crash_file_uploader.cc @@ -44,7 +44,7 @@ constexpr char kMinidumpFileName[] = "dump"; #if BUILDFLAG(IS_WIN) constexpr char kProductNameValue[] = "Chromoting"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kProductNameValue[] = "Chromoting_Linux"; #elif BUILDFLAG(IS_MAC) constexpr char kProductNameValue[] = "Chromoting_Mac"; diff --git a/www/iridium/files/patch-remoting_host_evaluate__capability.cc b/www/iridium/files/patch-remoting_host_evaluate__capability.cc index 6de19755f73b..a1b0d65c4054 100644 --- a/www/iridium/files/patch-remoting_host_evaluate__capability.cc +++ b/www/iridium/files/patch-remoting_host_evaluate__capability.cc @@ -1,11 +1,11 @@ ---- remoting/host/evaluate_capability.cc.orig 2024-06-25 12:08:48 UTC +--- remoting/host/evaluate_capability.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/evaluate_capability.cc @@ -56,7 +56,7 @@ base::FilePath BuildHostBinaryPath() { } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (path.BaseName().value() == FILE_PATH_LITERAL("chrome-remote-desktop-host")) { return path; diff --git a/www/iridium/files/patch-remoting_host_host__attributes.cc b/www/iridium/files/patch-remoting_host_host__attributes.cc index ffddc137f5ac..674f01d6878a 100644 --- a/www/iridium/files/patch-remoting_host_host__attributes.cc +++ b/www/iridium/files/patch-remoting_host_host__attributes.cc @@ -1,11 +1,11 @@ ---- remoting/host/host_attributes.cc.orig 2023-07-24 14:27:53 UTC +--- remoting/host/host_attributes.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/host_attributes.cc -@@ -105,7 +105,7 @@ std::string GetHostAttributes() { +@@ -103,7 +103,7 @@ std::string GetHostAttributes() { if (media::InitializeMediaFoundation()) { result.push_back("HWEncoder"); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) result.push_back("HWEncoder"); #endif diff --git a/www/iridium/files/patch-remoting_host_host__details.cc b/www/iridium/files/patch-remoting_host_host__details.cc index 9497b0a35d89..19d2f60b0cd0 100644 --- a/www/iridium/files/patch-remoting_host_host__details.cc +++ b/www/iridium/files/patch-remoting_host_host__details.cc @@ -1,29 +1,29 @@ ---- remoting/host/host_details.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/host/host_details.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/host_details.cc @@ -7,7 +7,7 @@ #include "base/system/sys_info.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/linux_util.h" #endif @@ -22,7 +22,7 @@ std::string GetHostOperatingSystemName() { return "Mac"; #elif BUILDFLAG(IS_CHROMEOS) return "ChromeOS"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "Linux"; #elif BUILDFLAG(IS_ANDROID) return "Android"; @@ -34,7 +34,7 @@ std::string GetHostOperatingSystemName() { // Get the host Operating System Version, removing the need to check for OS // definitions and keeps the format used consistent. std::string GetHostOperatingSystemVersion() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return base::GetLinuxDistro(); #else return base::SysInfo::OperatingSystemVersion(); diff --git a/www/iridium/files/patch-remoting_host_host__main.cc b/www/iridium/files/patch-remoting_host_host__main.cc index 4b07da56d3c7..6df540b34c86 100644 --- a/www/iridium/files/patch-remoting_host_host__main.cc +++ b/www/iridium/files/patch-remoting_host_host__main.cc @@ -1,38 +1,38 @@ ---- remoting/host/host_main.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/host/host_main.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/host_main.cc @@ -55,7 +55,7 @@ int FileChooserMain(); int RdpDesktopSessionMain(); int UrlForwarderConfiguratorMain(); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) int XSessionChooserMain(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -68,7 +68,7 @@ const char kUsageMessage[] = "\n" "Options:\n" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) " --audio-pipe-name= - Sets the pipe name to capture audio on " "Linux.\n" #endif // BUILDFLAG(IS_LINUX) @@ -161,7 +161,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro } else if (process_type == kProcessTypeUrlForwarderConfigurator) { main_routine = &UrlForwarderConfiguratorMain; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) } else if (process_type == kProcessTypeXSessionChooser) { main_routine = &XSessionChooserMain; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -229,7 +229,7 @@ int HostMain(int argc, char** argv) { // Note that we enable crash reporting only if the user has opted in to having // the crash reports uploaded. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashReporting(); #elif BUILDFLAG(IS_WIN) // TODO: joedow - Enable crash reporting for the RDP process. diff --git a/www/iridium/files/patch-remoting_host_ipc__constants.cc b/www/iridium/files/patch-remoting_host_ipc__constants.cc index 251fc367c693..39ea397a36f3 100644 --- a/www/iridium/files/patch-remoting_host_ipc__constants.cc +++ b/www/iridium/files/patch-remoting_host_ipc__constants.cc @@ -1,20 +1,20 @@ ---- remoting/host/ipc_constants.cc.orig 2024-12-22 12:24:29 UTC +--- remoting/host/ipc_constants.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/ipc_constants.cc @@ -17,7 +17,7 @@ namespace remoting { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if !defined(NDEBUG) // Use a different IPC name for debug builds so that we can run the host @@ -81,7 +81,7 @@ GetChromotingHostServicesServerName() { static const base::NoDestructor server_name( named_mojo_ipc_server::WorkingDirectoryIndependentServerNameFromUTF8( -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux host creates the socket file in /tmp, and it won't be // deleted until reboot, so we put username in the path in case // the user switches the host owner. diff --git a/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc index 3a6623ca36ec..f12e510786b4 100644 --- a/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc +++ b/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -1,47 +1,47 @@ ---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/it2me/it2me_native_messaging_host_main.cc @@ -30,7 +30,7 @@ #include "remoting/host/resources.h" #include "remoting/host/usage_stats_consent.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) #include #include "base/linux_util.h" @@ -75,7 +75,7 @@ bool CurrentProcessHasUiAccess() { // Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and // runs the task executor until It2MeNativeMessagingHost signals shutdown. int It2MeNativeMessagingHostMain(int argc, char** argv) { -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) x11::InitXlib(); @@ -121,7 +121,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv remoting::LoadResources(""); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Required for any calls into GTK functions, such as the Disconnect and // Continue windows. Calling with nullptr arguments because we don't have // any command line arguments for gtk to consume. @@ -249,7 +249,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(), context->management_service()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) scoped_refptr input_task_runner; // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. @@ -273,7 +273,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // Run the loop until channel is alive. run_loop.Run(); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); diff --git a/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc index 5e91ff16a9f1..f6d44722bb91 100644 --- a/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc +++ b/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -1,29 +1,29 @@ ---- remoting/host/me2me_desktop_environment.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/me2me_desktop_environment.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/me2me_desktop_environment.cc @@ -112,7 +112,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( // 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( // 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/iridium/files/patch-remoting_host_mojo__caller__security__checker.cc b/www/iridium/files/patch-remoting_host_mojo__caller__security__checker.cc index 20b9dfbe4c8f..cbf73bca9c0f 100644 --- a/www/iridium/files/patch-remoting_host_mojo__caller__security__checker.cc +++ b/www/iridium/files/patch-remoting_host_mojo__caller__security__checker.cc @@ -1,29 +1,29 @@ ---- remoting/host/mojo_caller_security_checker.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/mojo_caller_security_checker.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/mojo_caller_security_checker.cc @@ -37,7 +37,7 @@ namespace remoting { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr auto kAllowedCallerProgramNames = base::MakeFixedFlatSet({ "remote-open-url", @@ -98,7 +98,7 @@ bool IsTrustedMojoEndpoint( return true; #endif -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // TODO: yuweih - see if it's possible to move away from PID-based security // checks, which might be susceptible of PID reuse attacks. @@ -122,7 +122,7 @@ bool IsTrustedMojoEndpoint( base::FilePath::StringType program_name = caller_process_image_path.BaseName().value(); if (!kAllowedCallerProgramNames.contains(program_name)) { -#if BUILDFLAG(IS_LINUX) && !defined(NDEBUG) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG) // Linux binaries generated in out/Debug are underscore-separated. To make // debugging easier, we just check the name again with underscores replaced // with hyphens. diff --git a/www/iridium/files/patch-remoting_host_policy__watcher.cc b/www/iridium/files/patch-remoting_host_policy__watcher.cc index 485a83096ff3..f1954999c538 100644 --- a/www/iridium/files/patch-remoting_host_policy__watcher.cc +++ b/www/iridium/files/patch-remoting_host_policy__watcher.cc @@ -1,11 +1,11 @@ ---- remoting/host/policy_watcher.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/host/policy_watcher.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/policy_watcher.cc @@ -177,7 +177,7 @@ base::Value::Dict PolicyWatcher::GetDefaultPolicies() true); result.Set(key::kRemoteAccessHostAllowEnterpriseFileTransfer, false); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) result.Set(key::kRemoteAccessHostMatchUsername, false); #endif #if !BUILDFLAG(IS_CHROMEOS) diff --git a/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc b/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc index 1294776e9954..49f80ced7afc 100644 --- a/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc +++ b/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc @@ -1,20 +1,20 @@ ---- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2022-10-05 07:34:01 UTC +--- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/remote_open_url/remote_open_url_client.cc @@ -18,7 +18,7 @@ #include "remoting/host/mojom/chromoting_host_services.mojom.h" #include "remoting/host/mojom/remote_url_opener.mojom.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/remote_open_url/remote_open_url_client_delegate_linux.h" #elif BUILDFLAG(IS_WIN) #include "remoting/host/remote_open_url/remote_open_url_client_delegate_win.h" @@ -31,7 +31,7 @@ namespace { constexpr base::TimeDelta kRequestTimeout = base::Seconds(5); std::unique_ptr CreateDelegate() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(); #elif BUILDFLAG(IS_WIN) return std::make_unique(); diff --git a/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc index bb324231f284..84d3fbe5ce60 100644 --- a/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc +++ b/www/iridium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc @@ -1,11 +1,11 @@ ---- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2023-04-22 17:45:15 UTC +--- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/remote_open_url/remote_open_url_util.cc @@ -29,7 +29,7 @@ const wchar_t kRegisteredApplicationsKeyName[] = #endif // BUILDFLAG(IS_WIN) bool IsRemoteOpenUrlSupported() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #elif BUILDFLAG(IS_WIN) // The MSI installs the ProgID and capabilities into registry, but not the diff --git a/www/iridium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc b/www/iridium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc index 299928ec7940..d7f5ff47fd6f 100644 --- a/www/iridium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc +++ b/www/iridium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc @@ -1,11 +1,11 @@ ---- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2022-03-28 18:11:04 UTC +--- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/remote_open_url/url_forwarder_configurator.cc @@ -12,7 +12,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() = UrlForwarderConfigurator::~UrlForwarderConfigurator() = default; -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) // static std::unique_ptr UrlForwarderConfigurator::Create() { diff --git a/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc b/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc index e9e51388420a..f0d880ea1025 100644 --- a/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,146 +1,146 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/remoting_me2me_host.cc @@ -138,7 +138,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 @@ -148,7 +148,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" @@ -163,7 +163,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/host/host_utmp_logger.h" #endif // BUILDFLAG(IS_LINUX) @@ -196,7 +196,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"; -@@ -440,7 +440,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -441,7 +441,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) -@@ -505,7 +505,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -506,7 +506,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_utmp_logger_; #endif std::unique_ptr power_save_blocker_; -@@ -824,7 +824,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -825,7 +825,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) } -@@ -901,7 +901,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -902,7 +902,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, -@@ -1043,7 +1043,7 @@ void HostProcess::StartOnUiThread() { +@@ -1044,7 +1044,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 = -@@ -1122,7 +1122,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1123,7 +1123,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. -@@ -1130,7 +1130,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1131,7 +1131,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(); })); -@@ -1864,7 +1864,7 @@ void HostProcess::StartHost() { +@@ -1873,7 +1873,7 @@ void HostProcess::StartHost() { corp_host_status_logger_->StartObserving(*session_manager); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - desktop_environment_options_.set_enable_remote_webauthn(is_corp_host_); + desktop_environment_options_.set_enable_remote_webauthn(true); #endif #if BUILDFLAG(IS_WIN) -@@ -1891,7 +1891,7 @@ void HostProcess::StartHost() { +@@ -1900,7 +1900,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(kEnableUtempter)) { host_utmp_logger_ = -@@ -1927,7 +1927,7 @@ void HostProcess::StartHost() { +@@ -1936,7 +1936,7 @@ void HostProcess::StartHost() { // addresses. host_->Start(*host_owner_emails_.begin()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For Windows, ChromotingHostServices connections are handled by the daemon // process, then the message pipe is forwarded to the network process. host_->StartChromotingHostServices(); -@@ -2072,7 +2072,7 @@ int HostProcessMain() { +@@ -2081,7 +2081,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 ...) -@@ -2135,7 +2135,7 @@ int HostProcessMain() { +@@ -2144,7 +2144,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/iridium/files/patch-remoting_host_session__policies__from__dict.cc b/www/iridium/files/patch-remoting_host_session__policies__from__dict.cc index b8b8a68e2dae..4447e45de248 100644 --- a/www/iridium/files/patch-remoting_host_session__policies__from__dict.cc +++ b/www/iridium/files/patch-remoting_host_session__policies__from__dict.cc @@ -1,11 +1,11 @@ ---- remoting/host/session_policies_from_dict.cc.orig 2025-02-22 18:06:53 UTC +--- remoting/host/session_policies_from_dict.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/session_policies_from_dict.cc -@@ -76,7 +76,7 @@ std::optional SessionPoliciesFromDict - .curtain_required = - dict.FindBool(policy::key::kRemoteAccessHostRequireCurtain), +@@ -75,7 +75,7 @@ std::optional SessionPoliciesFromDict + session_policies.curtain_required = + dict.FindBool(policy::key::kRemoteAccessHostRequireCurtain); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - .host_username_match_required = - dict.FindBool(policy::key::kRemoteAccessHostMatchUsername), + session_policies.host_username_match_required = + dict.FindBool(policy::key::kRemoteAccessHostMatchUsername); #endif diff --git a/www/iridium/files/patch-remoting_host_setup_start__host__main.cc b/www/iridium/files/patch-remoting_host_setup_start__host__main.cc index 8846de08a004..9763ed5734f8 100644 --- a/www/iridium/files/patch-remoting_host_setup_start__host__main.cc +++ b/www/iridium/files/patch-remoting_host_setup_start__host__main.cc @@ -1,29 +1,29 @@ ---- remoting/host/setup/start_host_main.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/setup/start_host_main.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/setup/start_host_main.cc @@ -45,7 +45,7 @@ #include #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/setup/daemon_controller_delegate_linux.h" #include "remoting/host/setup/start_host_as_root.h" #endif // BUILDFLAG(IS_LINUX) @@ -369,7 +369,7 @@ bool InitializeCloudMachineParams(HostStarter::Params& } // namespace int StartHostMain(int argc, char** argv) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Minimize the amount of code that runs as root on Posix systems. if (getuid() == 0) { return remoting::StartHostAsRoot(argc, argv); @@ -394,7 +394,7 @@ int StartHostMain(int argc, char** argv) { mojo::core::Init(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch("no-start")) { // On Linux, registering the host with systemd and starting it is the only // reason start_host requires root. The --no-start options skips that final diff --git a/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc b/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc index b3b07e2dc123..227dc422cb3b 100644 --- a/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc +++ b/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc @@ -1,29 +1,29 @@ ---- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2025-04-16 18:18:42 UTC +--- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/webauthn/remote_webauthn_caller_security_utils.cc @@ -10,7 +10,7 @@ #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "base/containers/fixed_flat_set.h" #include "base/files/file_path.h" #include "base/process/process_handle.h" @@ -38,7 +38,7 @@ namespace { // No static variables needed for debug builds. -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr auto kAllowedCallerPrograms = base::MakeFixedFlatSet({ @@ -83,7 +83,7 @@ bool IsLaunchedByTrustedProcess() { #if !defined(NDEBUG) // Just return true on debug builds for the convenience of development. return true; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::ProcessId parent_pid = base::GetParentProcessId(base::GetCurrentProcessHandle()); // Note that on Linux the process image may no longer exist in its original diff --git a/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc b/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc index 9d4ffe8072c7..6fec4557ce39 100644 --- a/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc +++ b/www/iridium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc @@ -1,28 +1,28 @@ ---- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2024-11-04 08:56:03 UTC +--- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/host/webauthn/remote_webauthn_extension_notifier.cc @@ -30,7 +30,7 @@ #include "base/task/thread_pool.h" #include "build/build_config.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #include "base/strings/string_util.h" @@ -75,14 +75,14 @@ static constexpr char kExtensionWakeupFileContent[] = // Caller should check if the directory exists before writing files to it. A // directory only exists if the corresponding Chrome version is installed. std::vector GetRemoteStateChangeDirPaths() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) constexpr base::FilePath::CharType kStateChangeDirName[] = FILE_PATH_LITERAL("WebAuthenticationProxyRemoteSessionStateChange"); #endif std::vector dirs; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // See: chrome/common/chrome_paths_linux.cc auto env = base::Environment::Create(); base::FilePath base_path; diff --git a/www/iridium/files/patch-remoting_protocol_webrtc__video__stream.cc b/www/iridium/files/patch-remoting_protocol_webrtc__video__stream.cc index 2d53dd6050b7..aaaac27f2f55 100644 --- a/www/iridium/files/patch-remoting_protocol_webrtc__video__stream.cc +++ b/www/iridium/files/patch-remoting_protocol_webrtc__video__stream.cc @@ -1,11 +1,11 @@ ---- remoting/protocol/webrtc_video_stream.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/protocol/webrtc_video_stream.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/protocol/webrtc_video_stream.cc @@ -267,7 +267,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/iridium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc b/www/iridium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc index c801c323d402..ab9e587cde00 100644 --- a/www/iridium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc +++ b/www/iridium/files/patch-remoting_signaling_ftl__host__device__id__provider.cc @@ -1,11 +1,11 @@ ---- remoting/signaling/ftl_host_device_id_provider.cc.orig 2025-03-18 16:46:04 UTC +--- remoting/signaling/ftl_host_device_id_provider.cc.orig 2025-05-07 06:48:23 UTC +++ remoting/signaling/ftl_host_device_id_provider.cc @@ -16,7 +16,7 @@ constexpr char kDeviceIdPrefix[] = "crd-win-host-"; constexpr char kDeviceIdPrefix[] = "crd-mac-host-"; #elif BUILDFLAG(IS_CHROMEOS) constexpr char kDeviceIdPrefix[] = "crd-cros-host-"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kDeviceIdPrefix[] = "crd-linux-host-"; #else constexpr char kDeviceIdPrefix[] = "crd-unknown-host-"; diff --git a/www/iridium/files/patch-sandbox_BUILD.gn b/www/iridium/files/patch-sandbox_BUILD.gn index f886ae7b3745..1ff9ef4bf85c 100644 --- a/www/iridium/files/patch-sandbox_BUILD.gn +++ b/www/iridium/files/patch-sandbox_BUILD.gn @@ -1,11 +1,11 @@ ---- sandbox/BUILD.gn.orig 2022-10-05 07:34:01 UTC +--- sandbox/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ sandbox/BUILD.gn @@ -49,7 +49,7 @@ group("sandbox") { "//sandbox/mac:system_services", "//sandbox/mac/mojom", ] - } else if (is_linux || is_chromeos || is_android) { + } else if ((is_linux && !is_bsd) || is_chromeos || is_android) { public_deps = [ "//sandbox/linux:sandbox" ] } } diff --git a/www/iridium/files/patch-sandbox_features.gni b/www/iridium/files/patch-sandbox_features.gni index 1d0165058652..5c95dfcfbbe7 100644 --- a/www/iridium/files/patch-sandbox_features.gni +++ b/www/iridium/files/patch-sandbox_features.gni @@ -1,11 +1,11 @@ ---- sandbox/features.gni.orig 2022-03-28 18:11:04 UTC +--- sandbox/features.gni.orig 2025-05-07 06:48:23 UTC +++ sandbox/features.gni @@ -6,7 +6,7 @@ # currently. # Do not disable seccomp_bpf anywhere without talking to # security@chromium.org! -use_seccomp_bpf = (is_linux || is_chromeos || is_android) && +use_seccomp_bpf = !is_bsd && (is_linux || is_chromeos || is_android) && (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || current_cpu == "arm64" || current_cpu == "mipsel" || current_cpu == "mips64el") diff --git a/www/iridium/files/patch-sandbox_linux_BUILD.gn b/www/iridium/files/patch-sandbox_linux_BUILD.gn index 95cc365123a3..5c788285c6e6 100644 --- a/www/iridium/files/patch-sandbox_linux_BUILD.gn +++ b/www/iridium/files/patch-sandbox_linux_BUILD.gn @@ -1,35 +1,35 @@ ---- sandbox/linux/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- sandbox/linux/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ sandbox/linux/BUILD.gn @@ -12,11 +12,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 -@@ -378,6 +378,17 @@ component("sandbox_services") { +@@ -369,6 +369,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/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc index 6e485557b13f..700af7bafcab 100644 --- a/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc +++ b/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -1,15 +1,15 @@ ---- sandbox/linux/services/init_process_reaper.cc.orig 2025-03-18 16:46:04 UTC +--- sandbox/linux/services/init_process_reaper.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/linux/services/init_process_reaper.cc @@ -7,6 +7,7 @@ #pragma allow_unsafe_libc_calls #endif +#if 0 #include "sandbox/linux/services/init_process_reaper.h" #include @@ -105,3 +106,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo } } // namespace sandbox. +#endif diff --git a/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc b/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc index d3f79b545f7b..4441596ed0a6 100644 --- a/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc +++ b/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc @@ -1,21 +1,21 @@ ---- sandbox/linux/services/libc_interceptor.cc.orig 2024-08-27 06:28:16 UTC +--- sandbox/linux/services/libc_interceptor.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/linux/services/libc_interceptor.cc @@ -17,7 +17,9 @@ #include #include #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include #include @@ -173,7 +175,7 @@ bool ReadTimeStruct(base::PickleIterator* iter, } else { base::AutoLock lock(g_timezones_lock.Get()); auto ret_pair = g_timezones.Get().insert(timezone); - output->tm_zone = ret_pair.first->c_str(); + output->tm_zone = (char *)ret_pair.first->c_str(); } return true; diff --git a/www/iridium/files/patch-sandbox_policy_BUILD.gn b/www/iridium/files/patch-sandbox_policy_BUILD.gn index e36d6c032121..025590621e1e 100644 --- a/www/iridium/files/patch-sandbox_policy_BUILD.gn +++ b/www/iridium/files/patch-sandbox_policy_BUILD.gn @@ -1,39 +1,39 @@ ---- sandbox/policy/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- sandbox/policy/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/BUILD.gn @@ -43,7 +43,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", @@ -112,6 +112,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/iridium/files/patch-sandbox_policy_features.cc b/www/iridium/files/patch-sandbox_policy_features.cc index 67a23e793459..3f9df4021829 100644 --- a/www/iridium/files/patch-sandbox_policy_features.cc +++ b/www/iridium/files/patch-sandbox_policy_features.cc @@ -1,14 +1,14 @@ ---- sandbox/policy/features.cc.orig 2025-04-16 18:18:42 UTC +--- sandbox/policy/features.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/features.cc @@ -19,7 +19,11 @@ namespace sandbox::policy::features { // (Only causes an effect when feature kNetworkServiceInProcess is disabled.) BASE_FEATURE(kNetworkServiceSandbox, "NetworkServiceSandbox", +#if BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT); +#else base::FEATURE_DISABLED_BY_DEFAULT); +#endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) // Enables a fine-grained seccomp-BPF syscall filter for the network service. diff --git a/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc index 1451b70be4be..43398493336b 100644 --- a/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc +++ b/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -1,214 +1,214 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2024-12-22 12:24:29 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.cc @@ -0,0 +1,211 @@ +// 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("iridium"); + 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/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h b/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h index f09780ee15fc..349dd78ea0b1 100644 --- a/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h +++ b/www/iridium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h @@ -1,279 +1,279 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2024-12-22 12:24:29 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.h @@ -0,0 +1,276 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ +#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ + +#include +#include +#include + +#include "base/logging.h" +#include "base/posix/global_descriptors.h" +#include "sandbox/policy/export.h" +#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" +#include "base/sanitizer_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +namespace base { +template +struct DefaultSingletonTraits; +class Thread; +} // namespace base + +namespace sandbox { +namespace syscall_broker { +class BrokerProcess; +} // namespace syscall_broker +} // namespace sandbox + +namespace sandbox { +namespace policy { + +// A singleton class to represent and change our sandboxing state for the +// three main Linux sandboxes. +// The sandboxing model allows using two layers of sandboxing. The first layer +// can be implemented either with unprivileged namespaces or with the setuid +// sandbox. This class provides a way to engage the namespace sandbox, but does +// not deal with the legacy setuid sandbox directly. +// The second layer is mainly based on seccomp-bpf and is engaged with +// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" +// the first layer of sandboxing. That is, InitializeSandbox must always be +// called to have any meaningful sandboxing at all. +class SANDBOX_POLICY_EXPORT SandboxLinux { + public: + // This is a list of sandbox IPC methods which the renderer may send to the + // sandbox host. See + // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md + // This isn't the full list, values < 32 are reserved for methods called from + // Skia, and values < 64 are reserved for libc_interceptor.cc. + enum LinuxSandboxIPCMethods { + DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, + DEPRECATED_METHOD_GET_CHILD_WITH_INODE, + DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, + METHOD_MAKE_SHARED_MEMORY_SEGMENT, + DEPRECATED_METHOD_MATCH_WITH_FALLBACK, + }; + + // These form a bitmask which describes the conditions of the Linux sandbox. + // Note: this doesn't strictly give you the current status, it states + // what will be enabled when the relevant processes are initialized. + enum Status { + // SUID sandbox active. + kSUID = 1 << 0, + + // Sandbox is using a new PID namespace. + kPIDNS = 1 << 1, + + // Sandbox is using a new network namespace. + kNetNS = 1 << 2, + + // seccomp-bpf sandbox active. + kSeccompBPF = 1 << 3, + + // The Yama LSM module is present and enforcing. + kYama = 1 << 4, + + // seccomp-bpf sandbox is active and the kernel supports TSYNC. + kSeccompTSYNC = 1 << 5, + + // User namespace sandbox active. + kUserNS = 1 << 6, + + // A flag that denotes an invalid sandbox status. + kInvalid = 1 << 31, + }; + + // SandboxLinux Options are a superset of SandboxSecompBPF Options. + struct Options : public SandboxSeccompBPF::Options { + // When running with a zygote, the namespace sandbox will have already + // been engaged prior to initializing SandboxLinux itself, and need not + // be done so again. Set to true to indicate that there isn't a zygote + // for this process and the step is to be performed here explicitly. + bool engage_namespace_sandbox = false; + + // Allow starting the sandbox with multiple threads already running. This + // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy + // across all running threads. + bool allow_threads_during_sandbox_init = false; + + // Enables the CHECK for open directories. The open directory check is only + // useful for the chroot jail (from the semantic layer of the sandbox), and + // can safely be disabled if we are only enabling the seccomp-BPF layer. + bool check_for_open_directories = true; + }; + + // Callers can provide this hook to run code right before the policy + // is passed to the BPF compiler and the sandbox is engaged. If + // pre_sandbox_hook() returns true, the sandbox will be engaged + // afterwards, otherwise the process is terminated. + using PreSandboxHook = base::OnceCallback; + + // Get our singleton instance. + static SandboxLinux* GetInstance(); + + SandboxLinux(const SandboxLinux&) = delete; + SandboxLinux& operator=(const SandboxLinux&) = delete; + + bool SetPledge(const char *pstring, const char *ppath); + bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); + + // Do some initialization that can only be done before any of the sandboxes + // are enabled. If using the setuid sandbox, this should be called manually + // before the setuid sandbox is engaged. + // Security: When this runs, it is imperative that either InitializeSandbox() + // runs as well or that all file descriptors returned in + // GetFileDescriptorsToClose() get closed. + // Otherwise file descriptors that bypass the security of the setuid sandbox + // would be kept open. One must be particularly careful if a process performs + // a fork(). + void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); + + // Check that the current process is the init process of a new PID + // namespace and then proceed to drop access to the file system by using + // a new unprivileged namespace. This is a layer-1 sandbox. + // In order for this sandbox to be effective, it must be "sealed" by calling + // InitializeSandbox(). + void EngageNamespaceSandbox(bool from_zygote); + + // Return a list of file descriptors to close if PreinitializeSandbox() ran + // but InitializeSandbox() won't. Avoid using. + // TODO(jln): get rid of this hack. + std::vector GetFileDescriptorsToClose(); + + // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with + // an adequate policy depending on the process type and command line + // arguments. + // Currently the layer-2 sandbox is composed of seccomp-bpf and address space + // limitations. + // This function should only be called without any thread running. + bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Stop |thread| in a way that can be trusted by the sandbox. + void StopThread(base::Thread* thread); + + // Returns the status of the renderer, worker and ppapi sandbox. Can only + // be queried after going through PreinitializeSandbox(). This is a bitmask + // and uses the constants defined in "enum Status" above. Since the + // status needs to be provided before the sandboxes are actually started, + // this returns what will actually happen once InitializeSandbox() + // is called from inside these processes. + int GetStatus(); + + // Returns true if the current process is single-threaded or if the number + // of threads cannot be determined. + bool IsSingleThreaded() const; + + // Returns true if we started Seccomp BPF. + bool seccomp_bpf_started() const; + + // Check the policy and eventually start the seccomp-bpf sandbox. This should + // never be called with threads started. If we detect that threads have + // started we will crash. + bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Limit the address space of the current process (and its children) to make + // some vulnerabilities harder to exploit. Writes the errno due to setrlimit + // (including 0 if no error) into |error|. + bool LimitAddressSpace(int* error); + + // Returns a file descriptor to proc. The file descriptor is no longer valid + // after the sandbox has been sealed. + int proc_fd() const { + DCHECK_NE(-1, proc_fd_); + return proc_fd_; + } + +#if BUILDFLAG(USING_SANITIZER) + __sanitizer_sandbox_arguments* sanitizer_args() const { + return sanitizer_args_.get(); + }; +#endif + + // A BrokerProcess is a helper that is started before the sandbox is engaged, + // typically from a pre-sandbox hook, that will serve requests to access + // files over an IPC channel. The client of this runs from a SIGSYS handler + // triggered by the seccomp-bpf sandbox. + // |client_sandbox_policy| is the policy being run by the client, and is + // used to derive the equivalent broker-side policy. + // |broker_side_hook| is an alternate pre-sandbox hook to be run before the + // broker itself gets sandboxed, to which the broker side policy and + // |options| are passed. + // Crashes the process if the broker can not be started since continuation + // is impossible (and presumably unsafe). + // This should never be destroyed, as after the sandbox is started it is + // vital to the process. +#if 0 + void StartBrokerProcess( + const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, + std::vector permissions, + PreSandboxHook broker_side_hook, + const Options& options); + + sandbox::syscall_broker::BrokerProcess* broker_process() const { + return broker_process_; + } +#endif + + private: + friend struct base::DefaultSingletonTraits; + + SandboxLinux(); + ~SandboxLinux(); + + // We must have been pre_initialized_ before using these. + bool seccomp_bpf_supported() const; + bool seccomp_bpf_with_tsync_supported() const; + + // Returns true if it can be determined that the current process has open + // directories that are not managed by the SandboxLinux class. This would + // be a vulnerability as it would allow to bypass the setuid sandbox. + bool HasOpenDirectories() const; + + // The last part of the initialization is to make sure any temporary "hole" + // in the sandbox is closed. For now, this consists of closing proc_fd_. + void SealSandbox(); + + // GetStatus() makes promises as to how the sandbox will behave. This + // checks that no promises have been broken. + void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); + + // Stop |thread| and make sure it does not appear in /proc/self/tasks/ + // anymore. + void StopThreadAndEnsureNotCounted(base::Thread* thread) const; + + // A file descriptor to /proc. It's dangerous to have it around as it could + // allow for sandbox bypasses. It needs to be closed before we consider + // ourselves sandboxed. + int proc_fd_; + + bool seccomp_bpf_started_; + // The value returned by GetStatus(). Gets computed once and then cached. + int sandbox_status_flags_; + // Did PreinitializeSandbox() run? + bool pre_initialized_; + bool seccomp_bpf_supported_; // Accurate if pre_initialized_. + bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. + bool yama_is_enforcing_; // Accurate if pre_initialized_. + bool initialize_sandbox_ran_; // InitializeSandbox() was called. +#if BUILDFLAG(USING_SANITIZER) + std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; +#endif + sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. +}; + +} // namespace policy +} // namespace sandbox + +#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/iridium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/iridium/files/patch-sandbox_policy_mojom_sandbox.mojom index 4a15cc7da96d..297401c4fd12 100644 --- a/www/iridium/files/patch-sandbox_policy_mojom_sandbox.mojom +++ b/www/iridium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -1,15 +1,15 @@ ---- sandbox/policy/mojom/sandbox.mojom.orig 2025-02-22 18:06:53 UTC +--- sandbox/policy/mojom/sandbox.mojom.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/mojom/sandbox.mojom @@ -74,6 +74,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/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index e5552f938915..1ecdd0414294 100644 --- a/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,395 +1,395 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2024-12-22 12:24:29 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc @@ -0,0 +1,392 @@ +// 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/iridium/unveil.main"; +#define _UNVEIL_GPU "/etc/iridium/unveil.gpu"; +#define _UNVEIL_UTILITY_NETWORK "/etc/iridium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/iridium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/iridium/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("iridium"); + 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 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 { + 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/iridium/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 rpath flock cpath wpath prot_exec recvfd sendfd tmppath", 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/iridium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: + SetPledge(NULL, "/etc/iridium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: + SetPledge(NULL, "/etc/iridium/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/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h b/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h index 41b17652ae7e..e0cb48db622d 100644 --- a/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h +++ b/www/iridium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h @@ -1,283 +1,283 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2024-12-22 12:24:29 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.h @@ -0,0 +1,280 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ +#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ + +#include +#include +#include + +#include "base/logging.h" +#include "base/posix/global_descriptors.h" +#include "sandbox/policy/export.h" +#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" +#include "base/sanitizer_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +namespace base { +template +struct DefaultSingletonTraits; +class Thread; +} // namespace base + +namespace sandbox { +namespace syscall_broker { +class BrokerProcess; +} // namespace syscall_broker +} // namespace sandbox + +namespace sandbox { +namespace policy { + +// A singleton class to represent and change our sandboxing state for the +// three main Linux sandboxes. +// The sandboxing model allows using two layers of sandboxing. The first layer +// can be implemented either with unprivileged namespaces or with the setuid +// sandbox. This class provides a way to engage the namespace sandbox, but does +// not deal with the legacy setuid sandbox directly. +// The second layer is mainly based on seccomp-bpf and is engaged with +// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" +// the first layer of sandboxing. That is, InitializeSandbox must always be +// called to have any meaningful sandboxing at all. +class SANDBOX_POLICY_EXPORT SandboxLinux { + public: + // This is a list of sandbox IPC methods which the renderer may send to the + // sandbox host. See + // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md + // This isn't the full list, values < 32 are reserved for methods called from + // Skia, and values < 64 are reserved for libc_interceptor.cc. + enum LinuxSandboxIPCMethods { + DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, + DEPRECATED_METHOD_GET_CHILD_WITH_INODE, + DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, + METHOD_MAKE_SHARED_MEMORY_SEGMENT, + DEPRECATED_METHOD_MATCH_WITH_FALLBACK, + }; + + // These form a bitmask which describes the conditions of the Linux sandbox. + // Note: this doesn't strictly give you the current status, it states + // what will be enabled when the relevant processes are initialized. + enum Status { + // SUID sandbox active. + kSUID = 1 << 0, + + // Sandbox is using a new PID namespace. + kPIDNS = 1 << 1, + + // Sandbox is using a new network namespace. + kNetNS = 1 << 2, + + // seccomp-bpf sandbox active. + kSeccompBPF = 1 << 3, + + // The Yama LSM module is present and enforcing. + kYama = 1 << 4, + + // seccomp-bpf sandbox is active and the kernel supports TSYNC. + kSeccompTSYNC = 1 << 5, + + // User namespace sandbox active. + kUserNS = 1 << 6, + + // A flag that denotes an invalid sandbox status. + kInvalid = 1 << 31, + }; + + // SandboxLinux Options are a superset of SandboxSecompBPF Options. + struct Options : public SandboxSeccompBPF::Options { + // When running with a zygote, the namespace sandbox will have already + // been engaged prior to initializing SandboxLinux itself, and need not + // be done so again. Set to true to indicate that there isn't a zygote + // for this process and the step is to be performed here explicitly. + bool engage_namespace_sandbox = false; + + // Allow starting the sandbox with multiple threads already running. This + // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy + // across all running threads. + bool allow_threads_during_sandbox_init = false; + + // Enables the CHECK for open directories. The open directory check is only + // useful for the chroot jail (from the semantic layer of the sandbox), and + // can safely be disabled if we are only enabling the seccomp-BPF layer. + bool check_for_open_directories = true; + }; + + // Callers can provide this hook to run code right before the policy + // is passed to the BPF compiler and the sandbox is engaged. If + // pre_sandbox_hook() returns true, the sandbox will be engaged + // afterwards, otherwise the process is terminated. + using PreSandboxHook = base::OnceCallback; + + // Get our singleton instance. + static SandboxLinux* GetInstance(); + + SandboxLinux(const SandboxLinux&) = delete; + SandboxLinux& operator=(const SandboxLinux&) = delete; + + bool SetPledge(const char *pstring, const char *ppath); + bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); + + // Do some initialization that can only be done before any of the sandboxes + // are enabled. If using the setuid sandbox, this should be called manually + // before the setuid sandbox is engaged. + // Security: When this runs, it is imperative that either InitializeSandbox() + // runs as well or that all file descriptors returned in + // GetFileDescriptorsToClose() get closed. + // Otherwise file descriptors that bypass the security of the setuid sandbox + // would be kept open. One must be particularly careful if a process performs + // a fork(). + void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); + + // Check that the current process is the init process of a new PID + // namespace and then proceed to drop access to the file system by using + // a new unprivileged namespace. This is a layer-1 sandbox. + // In order for this sandbox to be effective, it must be "sealed" by calling + // InitializeSandbox(). + void EngageNamespaceSandbox(bool from_zygote); + + // Return a list of file descriptors to close if PreinitializeSandbox() ran + // but InitializeSandbox() won't. Avoid using. + // TODO(jln): get rid of this hack. + std::vector GetFileDescriptorsToClose(); + + // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with + // an adequate policy depending on the process type and command line + // arguments. + // Currently the layer-2 sandbox is composed of seccomp-bpf and address space + // limitations. + // This function should only be called without any thread running. + bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Stop |thread| in a way that can be trusted by the sandbox. + void StopThread(base::Thread* thread); + + // Returns the status of the renderer, worker and ppapi sandbox. Can only + // be queried after going through PreinitializeSandbox(). This is a bitmask + // and uses the constants defined in "enum Status" above. Since the + // status needs to be provided before the sandboxes are actually started, + // this returns what will actually happen once InitializeSandbox() + // is called from inside these processes. + int GetStatus(); + + // Returns true if the current process is single-threaded or if the number + // of threads cannot be determined. + bool IsSingleThreaded() const; + + // Returns true if we started Seccomp BPF. + bool seccomp_bpf_started() const; + + // Returns true if unveil(2) is used. + bool unveil_initialized() const; + + // Check the policy and eventually start the seccomp-bpf sandbox. This should + // never be called with threads started. If we detect that threads have + // started we will crash. + bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Limit the address space of the current process (and its children) to make + // some vulnerabilities harder to exploit. Writes the errno due to setrlimit + // (including 0 if no error) into |error|. + bool LimitAddressSpace(int* error); + + // Returns a file descriptor to proc. The file descriptor is no longer valid + // after the sandbox has been sealed. + int proc_fd() const { + DCHECK_NE(-1, proc_fd_); + return proc_fd_; + } + +#if BUILDFLAG(USING_SANITIZER) + __sanitizer_sandbox_arguments* sanitizer_args() const { + return sanitizer_args_.get(); + }; +#endif + + // A BrokerProcess is a helper that is started before the sandbox is engaged, + // typically from a pre-sandbox hook, that will serve requests to access + // files over an IPC channel. The client of this runs from a SIGSYS handler + // triggered by the seccomp-bpf sandbox. + // |client_sandbox_policy| is the policy being run by the client, and is + // used to derive the equivalent broker-side policy. + // |broker_side_hook| is an alternate pre-sandbox hook to be run before the + // broker itself gets sandboxed, to which the broker side policy and + // |options| are passed. + // Crashes the process if the broker can not be started since continuation + // is impossible (and presumably unsafe). + // This should never be destroyed, as after the sandbox is started it is + // vital to the process. +#if 0 + void StartBrokerProcess( + const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, + std::vector permissions, + PreSandboxHook broker_side_hook, + const Options& options); + + sandbox::syscall_broker::BrokerProcess* broker_process() const { + return broker_process_; + } +#endif + + private: + friend struct base::DefaultSingletonTraits; + + SandboxLinux(); + ~SandboxLinux(); + + // We must have been pre_initialized_ before using these. + bool seccomp_bpf_supported() const; + bool seccomp_bpf_with_tsync_supported() const; + + // Returns true if it can be determined that the current process has open + // directories that are not managed by the SandboxLinux class. This would + // be a vulnerability as it would allow to bypass the setuid sandbox. + bool HasOpenDirectories() const; + + // The last part of the initialization is to make sure any temporary "hole" + // in the sandbox is closed. For now, this consists of closing proc_fd_. + void SealSandbox(); + + // GetStatus() makes promises as to how the sandbox will behave. This + // checks that no promises have been broken. + void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); + + // Stop |thread| and make sure it does not appear in /proc/self/tasks/ + // anymore. + void StopThreadAndEnsureNotCounted(base::Thread* thread) const; + + // A file descriptor to /proc. It's dangerous to have it around as it could + // allow for sandbox bypasses. It needs to be closed before we consider + // ourselves sandboxed. + int proc_fd_; + + bool seccomp_bpf_started_; + bool unveil_initialized_; + // The value returned by GetStatus(). Gets computed once and then cached. + int sandbox_status_flags_; + // Did PreinitializeSandbox() run? + bool pre_initialized_; + bool seccomp_bpf_supported_; // Accurate if pre_initialized_. + bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. + bool yama_is_enforcing_; // Accurate if pre_initialized_. + bool initialize_sandbox_ran_; // InitializeSandbox() was called. +#if BUILDFLAG(USING_SANITIZER) + std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; +#endif + sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. +}; + +} // namespace policy +} // namespace sandbox + +#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/iridium/files/patch-sandbox_policy_sandbox.cc b/www/iridium/files/patch-sandbox_policy_sandbox.cc index 47a589fb1847..42c6cbb2fa1f 100644 --- a/www/iridium/files/patch-sandbox_policy_sandbox.cc +++ b/www/iridium/files/patch-sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2024-06-25 12:08:48 UTC +--- sandbox/policy/sandbox.cc.orig 2025-05-07 06:48:23 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 @@ 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/iridium/files/patch-sandbox_policy_sandbox.h b/www/iridium/files/patch-sandbox_policy_sandbox.h index de22b8126668..11d9055e7fca 100644 --- a/www/iridium/files/patch-sandbox_policy_sandbox.h +++ b/www/iridium/files/patch-sandbox_policy_sandbox.h @@ -1,24 +1,24 @@ ---- sandbox/policy/sandbox.h.orig 2023-07-24 14:27:53 UTC +--- sandbox/policy/sandbox.h.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/sandbox.h @@ -12,6 +12,12 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif +#if BUILDFLAG(IS_OPENBSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#elif BUILDFLAG(IS_FREEBSD) +#include "sandbox/policy/freebsd/sandbox_freebsd.h" +#endif + namespace sandbox { namespace mojom { enum class Sandbox; @@ -32,7 +38,7 @@ namespace policy { class SANDBOX_POLICY_EXPORT Sandbox { public: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static bool Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options); diff --git a/www/iridium/files/patch-sandbox_policy_sandbox__type.cc b/www/iridium/files/patch-sandbox_policy_sandbox__type.cc index 425b68fc5f64..ae48a1c12bad 100644 --- a/www/iridium/files/patch-sandbox_policy_sandbox__type.cc +++ b/www/iridium/files/patch-sandbox_policy_sandbox__type.cc @@ -1,175 +1,175 @@ ---- sandbox/policy/sandbox_type.cc.orig 2025-04-16 18:18:42 UTC +--- sandbox/policy/sandbox_type.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/sandbox_type.cc @@ -38,7 +38,7 @@ constexpr char kPpapiSandbox[] = "ppapi"; #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) constexpr char kPrintBackendSandbox[] = "print_backend"; constexpr char kScreenAISandbox[] = "screen_ai"; #endif @@ -56,15 +56,15 @@ constexpr char kWindowsSystemProxyResolverSandbox[] = 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 kHardwareVideoDecodingSandbox[] = "hardware_video_decoding"; constexpr char kHardwareVideoEncodingSandbox[] = "hardware_video_encoding"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -78,7 +78,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) @@ -140,7 +140,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) @@ -151,7 +151,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::kHardwareVideoDecoding: case Sandbox::kHardwareVideoEncoding: #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -167,15 +167,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) == @@ -185,7 +185,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi switches::kServiceSandboxType, StringFromUtilitySandboxType(sandbox_type)); break; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: break; #endif @@ -225,7 +225,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( return Sandbox::kUtility; } -#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; @@ -267,7 +267,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 @@ -278,17 +278,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 @@ -308,7 +308,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb case Sandbox::kMirroring: return kMirroringSandbox; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoDecoding: return kHardwareVideoDecodingSandbox; case Sandbox::kHardwareVideoEncoding: @@ -329,7 +329,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(); @@ -407,7 +407,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; } @@ -415,7 +415,7 @@ 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; } @@ -425,12 +425,12 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( return Sandbox::kOnDeviceTranslation; } #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (sandbox_string == kVideoCaptureSandbox) { return Sandbox::kVideoCapture; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (sandbox_string == kHardwareVideoDecodingSandbox) { return Sandbox::kHardwareVideoDecoding; } diff --git a/www/iridium/files/patch-sandbox_policy_switches.cc b/www/iridium/files/patch-sandbox_policy_switches.cc index d0fa60a06990..f5a8a39b7583 100644 --- a/www/iridium/files/patch-sandbox_policy_switches.cc +++ b/www/iridium/files/patch-sandbox_policy_switches.cc @@ -1,13 +1,13 @@ ---- sandbox/policy/switches.cc.orig 2025-04-16 18:18:42 UTC +--- sandbox/policy/switches.cc.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/switches.cc @@ -37,7 +37,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/iridium/files/patch-sandbox_policy_switches.h b/www/iridium/files/patch-sandbox_policy_switches.h index 0567f40662a7..1e01d143a074 100644 --- a/www/iridium/files/patch-sandbox_policy_switches.h +++ b/www/iridium/files/patch-sandbox_policy_switches.h @@ -1,12 +1,12 @@ ---- sandbox/policy/switches.h.orig 2025-02-22 18:06:53 UTC +--- sandbox/policy/switches.h.orig 2025-05-07 06:48:23 UTC +++ sandbox/policy/switches.h @@ -23,7 +23,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/iridium/files/patch-services_audio_audio__sandbox__hook__linux.cc b/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.cc index 5704d570b6e0..d8a53e16c43c 100644 --- a/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.cc @@ -1,31 +1,31 @@ ---- services/audio/audio_sandbox_hook_linux.cc.orig 2024-06-25 12:08:48 UTC +--- services/audio/audio_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ services/audio/audio_sandbox_hook_linux.cc @@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions( } #endif +#if !BUILDFLAG(IS_BSD) std::vector GetAudioFilePermissions() { std::vector permissions{ BrokerFilePermission::ReadOnly("/dev/urandom"), @@ -171,10 +172,12 @@ void LoadAudioLibraries() { } } } +#endif } // namespace bool AudioPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) LoadAudioLibraries(); auto* instance = sandbox::policy::SandboxLinux::GetInstance(); instance->StartBrokerProcess(MakeBrokerCommandSet({ @@ -192,6 +195,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux // TODO(crbug.com/40579955) enable namespace sandbox. Currently, if // enabled, connect() on pulse native socket fails with ENOENT (called from // pa_context_connect). +#endif return true; } diff --git a/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.h b/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.h index 0115be943d49..3e86964b41f9 100644 --- a/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.h +++ b/www/iridium/files/patch-services_audio_audio__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- services/audio/audio_sandbox_hook_linux.h.orig 2023-10-21 11:51:27 UTC +--- services/audio/audio_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ services/audio/audio_sandbox_hook_linux.h @@ -5,7 +5,13 @@ #ifndef SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ #define SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace audio { diff --git a/www/iridium/files/patch-services_device_BUILD.gn b/www/iridium/files/patch-services_device_BUILD.gn index 8d979b060050..be05421eae95 100644 --- a/www/iridium/files/patch-services_device_BUILD.gn +++ b/www/iridium/files/patch-services_device_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/device/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/device/BUILD.gn @@ -13,7 +13,7 @@ if (is_android) { } is_serial_enabled_platform = - is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_android + is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac || is_android source_set("lib") { # This should be visible only to embedders of the Device Service, and the diff --git a/www/iridium/files/patch-services_device_geolocation_location__provider__manager.cc b/www/iridium/files/patch-services_device_geolocation_location__provider__manager.cc index f782d75d6c67..55c514bcb5fe 100644 --- a/www/iridium/files/patch-services_device_geolocation_location__provider__manager.cc +++ b/www/iridium/files/patch-services_device_geolocation_location__provider__manager.cc @@ -1,11 +1,11 @@ ---- services/device/geolocation/location_provider_manager.cc.orig 2025-02-22 18:06:53 UTC +--- services/device/geolocation/location_provider_manager.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/geolocation/location_provider_manager.cc @@ -91,7 +91,7 @@ LocationProviderManager::LocationProviderManager( - #if BUILDFLAG(IS_ANDROID) - // On Android, default to using the platform location provider. + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + // On Android and iOS, default to using the platform location provider. provider_manager_mode_ = kPlatformOnly; -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Ash / Lacros / Linux, default to using the network location provider. provider_manager_mode_ = kNetworkOnly; #else diff --git a/www/iridium/files/patch-services_device_hid_BUILD.gn b/www/iridium/files/patch-services_device_hid_BUILD.gn index f33cf0416e0c..4059213b7c4b 100644 --- a/www/iridium/files/patch-services_device_hid_BUILD.gn +++ b/www/iridium/files/patch-services_device_hid_BUILD.gn @@ -1,30 +1,30 @@ ---- services/device/hid/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- services/device/hid/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/BUILD.gn @@ -34,7 +34,26 @@ source_set("hid") { "//services/device/public/mojom", ] - if ((is_linux || is_chromeos) && use_udev) { + if (is_openbsd) { + sources += [ + "hid_connection_fido.cc", + "hid_connection_fido.h", + "hid_service_fido.cc", + "hid_service_fido.h", + ] + libs = ["fido2", "cbor", "usbhid", "crypto", "util"] + } + + if (is_freebsd) { + sources += [ + "hid_connection_freebsd.cc", + "hid_connection_freebsd.h", + "hid_service_freebsd.cc", + "hid_service_freebsd.h", + ] + } + + if ((is_linux || is_chromeos) && !is_bsd && use_udev) { sources += [ "hid_connection_linux.cc", "hid_connection_linux.h", diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__fido.cc b/www/iridium/files/patch-services_device_hid_hid__connection__fido.cc index db2fcb8158f2..d4ed45556fbf 100644 --- a/www/iridium/files/patch-services_device_hid_hid__connection__fido.cc +++ b/www/iridium/files/patch-services_device_hid_hid__connection__fido.cc @@ -1,219 +1,219 @@ ---- services/device/hid/hid_connection_fido.cc.orig 2024-06-25 12:08:48 UTC +--- services/device/hid/hid_connection_fido.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_connection_fido.cc @@ -0,0 +1,216 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/hid/hid_connection_fido.h" + +#include +#include + +#include +#include +#include + +#include "base/files/file_descriptor_watcher_posix.h" +#include "base/memory/ref_counted_memory.h" +#include "base/posix/eintr_wrapper.h" +#include "base/threading/scoped_blocking_call.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidConnectionFido::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::ScopedFD fd, + scoped_refptr device_info, + base::WeakPtr connection) + : fd_(std::move(fd)), + connection_(connection), + origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + DETACH_FROM_SEQUENCE(sequence_checker_); + // Report buffers must always have room for the report ID. + report_buffer_size_ = device_info->max_input_report_size() + 1; + has_report_id_ = device_info->has_report_id(); + } + + BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; + BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; + + ~BlockingTaskRunnerHelper() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + } + + // Starts the FileDescriptorWatcher that reads input events from the device. + // Must be called on a thread that has a base::MessageLoopForIO. + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + file_watcher_ = base::FileDescriptorWatcher::WatchReadable( + fd_.get(), base::BindRepeating( + &BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking, + base::Unretained(this))); + } + + void Write(scoped_refptr buffer, + WriteCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + + auto data = buffer->data(); + size_t size = buffer->size(); + // if report id is 0, it shouldn't be included + if (data[0] == 0) { + data++; + size--; + } + + ssize_t result = + HANDLE_EINTR(write(fd_.get(), data, size)); + if (result < 0) { + HID_PLOG(EVENT) << "Write failed"; + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), false)); + } else { + if (static_cast(result) != size) { + HID_LOG(EVENT) << "Incomplete HID write: " << result + << " != " << buffer->size(); + } + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), true)); + } + } + + void GetFeatureReport(uint8_t report_id, + scoped_refptr buffer, + ReadCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + HID_PLOG(EVENT) << "GendFeatureReport not implemented on OpenBSD"; + origin_task_runner_->PostTask( + FROM_HERE, base::BindOnce(std::move(callback), false, nullptr, 0)); + } + + void SendFeatureReport(scoped_refptr buffer, + WriteCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD"; + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), false)); + } + + private: + void OnFileCanReadWithoutBlocking() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + auto buffer = + base::MakeRefCounted(report_buffer_size_); + uint8_t* data = buffer->as_vector().data(); + size_t length = report_buffer_size_; + if (!has_report_id_) { + // Fido will not prefix the buffer with a report ID if report IDs are not + // used by the device. Prefix the buffer with 0. + *data++ = 0; + length--; + } + + ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length)); + if (bytes_read < 0) { + if (errno != EAGAIN) { + HID_PLOG(EVENT) << "Read failed"; + // This assumes that the error is unrecoverable and disables reading + // from the device until it has been re-opened. + // TODO(reillyg): Investigate starting and stopping the file descriptor + // watcher in response to pending read requests so that per-request + // errors can be returned to the client. + file_watcher_.reset(); + } + return; + } + if (!has_report_id_) { + // Behave as if the byte prefixed above as the the report ID was read. + bytes_read++; + } + + origin_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&HidConnectionFido::ProcessInputReport, + connection_, buffer, bytes_read)); + } + + SEQUENCE_CHECKER(sequence_checker_); + base::ScopedFD fd_; + size_t report_buffer_size_; + bool has_report_id_; + base::WeakPtr connection_; + const scoped_refptr origin_task_runner_; + std::unique_ptr file_watcher_; +}; + +HidConnectionFido::HidConnectionFido( + scoped_refptr device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports) + : HidConnection(device_info, allow_protected_reports, allow_fido_reports), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)), + blocking_task_runner_(std::move(blocking_task_runner)) { + helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info, + weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start, + base::Unretained(helper_.get()))); +} + +HidConnectionFido::~HidConnectionFido() {} + +void HidConnectionFido::PlatformClose() { + // By closing the device on the blocking task runner 1) the requirement that + // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied + // and 2) any tasks posted to this task runner that refer to this file will + // complete before it is closed. + helper_.reset(); +} + +void HidConnectionFido::PlatformWrite( + scoped_refptr buffer, + WriteCallback callback) { + // Fido expects the first byte of the buffer to always be a report ID so the + // buffer can be used directly. + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Write, + base::Unretained(helper_.get()), buffer, + std::move(callback))); +} + +void HidConnectionFido::PlatformGetFeatureReport(uint8_t report_id, + ReadCallback callback) { + // The first byte of the destination buffer is the report ID being requested + // and is overwritten by the feature report. + DCHECK_GT(device_info()->max_feature_report_size(), 0u); + auto buffer = base::MakeRefCounted( + device_info()->max_feature_report_size() + 1); + buffer->as_vector().data()[0] = report_id; + + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport, + base::Unretained(helper_.get()), report_id, + buffer, std::move(callback))); +} + +void HidConnectionFido::PlatformSendFeatureReport( + scoped_refptr buffer, + WriteCallback callback) { + // Fido expects the first byte of the buffer to always be a report ID so the + // buffer can be used directly. + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport, + base::Unretained(helper_.get()), buffer, + std::move(callback))); +} + +} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__fido.h b/www/iridium/files/patch-services_device_hid_hid__connection__fido.h index eac5f5d783fc..6a46f5ee92e7 100644 --- a/www/iridium/files/patch-services_device_hid_hid__connection__fido.h +++ b/www/iridium/files/patch-services_device_hid_hid__connection__fido.h @@ -1,63 +1,63 @@ ---- services/device/hid/hid_connection_fido.h.orig 2022-12-01 10:35:46 UTC +--- services/device/hid/hid_connection_fido.h.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_connection_fido.h @@ -0,0 +1,60 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ +#define SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ + +#include +#include + +#include "base/files/scoped_file.h" +#include "base/memory/weak_ptr.h" +#include "base/task/sequenced_task_runner.h" +#include "services/device/hid/hid_connection.h" + +namespace base { +class SequencedTaskRunner; +} + +namespace device { + +class HidConnectionFido : public HidConnection { + public: + HidConnectionFido( + scoped_refptr device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports); + HidConnectionFido(HidConnectionFido&) = delete; + HidConnectionFido& operator=(HidConnectionFido&) = delete; + + private: + friend class base::RefCountedThreadSafe; + class BlockingTaskRunnerHelper; + + ~HidConnectionFido() override; + + // HidConnection implementation. + void PlatformClose() override; + void PlatformWrite(scoped_refptr buffer, + WriteCallback callback) override; + void PlatformGetFeatureReport(uint8_t report_id, + ReadCallback callback) override; + void PlatformSendFeatureReport(scoped_refptr buffer, + WriteCallback callback) override; + + // |helper_| lives on the sequence to which |blocking_task_runner_| posts + // tasks so all calls must be posted there including this object's + // destruction. + std::unique_ptr helper_; + + const scoped_refptr blocking_task_runner_; + + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc index abfbe8e8a568..aa6a28cf61d1 100644 --- a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc +++ b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -1,243 +1,243 @@ ---- services/device/hid/hid_connection_freebsd.cc.orig 2025-02-22 18:06:53 UTC +--- services/device/hid/hid_connection_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_connection_freebsd.cc @@ -0,0 +1,240 @@ +// Copyright (c) 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/hid/hid_connection_freebsd.h" + +#include +#include + +#include "base/files/file_descriptor_watcher_posix.h" +#include "base/location.h" +#include "base/numerics/safe_math.h" +#include "base/posix/eintr_wrapper.h" +#include "base/strings/stringprintf.h" +#include "base/task/single_thread_task_runner.h" +#include "base/threading/scoped_blocking_call.h" +#include "base/threading/thread_restrictions.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidConnectionFreeBSD::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::ScopedFD fd, + scoped_refptr device_info, + base::WeakPtr connection) + : fd_(std::move(fd)), + connection_(connection), + origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + DETACH_FROM_SEQUENCE(sequence_checker_); + // Report buffers must always have room for the report ID. + report_buffer_size_ = device_info->max_input_report_size() + 1; + has_report_id_ = device_info->has_report_id(); + } + + BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; + BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; + + ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } + + // Starts the FileDescriptorWatcher that reads input events from the device. + // Must be called on a thread that has a base::MessageLoopForIO. + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::AssertBlockingAllowed(); + + file_watcher_ = base::FileDescriptorWatcher::WatchReadable( + fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking, + base::Unretained(this))); + } + + void Write(scoped_refptr buffer, + WriteCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + + auto data = buffer->as_vector().data(); + size_t size = buffer->size(); + // if report id is 0, it shouldn't be included + if (data[0] == 0) { + data++; + size--; + } + + ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size)); + if (result < 0) { + HID_PLOG(EVENT) << "Write failed"; + origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false)); + } else { + if (static_cast(result) != size) + HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size; + origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true)); + } + } + + void GetFeatureReport(uint8_t report_id, + scoped_refptr buffer, + ReadCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + struct usb_gen_descriptor ugd; + ugd.ugd_report_type = UHID_FEATURE_REPORT; + ugd.ugd_data = buffer->as_vector().data(); + ugd.ugd_maxlen = buffer->size(); + int result = HANDLE_EINTR( + ioctl(fd_.get(), USB_GET_REPORT, &ugd)); + if (result < 0) { + HID_PLOG(EVENT) << "Failed to get feature report"; + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), false, nullptr, 0)); + } else if (result == 0) { + HID_LOG(EVENT) << "Get feature result too short."; + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), false, nullptr, 0)); + } else { + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), true, buffer, result)); + } + } + + void SendFeatureReport(scoped_refptr buffer, + WriteCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + struct usb_gen_descriptor ugd; + ugd.ugd_report_type = UHID_FEATURE_REPORT; + ugd.ugd_data = buffer->as_vector().data(); + ugd.ugd_maxlen = buffer->size(); + // FreeBSD does not require report id if it's not used + if (buffer->data()[0] == 0) { + ugd.ugd_data = buffer->as_vector().data() + 1; + ugd.ugd_maxlen = buffer->size() - 1; + } else { + ugd.ugd_data = buffer->as_vector().data(); + ugd.ugd_maxlen = buffer->size(); + } + int result = HANDLE_EINTR( + ioctl(fd_.get(), USB_SET_REPORT, &ugd)); + if (result < 0) { + HID_PLOG(EVENT) << "Failed to send feature report"; + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), false)); + } else { + origin_task_runner_->PostTask(FROM_HERE, + base::BindOnce(std::move(callback), true)); + } + } + + private: + void OnFileCanReadWithoutBlocking() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + scoped_refptr buffer(new base::RefCountedBytes(report_buffer_size_)); + unsigned char* data = buffer->as_vector().data(); + size_t length = report_buffer_size_; + if (!has_report_id_) { + // FreeBSD will not prefix the buffer with a report ID if report IDs are not + // used by the device. Prefix the buffer with 0. + *data++ = 0; + length--; + } + + ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length)); + if (bytes_read < 0) { + if (errno != EAGAIN) { + HID_PLOG(EVENT) << "Read failed"; + // This assumes that the error is unrecoverable and disables reading + // from the device until it has been re-opened. + // TODO(reillyg): Investigate starting and stopping the file descriptor + // watcher in response to pending read requests so that per-request + // errors can be returned to the client. + file_watcher_.reset(); + } + return; + } + if (!has_report_id_) { + // Behave as if the byte prefixed above as the the report ID was read. + bytes_read++; + } + + origin_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport, + connection_, buffer, bytes_read)); + } + + SEQUENCE_CHECKER(sequence_checker_); + base::ScopedFD fd_; + size_t report_buffer_size_; + bool has_report_id_; + base::WeakPtr connection_; + const scoped_refptr origin_task_runner_; + std::unique_ptr file_watcher_; +}; + +HidConnectionFreeBSD::HidConnectionFreeBSD( + scoped_refptr device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports) + : HidConnection(device_info, allow_protected_reports, allow_fido_reports), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)), + blocking_task_runner_(std::move(blocking_task_runner)) { + helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info, + weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start, + base::Unretained(helper_.get()))); +} + +HidConnectionFreeBSD::~HidConnectionFreeBSD() {} + +void HidConnectionFreeBSD::PlatformClose() { + // By closing the device on the blocking task runner 1) the requirement that + // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied + // and 2) any tasks posted to this task runner that refer to this file will + // complete before it is closed. + blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); +} + +void HidConnectionFreeBSD::PlatformWrite(scoped_refptr buffer, + WriteCallback callback) { + + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::Write, base::Unretained(helper_.get()), + buffer, std::move(callback))); +} + +void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id, + ReadCallback callback) { + // The first byte of the destination buffer is the report ID being requested + // and is overwritten by the feature report. + DCHECK_GT(device_info()->max_feature_report_size(), 0u); + scoped_refptr buffer( + new base::RefCountedBytes(device_info()->max_feature_report_size() + 1)); + if (report_id != 0) + buffer->as_vector().data()[0] = report_id; + + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport, + base::Unretained(helper_.get()), report_id, + buffer, std::move(callback))); +} + +void HidConnectionFreeBSD::PlatformSendFeatureReport( + scoped_refptr buffer, + WriteCallback callback) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport, + base::Unretained(helper_.get()), buffer, std::move(callback))); +} + +} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h index 0931e040f30d..f8835a646b51 100644 --- a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h +++ b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h @@ -1,70 +1,70 @@ ---- services/device/hid/hid_connection_freebsd.h.orig 2022-03-28 18:11:04 UTC +--- services/device/hid/hid_connection_freebsd.h.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_connection_freebsd.h @@ -0,0 +1,67 @@ +// Copyright (c) 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef DEVICE_HID_HID_CONNECTION_FREEBSD_H_ +#define DEVICE_HID_HID_CONNECTION_FREEBSD_H_ + +#include +#include + +#include "base/files/scoped_file.h" +#include "base/memory/weak_ptr.h" +#include "base/memory/ref_counted_memory.h" +#include "base/task/sequenced_task_runner.h" +#include "services/device/hid/hid_connection.h" + +namespace base { +class SequencedTaskRunner; +} + +namespace net { +class IOBuffer; +} + +namespace device { + +class HidConnectionFreeBSD : public HidConnection { + public: + HidConnectionFreeBSD( + scoped_refptr device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports); + + private: + friend class base::RefCountedThreadSafe; + class BlockingTaskRunnerHelper; + + HidConnectionFreeBSD(const HidConnectionFreeBSD&) = delete; + HidConnectionFreeBSD& operator=(const HidConnectionFreeBSD&) = delete; + + ~HidConnectionFreeBSD() override; + + // HidConnection implementation. + void PlatformClose() override; + void PlatformWrite(scoped_refptr buffer, + WriteCallback callback) override; + void PlatformGetFeatureReport(uint8_t report_id, + ReadCallback callback) override; + void PlatformSendFeatureReport(scoped_refptr buffer, + WriteCallback callback) override; + + // |helper_| lives on the sequence to which |blocking_task_runner_| posts + // tasks so all calls must be posted there including this object's + // destruction. + std::unique_ptr helper_; + + const scoped_refptr blocking_task_runner_; + const scoped_refptr task_runner_; + + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_ diff --git a/www/iridium/files/patch-services_device_hid_hid__service.cc b/www/iridium/files/patch-services_device_hid_hid__service.cc index 17926cdf79f6..5b04ddb9c1c5 100644 --- a/www/iridium/files/patch-services_device_hid_hid__service.cc +++ b/www/iridium/files/patch-services_device_hid_hid__service.cc @@ -1,24 +1,24 @@ ---- services/device/hid/hid_service.cc.orig 2022-12-06 08:09:13 UTC +--- services/device/hid/hid_service.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_service.cc @@ -20,6 +20,10 @@ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) #include "services/device/hid/hid_service_linux.h" +#elif BUILDFLAG(IS_OPENBSD) +#include "services/device/hid/hid_service_fido.h" +#elif BUILDFLAG(IS_FREEBSD) +#include "services/device/hid/hid_service_freebsd.h" #elif BUILDFLAG(IS_MAC) #include "services/device/hid/hid_service_mac.h" #elif BUILDFLAG(IS_WIN) @@ -68,6 +72,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr std::unique_ptr HidService::Create() { #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) return std::make_unique(); +#elif BUILDFLAG(IS_OPENBSD) + return std::make_unique(); +#elif BUILDFLAG(IS_FREEBSD) + return std::make_unique(); #elif BUILDFLAG(IS_MAC) return std::make_unique(); #elif BUILDFLAG(IS_WIN) diff --git a/www/iridium/files/patch-services_device_hid_hid__service__fido.cc b/www/iridium/files/patch-services_device_hid_hid__service__fido.cc index af1e4faee15f..7b519c7d2df6 100644 --- a/www/iridium/files/patch-services_device_hid_hid__service__fido.cc +++ b/www/iridium/files/patch-services_device_hid_hid__service__fido.cc @@ -1,399 +1,399 @@ ---- services/device/hid/hid_service_fido.cc.orig 2023-03-13 07:33:08 UTC +--- services/device/hid/hid_service_fido.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_service_fido.cc @@ -0,0 +1,396 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/hid/hid_service_fido.h" + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include "base/files/file.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/scoped_file.h" +#include "base/location.h" +#include "base/sequence_checker.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" +#include "base/strings/string_util.h" +#include "base/task/sequenced_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "build/build_config.h" +#include "build/chromeos_buildflags.h" +#include "components/device_event_log/device_event_log.h" +#include "device/udev_linux/scoped_udev.h" +#include "device/udev_linux/udev_watcher.h" +#include "services/device/hid/hid_connection_fido.h" + +namespace device { + +namespace { + +bool terrible_ping_kludge(int fd, const std::string &path) { + u_char data[256]; + int i, n; + struct pollfd pfd; + + for (i = 0; i < 4; i++) { + memset(data, 0, sizeof(data)); + /* broadcast channel ID */ + data[1] = 0xff; + data[2] = 0xff; + data[3] = 0xff; + data[4] = 0xff; + /* Ping command */ + data[5] = 0x81; + /* One byte ping only, Vasili */ + data[6] = 0; + data[7] = 1; + HID_LOG(EVENT) << "send ping " << i << " " << path; + if (write(fd, data, 64) == -1) { + HID_PLOG(ERROR) << "write " << path; + return false; + } + HID_LOG(EVENT) << "wait reply " << path; + memset(&pfd, 0, sizeof(pfd)); + pfd.fd = fd; + pfd.events = POLLIN; + if ((n = poll(&pfd, 1, 100)) == -1) { + HID_PLOG(EVENT) << "poll " << path; + return false; + } else if (n == 0) { + HID_LOG(EVENT) << "timed out " << path; + continue; + } + if (read(fd, data, 64) == -1) { + HID_PLOG(ERROR) << "read " << path; + return false; + } + /* + * Ping isn't always supported on the broadcast channel, + * so we might get an error, but we don't care - we're + * synched now. + */ + HID_LOG(EVENT) << "got reply " << path; + return true; + } + HID_LOG(ERROR) << "no response " << path; + return false; +} + +// HID report descriptor for U2F interface. Copied from: +// https://chromium.googlesource.com/chromiumos/platform2/+/c6c7e4e54fce11932fedaa3ea10236bf75d85a2b%5E%21/u2fd/u2fhid.cc +// Apparently Chromium wants to see these bytes, but OpenBSD fido(4) +// devices prohibit USB_GET_REPORT_DESC ioctl that could be used to +// get the bytes from the USB device. +constexpr uint8_t kU2fReportDesc[] = { + 0x06, 0xD0, 0xF1, /* Usage Page (FIDO Alliance), FIDO_USAGE_PAGE */ + 0x09, 0x01, /* Usage (U2F HID Auth. Device) FIDO_USAGE_U2FHID */ + 0xA1, 0x01, /* Collection (Application), HID_APPLICATION */ + 0x09, 0x20, /* Usage (Input Report Data), FIDO_USAGE_DATA_IN */ + 0x15, 0x00, /* Logical Minimum (0) */ + 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ + 0x75, 0x08, /* Report Size (8) */ + 0x95, 0x40, /* Report Count (64), HID_INPUT_REPORT_BYTES */ + 0x81, 0x02, /* Input (Data, Var, Abs), Usage */ + 0x09, 0x21, /* Usage (Output Report Data), FIDO_USAGE_DATA_OUT */ + 0x15, 0x00, /* Logical Minimum (0) */ + 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ + 0x75, 0x08, /* Report Size (8) */ + 0x95, 0x40, /* Report Count (64), HID_OUTPUT_REPORT_BYTES */ + 0x91, 0x02, /* Output (Data, Var, Abs), Usage */ + 0xC0 /* End Collection */ +}; + +} // namespace + +struct HidServiceFido::ConnectParams { + ConnectParams(scoped_refptr device_info, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) + : device_info(std::move(device_info)), + allow_protected_reports(allow_protected_reports), + allow_fido_reports(allow_fido_reports), + callback(std::move(callback)), + task_runner(base::SequencedTaskRunner::GetCurrentDefault()), + blocking_task_runner( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} + ~ConnectParams() {} + + scoped_refptr device_info; + bool allow_protected_reports; + bool allow_fido_reports; + ConnectCallback callback; + scoped_refptr task_runner; + scoped_refptr blocking_task_runner; + base::ScopedFD fd; +}; + +class HidServiceFido::BlockingTaskRunnerHelper : public UdevWatcher::Observer { + public: + BlockingTaskRunnerHelper(base::WeakPtr service) + : service_(std::move(service)), + task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + DETACH_FROM_SEQUENCE(sequence_checker_); + } + + BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; + BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; + + ~BlockingTaskRunnerHelper() override { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + } + + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + void *library = dlopen("libudev.so", RTLD_NOW | RTLD_LOCAL); + if (library) { + dlclose(library); + watcher_ = UdevWatcher::StartWatching(this); + watcher_->EnumerateExistingDevices(); + } else { + HID_LOG(ERROR) << "No udev available, failling back to single enumeration"; + WalkFidoDevices(nullptr); + } + + task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_)); + } + + private: + void WalkFidoDevices(const char *name) { + fido_dev_info_t *devlist = NULL; + fido_dev_t *dev = NULL; + size_t devlist_len = 0, i; + const char *path; + int r; + const int MAX_FIDO_DEVICES = 256; + + if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { + HID_LOG(ERROR) << "fido_dev_info_new failed"; + goto out; + } + if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, &devlist_len)) != + FIDO_OK) { + HID_LOG(ERROR) << "fido_dev_info_manifest: " << fido_strerr(r); + goto out; + } + + HID_LOG(EVENT) << "fido_dev_info_manifest found " << devlist_len + << " device(s)"; + + for (i = 0; i < devlist_len; i++) { + const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i); + + if (di == NULL) { + HID_LOG(ERROR) << "fido_dev_info_ptr " << i << " failed"; + continue; + } + + if ((path = fido_dev_info_path(di)) == NULL) { + HID_LOG(ERROR) << "fido_dev_info_path " << i << " failed"; + continue; + } + + if (name != nullptr && !strcmp(path, name)) { + HID_LOG(EVENT) << "hotplug device " << i << ": " << path; + OnFidoDeviceAdded(di); + break; + } + + HID_LOG(EVENT) << "trying device " << i << ": " << path; + if ((dev = fido_dev_new()) == NULL) { + HID_LOG(ERROR) << "fido_dev_new failed"; + continue; + } + + if ((r = fido_dev_open(dev, path)) != FIDO_OK) { + HID_LOG(ERROR) << "fido_dev_open failed " << path; + fido_dev_free(&dev); + continue; + } + + fido_dev_close(dev); + fido_dev_free(&dev); + + OnFidoDeviceAdded(di); + } + out: + if (devlist != NULL) + fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); + } + + void OnFidoDeviceAdded(const fido_dev_info_t *di) { + auto null_as_empty = [](const char *r) -> std::string { + return (r != nullptr) ? r : ""; + }; + std::string device_node(null_as_empty(fido_dev_info_path(di))); + std::vector report_descriptor( + kU2fReportDesc, kU2fReportDesc + sizeof(kU2fReportDesc)); + + auto device_info = base::MakeRefCounted( + device_node, /*physical_device_id*/"", fido_dev_info_vendor(di), + fido_dev_info_product(di), null_as_empty(fido_dev_info_product_string(di)), + null_as_empty(fido_dev_info_manufacturer_string(di)), + device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor, + device_node); + + task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&HidServiceFido::AddDevice, service_, device_info)); + } + + // UdevWatcher::Observer + void OnDeviceAdded(ScopedUdevDevicePtr device) override { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + + const char* subsystem = udev_device_get_subsystem(device.get()); + if (!subsystem || strcmp(subsystem, "fido") != 0) + return; + + const char* device_path = udev_device_get_syspath(device.get()); + if (!device_path) + return; + + WalkFidoDevices(device_path); + } + + void OnDeviceRemoved(ScopedUdevDevicePtr device) override { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + + const char* device_path = udev_device_get_syspath(device.get()); + if (device_path) { + task_runner_->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, service_, + std::string(device_path))); + } + } + + void OnDeviceChanged(ScopedUdevDevicePtr) override {} + + SEQUENCE_CHECKER(sequence_checker_); + std::unique_ptr watcher_; + + // This weak pointer is only valid when checked on this task runner. + base::WeakPtr service_; + scoped_refptr task_runner_; +}; + +HidServiceFido::HidServiceFido() + : blocking_task_runner_( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { + // We need to properly initialize |blocking_task_helper_| here because we need + // |weak_factory_| to be created first. + helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start, + base::Unretained(helper_.get()))); +} + +HidServiceFido::~HidServiceFido() = default; + +base::WeakPtr HidServiceFido::GetWeakPtr() { + return weak_factory_.GetWeakPtr(); +} + +void HidServiceFido::Connect(const std::string& device_guid, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const auto& map_entry = devices().find(device_guid); + if (map_entry == devices().end()) { + base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(callback), nullptr)); + return; + } + scoped_refptr device_info = map_entry->second; + + auto params = + std::make_unique(device_info, allow_protected_reports, + allow_fido_reports, std::move(callback)); + scoped_refptr blocking_task_runner = + params->blocking_task_runner; + blocking_task_runner->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFido::OpenOnBlockingThread, + std::move(params))); +} + +// static +void HidServiceFido::OpenOnBlockingThread( + std::unique_ptr params) { + base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, + base::BlockingType::MAY_BLOCK); + scoped_refptr task_runner = params->task_runner; + + base::FilePath device_path(params->device_info->device_node()); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) { + base::File::Error file_error = device_file.error_details(); + + if (file_error == base::File::FILE_ERROR_ACCESS_DENIED) { + HID_LOG(EVENT) + << "Access denied opening device read-write, trying read-only."; + flags = base::File::FLAG_OPEN | base::File::FLAG_READ; + device_file.Initialize(device_path, flags); + } + } + if (!device_file.IsValid()) { + HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node() + << "': " + << base::File::ErrorToString(device_file.error_details()); + task_runner->PostTask(FROM_HERE, + base::BindOnce(std::move(params->callback), nullptr)); + return; + } + if (!terrible_ping_kludge(device_file.GetPlatformFile(), params->device_info->device_node())) { + HID_LOG(EVENT) << "Failed to ping " << params->device_info->device_node(); + task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr)); + return; + } + params->fd.reset(device_file.TakePlatformFile()); + + task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::FinishOpen, + std::move(params))); +} + +// static +void HidServiceFido::FinishOpen(std::unique_ptr params) { + DCHECK(params->fd.is_valid()); + + if (!base::SetNonBlocking(params->fd.get())) { + HID_PLOG(DEBUG) << "Failed to set the non-blocking flag on the device fd"; + std::move(params->callback).Run(nullptr); + return; + } + + std::move(params->callback) + .Run(base::MakeRefCounted( + std::move(params->device_info), std::move(params->fd), + std::move(params->blocking_task_runner), + params->allow_protected_reports, params->allow_fido_reports)); +} + +} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__service__fido.h b/www/iridium/files/patch-services_device_hid_hid__service__fido.h index ee68895e6d64..0319556c27cb 100644 --- a/www/iridium/files/patch-services_device_hid_hid__service__fido.h +++ b/www/iridium/files/patch-services_device_hid_hid__service__fido.h @@ -1,68 +1,68 @@ ---- services/device/hid/hid_service_fido.h.orig 2022-12-01 10:35:46 UTC +--- services/device/hid/hid_service_fido.h.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_service_fido.h @@ -0,0 +1,65 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ +#define SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ + +#include + +#include "base/compiler_specific.h" +#include "base/files/scoped_file.h" +#include "base/memory/weak_ptr.h" +#include "base/task/sequenced_task_runner.h" +#include "build/build_config.h" +#include "build/chromeos_buildflags.h" +#include "services/device/hid/hid_device_info.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidServiceFido : public HidService { + public: + HidServiceFido(); + HidServiceFido(HidServiceFido&) = delete; + HidServiceFido& operator=(HidServiceFido&) = delete; + ~HidServiceFido() override; + + // HidService: + void Connect(const std::string& device_id, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) override; + base::WeakPtr GetWeakPtr() override; + + private: + struct ConnectParams; + class BlockingTaskRunnerHelper; + +// These functions implement the process of locating, requesting access to and +// opening a device. Because this operation crosses multiple threads these +// functions are static and the necessary parameters are passed as a single +// struct. +#if BUILDFLAG(IS_CHROMEOS_ASH) + static void OnPathOpenComplete(std::unique_ptr params, + base::ScopedFD fd); + static void OnPathOpenError(const std::string& device_path, + ConnectCallback callback, + const std::string& error_name, + const std::string& error_message); +#else + static void OpenOnBlockingThread(std::unique_ptr params); +#endif + static void FinishOpen(std::unique_ptr params); + + const scoped_refptr blocking_task_runner_; + + // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds + // a weak reference back to the service that owns it. + std::unique_ptr helper_; + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ diff --git a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc index fc975361c1fb..1621185e3a7e 100644 --- a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc +++ b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -1,398 +1,398 @@ ---- services/device/hid/hid_service_freebsd.cc.orig 2025-02-22 18:06:53 UTC +--- services/device/hid/hid_service_freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_service_freebsd.cc @@ -0,0 +1,395 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/hid/hid_service_freebsd.h" + +#include +#include +#include +#include + +#include +#include +#include + +#include "base/files/file_descriptor_watcher_posix.h" +#include "base/files/file_enumerator.h" +#include "base/files/file_util.h" +#include "base/files/file.h" +#include "base/location.h" +#include "base/logging.h" +#include "base/posix/eintr_wrapper.h" +#include "base/stl_util.h" +#include "base/strings/pattern.h" +#include "base/strings/stringprintf.h" +#include "base/strings/sys_string_conversions.h" +#include "base/strings/string_util.h" +#include "base/strings/string_split.h" +#include "base/task/single_thread_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "base/threading/thread_restrictions.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/hid/hid_connection_freebsd.h" + +const int kMaxPermissionChecks = 5; + +namespace device { + +struct HidServiceFreeBSD::ConnectParams { + ConnectParams(scoped_refptr device_info, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) + : device_info(std::move(device_info)), + allow_protected_reports(allow_protected_reports), + allow_fido_reports(allow_fido_reports), + callback(std::move(callback)), + task_runner(base::SequencedTaskRunner::GetCurrentDefault()), + blocking_task_runner( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} + ~ConnectParams() {} + + scoped_refptr device_info; + bool allow_protected_reports; + bool allow_fido_reports; + ConnectCallback callback; + scoped_refptr task_runner; + scoped_refptr blocking_task_runner; + base::ScopedFD fd; +}; + +class HidServiceFreeBSD::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::WeakPtr service) + : service_(std::move(service)), + task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + DETACH_FROM_SEQUENCE(sequence_checker_); + + timer_.reset(new base::RepeatingTimer()); + devd_buffer_ = new net::IOBufferWithSize(1024); + } + + BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; + BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; + + ~BlockingTaskRunnerHelper() { + } + + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const base::FilePath kDevRoot("/dev"); + const std::string kUHIDPattern("/dev/uhid*"); + + base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES); + do { + const base::FilePath next_device_path(enumerator.Next()); + const std::string next_device = next_device_path.value(); + if (next_device.empty()) + break; + + if (base::MatchPattern(next_device, kUHIDPattern)) + OnDeviceAdded(next_device.substr(5)); + } while (true); + + SetupDevdMonitor(); + + task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&HidServiceFreeBSD::FirstEnumerationComplete, service_)); + } + + bool HaveReadWritePermissions(std::string device_id) { + std::string device_node = "/dev/" + device_id; + base::AssertBlockingAllowed(); + + base::FilePath device_path(device_node); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) + return false; + + return true; + } + + void OnDeviceAdded(std::string device_id) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + std::string device_node = "/dev/" + device_id; + uint16_t vendor_id = 0xffff; + uint16_t product_id = 0xffff; + std::string product_name = ""; + std::string serial_number = ""; + + std::vector report_descriptor; + + base::AssertBlockingAllowed(); + + base::FilePath device_path(device_node); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) { + HID_LOG(ERROR) << "Failed to open '" << device_node + << "': " + << base::File::ErrorToString(device_file.error_details()); + return; + } + + base::ScopedFD fd; + fd.reset(device_file.TakePlatformFile()); + + struct usb_gen_descriptor ugd; + ugd.ugd_data = NULL; + ugd.ugd_maxlen = 0xffff; + int result = HANDLE_EINTR( + ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); + + if (result < 0) { + HID_LOG(ERROR) << "Failed to get report descriptor size"; + return; + } + + report_descriptor.resize(ugd.ugd_actlen); + + ugd.ugd_data = report_descriptor.data(); + ugd.ugd_maxlen = ugd.ugd_actlen; + result = HANDLE_EINTR( + ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); + + if (result < 0) { + HID_LOG(ERROR) << "Failed to get report descriptor"; + return; + } + + scoped_refptr device_info(new HidDeviceInfo( + device_id, + /*physical_device_id*/"", + vendor_id, + product_id, + product_name, + serial_number, + device::mojom::HidBusType::kHIDBusTypeUSB, + report_descriptor, + device_node)); + + task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice, + service_, device_info)); + } + + void OnDeviceRemoved(std::string device_id) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + task_runner_->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFreeBSD::RemoveDevice, service_, + device_id)); + } + + private: + + void CheckPendingPermissionChange() { + base::AssertBlockingAllowed(); + std::map::iterator it; + for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) { + std::string device_name = it->first; + bool keep = true; + if (HaveReadWritePermissions(device_name)) { + OnDeviceAdded(device_name); + keep = false; + } + else if (it->second-- <= 0) { + HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name + << "' after " << kMaxPermissionChecks << " attempts"; + keep = false; + } + + if (keep) + ++it; + else + permissions_checks_attempts_.erase(it++); + } + + if (permissions_checks_attempts_.empty()) + timer_->Stop(); + } + + void SetupDevdMonitor() { + base::AssertBlockingAllowed(); + + int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0); + if (devd_fd < 0) + return; + + struct sockaddr_un sa; + + sa.sun_family = AF_UNIX; + strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path)); + if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { + close(devd_fd); + return; + } + + devd_fd_.reset(devd_fd); + file_watcher_ = base::FileDescriptorWatcher::WatchReadable( + devd_fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead, + base::Unretained(this))); + } + + void OnDevdMessageCanBeRead() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(), + devd_buffer_->size() - 1, MSG_WAITALL)); + if (bytes_read < 0) { + if (errno != EAGAIN) { + HID_LOG(ERROR) << "Read failed"; + file_watcher_.reset(); + } + return; + } + + devd_buffer_->data()[bytes_read] = 0; + char *data = devd_buffer_->data(); + // It may take some time for devd to change permissions + // on /dev/uhidX node. So do not fail immediately if + // open fail. Retry each second for kMaxPermissionChecks + // times before giving up entirely + if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) { + std::vector parts = base::SplitString( + data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + if (!parts.empty()) { + std::string device_name = parts[0].substr(1); // skip '+' + if (HaveReadWritePermissions(device_name)) + OnDeviceAdded(parts[0].substr(1)); + else { + // Do not re-add to checks + if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) { + permissions_checks_attempts_.insert(std::pair(device_name, kMaxPermissionChecks)); + timer_->Start(FROM_HERE, base::Seconds(1), + this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange); + } + } + } + } + + if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) { + std::vector parts = base::SplitString( + data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + if (!parts.empty()) { + std::string device_name = parts[0].substr(1); // skip '-' + auto it = permissions_checks_attempts_.find(device_name); + if (it != permissions_checks_attempts_.end()) { + permissions_checks_attempts_.erase(it); + if (permissions_checks_attempts_.empty()) + timer_->Stop(); + } + OnDeviceRemoved(parts[0].substr(1)); + } + } + } + + SEQUENCE_CHECKER(sequence_checker_); + + // This weak pointer is only valid when checked on this task runner. + base::WeakPtr service_; + scoped_refptr task_runner_; + std::unique_ptr file_watcher_; + std::unique_ptr timer_; + base::ScopedFD devd_fd_; + scoped_refptr devd_buffer_; + std::map permissions_checks_attempts_; +}; + +HidServiceFreeBSD::HidServiceFreeBSD() + : blocking_task_runner_( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { + helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get()))); +} + +HidServiceFreeBSD::~HidServiceFreeBSD() { + blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); +} + +base::WeakPtr HidServiceFreeBSD::GetWeakPtr() { + return weak_factory_.GetWeakPtr(); +} + +// static +void HidServiceFreeBSD::OpenOnBlockingThread( + std::unique_ptr params) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + scoped_refptr task_runner = params->task_runner; + + base::FilePath device_path(params->device_info->device_node()); + base::File device_file; + int flags = + base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; + device_file.Initialize(device_path, flags); + if (!device_file.IsValid()) { + HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node() + << "': " + << base::File::ErrorToString(device_file.error_details()); + task_runner->PostTask(FROM_HERE, + base::BindOnce(std::move(params->callback), nullptr)); + return; + } + params->fd.reset(device_file.TakePlatformFile()); + task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen, + std::move(params))); +} + +void HidServiceFreeBSD::Connect(const std::string& device_guid, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const auto& map_entry = devices().find(device_guid); + if (map_entry == devices().end()) { + base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(callback), nullptr)); + return; + } + + scoped_refptr device_info = map_entry->second; + + auto params = std::make_unique(device_info, + allow_protected_reports, + allow_fido_reports, + std::move(callback)); + scoped_refptr blocking_task_runner = + params->blocking_task_runner; + + blocking_task_runner->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread, + std::move(params))); +} + +// static +void HidServiceFreeBSD::FinishOpen(std::unique_ptr params) { + DCHECK(params->fd.is_valid()); + + if (!base::SetNonBlocking(params->fd.get())) { + HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd"; + std::move(params->callback).Run(nullptr); + } + + std::move(params->callback).Run(base::MakeRefCounted( + std::move(params->device_info), + std::move(params->fd), + std::move(params->blocking_task_runner), + params->allow_protected_reports, + params->allow_fido_reports + )); +} + +} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h index 9adf3ae8dab1..36dd492a4948 100644 --- a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h +++ b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h @@ -1,52 +1,52 @@ ---- services/device/hid/hid_service_freebsd.h.orig 2022-03-28 18:11:04 UTC +--- services/device/hid/hid_service_freebsd.h.orig 2025-05-07 06:48:23 UTC +++ services/device/hid/hid_service_freebsd.h @@ -0,0 +1,49 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_ +#define DEVICE_HID_HID_SERVICE_FREEBSD_H_ + +#include + +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "base/timer/timer.h" +#include "services/device/hid/hid_service.h" +#include "net/base/io_buffer.h" + +namespace device { + +class HidServiceFreeBSD : public HidService { + public: + HidServiceFreeBSD(); + + HidServiceFreeBSD(const HidServiceFreeBSD&) = delete; + HidServiceFreeBSD& operator=(const HidServiceFreeBSD&) = delete; + + ~HidServiceFreeBSD() override; + + void Connect(const std::string& device_guid, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback connect) override; + base::WeakPtr GetWeakPtr() override; + + private: + struct ConnectParams; + class BlockingTaskRunnerHelper; + + static void OpenOnBlockingThread(std::unique_ptr params); + static void FinishOpen(std::unique_ptr params); + + const scoped_refptr blocking_task_runner_; + // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds + // a weak reference back to the service that owns it. + std::unique_ptr helper_; + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_ diff --git a/www/iridium/files/patch-services_device_public_cpp_device__features.cc b/www/iridium/files/patch-services_device_public_cpp_device__features.cc index 718c7c1d84ef..6e24d8dab855 100644 --- a/www/iridium/files/patch-services_device_public_cpp_device__features.cc +++ b/www/iridium/files/patch-services_device_public_cpp_device__features.cc @@ -1,11 +1,11 @@ ---- services/device/public/cpp/device_features.cc.orig 2025-04-16 18:18:42 UTC +--- services/device/public/cpp/device_features.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/public/cpp/device_features.cc -@@ -120,7 +120,7 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { +@@ -135,7 +135,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) BASE_FEATURE(kAutomaticUsbDetach, "AutomaticUsbDetach", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/iridium/files/patch-services_device_public_cpp_device__features.h b/www/iridium/files/patch-services_device_public_cpp_device__features.h index 86663bc0e399..a54693d4a948 100644 --- a/www/iridium/files/patch-services_device_public_cpp_device__features.h +++ b/www/iridium/files/patch-services_device_public_cpp_device__features.h @@ -1,11 +1,11 @@ ---- services/device/public/cpp/device_features.h.orig 2025-04-16 18:18:42 UTC +--- services/device/public/cpp/device_features.h.orig 2025-05-07 06:48:23 UTC +++ services/device/public/cpp/device_features.h @@ -53,7 +53,7 @@ extern const DEVICE_FEATURES_EXPORT DEVICE_FEATURES_EXPORT bool IsOsLevelGeolocationPermissionSupportEnabled(); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kAutomaticUsbDetach); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h b/www/iridium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h index 87f0fc5ece45..f4b585b8ef0f 100644 --- a/www/iridium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h +++ b/www/iridium/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h @@ -1,11 +1,11 @@ ---- services/device/public/cpp/generic_sensor/sensor_reading.h.orig 2024-06-25 12:08:48 UTC +--- services/device/public/cpp/generic_sensor/sensor_reading.h.orig 2025-05-07 06:48:23 UTC +++ services/device/public/cpp/generic_sensor/sensor_reading.h @@ -8,6 +8,8 @@ #include #include +#include + #include namespace device { diff --git a/www/iridium/files/patch-services_device_public_mojom_BUILD.gn b/www/iridium/files/patch-services_device_public_mojom_BUILD.gn index 470c8cec39e9..268ba7bf145b 100644 --- a/www/iridium/files/patch-services_device_public_mojom_BUILD.gn +++ b/www/iridium/files/patch-services_device_public_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/public/mojom/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/device/public/mojom/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/device/public/mojom/BUILD.gn @@ -96,7 +96,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/iridium/files/patch-services_device_serial_BUILD.gn b/www/iridium/files/patch-services_device_serial_BUILD.gn index 8f9f7f7d7e56..75f71cea5f53 100644 --- a/www/iridium/files/patch-services_device_serial_BUILD.gn +++ b/www/iridium/files/patch-services_device_serial_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/serial/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/device/serial/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/device/serial/BUILD.gn @@ -4,7 +4,7 @@ import("//build/config/features.gni") -if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_android) { +if (is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac || is_android) { config("platform_support") { visibility = [ ":serial" ] if (is_win) { diff --git a/www/iridium/files/patch-services_device_serial_serial__device__enumerator.cc b/www/iridium/files/patch-services_device_serial_serial__device__enumerator.cc index cf2038b961d3..65090c949ccc 100644 --- a/www/iridium/files/patch-services_device_serial_serial__device__enumerator.cc +++ b/www/iridium/files/patch-services_device_serial_serial__device__enumerator.cc @@ -1,20 +1,20 @@ ---- services/device/serial/serial_device_enumerator.cc.orig 2025-04-16 18:18:42 UTC +--- services/device/serial/serial_device_enumerator.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/serial/serial_device_enumerator.cc @@ -13,7 +13,7 @@ #include "build/build_config.h" #include "components/device_event_log/device_event_log.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "services/device/serial/serial_device_enumerator_linux.h" #elif BUILDFLAG(IS_MAC) #include "services/device/serial/serial_device_enumerator_mac.h" @@ -28,7 +28,7 @@ namespace device { // static std::unique_ptr SerialDeviceEnumerator::Create( scoped_refptr ui_task_runner) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return SerialDeviceEnumeratorLinux::Create(); #elif BUILDFLAG(IS_MAC) return std::make_unique(); diff --git a/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc index 7a74ca30774d..ad1f687b4fe9 100644 --- a/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc +++ b/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -1,11 +1,11 @@ ---- services/device/serial/serial_io_handler_posix.cc.orig 2024-08-27 06:28:16 UTC +--- services/device/serial/serial_io_handler_posix.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/serial/serial_io_handler_posix.cc @@ -73,7 +73,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee BITRATE_TO_SPEED_CASE(9600) BITRATE_TO_SPEED_CASE(19200) BITRATE_TO_SPEED_CASE(38400) -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) BITRATE_TO_SPEED_CASE(57600) BITRATE_TO_SPEED_CASE(115200) BITRATE_TO_SPEED_CASE(230400) diff --git a/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc index ecf32a106c28..af1ebf10b267 100644 --- a/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc +++ b/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc @@ -1,15 +1,15 @@ ---- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2025-03-18 16:46:04 UTC +--- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/time_zone_monitor/time_zone_monitor_linux.cc @@ -131,9 +131,12 @@ class TimeZoneMonitorLinuxImpl // false positives are harmless, assuming the false positive rate is // reasonable. const auto kFilesToWatch = std::to_array({ +#if BUILDFLAG(IS_BSD) "/etc/localtime", +#else "/etc/timezone", "/etc/TZ", +#endif }); for (size_t index = 0; index < std::size(kFilesToWatch); ++index) { file_path_watchers_.push_back(std::make_unique()); diff --git a/www/iridium/files/patch-services_device_usb_BUILD.gn b/www/iridium/files/patch-services_device_usb_BUILD.gn index cabd9ddbee94..14505f455761 100644 --- a/www/iridium/files/patch-services_device_usb_BUILD.gn +++ b/www/iridium/files/patch-services_device_usb_BUILD.gn @@ -1,34 +1,34 @@ ---- services/device/usb/BUILD.gn.orig 2025-03-18 16:46:04 UTC +--- services/device/usb/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/device/usb/BUILD.gn @@ -90,7 +90,7 @@ static_library("usb") { deps += [ "//third_party/re2" ] } - if (is_mac) { + if (is_mac || is_openbsd) { # These sources and deps are required for libusb. # TODO(crbug.com/40136337) Remove these sources. sources += [ @@ -113,6 +113,13 @@ static_library("usb") { deps += [ "//third_party/libusb" ] } + if (is_freebsd) { + sources += [ + "usb_service_fake.cc", + "usb_service_fake.h", + ] + } + if (is_linux || is_chromeos) { sources += [ "usb_device_linux.cc", @@ -134,7 +141,7 @@ static_library("usb") { deps += [ "//device/udev_linux" ] } - if (is_android || is_chromeos || is_linux) { + if (is_android || is_chromeos || is_linux && !is_bsd) { sources += [ "usb_device_handle_usbfs.cc", "usb_device_handle_usbfs.h", diff --git a/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.cc b/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.cc new file mode 100644 index 000000000000..3e49a5d0c62b --- /dev/null +++ b/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.cc @@ -0,0 +1,38 @@ +--- services/device/usb/usb_device_handle_usbfs.cc.orig 2025-05-07 06:48:23 UTC ++++ services/device/usb/usb_device_handle_usbfs.cc +@@ -39,7 +39,7 @@ + #include "chromeos/dbus/permission_broker/permission_broker_client.h" + #endif + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "services/device/public/cpp/device_features.h" + #include "services/device/usb/usb_interface_detach_allowlist.h" + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +@@ -271,7 +271,7 @@ bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::R + return true; + } + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper::DetachInterface( + int interface_number, + const CombinedInterfaceInfo& interface_info) { +@@ -599,7 +599,7 @@ void UsbDeviceHandleUsbfs::ClaimInterface(int interfac + return; + } + #endif +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { + const mojom::UsbConfigurationInfo* config = + device_->GetActiveConfiguration(); +@@ -945,7 +945,7 @@ void UsbDeviceHandleUsbfs::ReleaseInterfaceComplete(in + return; + } + #endif +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kAutomaticUsbDetach)) { + helper_.AsyncCall(&BlockingTaskRunnerHelper::ReattachInterface) + .WithArgs(interface_number) diff --git a/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.h b/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.h new file mode 100644 index 000000000000..b55e5874fd60 --- /dev/null +++ b/www/iridium/files/patch-services_device_usb_usb__device__handle__usbfs.h @@ -0,0 +1,38 @@ +--- services/device/usb/usb_device_handle_usbfs.h.orig 2025-05-07 06:48:23 UTC ++++ services/device/usb/usb_device_handle_usbfs.h +@@ -19,7 +19,7 @@ + #include "base/threading/sequence_bound.h" + #include "services/device/usb/usb_device_handle.h" + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/containers/flat_set.h" + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) + +@@ -215,7 +215,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { + bool ClearHalt(uint8_t endpoint_address); + void DiscardUrb(Transfer* transfer); + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Detach the interface from a kernel driver before ClaimInterface + virtual bool DetachInterface(int interface_number, + const CombinedInterfaceInfo& interfaceInfo); +@@ -228,7 +228,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { + // Called when |fd_| is writable without blocking. + void OnFileCanWriteWithoutBlocking(); + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Called from |DetachInterface|. + std::string GetKernelDriver(int interface_number) const; + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +@@ -240,7 +240,7 @@ class UsbDeviceHandleUsbfs::BlockingTaskRunnerHelper { + std::unique_ptr watch_controller_; + SEQUENCE_CHECKER(sequence_checker_); + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // All interfaces that have been detached from kernel drivers + base::flat_set detached_interfaces_; + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-services_device_usb_usb__service.cc b/www/iridium/files/patch-services_device_usb_usb__service.cc index eed71f99bba0..73e3d153aa1d 100644 --- a/www/iridium/files/patch-services_device_usb_usb__service.cc +++ b/www/iridium/files/patch-services_device_usb_usb__service.cc @@ -1,35 +1,35 @@ ---- services/device/usb/usb_service.cc.orig 2024-08-27 06:28:16 UTC +--- services/device/usb/usb_service.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/usb/usb_service.cc @@ -21,12 +21,16 @@ #if BUILDFLAG(IS_ANDROID) #include "services/device/usb/usb_service_android.h" -#elif defined(USE_UDEV) +#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) #include "services/device/usb/usb_service_linux.h" #elif BUILDFLAG(IS_MAC) #include "services/device/usb/usb_service_impl.h" #elif BUILDFLAG(IS_WIN) #include "services/device/usb/usb_service_win.h" +#elif BUILDFLAG(IS_OPENBSD) +#include "services/device/usb/usb_service_impl.h" +#elif BUILDFLAG(IS_FREEBSD) +#include "services/device/usb/usb_service_fake.h" #endif namespace device { @@ -49,11 +53,13 @@ constexpr base::TaskTraits UsbService::kBlockingTaskTr std::unique_ptr UsbService::Create() { #if BUILDFLAG(IS_ANDROID) return base::WrapUnique(new UsbServiceAndroid()); -#elif defined(USE_UDEV) +#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) return base::WrapUnique(new UsbServiceLinux()); #elif BUILDFLAG(IS_WIN) return base::WrapUnique(new UsbServiceWin()); #elif BUILDFLAG(IS_MAC) + return base::WrapUnique(new UsbServiceImpl()); +#elif BUILDFLAG(IS_BSD) return base::WrapUnique(new UsbServiceImpl()); #else return nullptr; diff --git a/www/iridium/files/patch-services_device_usb_usb__service__fake.cc b/www/iridium/files/patch-services_device_usb_usb__service__fake.cc index 603a48247cc7..c04522d60e41 100644 --- a/www/iridium/files/patch-services_device_usb_usb__service__fake.cc +++ b/www/iridium/files/patch-services_device_usb_usb__service__fake.cc @@ -1,52 +1,52 @@ ---- services/device/usb/usb_service_fake.cc.orig 2023-03-13 07:33:08 UTC +--- services/device/usb/usb_service_fake.cc.orig 2025-05-07 06:48:23 UTC +++ services/device/usb/usb_service_fake.cc @@ -0,0 +1,49 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/device/usb/usb_service_fake.h" + +#include + +#include +#include +#include +#include + +#include "base/barrier_closure.h" +#include "base/containers/contains.h" +#include "base/location.h" +#include "base/memory/ref_counted_memory.h" +#include "base/memory/weak_ptr.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/utf_string_conversions.h" +#include "base/task/sequenced_task_runner.h" +#include "base/task/single_thread_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "build/build_config.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/usb/usb_device_handle.h" +#include "services/device/usb/usb_error.h" +#include "services/device/usb/webusb_descriptors.h" + +namespace device { + +UsbServiceImpl::UsbServiceImpl() + : task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { + NOTIMPLEMENTED(); +} + +UsbServiceImpl::~UsbServiceImpl() { + NOTIMPLEMENTED(); + NotifyWillDestroyUsbService(); +} + +void UsbServiceImpl::GetDevices(GetDevicesCallback callback) { + NOTIMPLEMENTED(); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + UsbService::GetDevices(std::move(callback)); +} + +} // namespace device diff --git a/www/iridium/files/patch-services_device_usb_usb__service__fake.h b/www/iridium/files/patch-services_device_usb_usb__service__fake.h index 334342219d97..0a5c9739abff 100644 --- a/www/iridium/files/patch-services_device_usb_usb__service__fake.h +++ b/www/iridium/files/patch-services_device_usb_usb__service__fake.h @@ -1,51 +1,51 @@ ---- services/device/usb/usb_service_fake.h.orig 2022-12-01 10:35:46 UTC +--- services/device/usb/usb_service_fake.h.orig 2025-05-07 06:48:23 UTC +++ services/device/usb/usb_service_fake.h @@ -0,0 +1,48 @@ +// Copyright 2015 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ +#define SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ + +#include "services/device/usb/usb_service.h" + +#include + +#include +#include +#include +#include + +#include "base/containers/queue.h" +#include "base/memory/weak_ptr.h" +#include "build/build_config.h" +#include "services/device/usb/usb_context.h" +#include "services/device/usb/usb_device_impl.h" +#include "third_party/abseil-cpp/absl/types/optional.h" + +namespace device { + +class UsbDeviceImpl; + +class UsbServiceImpl final : public UsbService { + public: + UsbServiceImpl(); + + UsbServiceImpl(const UsbServiceImpl&) = delete; + UsbServiceImpl& operator=(const UsbServiceImpl&) = delete; + + ~UsbServiceImpl() override; + + private: + // device::UsbService implementation + void GetDevices(GetDevicesCallback callback) override; + + void OnUsbContext(scoped_refptr context); + + scoped_refptr task_runner_; +}; + +} // namespace device + +#endif // SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ diff --git a/www/iridium/files/patch-services_network_BUILD.gn b/www/iridium/files/patch-services_network_BUILD.gn index 42874ef9a046..ce4055c4f766 100644 --- a/www/iridium/files/patch-services_network_BUILD.gn +++ b/www/iridium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/network/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/network/BUILD.gn -@@ -397,7 +397,6 @@ if (is_linux || is_chromeos) { +@@ -400,7 +400,6 @@ if (is_linux || is_chromeos) { ] deps = [ "//base:base", - "//sandbox/linux:sandbox_services", "//sandbox/policy:policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/iridium/files/patch-services_network_network__context.cc b/www/iridium/files/patch-services_network_network__context.cc index 6453d31d353b..98960645ba48 100644 --- a/www/iridium/files/patch-services_network_network__context.cc +++ b/www/iridium/files/patch-services_network_network__context.cc @@ -1,20 +1,20 @@ ---- services/network/network_context.cc.orig 2025-04-16 18:18:42 UTC +--- services/network/network_context.cc.orig 2025-05-07 06:48:23 UTC +++ services/network/network_context.cc -@@ -611,7 +611,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: +@@ -607,7 +607,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_) { -@@ -2552,7 +2552,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2557,7 +2557,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/iridium/files/patch-services_network_network__context.h b/www/iridium/files/patch-services_network_network__context.h index 09fc7b75bea0..23b7fe21aec4 100644 --- a/www/iridium/files/patch-services_network_network__context.h +++ b/www/iridium/files/patch-services_network_network__context.h @@ -1,11 +1,11 @@ ---- services/network/network_context.h.orig 2025-04-16 18:18:42 UTC +--- services/network/network_context.h.orig 2025-05-07 06:48:23 UTC +++ services/network/network_context.h -@@ -709,7 +709,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -715,7 +715,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/iridium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc index 2b5817d4d448..0b80905121cf 100644 --- a/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc @@ -1,37 +1,37 @@ ---- services/network/network_sandbox_hook_linux.cc.orig 2024-06-25 12:08:48 UTC +--- services/network/network_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ services/network/network_sandbox_hook_linux.cc @@ -15,11 +15,14 @@ #include "sandbox/linux/syscall_broker/broker_file_permission.h" #include "sandbox/policy/features.h" +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; using sandbox::syscall_broker::MakeBrokerCommandSet; +#endif namespace network { +#if !BUILDFLAG(IS_BSD) sandbox::syscall_broker::BrokerCommandSet GetNetworkBrokerCommandSet() { return MakeBrokerCommandSet({ sandbox::syscall_broker::COMMAND_ACCESS, @@ -103,9 +106,11 @@ void LoadNetworkLibraries() { } } #endif // BUILDFLAG(IS_CHROMEOS) +#endif bool NetworkPreSandboxHook(std::vector network_context_parent_dirs, sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_CHROMEOS) LoadNetworkLibraries(); #endif @@ -118,6 +123,7 @@ bool NetworkPreSandboxHook(std::vector ne GetNetworkBrokerCommandSet(), GetNetworkFilePermissions(std::move(network_context_parent_dirs)), options); +#endif return true; } diff --git a/www/iridium/files/patch-services_network_network__sandbox__hook__linux.h b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.h index 11bc86da4291..597cd9f34b23 100644 --- a/www/iridium/files/patch-services_network_network__sandbox__hook__linux.h +++ b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.h @@ -1,14 +1,14 @@ ---- services/network/network_sandbox_hook_linux.h.orig 2023-07-24 14:27:53 UTC +--- services/network/network_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ services/network/network_sandbox_hook_linux.h @@ -6,7 +6,11 @@ #define SERVICES_NETWORK_NETWORK_SANDBOX_HOOK_LINUX_H_ #include "base/component_export.h" +#if defined(__OpenBSD__) || defined(__FreeBSD__) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace network { diff --git a/www/iridium/files/patch-services_network_network__service.cc b/www/iridium/files/patch-services_network_network__service.cc index 34a1dec4c4bd..e4f05509069d 100644 --- a/www/iridium/files/patch-services_network_network__service.cc +++ b/www/iridium/files/patch-services_network_network__service.cc @@ -1,34 +1,34 @@ ---- services/network/network_service.cc.orig 2025-04-16 18:18:42 UTC +--- services/network/network_service.cc.orig 2025-05-07 06:48:23 UTC +++ services/network/network_service.cc -@@ -102,11 +102,11 @@ +@@ -103,11 +103,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 -@@ -999,7 +999,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1016,7 +1016,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) { -@@ -1081,7 +1081,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1116,7 +1116,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/iridium/files/patch-services_network_network__service.h b/www/iridium/files/patch-services_network_network__service.h index 73f6548ce1b3..983a7a0d33fa 100644 --- a/www/iridium/files/patch-services_network_network__service.h +++ b/www/iridium/files/patch-services_network_network__service.h @@ -1,29 +1,29 @@ ---- services/network/network_service.h.orig 2025-04-16 18:18:42 UTC +--- services/network/network_service.h.orig 2025-05-07 06:48:23 UTC +++ services/network/network_service.h -@@ -249,7 +249,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -250,7 +250,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; -@@ -275,7 +275,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -291,7 +291,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) -@@ -531,7 +531,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -547,7 +547,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService // leaking stale listeners between tests. std::unique_ptr mock_network_change_notifier_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) mojo::Remote gssapi_library_load_observer_; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/iridium/files/patch-services_network_public_cpp_BUILD.gn b/www/iridium/files/patch-services_network_public_cpp_BUILD.gn index dc01075f7b6a..0386c6b7c175 100644 --- a/www/iridium/files/patch-services_network_public_cpp_BUILD.gn +++ b/www/iridium/files/patch-services_network_public_cpp_BUILD.gn @@ -1,11 +1,11 @@ ---- services/network/public/cpp/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/network/public/cpp/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/network/public/cpp/BUILD.gn -@@ -570,7 +570,7 @@ component("cpp_base") { +@@ -621,7 +621,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/iridium/files/patch-services_network_public_cpp_features.cc b/www/iridium/files/patch-services_network_public_cpp_features.cc index 7176085117c8..6a5d0fd08215 100644 --- a/www/iridium/files/patch-services_network_public_cpp_features.cc +++ b/www/iridium/files/patch-services_network_public_cpp_features.cc @@ -1,11 +1,11 @@ ---- services/network/public/cpp/features.cc.orig 2025-02-22 18:06:53 UTC +--- services/network/public/cpp/features.cc.orig 2025-05-07 06:48:23 UTC +++ services/network/public/cpp/features.cc @@ -125,7 +125,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 diff --git a/www/iridium/files/patch-services_network_public_mojom_BUILD.gn b/www/iridium/files/patch-services_network_public_mojom_BUILD.gn index 639f79cf1915..f1aef0de829c 100644 --- a/www/iridium/files/patch-services_network_public_mojom_BUILD.gn +++ b/www/iridium/files/patch-services_network_public_mojom_BUILD.gn @@ -1,25 +1,25 @@ ---- services/network/public/mojom/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/network/public/mojom/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/network/public/mojom/BUILD.gn -@@ -600,11 +600,11 @@ mojom("url_loader_base") { +@@ -674,11 +674,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" ] -@@ -1672,7 +1672,7 @@ mojom("mojom") { +@@ -1765,7 +1765,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/iridium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h b/www/iridium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h index 8956086da8bb..dbb111eed6f4 100644 --- a/www/iridium/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h +++ b/www/iridium/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-28 20:17:35 UTC +--- services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2025-05-07 06:48:23 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" diff --git a/www/iridium/files/patch-services_on__device__model_on__device__model__service.h b/www/iridium/files/patch-services_on__device__model_on__device__model__service.h index 636293a8fbb4..8debc3b7a12d 100644 --- a/www/iridium/files/patch-services_on__device__model_on__device__model__service.h +++ b/www/iridium/files/patch-services_on__device__model_on__device__model__service.h @@ -1,22 +1,22 @@ ---- services/on_device_model/on_device_model_service.h.orig 2024-12-22 12:24:29 UTC +--- services/on_device_model/on_device_model_service.h.orig 2025-05-07 06:48:23 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 { class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelService @@ -44,7 +48,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/iridium/files/patch-services_on__device__model_pre__sandbox__init.cc b/www/iridium/files/patch-services_on__device__model_pre__sandbox__init.cc index c3800133d196..d43d6d37cc8f 100644 --- a/www/iridium/files/patch-services_on__device__model_pre__sandbox__init.cc +++ b/www/iridium/files/patch-services_on__device__model_pre__sandbox__init.cc @@ -1,38 +1,38 @@ ---- services/on_device_model/pre_sandbox_init.cc.orig 2025-02-22 18:06:53 UTC +--- services/on_device_model/pre_sandbox_init.cc.orig 2025-05-07 06:48:23 UTC +++ services/on_device_model/pre_sandbox_init.cc @@ -14,7 +14,7 @@ #include "services/on_device_model/ml/chrome_ml.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 #include "third_party/dawn/include/dawn/dawn_proc.h" // nogncheck #include "third_party/dawn/include/dawn/native/DawnNative.h" // nogncheck @@ -25,7 +25,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; @@ -74,7 +74,7 @@ bool OnDeviceModelService::PreSandboxInit() { } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Warm any relevant drivers before attempting to bring up the sandbox. For // good measure we initialize a device instance for any adapter with an // appropriate backend on top of any integrated or discrete GPU. @@ -102,7 +102,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/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc index 976977158b7d..405685d6170f 100644 --- a/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc +++ b/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc @@ -1,65 +1,65 @@ ---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2025-03-18 16:46:04 UTC +--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2025-05-07 06:48:23 UTC +++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc @@ -54,7 +54,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO uint32_t shared_resident_kb) { DCHECK(os_dump.platform_private_footprint); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes; uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes; return (rss_anon_bytes + vm_swap_bytes) / 1024; @@ -83,7 +83,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable; os_dump->private_footprint_kb = CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) os_dump->private_footprint_swap_kb = internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024; os_dump->mappings_count = internal_os_dump.mappings_count; -@@ -220,7 +220,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -222,7 +222,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // On most platforms each process can dump data about their own process // so ask each process to do so Linux is special see below. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) request->pending_responses.insert({client_info.pid, ResponseType::kOSDump}); client->RequestOSMemoryDump(request->memory_map_option(), {base::kNullProcessId}, -@@ -235,7 +235,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -237,7 +237,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // In some cases, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector pids; mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = base::kNullProcessId; -@@ -281,7 +281,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion +@@ -283,7 +283,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion const OsCallback& os_callback) { // On Linux, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = 0; for (const auto& client_info : clients) { -@@ -331,7 +331,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( +@@ -333,7 +333,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( // each client process provides 1 OS dump, % the case where the client is // disconnected mid dump. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK(results.find(pid) == results.end()); -@@ -392,7 +392,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* +@@ -394,7 +394,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* // crash). In the latter case (OS_LINUX) we expect the full map to come // from the browser process response. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (const auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK_EQ(pid_to_os_dump[pid], nullptr); diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn index d2376e0a0e23..4988e1a00d66 100644 --- a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn +++ b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn @@ -1,16 +1,16 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn @@ -27,8 +27,12 @@ component("memory_instrumentation") { sources += [ "os_metrics_win.cc" ] } - if (is_android || is_linux || is_chromeos) { + if ((is_android || is_linux || is_chromeos) && !is_bsd) { sources += [ "os_metrics_linux.cc" ] + } + + if (is_bsd) { + sources += [ "os_metrics_bsd.cc" ] } if (is_fuchsia) { diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h index d336db67f4ac..a78c6c3a2000 100644 --- a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h +++ b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h @@ -1,20 +1,20 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2025-02-22 18:06:53 UTC +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2025-05-07 06:48:23 UTC +++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h @@ -57,7 +57,7 @@ class COMPONENT_EXPORT( static std::vector GetProcessMemoryMaps( base::ProcessHandle); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) static void SetProcSmapsForTesting(FILE*); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) @@ -79,7 +79,7 @@ class COMPONENT_EXPORT( GetMemoryInfo(base::ProcessHandle handle); #endif // !BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Provides information on the dump state of resident pages. These values are // written to logs. New enum values can be added, but existing enums must // never be renumbered or deleted and reused. diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc index 84f610ff8871..cfcd3b80cbcc 100644 --- a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc +++ b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc @@ -1,61 +1,61 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc.orig 2022-03-28 18:11:04 UTC +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc.orig 2025-05-07 06:48:23 UTC +++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc @@ -0,0 +1,58 @@ +// Copyright 2022 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h" + +#include "base/memory/page_size.h" +#include "base/process/process.h" +#include "base/process/process_handle.h" + +#include + +#include + +#if BUILDFLAG(IS_OPENBSD) +#define vm_rssize info.p_vm_rssize +#elif BUILDFLAG(IS_FREEBSD) +#include +#define vm_rssize info.ki_rssize +#endif + +namespace memory_instrumentation { + +// static +bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + mojom::RawOSMemDump* dump) { + base::Process process = pid == base::kNullProcessId + ? base::Process::Current() + : base::Process::Open(pid); + const size_t kPageSize = base::GetPageSize(); + struct kinfo_proc info; + size_t length = sizeof(struct kinfo_proc); +#if BUILDFLAG(IS_OPENBSD) + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process.Handle(), + static_cast(length), 1 }; +#elif BUILDFLAG(IS_FREEBSD) + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process.Handle() }; +#endif + + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) + return false; + + dump->resident_set_kb = (vm_rssize * kPageSize) / 1024; + dump->platform_private_footprint->rss_anon_bytes = + vm_rssize * kPageSize; + dump->platform_private_footprint->vm_swap_bytes = 0; + + return true; +} + +// static +std::vector OSMetrics::GetProcessMemoryMaps( + base::ProcessId) { + NOTIMPLEMENTED(); + return std::vector(); +} + +} // namespace memory_instrumentation diff --git a/www/iridium/files/patch-services_screen__ai_public_cpp_utilities.cc b/www/iridium/files/patch-services_screen__ai_public_cpp_utilities.cc index 8056fe9a177e..7ba44827760a 100644 --- a/www/iridium/files/patch-services_screen__ai_public_cpp_utilities.cc +++ b/www/iridium/files/patch-services_screen__ai_public_cpp_utilities.cc @@ -1,29 +1,29 @@ ---- services/screen_ai/public/cpp/utilities.cc.orig 2024-08-27 06:28:16 UTC +--- services/screen_ai/public/cpp/utilities.cc.orig 2025-05-07 06:48:23 UTC +++ services/screen_ai/public/cpp/utilities.cc @@ -18,7 +18,7 @@ namespace screen_ai { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) constexpr char kBinaryPathSwitch[] = "screen-ai-binary"; #endif @@ -39,7 +39,7 @@ constexpr char kScreenAIDlcRootPath[] = #endif #if BUILDFLAG(ENABLE_SCREEN_AI_BROWSERTESTS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr base::FilePath::CharType kScreenAIResourcePathForTests[] = FILE_PATH_LITERAL("third_party/screen-ai/linux/resources"); #elif BUILDFLAG(IS_MAC) @@ -128,7 +128,7 @@ base::FilePath GetComponentBinaryPathForTests() { const char* GetBinaryPathSwitch() { // This is only used on Linux and ChromeOS. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return kBinaryPathSwitch; #else return nullptr; diff --git a/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc index b51e41b8e28c..194c0f8dfd4d 100644 --- a/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -1,18 +1,18 @@ ---- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2025-03-18 16:46:04 UTC +--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc @@ -58,6 +58,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path } } +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); std::vector permissions{ @@ -79,6 +80,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path sandbox::syscall_broker::COMMAND_OPEN}), permissions, options); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h index 8859ba1b82a9..429079309647 100644 --- a/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h +++ b/www/iridium/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2024-06-25 12:08:48 UTC +--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h @@ -6,7 +6,13 @@ #define SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_ #include "base/files/file_path.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 screen_ai { diff --git a/www/iridium/files/patch-services_service__manager_BUILD.gn b/www/iridium/files/patch-services_service__manager_BUILD.gn index 2246d012d7da..1db147769783 100644 --- a/www/iridium/files/patch-services_service__manager_BUILD.gn +++ b/www/iridium/files/patch-services_service__manager_BUILD.gn @@ -1,11 +1,11 @@ ---- services/service_manager/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- services/service_manager/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/service_manager/BUILD.gn @@ -65,7 +65,7 @@ source_set("service_manager") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//sandbox/linux:sandbox_services" ] } } diff --git a/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn index c74e2b98edd5..9db4e62fa2a8 100644 --- a/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn +++ b/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn @@ -1,11 +1,11 @@ ---- services/service_manager/public/cpp/service_executable/BUILD.gn.orig 2022-03-28 18:11:04 UTC +--- services/service_manager/public/cpp/service_executable/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/service_manager/public/cpp/service_executable/BUILD.gn @@ -22,7 +22,7 @@ source_set("support") { "//services/service_manager/public/mojom", ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//sandbox/linux:sandbox", "//sandbox/linux:sandbox_services", diff --git a/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc index f52f344129da..351c201c23e2 100644 --- a/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc +++ b/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc @@ -1,11 +1,11 @@ ---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2024-06-25 12:08:48 UTC +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2025-05-07 06:48:23 UTC +++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc @@ -38,7 +38,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) #include "base/profiler/thread_delegate_posix.h" #define INITIALIZE_THREAD_DELEGATE_POSIX 1 #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) diff --git a/www/iridium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc b/www/iridium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc index d5d8d4ed31a0..9753652e9f20 100644 --- a/www/iridium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc +++ b/www/iridium/files/patch-services_tracing_public_cpp_system__metrics__sampler.cc @@ -1,13 +1,13 @@ ---- services/tracing/public/cpp/system_metrics_sampler.cc.orig 2025-02-22 18:06:53 UTC +--- services/tracing/public/cpp/system_metrics_sampler.cc.orig 2025-05-07 06:48:23 UTC +++ services/tracing/public/cpp/system_metrics_sampler.cc @@ -176,8 +176,8 @@ void SystemMetricsSampler::ProcessSampler::SampleProce TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "PhysicalMemoryFootprint", memory_info->physical_footprint_bytes); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)) && defined(notyet) TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "VmSwapMemory", memory_info->vm_swap_bytes); TRACE_COUNTER(TRACE_DISABLED_BY_DEFAULT("system_metrics"), "RssAnonMemory", diff --git a/www/iridium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/iridium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom index 939b812b255b..bd4c807d964c 100644 --- a/www/iridium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom +++ b/www/iridium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom @@ -1,15 +1,15 @@ ---- services/video_capture/public/mojom/video_capture_service.mojom.orig 2023-03-13 07:33:08 UTC +--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2025-05-07 06:48:23 UTC +++ services/video_capture/public/mojom/video_capture_service.mojom @@ -25,10 +25,10 @@ interface AcceleratorFactory { pending_receiver jda); }; -[EnableIf=is_fuchsia] +[EnableIf=is_openbsd] const sandbox.mojom.Sandbox kVideoCaptureSandbox = sandbox.mojom.Sandbox.kVideoCapture; -[EnableIfNot=is_fuchsia] +[EnableIfNot=is_openbsd] const sandbox.mojom.Sandbox kVideoCaptureSandbox = sandbox.mojom.Sandbox.kNoSandbox; diff --git a/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc b/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc index badd84543fba..96c557b420ca 100644 --- a/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc +++ b/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.cc @@ -1,27 +1,27 @@ ---- services/video_effects/video_effects_sandbox_hook_linux.cc.orig 2025-02-22 18:06:53 UTC +--- services/video_effects/video_effects_sandbox_hook_linux.cc.orig 2025-05-07 06:48:23 UTC +++ services/video_effects/video_effects_sandbox_hook_linux.cc @@ -6,7 +6,13 @@ #include +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "services/on_device_model/ml/chrome_ml_holder.h" namespace video_effects { @@ -29,8 +35,10 @@ bool VideoEffectsPreSandboxHook( DVLOG(1) << "Successfully opened Chrome ML shared library."; } +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h b/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h index fb1fb9ec6135..3c90df573d76 100644 --- a/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h +++ b/www/iridium/files/patch-services_video__effects_video__effects__sandbox__hook__linux.h @@ -1,16 +1,16 @@ ---- services/video_effects/video_effects_sandbox_hook_linux.h.orig 2024-12-22 12:24:29 UTC +--- services/video_effects/video_effects_sandbox_hook_linux.h.orig 2025-05-07 06:48:23 UTC +++ services/video_effects/video_effects_sandbox_hook_linux.h @@ -5,7 +5,13 @@ #ifndef SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_ #define SERVICES_VIDEO_EFFECTS_VIDEO_EFFECTS_SANDBOX_HOOK_LINUX_H_ +#include "build/build_config.h" + +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif namespace video_effects { diff --git a/www/iridium/files/patch-services_viz_public_mojom_BUILD.gn b/www/iridium/files/patch-services_viz_public_mojom_BUILD.gn index ea3a8cdb66a9..ac66473f3848 100644 --- a/www/iridium/files/patch-services_viz_public_mojom_BUILD.gn +++ b/www/iridium/files/patch-services_viz_public_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- services/viz/public/mojom/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- services/viz/public/mojom/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ services/viz/public/mojom/BUILD.gn @@ -56,7 +56,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/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp index 71373f0da4b1..f34f15640459 100644 --- a/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp +++ b/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -1,20 +1,20 @@ ---- skia/ext/SkMemory_new_handler.cpp.orig 2025-03-18 16:46:04 UTC +--- skia/ext/SkMemory_new_handler.cpp.orig 2025-05-07 06:48:23 UTC +++ skia/ext/SkMemory_new_handler.cpp @@ -24,7 +24,7 @@ #include #elif BUILDFLAG(IS_APPLE) #include -#else +#elif !BUILDFLAG(IS_BSD) #include #endif @@ -110,7 +110,7 @@ static void* malloc_nothrow(size_t size, int debug_sen // TODO(b.kelemen): we should always use UncheckedMalloc but currently it // doesn't work as intended everywhere. void* result; -#if BUILDFLAG(IS_IOS) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) result = malloc(size); #else // It's the responsibility of the caller to check the return value. diff --git a/www/iridium/files/patch-skia_ext_font__utils.cc b/www/iridium/files/patch-skia_ext_font__utils.cc index 15b4530584ad..cb6434b27c55 100644 --- a/www/iridium/files/patch-skia_ext_font__utils.cc +++ b/www/iridium/files/patch-skia_ext_font__utils.cc @@ -1,20 +1,20 @@ ---- skia/ext/font_utils.cc.orig 2025-04-16 18:18:42 UTC +--- skia/ext/font_utils.cc.orig 2025-05-07 06:48:23 UTC +++ skia/ext/font_utils.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "third_party/skia/include/ports/SkFontMgr_mac_ct.h" #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "third_party/skia/include/ports/SkFontConfigInterface.h" #include "third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h" #include "third_party/skia/include/ports/SkFontScanner_Fontations.h" -@@ -62,7 +62,7 @@ static sk_sp fontmgr_factory() { - return SkFontMgr_New_Android(nullptr); +@@ -67,7 +67,7 @@ static sk_sp fontmgr_factory() { + } #elif BUILDFLAG(IS_APPLE) return SkFontMgr_New_CoreText(nullptr); -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) sk_sp fci(SkFontConfigInterface::RefGlobal()); if (base::FeatureList::IsEnabled(skia::kFontationsLinuxSystemFonts)) { return fci ? SkFontMgr_New_FCI(std::move(fci), diff --git a/www/iridium/files/patch-skia_ext_skcolorspace__trfn.cc b/www/iridium/files/patch-skia_ext_skcolorspace__trfn.cc index 2c1bd4c26905..708e437e3a8f 100644 --- a/www/iridium/files/patch-skia_ext_skcolorspace__trfn.cc +++ b/www/iridium/files/patch-skia_ext_skcolorspace__trfn.cc @@ -1,11 +1,11 @@ ---- skia/ext/skcolorspace_trfn.cc.orig 2025-03-18 16:46:04 UTC +--- skia/ext/skcolorspace_trfn.cc.orig 2025-05-07 06:48:23 UTC +++ skia/ext/skcolorspace_trfn.cc @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include + #include "skia/ext/skcolorspace_trfn.h" #include diff --git a/www/iridium/files/patch-third__party_abseil-cpp_absl_base_config.h b/www/iridium/files/patch-third__party_abseil-cpp_absl_base_config.h index 6f959d314e4a..2e7fa5255a98 100644 --- a/www/iridium/files/patch-third__party_abseil-cpp_absl_base_config.h +++ b/www/iridium/files/patch-third__party_abseil-cpp_absl_base_config.h @@ -1,21 +1,21 @@ ---- third_party/abseil-cpp/absl/base/config.h.orig 2025-04-16 18:18:42 UTC +--- third_party/abseil-cpp/absl/base/config.h.orig 2025-05-07 06:48:23 UTC +++ third_party/abseil-cpp/absl/base/config.h -@@ -411,7 +411,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != +@@ -409,7 +409,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != #ifdef ABSL_HAVE_SCHED_YIELD #error ABSL_HAVE_SCHED_YIELD cannot be directly set #elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ - defined(__VXWORKS__) + defined(__VXWORKS__) || defined(__OpenBSD__) || defined(__FreeBSD__) #define ABSL_HAVE_SCHED_YIELD 1 #endif -@@ -426,7 +426,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != +@@ -424,7 +424,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != // platforms. #ifdef ABSL_HAVE_SEMAPHORE_H #error ABSL_HAVE_SEMAPHORE_H cannot be directly set -#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__) +#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__) || \ + defined(__OpenBSD__) || defined(__FreeBSD__) #define ABSL_HAVE_SEMAPHORE_H 1 #endif diff --git a/www/iridium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/www/iridium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc index cd9ac0a969b8..79bca06b60f7 100644 --- a/www/iridium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc +++ b/www/iridium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc @@ -1,65 +1,65 @@ ---- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2024-11-04 08:56:03 UTC +--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/abseil-cpp/absl/base/internal/sysinfo.cc @@ -30,7 +30,7 @@ #include #endif -#if defined(__APPLE__) || defined(__FreeBSD__) +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) #include #endif @@ -198,6 +198,7 @@ static double GetNominalCPUFrequency() { #else +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // Helper function for reading a long from a file. Returns true if successful // and the memory location pointed to by value is set to the value read. static bool ReadLongFromFile(const char *file, long *value) { @@ -230,6 +231,7 @@ static bool ReadLongFromFile(const char *file, long *v } return ret; } +#endif #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) @@ -329,9 +331,11 @@ static double GetNominalCPUFrequency() { // a new mode (turbo mode). Essentially, those frequencies cannot // always be relied upon. The same reasons apply to /proc/cpuinfo as // well. +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/tsc_freq_khz", &freq)) { return freq * 1e3; // Value is kHz. } +#endif #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) // On these platforms, the TSC frequency is the nominal CPU @@ -350,10 +354,12 @@ static double GetNominalCPUFrequency() { // If CPU scaling is in effect, we want to use the *maximum* // frequency, not whatever CPU speed some random processor happens // to be using now. +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", &freq)) { return freq * 1e3; // Value is kHz. } +#endif return 1.0; #endif // !ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY @@ -463,6 +469,12 @@ pid_t GetTID() { static_assert(sizeof(pid_t) == sizeof(thread), "In NaCL int expected to be the same size as a pointer"); return reinterpret_cast(thread); +} + +#elif defined(__OpenBSD__) + +pid_t GetTID() { + return getthrid(); } #elif defined(__Fuchsia__) diff --git a/www/iridium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/www/iridium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h index 8e9ea989a78f..ddb4c9032785 100644 --- a/www/iridium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h +++ b/www/iridium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h @@ -1,12 +1,12 @@ ---- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2025-02-22 18:06:53 UTC +--- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2025-05-07 06:48:23 UTC +++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h @@ -35,7 +35,8 @@ #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \ !defined(__native_client__) && !defined(__asmjs__) && \ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun) && \ - !defined(__VXWORKS__) && !defined(__hexagon__) && !defined(__XTENSA__) + !defined(__VXWORKS__) && !defined(__hexagon__) && !defined(__XTENSA__) && \ + !defined(__FreeBSD__) #define ABSL_HAVE_ELF_MEM_IMAGE 1 #endif diff --git a/www/iridium/files/patch-third__party_angle_BUILD.gn b/www/iridium/files/patch-third__party_angle_BUILD.gn index 32f5be67cbc0..79e36589339f 100644 --- a/www/iridium/files/patch-third__party_angle_BUILD.gn +++ b/www/iridium/files/patch-third__party_angle_BUILD.gn @@ -1,29 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2025-02-22 18:06:53 UTC +--- third_party/angle/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/BUILD.gn @@ -355,7 +355,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", @@ -532,7 +531,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" ] } @@ -687,6 +686,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/iridium/files/patch-third__party_angle_src_common_platform.h b/www/iridium/files/patch-third__party_angle_src_common_platform.h index c1ee58fca0f6..0f84d97e0d17 100644 --- a/www/iridium/files/patch-third__party_angle_src_common_platform.h +++ b/www/iridium/files/patch-third__party_angle_src_common_platform.h @@ -1,19 +1,19 @@ ---- third_party/angle/src/common/platform.h.orig 2022-03-28 18:11:04 UTC +--- third_party/angle/src/common/platform.h.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/common/platform.h -@@ -26,7 +26,15 @@ +@@ -23,7 +23,15 @@ #elif defined(__linux__) || defined(EMSCRIPTEN) # define ANGLE_PLATFORM_LINUX 1 # define ANGLE_PLATFORM_POSIX 1 -#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ +#elif defined(__OpenBSD__) +# define ANGLE_PLATFORM_OPENBSD 1 +# define ANGLE_PLATFORM_POSIX 1 +# define ANGLE_PLATFORM_BSD 1 +#elif defined(__FreeBSD__) +# define ANGLE_PLATFORM_FREEBSD 1 +# define ANGLE_PLATFORM_POSIX 1 +# define ANGLE_PLATFORM_BSD 1 +#elif defined(__NetBSD__) || \ defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) # define ANGLE_PLATFORM_POSIX 1 diff --git a/www/iridium/files/patch-third__party_angle_src_common_platform__helpers.h b/www/iridium/files/patch-third__party_angle_src_common_platform__helpers.h index b045f0a21c6e..02fcf9d3a60c 100644 --- a/www/iridium/files/patch-third__party_angle_src_common_platform__helpers.h +++ b/www/iridium/files/patch-third__party_angle_src_common_platform__helpers.h @@ -1,11 +1,11 @@ ---- third_party/angle/src/common/platform_helpers.h.orig 2023-10-21 11:51:27 UTC +--- third_party/angle/src/common/platform_helpers.h.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/common/platform_helpers.h @@ -62,7 +62,7 @@ inline constexpr bool IsIOS() inline constexpr bool IsLinux() { -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) return true; #else return false; diff --git a/www/iridium/files/patch-third__party_angle_src_common_system__utils.cpp b/www/iridium/files/patch-third__party_angle_src_common_system__utils.cpp index 4e5d30eca3b4..e03b4ea7baa2 100644 --- a/www/iridium/files/patch-third__party_angle_src_common_system__utils.cpp +++ b/www/iridium/files/patch-third__party_angle_src_common_system__utils.cpp @@ -1,11 +1,11 @@ ---- third_party/angle/src/common/system_utils.cpp.orig 2024-06-25 12:08:48 UTC +--- third_party/angle/src/common/system_utils.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/common/system_utils.cpp @@ -25,7 +25,7 @@ namespace angle { std::string GetExecutableName() { -#if defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21 +#if (defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21) || defined(ANGLE_PLATFORM_BSD) // Support for "getprogname" function in bionic was introduced in L (API level 21) const char *executableName = getprogname(); return (executableName) ? std::string(executableName) : "ANGLE"; diff --git a/www/iridium/files/patch-third__party_angle_src_common_system__utils__linux.cpp b/www/iridium/files/patch-third__party_angle_src_common_system__utils__linux.cpp index e3d601b47fe8..a033df72c8db 100644 --- a/www/iridium/files/patch-third__party_angle_src_common_system__utils__linux.cpp +++ b/www/iridium/files/patch-third__party_angle_src_common_system__utils__linux.cpp @@ -1,37 +1,37 @@ ---- third_party/angle/src/common/system_utils_linux.cpp.orig 2025-02-22 18:06:53 UTC +--- third_party/angle/src/common/system_utils_linux.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/common/system_utils_linux.cpp @@ -15,10 +15,15 @@ #include #include +#if ANGLE_PLATFORM_OPENBSD +#include +#endif + #include namespace angle { +#if ANGLE_PLATFORM_LINUX std::string GetExecutablePath() { // We cannot use lstat to get the size of /proc/self/exe as it always returns 0 @@ -34,6 +39,7 @@ std::string GetExecutablePath() path[result] = '\0'; return path; } +#endif std::string GetExecutableDirectory() { @@ -59,6 +65,10 @@ void SetCurrentThreadName(const char *name) // There's a 15-character (16 including '\0') limit. If the name is too big (and ERANGE is // returned), name will be ignored. ASSERT(strlen(name) < 16); +#if ANGLE_PLATFORM_OPENBSD + pthread_set_name_np(pthread_self(), name); +#else pthread_setname_np(pthread_self(), name); +#endif } } // namespace angle diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h index fde782ac639d..13357d3d5358 100644 --- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h @@ -1,16 +1,16 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2023-07-24 14:27:53 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h @@ -15,6 +15,13 @@ namespace angle { +#if defined(__OpenBSD__) || defined(__FreeBSD__) +bool CollectMesaCardInfo(std::vector *devices); +#if defined(__FreeBSD__) +bool GetPCIDevicesFreeBSD(std::vector *devices); +#endif +#endif + // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. bool GetPCIDevicesWithLibPCI(std::vector *devices); // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp index 628da2ce3ed3..7b32d56283a3 100644 --- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp @@ -1,90 +1,90 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2022-03-28 18:11:04 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp @@ -12,6 +12,11 @@ #include #include +#if defined(__FreeBSD__) +#include +#include +#endif + #include "common/angleutils.h" #include "common/debug.h" @@ -85,6 +90,75 @@ struct LibPCI : private angle::NonCopyable }; } // anonymous namespace + +#if defined(__FreeBSD__) +// Adds an entry per PCI GPU found and fills the device and vendor ID. +bool GetPCIDevicesFreeBSD(std::vector *devices) +{ + int fd; + struct pci_conf_io conf; + struct pci_conf *matches; + uint32_t offset = 0; + + fd = open("/dev/pci", O_RDONLY); + if (fd < 0) + return false; + + matches = new struct pci_conf[32]; + conf.generation = 0; + do { + conf.pat_buf_len = 0; + conf.num_patterns = 0; + conf.patterns = NULL; + conf.match_buf_len = 32 * sizeof(struct pci_conf); + conf.num_matches = 32; + conf.matches = matches; + conf.offset = offset; + conf.status = PCI_GETCONF_ERROR; + if (ioctl(fd, PCIOCGETCONF, &conf) < 0) { + if (errno == ENODEV) + break; + } + /* PCI_GETCONF_LIST_CHANGED would require us to start over. */ + if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) { + break; + } + + for (unsigned int i = 0; i < conf.num_matches; i++) { + uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass; + + // Skip non-GPU devices + switch (device_class) + { + case PCI_CLASS_DISPLAY_VGA: + case PCI_CLASS_DISPLAY_XGA: + case PCI_CLASS_DISPLAY_3D: + break; + default: + continue; + } + + // Skip unknown devices + if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) { + continue; + } + + GPUDeviceInfo info; + info.vendorId = matches[i].pc_vendor; + info.deviceId = matches[i].pc_device; + + devices->push_back(info); + } + offset += conf.num_matches; + } while (conf.status == PCI_GETCONF_MORE_DEVS); + + delete[] matches; + + close(fd); + + return true; +} +#endif // Adds an entry per PCI GPU found and fills the device and vendor ID. bool GetPCIDevicesWithLibPCI(std::vector *devices) diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp index 30949c1b35f8..86fdad90ef20 100644 --- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp @@ -1,35 +1,35 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2022-03-28 18:11:04 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp @@ -71,6 +71,24 @@ bool GetPCIDevicesWithLibPCI(std::vectorgpus))) + { +#if defined(__FreeBSD__) + if (!GetPCIDevicesFreeBSD(&(info->gpus))) + { +#endif +#if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) + // Try vulkan backend to get GPU info + return GetSystemInfoVulkan(info); +#else + return false; +#endif +#if defined(__FreeBSD__) + } +#endif + } +#else if (!GetPCIDevicesWithLibPCI(&(info->gpus))) { #if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) @@ -85,6 +103,7 @@ bool GetSystemInfo(SystemInfo *info) { return false; } +#endif GetDualGPUInfo(info); diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp index 1ce54be4143b..2141d6e2efd3 100644 --- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp @@ -1,60 +1,60 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2022-03-28 18:11:04 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp @@ -8,6 +8,10 @@ #include "gpu_info_util/SystemInfo_internal.h" +#if defined(__OpenBSD__) || defined(__FreeBSD__) +#include +#include +#endif #include #include "common/debug.h" @@ -18,8 +22,46 @@ # error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11 #endif +#if defined(__OpenBSD__) || defined(__FreeBSD__) +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#endif + namespace angle { + +#if defined(__OpenBSD__) || defined(__FreeBSD__) +bool CollectMesaCardInfo(std::vector *devices) +{ + unsigned int vid[3], did[3]; + + Display *display = XOpenDisplay(NULL); + if (!display) { + return false; + } + + PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger = + (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *) + "glXQueryRendererIntegerMESA"); + + if (!queryInteger) + return false; + + bool vendor_ret = + queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid); + bool device_ret = + queryInteger(display, 0, 0, GLX_RENDERER_DEVICE_ID_MESA, did); + + if (vendor_ret && device_ret) { + GPUDeviceInfo info; + info.vendorId = vid[0]; + info.deviceId = did[0]; + devices->push_back(info); + } + + return true; +} +#endif bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version) { diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp index cfbc66270493..7f960429c205 100644 --- a/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -1,56 +1,56 @@ ---- third_party/angle/src/libANGLE/Display.cpp.orig 2025-03-18 16:46:04 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/libANGLE/Display.cpp @@ -58,7 +58,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_X11) # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" @@ -422,7 +422,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = new rx::DisplayCGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0) { @@ -468,7 +468,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di #if defined(ANGLE_ENABLE_OPENGL) # if defined(ANGLE_PLATFORM_WINDOWS) impl = new rx::DisplayWGL(state); -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0) { @@ -519,7 +519,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) { -@@ -2139,7 +2139,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2133,7 +2133,7 @@ static ClientExtensions GenerateClientExtensions() extensions.platformWaylandEXT = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) +#if (defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) extensions.platformSurfacelessMESA = true; #endif -@@ -2186,7 +2186,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2180,7 +2180,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp index 493d46010447..9194739ba60e 100644 --- a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp @@ -1,15 +1,15 @@ ---- third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp.orig 2022-03-28 18:11:04 UTC +--- third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp @@ -144,10 +144,10 @@ bool FunctionsGLX::initialize(Display *xDisplay, int s // which a GLXWindow was ever created. if (!sLibHandle) { - sLibHandle = dlopen("libGL.so.1", RTLD_NOW); + sLibHandle = dlopen("libGL.so", RTLD_NOW); if (!sLibHandle) { - *errorString = std::string("Could not dlopen libGL.so.1: ") + dlerror(); + *errorString = std::string("Could not dlopen libGL.so: ") + dlerror(); return false; } } diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h index ea7ce14a82c6..dd03d40e6f1e 100644 --- a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h @@ -1,11 +1,11 @@ ---- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2022-10-05 07:34:01 UTC +--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h @@ -23,7 +23,7 @@ bool IsVulkanWin32DisplayAvailable(); DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state); #endif // defined(ANGLE_PLATFORM_WINDOWS) -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_POSIX) bool IsVulkanWaylandDisplayAvailable(); DisplayImpl *CreateVulkanWaylandDisplay(const egl::DisplayState &state); diff --git a/www/iridium/files/patch-third__party_angle_util_BUILD.gn b/www/iridium/files/patch-third__party_angle_util_BUILD.gn index 830cb716ebe6..8376d6f249a7 100644 --- a/www/iridium/files/patch-third__party_angle_util_BUILD.gn +++ b/www/iridium/files/patch-third__party_angle_util_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/angle/util/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- third_party/angle/util/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ third_party/angle/util/BUILD.gn @@ -332,7 +332,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/iridium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/www/iridium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc index cfd47617bf91..5ab786c3fd9c 100644 --- a/www/iridium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc +++ b/www/iridium/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-22 18:06:53 UTC +--- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2025-05-07 06:48:23 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/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/www/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h index 7dd93b0fc3bc..ea9c76cd8837 100644 --- a/www/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h +++ b/www/iridium/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 2024-06-25 12:08:48 UTC +--- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/public/common/renderer_preferences/renderer_preferences.h @@ -65,7 +65,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/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/www/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h index 5387d5587970..523743154661 100644 --- a/www/iridium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h +++ b/www/iridium/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-22 18:06:53 UTC +--- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h @@ -180,7 +180,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/iridium/files/patch-third__party_blink_public_platform_platform.h b/www/iridium/files/patch-third__party_blink_public_platform_platform.h index 689457f9b66f..36a1900f12ad 100644 --- a/www/iridium/files/patch-third__party_blink_public_platform_platform.h +++ b/www/iridium/files/patch-third__party_blink_public_platform_platform.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/platform/platform.h.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/public/platform/platform.h.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/public/platform/platform.h @@ -372,7 +372,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/iridium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/www/iridium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py index 3b26e7c12aaa..4929a4c78f4a 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py +++ b/www/iridium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2024-06-25 12:08:48 UTC +--- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py @@ -30,7 +30,7 @@ def init(root_src_dir, enable_style_format=True): # Determine //buildtools// directory new_path_platform_suffix = "" - if sys.platform.startswith("linux"): + if sys.platform.startswith(("linux","openbsd","freebsd")): platform = "linux64" exe_suffix = "" elif sys.platform.startswith("darwin"): diff --git a/www/iridium/files/patch-third__party_blink_renderer_build_scripts_gperf.py b/www/iridium/files/patch-third__party_blink_renderer_build_scripts_gperf.py index 53da5d93f0b8..6b1cbb0782c8 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_build_scripts_gperf.py +++ b/www/iridium/files/patch-third__party_blink_renderer_build_scripts_gperf.py @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/build/scripts/gperf.py.orig 2025-05-05 18:35:31 UTC +--- third_party/blink/renderer/build/scripts/gperf.py.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/build/scripts/gperf.py @@ -35,10 +35,13 @@ def generate_gperf(gperf_path, gperf_input, gperf_args # https://savannah.gnu.org/bugs/index.php?53028 gperf_output = re.sub(r'\bregister ', '', gperf_output) # -Wimplicit-fallthrough needs an explicit fallthrough statement, - # so replace gperf's /*FALLTHROUGH*/ comment with the statement. - # https://savannah.gnu.org/bugs/index.php?53029 - gperf_output = gperf_output.replace('/*FALLTHROUGH*/', - ' [[fallthrough]];') + # so replace gperf 3.1's /*FALLTHROUGH*/ comment with the statement. + # https://savannah.gnu.org/bugs/index.php?53029 (fixed in 3.2) + if re.search( + r'/\* C\+\+ code produced by gperf version 3\.[01](\.\d+)? \*/', + gperf_output): + gperf_output = gperf_output.replace('/*FALLTHROUGH*/', + ' [[fallthrough]];') # -Wpointer-to-int-cast warns about casting pointers to smaller ints # Replace {(int)(long)&(foo), bar} with # {static_cast(reinterpret_cast(&(foo)), bar} diff --git a/www/iridium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py b/www/iridium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py index cf3dc4622f71..6515ec2eb6f5 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py +++ b/www/iridium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py @@ -1,10 +1,10 @@ ---- third_party/blink/renderer/build/scripts/run_with_pythonpath.py.orig 2022-03-28 18:11:04 UTC +--- third_party/blink/renderer/build/scripts/run_with_pythonpath.py.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/build/scripts/run_with_pythonpath.py @@ -22,6 +22,7 @@ def main(): existing_pp = ( os.pathsep + env['PYTHONPATH']) if 'PYTHONPATH' in env else '' env['PYTHONPATH'] = os.pathsep.join(python_paths) + existing_pp + env['LD_LIBRARY_PATH'] = "${WRKSRC}/out/Release" sys.exit(subprocess.call([sys.executable] + args, env=env)) diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index 91cdb1a66e3b..5ac570805e4c 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -1,35 +1,35 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc @@ -82,12 +82,12 @@ #include "third_party/blink/renderer/controller/private_memory_footprint_provider.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" #endif @@ -256,7 +256,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread_task_runner); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) binders.Add( ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), -@@ -305,7 +305,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform - #endif +@@ -304,7 +304,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform + MemorySaverController::Initialize(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Start reporting the highest private memory footprint after the first // navigation. HighestPmfReporter::Initialize(main_thread_task_runner); diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc index 74ddb67e3f11..9c3fc1cf7bec 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc @@ -1,21 +1,21 @@ ---- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2025-03-18 16:46:04 UTC +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc @@ -133,15 +133,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() { void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file, base::File status_file) { +#if !BUILDFLAG(IS_BSD) DCHECK(statm_file.IsValid()); DCHECK(status_file.IsValid()); DCHECK_EQ(-1, statm_fd_.get()); DCHECK_EQ(-1, status_fd_.get()); statm_fd_.reset(statm_file.TakePlatformFile()); status_fd_.reset(status_file.TakePlatformFile()); +#endif } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static void MemoryUsageMonitorPosix::Bind( mojo::PendingReceiver receiver) { diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h index 887ca4d68236..9b01eb6d9a2c 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h +++ b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h @@ -1,47 +1,47 @@ ---- third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2022-03-28 18:11:04 UTC +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/controller/memory_usage_monitor_posix.h @@ -13,7 +13,7 @@ #include "third_party/blink/renderer/controller/controller_export.h" #include "third_party/blink/renderer/controller/memory_usage_monitor.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/public/mojom/memory_usage_monitor_linux.mojom-blink.h" #endif @@ -22,7 +22,7 @@ namespace blink { // MemoryUsageMonitor implementation for Android and Linux. class CONTROLLER_EXPORT MemoryUsageMonitorPosix : public MemoryUsageMonitor -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) , public mojom::blink::MemoryUsageMonitorLinux #endif @@ -30,7 +30,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix public: MemoryUsageMonitorPosix() = default; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static void Bind( mojo::PendingReceiver receiver); #endif @@ -48,7 +48,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix uint64_t* vm_size, uint64_t* vm_hwm_size); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // mojom::MemoryUsageMonitorLinux implementations: void SetProcFiles(base::File statm_file, base::File status_file) override; #endif @@ -66,7 +66,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix base::ScopedFD statm_fd_; base::ScopedFD status_fd_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::Receiver receiver_{this}; #endif }; diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc index 9fe7996a7262..d4e28bf34ece 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2024-08-27 06:28:16 UTC +--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/editing/editing_behavior.cc @@ -304,7 +304,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb // unexpected behaviour if (ch < ' ') return false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // According to XKB map no keyboard combinations with ctrl key are mapped to // printable characters, however we need the filter as the DomKey/text could // contain printable characters. diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc b/www/iridium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc index 89fa7bccd9ab..18658df9b043 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2023-04-22 17:45:15 UTC +--- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/execution_context/navigator_base.cc @@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() { return "Win32"; #elif BUILDFLAG(IS_FUCHSIA) return ""; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return "Linux x86_64"; #elif BUILDFLAG(IS_IOS) return "iPhone"; diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/iridium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index f9d20b3ab398..6a6be1e896c4 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -427,7 +427,7 @@ void RecordPrerenderActivationSignalDelay(const String +@@ -429,7 +429,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' -@@ -3426,7 +3426,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3421,7 +3421,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/iridium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/iridium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc index 3049a3c30b46..6eef5d52aa32 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc @@ -6471,7 +6471,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { } #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // TODO(crbug.com/1090246): Fix these tests on Fuchsia and re-enable. // TODO(crbug.com/1317375): Build these tests on all platforms. #define MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved \ @@ -6880,7 +6880,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) { RunTest("composited_selection_bounds_large_selection_noscroll.html"); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if !BUILDFLAG(IS_ANDROID) TEST_F(CompositedSelectionBoundsTest, Input) { web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc index 6818cc684a45..866ed1c8496a 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc -@@ -50,7 +50,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin +@@ -51,7 +51,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/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc index 569d5330a9c3..fd09d413c711 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2025-03-18 16:46:04 UTC +--- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc @@ -192,7 +192,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t Vector InspectorMemoryAgent::Symbolize( const std::vector& addresses) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(alph): Move symbolization to the client. Vector addresses_to_symbolize; for (const void* address : addresses) { diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc index b09734e35319..01a77074a382 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/layout/layout_view.cc.orig 2025-02-22 18:06:53 UTC +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/layout/layout_view.cc @@ -74,7 +74,7 @@ #include "ui/display/screen_info.h" #include "ui/gfx/geometry/quad_f.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -784,7 +784,7 @@ void LayoutView::LayoutRoot() { +@@ -785,7 +785,7 @@ void LayoutView::LayoutRoot() { intrinsic_logical_widths_ = LogicalWidth(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The font code in FontPlatformData does not have a direct connection to the // document, the frame or anything from which we could retrieve the device // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc b/www/iridium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc index 63b8f283b10b..a76e1658baa5 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_loader_mixed__content__checker.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/loader/mixed_content_checker.cc.orig 2025-03-18 16:46:04 UTC +--- third_party/blink/renderer/core/loader/mixed_content_checker.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/loader/mixed_content_checker.cc -@@ -484,7 +484,7 @@ bool MixedContentChecker::ShouldBlockFetch( +@@ -485,7 +485,7 @@ bool MixedContentChecker::ShouldBlockFetch( switch (context_type) { case mojom::blink::MixedContentContextType::kOptionallyBlockable: -#if (BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX)) && \ +#if (BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENABLE_CAST_RECEIVER) // Fuchsia WebEngine can be configured to allow loading Mixed Content from // an insecure IP address. This is a workaround to revert Fuchsia Cast diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc b/www/iridium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc index 47c6957c54c0..c071660f140f 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_origin__trials_origin__trial__context.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/renderer/core/origin_trials/origin_trial_context.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/origin_trials/origin_trial_context.cc @@ -573,7 +573,7 @@ bool OriginTrialContext::CanEnableTrialFromName(const } if (trial_name == "TranslationAPI") { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kTranslationAPI); #else return false; diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc b/www/iridium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc new file mode 100644 index 000000000000..aeacb3035811 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2025-05-07 06:48:23 UTC ++++ third_party/blink/renderer/core/page/context_menu_controller.cc +@@ -641,7 +641,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/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc index b357a1aa9c64..95be321b4546 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2025-02-22 18:06:53 UTC +--- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/paint/paint_layer.cc -@@ -123,7 +123,7 @@ namespace blink { +@@ -124,7 +124,7 @@ namespace blink { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct SameSizeAsPaintLayer : GarbageCollected, DisplayItemClient { // The bit fields may fit into the machine word of DisplayItemClient which // has only 8-bit data. diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc index 86be36c1c010..8e2c12ba88c9 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc @@ -146,7 +146,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const // Disable snapback on desktop Linux to better integrate with the desktop // behavior. Typically, Linux apps do not implement scrollbar snapback (this // is true for at least GTK and QT apps). -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return false; #else return true; @@ -423,7 +423,7 @@ ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnT bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar, const WebMouseEvent& event) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (event.button == WebPointerProperties::Button::kMiddle) return true; #endif diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h b/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h index 5a3129ba1275..20638df2efd3 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h +++ b/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h @@ -1,14 +1,14 @@ ---- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2024-06-25 12:08:48 UTC +--- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/xml/xslt_processor.h @@ -77,7 +77,11 @@ class XSLTProcessor final : public ScriptWrappable { void reset(); +#if (LIBXML_VERSION >= 21200) static void ParseErrorFunc(void* user_data, const xmlError*); +#else + static void ParseErrorFunc(void* user_data, xmlError*); +#endif static void GenericErrorFunc(void* user_data, const char* msg, ...); // Only for libXSLT callbacks diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc b/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc index c9fa73e49a56..b5a91db9e6b2 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc @@ -1,14 +1,14 @@ ---- third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig 2025-02-22 18:06:53 UTC +--- third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc @@ -68,7 +68,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char // It would be nice to do something with this error message. } +#if (LIBXML_VERSION >= 21200) void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { +#else +void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { +#endif FrameConsole* console = static_cast(user_data); if (!console) return; diff --git a/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc index 82a5acf46013..d92080121d14 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2025-04-16 18:18:42 UTC +--- third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/media/audio/audio_device_factory.cc @@ -33,7 +33,7 @@ namespace { // Set when the default factory is overridden. AudioDeviceFactory* g_factory_override = nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Due to driver deadlock issues on Windows (http://crbug/422522) there is a // chance device authorization response is never received from the browser side. // In this case we will time out, to avoid renderer hang forever waiting for diff --git a/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc index a7bafdf10dfd..7ce1f183bf7f 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2025-02-22 18:06:53 UTC +--- third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc -@@ -873,7 +873,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten +@@ -857,7 +857,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten mixer->get_output_params_for_testing().sample_rate()); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Use 10 ms buffer (441 frames per buffer). EXPECT_EQ(output_sample_rate / 100, mixer->get_output_params_for_testing().frames_per_buffer()); diff --git a/www/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc index e9f54a9a158c..2f7b23bca09d 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc +++ b/www/iridium/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-12-22 12:24:29 UTC +--- third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc @@ -542,6 +542,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/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc index ad7ae9456418..a2b10d8350df 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ b/www/iridium/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 2024-11-04 08:56:03 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc @@ -304,7 +304,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/iridium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc index 18702c16c091..f3d5788d5d49 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc +++ b/www/iridium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2025-02-22 18:06:53 UTC +--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc @@ -465,7 +465,7 @@ class AudioWorkletThreadPriorityTest // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (expected_priority == base::ThreadPriorityForTest::kRealtimeAudio || expected_priority == base::ThreadPriorityForTest::kDisplay) { EXPECT_EQ(actual_priority, base::ThreadPriorityForTest::kNormal); diff --git a/www/iridium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 0e79b6556b22..dd79661ee3dd 100644 --- a/www/iridium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/iridium/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-04-16 18:18:42 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2025-05-07 06:48:23 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6343,7 +6343,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6338,7 +6338,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid constexpr bool kAllowZeroCopyImages = true; #endif -#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 - + Lohit Bengali diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb index 5138cc96d472..68b8e2f6b790 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ja.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_ja.xtb.orig 2022-10-05 07:34:01 UTC +--- ui/strings/translations/app_locale_settings_ja.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_ja.xtb @@ -12,7 +12,7 @@ Helvetica,Hiragino Kaku Gothic ProN,sans-serif - + VL PGothic,Sazanami Gothic,Kochi Gothic,sans-serif diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb index 9d828da0cc26..7b17e7d9e62a 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ko.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_ko.xtb.orig 2022-10-05 07:34:01 UTC +--- ui/strings/translations/app_locale_settings_ko.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_ko.xtb @@ -12,7 +12,7 @@ Helvetica,Apple SD Gothic Neo,AppleGothic,sans-serif - + Noto Sans CJK KR,NanumGothic,UnDotum,Baekmuk Gulim,sans-serif diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb index 3ce40a565bd2..20a12e23e0ab 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__ml.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_ml.xtb.orig 2022-10-05 07:34:01 UTC +--- ui/strings/translations/app_locale_settings_ml.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_ml.xtb @@ -9,7 +9,7 @@ 'Segoe UI',Arial,AnjaliOldLipi,Rachana,Kartika Arial,AnjaliOldLipi,Rachana,Kartika - + Arial,AnjaliOldLipi,Rachana,Kartika,sans-serif diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__th.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__th.xtb index add8ff5f8936..53946d6d4b47 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__th.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__th.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_th.xtb.orig 2022-10-05 07:34:01 UTC +--- ui/strings/translations/app_locale_settings_th.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_th.xtb @@ -6,7 +6,7 @@ Tahoma,sans-serif Tahoma,sans-serif - + Norasi,Waree,Garuda,Loma,sans-serif diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb index d7daf341c2cd..c8b04ba00429 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_zh-CN.xtb.orig 2022-10-05 07:34:01 UTC +--- ui/strings/translations/app_locale_settings_zh-CN.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_zh-CN.xtb @@ -12,7 +12,7 @@ Helvetica,PingFang SC,STHeiti,sans-serif - + Noto Sans CJK SC, WenQuanYi Zen Hei, sans-serif diff --git a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb index b88350b8301f..c8502b5d00c7 100644 --- a/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb +++ b/www/iridium/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb @@ -1,11 +1,11 @@ ---- ui/strings/translations/app_locale_settings_zh-TW.xtb.orig 2023-01-17 19:19:00 UTC +--- ui/strings/translations/app_locale_settings_zh-TW.xtb.orig 2025-05-07 06:48:23 UTC +++ ui/strings/translations/app_locale_settings_zh-TW.xtb @@ -12,7 +12,7 @@ Helvetica,PingFang TC,Heiti TC,sans-serif - + Noto Sans CJK TC, WenQuanYi Zen Hei, sans-serif diff --git a/www/iridium/files/patch-ui_views_BUILD.gn b/www/iridium/files/patch-ui_views_BUILD.gn index fb2baf71a88b..701975f08fea 100644 --- a/www/iridium/files/patch-ui_views_BUILD.gn +++ b/www/iridium/files/patch-ui_views_BUILD.gn @@ -1,10 +1,10 @@ ---- ui/views/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- ui/views/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ ui/views/BUILD.gn -@@ -836,7 +836,6 @@ component("views") { +@@ -839,7 +839,6 @@ component("views") { sources += [ "accessibility/widget_ax_tree_id_map.cc" ] } deps += [ - "//components/crash/core/common:crash_key", "//ui/aura", "//ui/base/cursor/mojom:cursor_type_shared", "//ui/events", diff --git a/www/iridium/files/patch-ui_views_accessibility_view__accessibility.cc b/www/iridium/files/patch-ui_views_accessibility_view__accessibility.cc index 881be48f2123..fcc6474c5f58 100644 --- a/www/iridium/files/patch-ui_views_accessibility_view__accessibility.cc +++ b/www/iridium/files/patch-ui_views_accessibility_view__accessibility.cc @@ -1,20 +1,20 @@ ---- ui/views/accessibility/view_accessibility.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/accessibility/view_accessibility.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/accessibility/view_accessibility.cc -@@ -33,7 +33,7 @@ +@@ -34,7 +34,7 @@ #include "ui/views/accessibility/view_ax_platform_node_delegate_win.h" #elif BUILDFLAG(IS_MAC) #include "ui/views/accessibility/view_ax_platform_node_delegate_mac.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/views/accessibility/view_ax_platform_node_delegate_auralinux.h" #endif -@@ -100,7 +100,7 @@ std::unique_ptr ViewAccessibility:: +@@ -101,7 +101,7 @@ std::unique_ptr ViewAccessibility:: return ViewAXPlatformNodeDelegateWin::CreatePlatformSpecific(view); #elif BUILDFLAG(IS_MAC) return ViewAXPlatformNodeDelegateMac::CreatePlatformSpecific(view); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ViewAXPlatformNodeDelegateAuraLinux::CreatePlatformSpecific(view); #endif } diff --git a/www/iridium/files/patch-ui_views_controls_prefix__selector.cc b/www/iridium/files/patch-ui_views_controls_prefix__selector.cc index 579142104961..12c397ee96fc 100644 --- a/www/iridium/files/patch-ui_views_controls_prefix__selector.cc +++ b/www/iridium/files/patch-ui_views_controls_prefix__selector.cc @@ -1,11 +1,11 @@ ---- ui/views/controls/prefix_selector.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/controls/prefix_selector.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/controls/prefix_selector.cc @@ -192,7 +192,7 @@ bool PrefixSelector::ShouldDoLearning() { return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool PrefixSelector::SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) { diff --git a/www/iridium/files/patch-ui_views_controls_prefix__selector.h b/www/iridium/files/patch-ui_views_controls_prefix__selector.h index 6a38c2f25edf..0f756af397fd 100644 --- a/www/iridium/files/patch-ui_views_controls_prefix__selector.h +++ b/www/iridium/files/patch-ui_views_controls_prefix__selector.h @@ -1,11 +1,11 @@ ---- ui/views/controls/prefix_selector.h.orig 2025-02-22 18:06:53 UTC +--- ui/views/controls/prefix_selector.h.orig 2025-05-07 06:48:23 UTC +++ ui/views/controls/prefix_selector.h @@ -91,7 +91,7 @@ class VIEWS_EXPORT PrefixSelector : public ui::TextInp ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc b/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc index dd2a89b02889..0892ea0df445 100644 --- a/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc +++ b/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc @@ -1,65 +1,65 @@ ---- ui/views/controls/textfield/textfield.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/controls/textfield/textfield.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/controls/textfield/textfield.cc -@@ -86,7 +86,7 @@ +@@ -87,7 +87,7 @@ #include "base/win/win_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" -@@ -183,7 +183,7 @@ bool IsControlKeyModifier(int flags) { +@@ -184,7 +184,7 @@ bool IsControlKeyModifier(int flags) { // Control-modified key combination, but we cannot extend it to other platforms // as Control has different meanings and behaviors. // https://crrev.com/2580483002/#msg46 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return flags & ui::EF_CONTROL_DOWN; #else return false; -@@ -790,7 +790,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event +@@ -791,7 +791,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event return handled; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - auto* linux_ui = ui::LinuxUi::instance(); - std::vector commands; - if (!handled && linux_ui && -@@ -975,7 +975,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo + if (!handled) { + if (auto* linux_ui = ui::LinuxUi::instance()) { + const auto command = +@@ -976,7 +976,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo } bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Skip any accelerator handling that conflicts with custom keybindings. - auto* linux_ui = ui::LinuxUi::instance(); - std::vector commands; -@@ -2066,7 +2066,7 @@ bool Textfield::ShouldDoLearning() { + if (auto* linux_ui = ui::LinuxUi::instance()) { + if (IsTextEditCommandEnabled(linux_ui->GetTextEditCommandForEvent( +@@ -2062,7 +2062,7 @@ bool Textfield::ShouldDoLearning() { return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/41452689): Implement this method to support Korean IME // reconversion feature on native text fields (e.g. find bar). bool Textfield::SetCompositionFromExistingText( -@@ -2584,7 +2584,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2580,7 +2580,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_BACKWARD; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift) { return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; -@@ -2592,7 +2592,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2588,7 +2588,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_WORD_BACKWARD; case ui::VKEY_DELETE: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift && control) { return ui::TextEditCommand::DELETE_TO_END_OF_LINE; diff --git a/www/iridium/files/patch-ui_views_controls_textfield_textfield.h b/www/iridium/files/patch-ui_views_controls_textfield_textfield.h index 9d9b13ffc9ca..4be77ed23be7 100644 --- a/www/iridium/files/patch-ui_views_controls_textfield_textfield.h +++ b/www/iridium/files/patch-ui_views_controls_textfield_textfield.h @@ -1,20 +1,20 @@ ---- ui/views/controls/textfield/textfield.h.orig 2025-04-16 18:18:42 UTC +--- ui/views/controls/textfield/textfield.h.orig 2025-05-07 06:48:23 UTC +++ ui/views/controls/textfield/textfield.h @@ -48,7 +48,7 @@ #include "ui/views/view_observer.h" #include "ui/views/word_lookup_client.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif @@ -475,7 +475,7 @@ class VIEWS_EXPORT Textfield : public View, // Set whether the text should be used to improve typing suggestions. void SetShouldDoLearning(bool value) { should_do_learning_ = value; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc b/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc index 92268c202bb2..536d1020ba48 100644 --- a/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc +++ b/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc @@ -1,11 +1,11 @@ ---- ui/views/corewm/tooltip_aura.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/corewm/tooltip_aura.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/corewm/tooltip_aura.cc -@@ -38,7 +38,7 @@ static constexpr int kTooltipMaxWidth = 800; +@@ -42,7 +42,7 @@ static constexpr int kTooltipMaxWidth = 800; // TODO(varkha): Update if native widget can be transparent on Linux. bool CanUseTranslucentTooltipWidget() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/iridium/files/patch-ui_views_examples_widget__example.cc b/www/iridium/files/patch-ui_views_examples_widget__example.cc index 21367faf583f..18d8d8bbb1f4 100644 --- a/www/iridium/files/patch-ui_views_examples_widget__example.cc +++ b/www/iridium/files/patch-ui_views_examples_widget__example.cc @@ -1,11 +1,11 @@ ---- ui/views/examples/widget_example.cc.orig 2024-11-04 08:56:03 UTC +--- ui/views/examples/widget_example.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/examples/widget_example.cc -@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container) +@@ -51,7 +51,7 @@ void WidgetExample::CreateExampleView(View* container) modal_button->SetCallback( base::BindRepeating(&WidgetExample::CreateDialogWidget, base::Unretained(this), modal_button, true)); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Windows does not support TYPE_CONTROL top-level widgets. LabelButton* control_button = BuildButton( container, GetStringUTF16(IDS_WIDGET_CHILD_WIDGET_BUTTON_LABEL)); diff --git a/www/iridium/files/patch-ui_views_focus_focus__manager.cc b/www/iridium/files/patch-ui_views_focus_focus__manager.cc index 3afc6b88b6da..74802b2e05d9 100644 --- a/www/iridium/files/patch-ui_views_focus_focus__manager.cc +++ b/www/iridium/files/patch-ui_views_focus_focus__manager.cc @@ -1,20 +1,20 @@ ---- ui/views/focus/focus_manager.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/focus/focus_manager.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/focus/focus_manager.cc @@ -606,7 +606,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Processing an accelerator can delete things. Because we // need these objects afterwards on Linux, save widget_ as weak pointer and // save the close_on_deactivate property value of widget_delegate in a @@ -621,7 +621,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi const bool accelerator_processed = focus_manager->ProcessAccelerator(accelerator); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Need to manually close the bubble widget on Linux. On Linux when the // bubble is shown, the main widget remains active. Because of that when // focus is set to the main widget to process accelerator, the main widget diff --git a/www/iridium/files/patch-ui_views_style_platform__style.cc b/www/iridium/files/patch-ui_views_style_platform__style.cc index 97d8bc75dfa4..93fe10b0056c 100644 --- a/www/iridium/files/patch-ui_views_style_platform__style.cc +++ b/www/iridium/files/patch-ui_views_style_platform__style.cc @@ -1,20 +1,20 @@ ---- ui/views/style/platform_style.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/style/platform_style.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/style/platform_style.cc @@ -23,7 +23,7 @@ #include "ui/views/controls/focusable_border.h" #include "ui/views/controls/scrollbar/scroll_bar_views.h" -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/views/controls/scrollbar/overlay_scroll_bar.h" #endif #endif @@ -35,7 +35,7 @@ namespace views { // static std::unique_ptr PlatformStyle::CreateScrollBar( ScrollBar::Orientation orientation) { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(orientation); #else return std::make_unique(orientation); diff --git a/www/iridium/files/patch-ui_views_style_platform__style.h b/www/iridium/files/patch-ui_views_style_platform__style.h index 7bb523827316..4c202f5594de 100644 --- a/www/iridium/files/patch-ui_views_style_platform__style.h +++ b/www/iridium/files/patch-ui_views_style_platform__style.h @@ -1,11 +1,11 @@ ---- ui/views/style/platform_style.h.orig 2025-04-16 18:18:42 UTC +--- ui/views/style/platform_style.h.orig 2025-05-07 06:48:23 UTC +++ ui/views/style/platform_style.h @@ -84,7 +84,7 @@ class VIEWS_EXPORT PlatformStyle { // Default setting at bubble creation time for whether arrow will be adjusted // for bubbles going off-screen to bring more bubble area into view. Linux // clips bubble windows that extend outside their parent window bounds. - static constexpr bool kAdjustBubbleIfOffscreen = !BUILDFLAG(IS_LINUX); + static constexpr bool kAdjustBubbleIfOffscreen = (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)); // Default focus behavior on the platform. static constexpr View::FocusBehavior kDefaultFocusBehavior = diff --git a/www/iridium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc b/www/iridium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc index 65e7fc7702d3..aa4da693d542 100644 --- a/www/iridium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc +++ b/www/iridium/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc @@ -1,11 +1,11 @@ ---- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc @@ -237,7 +237,7 @@ bool SendMouseClick(MouseButton type, gfx::NativeWindo window_hint); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static void ForceUseScreenCoordinatesOnce() { g_ozone_ui_controls_test_helper->ForceUseScreenCoordinatesOnce(); diff --git a/www/iridium/files/patch-ui_views_views__delegate.cc b/www/iridium/files/patch-ui_views_views__delegate.cc index 0a188e9130fb..411c34797f0a 100644 --- a/www/iridium/files/patch-ui_views_views__delegate.cc +++ b/www/iridium/files/patch-ui_views_views__delegate.cc @@ -1,11 +1,11 @@ ---- ui/views/views_delegate.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/views_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/views_delegate.cc @@ -101,7 +101,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow return false; } #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const { return nullptr; } diff --git a/www/iridium/files/patch-ui_views_views__delegate.h b/www/iridium/files/patch-ui_views_views__delegate.h index 6fc8fd044303..35b5de4fd3f7 100644 --- a/www/iridium/files/patch-ui_views_views__delegate.h +++ b/www/iridium/files/patch-ui_views_views__delegate.h @@ -1,11 +1,11 @@ ---- ui/views/views_delegate.h.orig 2025-02-22 18:06:53 UTC +--- ui/views/views_delegate.h.orig 2025-05-07 06:48:23 UTC +++ ui/views/views_delegate.h @@ -139,7 +139,7 @@ class VIEWS_EXPORT ViewsDelegate { // environment. virtual bool IsWindowInMetro(gfx::NativeWindow window) const; #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) virtual gfx::ImageSkia* GetDefaultWindowIcon() const; #endif diff --git a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc index 16043183292b..d28f36a835ed 100644 --- a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc +++ b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc @@ -1,11 +1,11 @@ ---- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc @@ -203,7 +203,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd return selected_operation_; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void DesktopDragDropClientOzone::UpdateDragImage(const gfx::ImageSkia& image, const gfx::Vector2d& offset) { DCHECK(drag_handler_); diff --git a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h index df95385524e8..73d89aa3b8a2 100644 --- a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h +++ b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h @@ -1,20 +1,20 @@ ---- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h.orig 2024-12-22 12:24:29 UTC +--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h.orig 2025-05-07 06:48:23 UTC +++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h @@ -67,7 +67,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone // The offset of |drag_widget_| relative to the mouse position. gfx::Vector2d offset; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The last received drag location. The drag widget is moved asynchronously // so its position is updated when the UI thread has time for that. When // the first change to the location happens, a call to UpdateDragWidget() @@ -88,7 +88,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone const gfx::Point& root_location, int allowed_operations, ui::mojom::DragEventSource source) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void UpdateDragImage(const gfx::ImageSkia& image, const gfx::Vector2d& offset) override; #endif diff --git a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc index afccb1d1e9bd..e7537b4d396a 100644 --- a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc +++ b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -1,29 +1,29 @@ ---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc @@ -50,7 +50,7 @@ #include "ui/wm/core/window_util.h" #include "ui/wm/public/window_move_client.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h" #endif -@@ -347,7 +347,7 @@ std::unique_ptr +@@ -353,7 +353,7 @@ std::unique_ptr DesktopWindowTreeHostPlatform::CreateDragDropClient() { ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window())); std::unique_ptr drag_drop_client = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::make_unique(window(), drag_handler); #else std::make_unique(window(), drag_handler); -@@ -1179,7 +1179,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg +@@ -1185,7 +1185,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg // DesktopWindowTreeHost: // Linux subclasses this host and adds some Linux specific bits. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static DesktopWindowTreeHost* DesktopWindowTreeHost::Create( internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/www/iridium/files/patch-ui_views_widget_root__view.cc b/www/iridium/files/patch-ui_views_widget_root__view.cc index 4228349946eb..ed1eace5c6f2 100644 --- a/www/iridium/files/patch-ui_views_widget_root__view.cc +++ b/www/iridium/files/patch-ui_views_widget_root__view.cc @@ -1,11 +1,11 @@ ---- ui/views/widget/root_view.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/widget/root_view.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/widget/root_view.cc @@ -169,7 +169,7 @@ class AnnounceTextView : public View { #if BUILDFLAG(IS_CHROMEOS) // On ChromeOS, kAlert role can invoke an unnecessary event on reparenting. GetViewAccessibility().SetRole(ax::mojom::Role::kStaticText); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40658933): Use live regions (do not use alerts). // May require setting kLiveStatus, kContainerLiveStatus to "polite". GetViewAccessibility().SetRole(ax::mojom::Role::kAlert); diff --git a/www/iridium/files/patch-ui_views_widget_widget.cc b/www/iridium/files/patch-ui_views_widget_widget.cc index d57584388c27..9496eea5220d 100644 --- a/www/iridium/files/patch-ui_views_widget_widget.cc +++ b/www/iridium/files/patch-ui_views_widget_widget.cc @@ -1,20 +1,20 @@ ---- ui/views/widget/widget.cc.orig 2025-04-16 18:18:42 UTC +--- ui/views/widget/widget.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/widget/widget.cc @@ -63,7 +63,7 @@ #include "ui/views/window/custom_frame_view.h" #include "ui/views/window/dialog_delegate.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -2452,7 +2452,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const +@@ -2453,7 +2453,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const return parent_->GetNativeTheme(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForWindow(GetNativeWindow())) { return linux_ui_theme->GetNativeTheme(); diff --git a/www/iridium/files/patch-ui_views_widget_widget.h b/www/iridium/files/patch-ui_views_widget_widget.h new file mode 100644 index 000000000000..10bb9d8bb2d5 --- /dev/null +++ b/www/iridium/files/patch-ui_views_widget_widget.h @@ -0,0 +1,11 @@ +--- ui/views/widget/widget.h.orig 2025-05-07 06:48:23 UTC ++++ ui/views/widget/widget.h +@@ -487,7 +487,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid + bool force_system_menu_for_frameless = false; + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Only used by X11, for root level windows. Specifies the res_name and + // res_class fields, respectively, of the WM_CLASS window property. Controls + // window grouping and desktop file matching in Linux window managers. diff --git a/www/iridium/files/patch-ui_views_window_custom__frame__view.cc b/www/iridium/files/patch-ui_views_window_custom__frame__view.cc index 8b6e71fc725e..3bc4b668076f 100644 --- a/www/iridium/files/patch-ui_views_window_custom__frame__view.cc +++ b/www/iridium/files/patch-ui_views_window_custom__frame__view.cc @@ -1,11 +1,11 @@ ---- ui/views/window/custom_frame_view.cc.orig 2025-02-22 18:06:53 UTC +--- ui/views/window/custom_frame_view.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/window/custom_frame_view.cc @@ -279,7 +279,7 @@ int CustomFrameView::NonClientTopBorderHeight() const int CustomFrameView::CaptionButtonY() const { // Maximized buttons start at window top so that even if their images aren't // drawn flush with the screen edge, they still obey Fitts' Law. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return FrameBorderThickness(); #else return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness; diff --git a/www/iridium/files/patch-ui_views_window_dialog__delegate.cc b/www/iridium/files/patch-ui_views_window_dialog__delegate.cc index 730eeae49d3b..a0059e2cb635 100644 --- a/www/iridium/files/patch-ui_views_window_dialog__delegate.cc +++ b/www/iridium/files/patch-ui_views_window_dialog__delegate.cc @@ -1,11 +1,11 @@ ---- ui/views/window/dialog_delegate.cc.orig 2025-03-18 16:46:04 UTC +--- ui/views/window/dialog_delegate.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/window/dialog_delegate.cc -@@ -105,7 +105,7 @@ Widget* DialogDelegate::CreateDialogWidget( +@@ -106,7 +106,7 @@ Widget* DialogDelegate::CreateDialogWidget( // static bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) { -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA) // The new style doesn't support unparented dialogs on Linux desktop. return parent != nullptr; #else diff --git a/www/iridium/files/patch-ui_views_window_frame__background.cc b/www/iridium/files/patch-ui_views_window_frame__background.cc index 344e838d4977..d1267d2661bd 100644 --- a/www/iridium/files/patch-ui_views_window_frame__background.cc +++ b/www/iridium/files/patch-ui_views_window_frame__background.cc @@ -1,11 +1,11 @@ ---- ui/views/window/frame_background.cc.orig 2023-10-21 11:51:27 UTC +--- ui/views/window/frame_background.cc.orig 2025-05-07 06:48:23 UTC +++ ui/views/window/frame_background.cc @@ -110,7 +110,7 @@ void FrameBackground::PaintMaximized(gfx::Canvas* canv int width) const { // Fill the top with the frame color first so we have a constant background // for areas not covered by the theme image. -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENABLE_DESKTOP_AURA) ui::NativeTheme::FrameTopAreaExtraParams frame_top_area; frame_top_area.use_custom_frame = use_custom_frame_; diff --git a/www/iridium/files/patch-v8_BUILD.gn b/www/iridium/files/patch-v8_BUILD.gn index 5fb0b5a9a1e6..c09debe7bde7 100644 --- a/www/iridium/files/patch-v8_BUILD.gn +++ b/www/iridium/files/patch-v8_BUILD.gn @@ -1,65 +1,65 @@ ---- v8/BUILD.gn.orig 2025-04-16 18:18:42 UTC +--- v8/BUILD.gn.orig 2025-05-07 06:48:23 UTC +++ v8/BUILD.gn -@@ -974,6 +974,8 @@ external_v8_defines = [ +@@ -1000,6 +1000,8 @@ external_v8_defines = [ "V8_TARGET_OS_MACOS", "V8_TARGET_OS_WIN", "V8_TARGET_OS_CHROMEOS", + "V8_TARGET_OS_OPENBSD", + "V8_TARGET_OS_FREEBSD", ] enabled_external_v8_defines = [ -@@ -1053,6 +1055,12 @@ if (target_os == "android") { +@@ -1079,6 +1081,12 @@ if (target_os == "android") { } else if (target_os == "chromeos") { enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] enabled_external_v8_defines += [ "V8_TARGET_OS_CHROMEOS" ] +} else if (target_os == "openbsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_OPENBSD" ] +} else if (target_os == "freebsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_FREEBSD" ] } disabled_external_v8_defines = external_v8_defines - enabled_external_v8_defines -@@ -2479,6 +2487,12 @@ template("run_mksnapshot") { +@@ -2537,6 +2545,12 @@ template("run_mksnapshot") { if (!v8_enable_builtins_profiling && v8_enable_builtins_reordering) { args += [ "--reorder-builtins" ] } + + if (v8_current_cpu == "x86") { + args -= [ + "--abort-on-bad-builtin-profile-data", + ] + } } if (v8_enable_turboshaft_csa) { -@@ -6565,7 +6579,7 @@ v8_component("v8_libbase") { +@@ -6631,7 +6645,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-linux.cc", -@@ -6576,6 +6590,18 @@ v8_component("v8_libbase") { +@@ -6642,6 +6656,18 @@ v8_component("v8_libbase") { "dl", "rt", ] + } else if (is_openbsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-openbsd.cc", + ] + libs = [ "execinfo" ] + } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-freebsd.cc", + ] + libs = [ "execinfo" ] } else if (current_os == "aix") { sources += [ "src/base/debug/stack_trace_posix.cc", diff --git a/www/iridium/files/patch-v8_include_v8-internal.h b/www/iridium/files/patch-v8_include_v8-internal.h index 493d35e1caba..44cba8914a97 100644 --- a/www/iridium/files/patch-v8_include_v8-internal.h +++ b/www/iridium/files/patch-v8_include_v8-internal.h @@ -1,11 +1,11 @@ ---- v8/include/v8-internal.h.orig 2025-02-22 18:06:53 UTC +--- v8/include/v8-internal.h.orig 2025-05-07 06:48:23 UTC +++ v8/include/v8-internal.h @@ -232,7 +232,7 @@ using SandboxedPointer_t = Address; #ifdef V8_ENABLE_SANDBOX // Size of the sandbox, excluding the guard regions surrounding it. -#if defined(V8_TARGET_OS_ANDROID) +#if (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)) // On Android, most 64-bit devices seem to be configured with only 39 bits of // virtual address space for userspace. As such, limit the sandbox to 128GB (a // quarter of the total available address space). diff --git a/www/iridium/files/patch-v8_include_v8config.h b/www/iridium/files/patch-v8_include_v8config.h index 49d3a4e11324..3a4144ce5549 100644 --- a/www/iridium/files/patch-v8_include_v8config.h +++ b/www/iridium/files/patch-v8_include_v8config.h @@ -1,45 +1,45 @@ ---- v8/include/v8config.h.orig 2025-02-22 18:06:53 UTC +--- v8/include/v8config.h.orig 2025-05-07 06:48:23 UTC +++ v8/include/v8config.h @@ -201,6 +201,8 @@ path. Add it with -I to the command line && !defined(V8_TARGET_OS_FUCHSIA) \ && !defined(V8_TARGET_OS_IOS) \ && !defined(V8_TARGET_OS_LINUX) \ + && !defined(V8_TARGET_OS_OPENBSD) \ + && !defined(V8_TARGET_OS_FREEBSD) \ && !defined(V8_TARGET_OS_MACOS) \ && !defined(V8_TARGET_OS_WIN) \ && !defined(V8_TARGET_OS_CHROMEOS) @@ -213,6 +215,8 @@ path. Add it with -I to the command line || defined(V8_TARGET_OS_FUCHSIA) \ || defined(V8_TARGET_OS_IOS) \ || defined(V8_TARGET_OS_LINUX) \ + || defined(V8_TARGET_OS_OPENBSD) \ + || defined(V8_TARGET_OS_FREEBSD) \ || defined(V8_TARGET_OS_MACOS) \ || defined(V8_TARGET_OS_WIN) \ || defined(V8_TARGET_OS_CHROMEOS) @@ -236,6 +240,16 @@ path. Add it with -I to the command line # define V8_TARGET_OS_LINUX #endif +#ifdef V8_OS_OPENBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD +#endif + +#ifdef V8_OS_FREEBSD +# define V8_TARGET_OS_OPENBSD +# define V8_TARGET_OS_BSD +#endif + #ifdef V8_OS_MACOS # define V8_TARGET_OS_MACOS #endif -@@ -382,6 +396,7 @@ path. Add it with -I to the command line +@@ -383,6 +397,7 @@ path. Add it with -I to the command line #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \ || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \ && !defined(_WIN32))) /* not on windows */ \ + && !defined(__OpenBSD__) /* not on OpenBSD */ \ && !defined(COMPONENT_BUILD) /* no component build */\ && __clang_major__ >= 17 /* clang >= 17 */ # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most)) diff --git a/www/iridium/files/patch-v8_src_api_api.cc b/www/iridium/files/patch-v8_src_api_api.cc index 39dfe568bb09..6f440d8da9d7 100644 --- a/www/iridium/files/patch-v8_src_api_api.cc +++ b/www/iridium/files/patch-v8_src_api_api.cc @@ -1,20 +1,20 @@ ---- v8/src/api/api.cc.orig 2025-04-16 18:18:42 UTC +--- v8/src/api/api.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/api/api.cc @@ -153,7 +153,7 @@ #include "src/wasm/wasm-serialization.h" #endif // V8_ENABLE_WEBASSEMBLY -#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD #include #include -@@ -6476,7 +6476,7 @@ bool v8::V8::Initialize(const int build_config) { +@@ -6483,7 +6483,7 @@ bool v8::V8::Initialize(const int build_config) { return true; } -#if V8_OS_LINUX || V8_OS_DARWIN +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, void* context) { #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED diff --git a/www/iridium/files/patch-v8_src_base_atomicops.h b/www/iridium/files/patch-v8_src_base_atomicops.h index 9720f4866e88..24ac7a02381d 100644 --- a/www/iridium/files/patch-v8_src_base_atomicops.h +++ b/www/iridium/files/patch-v8_src_base_atomicops.h @@ -1,24 +1,24 @@ ---- v8/src/base/atomicops.h.orig 2023-10-21 11:51:27 UTC +--- v8/src/base/atomicops.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/atomicops.h @@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64; using Atomic8 = char; using Atomic16 = int16_t; using Atomic32 = int32_t; -#if defined(V8_HOST_ARCH_64_BIT) +#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) // We need to be able to go between Atomic64 and AtomicWord implicitly. This // means Atomic64 and AtomicWord should be the same type on 64-bit. -#if defined(__ILP32__) +#if defined(__ILP32__) && !defined(V8_OS_OPENBSD) using Atomic64 = int64_t; #else using Atomic64 = intptr_t; @@ -266,7 +266,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p std::memory_order_seq_cst); } -#if defined(V8_HOST_ARCH_64_BIT) +#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr, Atomic64 old_value, Atomic64 new_value) { diff --git a/www/iridium/files/patch-v8_src_base_platform_memory.h b/www/iridium/files/patch-v8_src_base_platform_memory.h index f6538054b5b9..7a9cee68a1eb 100644 --- a/www/iridium/files/patch-v8_src_base_platform_memory.h +++ b/www/iridium/files/patch-v8_src_base_platform_memory.h @@ -1,18 +1,18 @@ ---- v8/src/base/platform/memory.h.orig 2024-11-04 08:56:03 UTC +--- v8/src/base/platform/memory.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/platform/memory.h @@ -21,13 +21,13 @@ #include #elif V8_OS_OPENBSD #include -#elif V8_OS_ZOS +#elif (V8_OS_ZOS || V8_OS_BSD) #include #else #include #endif -#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_OPENBSD) || V8_OS_WIN +#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_BSD) || V8_OS_WIN #define V8_HAS_MALLOC_USABLE_SIZE 1 #endif diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc b/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc index b3ad5e976b3c..125440a23053 100644 --- a/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc +++ b/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc @@ -1,32 +1,32 @@ ---- v8/src/base/platform/platform-freebsd.cc.orig 2022-03-28 18:11:04 UTC +--- v8/src/base/platform/platform-freebsd.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/platform/platform-freebsd.cc @@ -43,14 +43,10 @@ TimezoneCache* OS::CreateTimezoneCache() { return new PosixDefaultTimezoneCache(); } -static unsigned StringToLong(char* buffer) { - return static_cast(strtol(buffer, nullptr, 16)); -} - std::vector OS::GetSharedLibraryAddresses() { std::vector result; int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()}; - size_t miblen = sizeof(mib) / sizeof(mib[0]); + unsigned int miblen = sizeof(mib) / sizeof(mib[0]); size_t buffer_size; if (sysctl(mib, miblen, nullptr, &buffer_size, nullptr, 0) == 0) { // Overallocate the buffer by 1/3 to account for concurrent @@ -82,8 +78,13 @@ std::vector OS::GetSharedLib lib_name = std::string(path); } result.push_back(SharedLibraryAddress( +#if defined(__i386__) || defined(OS_FREEBSD) + lib_name, static_cast(map->kve_start), + static_cast(map->kve_end))); +#else lib_name, reinterpret_cast(map->kve_start), reinterpret_cast(map->kve_end))); +#endif } start += ssize; diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-openbsd.cc b/www/iridium/files/patch-v8_src_base_platform_platform-openbsd.cc index c97ab8a6d012..7dfe2bf94086 100644 --- a/www/iridium/files/patch-v8_src_base_platform_platform-openbsd.cc +++ b/www/iridium/files/patch-v8_src_base_platform_platform-openbsd.cc @@ -1,28 +1,28 @@ ---- v8/src/base/platform/platform-openbsd.cc.orig 2024-08-01 05:47:53 UTC +--- v8/src/base/platform/platform-openbsd.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/platform/platform-openbsd.cc @@ -6,6 +6,7 @@ // POSIX-compatible parts, the implementation is in platform-posix.cc. #include +#include #include #include #include @@ -121,6 +122,17 @@ void OS::SignalCodeMovingGC() { } void OS::AdjustSchedulingParams() {} + +// static +Stack::StackSlot Stack::ObtainCurrentThreadStackStart() { + stack_t ss; + void *base; + if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; + + base = (void*)((size_t) ss.ss_sp - ss.ss_size); + return reinterpret_cast(base) + ss.ss_size; +} std::optional OS::GetFirstFreeMemoryRangeWithin( OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size, diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc b/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc index aec30e64037e..a6d1f1d70e94 100644 --- a/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc +++ b/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc @@ -1,53 +1,53 @@ ---- v8/src/base/platform/platform-posix.cc.orig 2025-04-16 18:18:42 UTC +--- v8/src/base/platform/platform-posix.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/platform/platform-posix.cc @@ -76,7 +76,7 @@ #include #endif -#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS +#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS #define MAP_ANONYMOUS MAP_ANON #endif @@ -315,8 +315,15 @@ void OS::SetRandomMmapSeed(int64_t seed) { } } +#if V8_OS_OPENBSD +// Allow OpenBSD's mmap to select a random address on OpenBSD // static void* OS::GetRandomMmapAddr() { + return nullptr; +} +#else +// static +void* OS::GetRandomMmapAddr() { uintptr_t raw_addr; { MutexGuard guard(rng_mutex.Pointer()); @@ -413,6 +420,7 @@ void* OS::GetRandomMmapAddr() { #endif return reinterpret_cast(raw_addr); } +#endif // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files. #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA @@ -701,7 +709,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor #if !V8_OS_ZOS // static bool OS::HasLazyCommits() { -#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN +#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD return true; #else // TODO(bbudge) Return true for all POSIX platforms. @@ -1346,7 +1354,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* // keep this version in POSIX as most Linux-compatible derivatives will // support it. MacOS and FreeBSD are different here. #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \ - !defined(V8_OS_SOLARIS) + !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD) namespace { #if DEBUG diff --git a/www/iridium/files/patch-v8_src_base_sys-info.cc b/www/iridium/files/patch-v8_src_base_sys-info.cc index c1b7f0612c6c..7e24563e995a 100644 --- a/www/iridium/files/patch-v8_src_base_sys-info.cc +++ b/www/iridium/files/patch-v8_src_base_sys-info.cc @@ -1,11 +1,11 @@ ---- v8/src/base/sys-info.cc.orig 2024-11-04 08:56:03 UTC +--- v8/src/base/sys-info.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/base/sys-info.cc @@ -36,7 +36,7 @@ namespace base { // static int SysInfo::NumberOfProcessors() { #if V8_OS_OPENBSD - int mib[2] = {CTL_HW, HW_NCPU}; + int mib[2] = {CTL_HW, HW_NCPUONLINE}; int ncpu = 0; size_t len = sizeof(ncpu); if (sysctl(mib, arraysize(mib), &ncpu, &len, nullptr, 0) != 0) { diff --git a/www/iridium/files/patch-v8_src_diagnostics_perf-jit.cc b/www/iridium/files/patch-v8_src_diagnostics_perf-jit.cc index b7ad78ca0e0b..e7c55bed5211 100644 --- a/www/iridium/files/patch-v8_src_diagnostics_perf-jit.cc +++ b/www/iridium/files/patch-v8_src_diagnostics_perf-jit.cc @@ -1,11 +1,11 @@ ---- v8/src/diagnostics/perf-jit.cc.orig 2023-10-21 11:51:27 UTC +--- v8/src/diagnostics/perf-jit.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/diagnostics/perf-jit.cc @@ -31,7 +31,7 @@ #include "src/flags/flags.h" // Only compile the {LinuxPerfJitLogger} on Linux. -#if V8_OS_LINUX +#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) #include #include diff --git a/www/iridium/files/patch-v8_src_diagnostics_perf-jit.h b/www/iridium/files/patch-v8_src_diagnostics_perf-jit.h index 1504da917937..ef883200bef9 100644 --- a/www/iridium/files/patch-v8_src_diagnostics_perf-jit.h +++ b/www/iridium/files/patch-v8_src_diagnostics_perf-jit.h @@ -1,11 +1,11 @@ ---- v8/src/diagnostics/perf-jit.h.orig 2022-10-05 07:34:01 UTC +--- v8/src/diagnostics/perf-jit.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/diagnostics/perf-jit.h @@ -31,7 +31,7 @@ #include "include/v8config.h" // {LinuxPerfJitLogger} is only implemented on Linux. -#if V8_OS_LINUX +#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) #include "src/logging/log.h" diff --git a/www/iridium/files/patch-v8_src_execution_isolate.cc b/www/iridium/files/patch-v8_src_execution_isolate.cc index 86a6a76eee4c..e31899c4b1b9 100644 --- a/www/iridium/files/patch-v8_src_execution_isolate.cc +++ b/www/iridium/files/patch-v8_src_execution_isolate.cc @@ -1,27 +1,27 @@ ---- v8/src/execution/isolate.cc.orig 2025-04-16 18:18:42 UTC +--- v8/src/execution/isolate.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/execution/isolate.cc -@@ -172,6 +172,10 @@ +@@ -173,6 +173,10 @@ #include "src/execution/simulator-base.h" #endif +#if defined(V8_OS_OPENBSD) +#include +#endif + extern "C" const uint8_t v8_Default_embedded_blob_code_[]; extern "C" uint32_t v8_Default_embedded_blob_code_size_; extern "C" const uint8_t v8_Default_embedded_blob_data_[]; -@@ -5062,6 +5066,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { +@@ -5114,6 +5118,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { uint32_t code_size = DefaultEmbeddedBlobCodeSize(); const uint8_t* data = DefaultEmbeddedBlobData(); uint32_t data_size = DefaultEmbeddedBlobDataSize(); + +#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) + if (code_size > 0) { + mprotect(reinterpret_cast(const_cast(code)), + code_size, PROT_READ | PROT_EXEC); + } +#endif if (StickyEmbeddedBlobCode() != nullptr) { base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer()); diff --git a/www/iridium/files/patch-v8_src_flags_flags.cc b/www/iridium/files/patch-v8_src_flags_flags.cc index 2a5d51a2eb03..3b1fd580ca1a 100644 --- a/www/iridium/files/patch-v8_src_flags_flags.cc +++ b/www/iridium/files/patch-v8_src_flags_flags.cc @@ -1,24 +1,24 @@ ---- v8/src/flags/flags.cc.orig 2025-03-18 16:46:04 UTC +--- v8/src/flags/flags.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/flags/flags.cc @@ -16,6 +16,10 @@ #include #include +#if V8_OS_OPENBSD +#include +#endif + #include "src/base/hashing.h" #include "src/base/lazy-instance.h" #include "src/base/platform/platform.h" @@ -823,6 +827,10 @@ void FlagList::FreezeFlags() { // Note that for string flags we only protect the pointer itself, but not the // string storage. TODO(12887): Fix this. base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags)); +#if V8_OS_OPENBSD + if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1) + FATAL("unable to set immutability of v8_flags"); +#endif } // static diff --git a/www/iridium/files/patch-v8_src_libsampler_sampler.cc b/www/iridium/files/patch-v8_src_libsampler_sampler.cc index aae17a20e628..79f5e1c3680b 100644 --- a/www/iridium/files/patch-v8_src_libsampler_sampler.cc +++ b/www/iridium/files/patch-v8_src_libsampler_sampler.cc @@ -1,19 +1,19 @@ ---- v8/src/libsampler/sampler.cc.orig 2025-04-16 18:18:42 UTC +--- v8/src/libsampler/sampler.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/libsampler/sampler.cc @@ -520,6 +520,16 @@ void SignalHandler::FillRegisterState(void* context, R state->pc = reinterpret_cast(mcontext.__gregs[_REG_PC]); state->sp = reinterpret_cast(mcontext.__gregs[_REG_SP]); state->fp = reinterpret_cast(mcontext.__gregs[_REG_FP]); +#elif V8_HOST_ARCH_ARM64 +#ifdef __CHERI_PURE_CAPABILITY__ + state->pc = reinterpret_cast(mcontext.mc_capregs.cap_elr); + state->sp = reinterpret_cast(mcontext.mc_capregs.cap_sp); + state->fp = reinterpret_cast(mcontext.mc_capregs.cap_x[29]); +#else // !__CHERI_PURE_CAPABILITY__ + state->pc = reinterpret_cast(mcontext.mc_gpregs.gp_elr); + state->sp = reinterpret_cast(mcontext.mc_gpregs.gp_sp); + state->fp = reinterpret_cast(mcontext.mc_gpregs.gp_x[29]); +#endif // __CHERI_PURE_CAPABILITY__ #endif // V8_HOST_ARCH_* #elif V8_OS_NETBSD #if V8_HOST_ARCH_IA32 diff --git a/www/iridium/files/patch-v8_src_sandbox_sandbox.cc b/www/iridium/files/patch-v8_src_sandbox_sandbox.cc index 64a992187bce..ee6231913f0b 100644 --- a/www/iridium/files/patch-v8_src_sandbox_sandbox.cc +++ b/www/iridium/files/patch-v8_src_sandbox_sandbox.cc @@ -1,11 +1,11 @@ ---- v8/src/sandbox/sandbox.cc.orig 2025-03-18 16:46:04 UTC +--- v8/src/sandbox/sandbox.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/sandbox/sandbox.cc @@ -59,7 +59,7 @@ static Address DetermineAddressSpaceLimit() { } #endif // V8_TARGET_ARCH_X64 -#if defined(V8_TARGET_ARCH_ARM64) && defined(V8_TARGET_OS_ANDROID) +#if defined(V8_TARGET_ARCH_ARM64) && (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)) // On Arm64 Android assume a 40-bit virtual address space (39 bits for // userspace and kernel each) as that appears to be the most common // configuration and there seems to be no easy way to retrieve the actual diff --git a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc index fd570a65f832..cabd4be1d35b 100644 --- a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc +++ b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc @@ -1,11 +1,11 @@ ---- v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc.orig 2024-08-27 06:28:16 UTC +--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc @@ -148,6 +148,8 @@ EmbeddedTargetOs ToEmbeddedTargetOs(const char* s) { return EmbeddedTargetOs::kStarboard; } else if (string == "zos") { return EmbeddedTargetOs::kZOS; + } else if (string == "openbsd") { + return EmbeddedTargetOs::kOpenBSD; } else { return EmbeddedTargetOs::kGeneric; } diff --git a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h index 2c5faab1b029..13c58e79d457 100644 --- a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h +++ b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h @@ -1,10 +1,10 @@ ---- v8/src/snapshot/embedded/platform-embedded-file-writer-base.h.orig 2024-11-04 08:56:03 UTC +--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.h @@ -36,6 +36,7 @@ enum class EmbeddedTargetOs { kWin, kStarboard, kZOS, + kOpenBSD, kGeneric, // Everything not covered above falls in here. }; diff --git a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc index a407d9d10b6f..b5d6bfd673fa 100644 --- a/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc +++ b/www/iridium/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc @@ -1,42 +1,42 @@ ---- v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2023-08-28 20:17:35 UTC +--- v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc @@ -9,6 +9,10 @@ #include "src/objects/instruction-stream.h" +#if V8_OS_OPENBSD +#include +#endif + namespace v8 { namespace internal { @@ -35,6 +39,10 @@ const char* DirectiveAsString(DataDirective directive) void PlatformEmbeddedFileWriterGeneric::SectionText() { if (target_os_ == EmbeddedTargetOs::kChromeOS) { fprintf(fp_, ".section .text.hot.embedded\n"); +#if !defined(V8_TARGET_ARCH_IA32) + } else if (target_os_ == EmbeddedTargetOs::kOpenBSD) { + fprintf(fp_, ".section .openbsd.mutable,\"a\"\n"); +#endif } else { fprintf(fp_, ".section .text\n"); } @@ -66,6 +74,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToCodeAli // On these architectures and platforms, we remap the builtins, so need these // to be aligned on a page boundary. fprintf(fp_, ".balign 4096\n"); +#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) + fprintf(fp_, ".balign %d\n", PAGE_SIZE); #elif V8_TARGET_ARCH_X64 // On x64 use 64-bytes code alignment to allow 64-bytes loop header alignment. static_assert(64 >= kCodeAlignment); @@ -86,6 +96,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToPageSiz (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64) // Since the builtins are remapped, need to pad until the next page boundary. fprintf(fp_, ".balign 4096\n"); +#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) + fprintf(fp_, ".balign %d\n", PAGE_SIZE); #endif } diff --git a/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.cc b/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.cc index 35ee5398710e..1008ed65b682 100644 --- a/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.cc +++ b/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.cc @@ -1,26 +1,26 @@ ---- v8/src/trap-handler/handler-inside-posix.cc.orig 2024-06-25 12:08:48 UTC +--- v8/src/trap-handler/handler-inside-posix.cc.orig 2025-05-07 06:48:23 UTC +++ v8/src/trap-handler/handler-inside-posix.cc @@ -61,6 +61,8 @@ namespace trap_handler { #define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg #elif V8_OS_FREEBSD #define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg +#elif V8_OS_OPENBSD +#define CONTEXT_REG(reg, REG) &uc->sc_##reg #else #error "Unsupported platform." #endif @@ -80,8 +82,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) { // si_code at its default of 0 for signals that don’t originate in hardware. // The other conditions are only relevant for Linux. return info->si_code > 0 && info->si_code != SI_USER && - info->si_code != SI_QUEUE && info->si_code != SI_TIMER && - info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; + info->si_code != SI_QUEUE && info->si_code != SI_TIMER +#ifdef V8_OS_OPENBSD + ; +#else + && info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; +#endif } class UnmaskOobSignalScope { diff --git a/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.h b/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.h index 13945e9718e5..04476215cd3a 100644 --- a/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.h +++ b/www/iridium/files/patch-v8_src_trap-handler_handler-inside-posix.h @@ -1,11 +1,11 @@ ---- v8/src/trap-handler/handler-inside-posix.h.orig 2022-10-05 07:34:01 UTC +--- v8/src/trap-handler/handler-inside-posix.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/trap-handler/handler-inside-posix.h @@ -13,7 +13,7 @@ namespace v8 { namespace internal { namespace trap_handler { -#if V8_OS_LINUX || V8_OS_FREEBSD +#if V8_OS_LINUX || V8_OS_FREEBSD || V8_OS_OPENBSD constexpr int kOobSignal = SIGSEGV; #elif V8_OS_DARWIN constexpr int kOobSignal = SIGBUS; diff --git a/www/iridium/files/patch-v8_src_trap-handler_trap-handler.h b/www/iridium/files/patch-v8_src_trap-handler_trap-handler.h index 5fa9e2479744..773b60489267 100644 --- a/www/iridium/files/patch-v8_src_trap-handler_trap-handler.h +++ b/www/iridium/files/patch-v8_src_trap-handler_trap-handler.h @@ -1,11 +1,11 @@ ---- v8/src/trap-handler/trap-handler.h.orig 2025-02-22 18:06:53 UTC +--- v8/src/trap-handler/trap-handler.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/trap-handler/trap-handler.h @@ -18,7 +18,7 @@ namespace v8::internal::trap_handler { // X64 on Linux, Windows, MacOS, FreeBSD. #if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \ ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_DARWIN || \ - V8_OS_FREEBSD) + V8_OS_FREEBSD || V8_OS_OPENBSD) #define V8_TRAP_HANDLER_SUPPORTED true // Arm64 (non-simulator) on Linux, Windows, MacOS. #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && \ diff --git a/www/iridium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h b/www/iridium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h index d779774a207d..c4db857ee577 100644 --- a/www/iridium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h +++ b/www/iridium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h @@ -1,128 +1,128 @@ ---- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h.orig 2025-04-16 18:18:42 UTC +--- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h.orig 2025-05-07 06:48:23 UTC +++ v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h -@@ -575,7 +575,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst +@@ -579,7 +579,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst } void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr, - Register offset_reg, uint32_t offset_imm, + Register offset_reg, uintptr_t offset_imm, LoadType type, uint32_t* protected_load_pc, bool /* is_load_mem */, bool /* i64_offset */, bool needs_shift) { -@@ -655,7 +655,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis +@@ -659,7 +659,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis } void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister src, + uintptr_t offset_imm, LiftoffRegister src, StoreType type, LiftoffRegList pinned, uint32_t* protected_store_pc, bool /* is_store_mem */, bool /* i64_offset */) { -@@ -734,7 +734,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist +@@ -738,7 +738,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist } void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr, - Register offset_reg, uint32_t offset_imm, + Register offset_reg, uintptr_t offset_imm, LoadType type, LiftoffRegList /* pinned */, bool /* i64_offset */) { if (type.value() != LoadType::kI64Load) { -@@ -752,7 +752,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, +@@ -756,7 +756,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, } void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister src, + uintptr_t offset_imm, LiftoffRegister src, StoreType type, LiftoffRegList pinned, bool /* i64_offset */) { DCHECK_LE(offset_imm, std::numeric_limits::max()); -@@ -822,7 +822,7 @@ enum Binop { kAdd, kSub, kAnd, kOr, kXor, kExchange }; +@@ -826,7 +826,7 @@ enum Binop { kAdd, kSub, kAnd, kOr, kXor, kExchange }; inline void AtomicAddOrSubOrExchange32(LiftoffAssembler* lasm, Binop binop, Register dst_addr, Register offset_reg, - uint32_t offset_imm, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type) { DCHECK_EQ(value, result); -@@ -890,7 +890,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble +@@ -894,7 +894,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble } inline void AtomicBinop32(LiftoffAssembler* lasm, Binop op, Register dst_addr, - Register offset_reg, uint32_t offset_imm, + Register offset_reg, uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type) { DCHECK_EQ(value, result); -@@ -1005,7 +1005,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino +@@ -1009,7 +1009,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino } inline void AtomicBinop64(LiftoffAssembler* lasm, Binop op, Register dst_addr, - Register offset_reg, uint32_t offset_imm, + Register offset_reg, uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result) { // We need {ebx} here, which is the root register. As the root register it // needs special treatment. As we use {ebx} directly in the code below, we -@@ -1101,7 +1101,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino +@@ -1105,7 +1105,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino } // namespace liftoff void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister value, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { if (type.value() == StoreType::kI64Store) { -@@ -1115,7 +1115,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re +@@ -1119,7 +1119,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re } void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister value, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { if (type.value() == StoreType::kI64Store) { -@@ -1128,7 +1128,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re +@@ -1132,7 +1132,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re } void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister value, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { if (type.value() == StoreType::kI64Store) { -@@ -1142,7 +1142,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re +@@ -1146,7 +1146,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re } void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister value, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { if (type.value() == StoreType::kI64Store) { -@@ -1156,7 +1156,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg +@@ -1160,7 +1160,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg } void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg, - uint32_t offset_imm, LiftoffRegister value, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { if (type.value() == StoreType::kI64Store) { -@@ -1170,7 +1170,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re +@@ -1174,7 +1174,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re } void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg, - uint32_t offset_imm, + uintptr_t offset_imm, LiftoffRegister value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { -@@ -1185,7 +1185,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add +@@ -1189,7 +1189,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add } void LiftoffAssembler::AtomicCompareExchange( - Register dst_addr, Register offset_reg, uint32_t offset_imm, + Register dst_addr, Register offset_reg, uintptr_t offset_imm, LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result, StoreType type, bool /* i64_offset */) { // We expect that the offset has already been added to {dst_addr}, and no diff --git a/www/iridium/files/patch-v8_tools_run.py b/www/iridium/files/patch-v8_tools_run.py index 197acf6d1d60..ded6264b29d2 100644 --- a/www/iridium/files/patch-v8_tools_run.py +++ b/www/iridium/files/patch-v8_tools_run.py @@ -1,11 +1,11 @@ ---- v8/tools/run.py.orig 2024-11-04 08:56:03 UTC +--- v8/tools/run.py.orig 2025-05-07 06:48:23 UTC +++ v8/tools/run.py @@ -21,7 +21,7 @@ if cmd and cmd[0] == '--redirect-stdout': kwargs = dict(stdout=subprocess.PIPE) cmd = cmd[2:] -process = subprocess.Popen(cmd, **kwargs) +process = subprocess.Popen(cmd, env={"LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}, **kwargs) stdout, _ = process.communicate() if stdout_file: with stdout_file.open('w') as f: