diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index c445afb68e02..a31212f0f63b 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,383 +1,383 @@ PORTNAME= ungoogled-chromium -PORTVERSION= 110.0.5481.177 +PORTVERSION= 111.0.5563.64 UGVERSION= ${DISTVERSION}-1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external DISTFILES= chromium-${DISTVERSION}${EXTRACT_SUFX} \ ungoogled-chromium-${UGVERSION}.tar.gz:external MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit sans integration with Google WWW= https://github.com/ungoogled-software/ungoogled-chromium LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 i386 PATCH_DEPENDS= gpatch:devel/patch \ ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX} BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ 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-atk \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libsnappy.so:archivers/snappy \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ 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 gnome iconv jpeg \ localbase:ldflags ninja perl5 pkgconfig python:3.7+,build qt:5 shebangfix \ tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf2 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+= fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ optimize_webui=true \ toolkit_views=true \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=false \ use_gnome_keyring=false \ 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}" \ extra_ldflags="${LDFLAGS}" # sync with flags.gni GN_ARGS+= build_with_tflite_lib=false \ chrome_pgo_phase=0 \ clang_use_chrome_plugins=false \ disable_fieldtrial_testing_config=true \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=false \ enable_js_type_check=false \ enable_mdns=false \ enable_mse_mpeg2ts_stream_parser=true \ enable_nacl=false \ enable_reading_list=false \ enable_remoting=false \ enable_reporting=false \ enable_service_discovery=false \ exclude_unwind_tables=true \ google_api_key="" \ google_default_client_id="" \ google_default_client_secret="" \ safe_browsing_mode=0 \ treat_warnings_as_errors=false \ use_official_google_api_keys=false \ use_unofficial_version_number=false # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles SUB_FILES= ungoogled-chromium.desktop ungoogled-chromium SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO TEST OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=ffmpeg_branding="Chrome" \ GN_ARGS+=proprietary_codecs=true CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \ GN_ARGS+=proprietary_codecs=false CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="21 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="14 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="14 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false # With SNDIO=on we exclude audio_manager_linux from the build (see # media/audio/BUILD.gn) and use audio_manager_openbsd which does not # support falling back to ALSA or PulseAudio. SNDIO_PREVENTS= ALSA PULSEAUDIO SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false .include "Makefile.tests" TEST_DISTFILES= chromium-${DISTVERSION}-testdata${EXTRACT_SUFX} \ test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz:external TEST_ALL_TARGET= ${TEST_TARGETS} .include .include .if ${OSREL} == "12.3" IGNORE= does not compile, libc++ too old .endif .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 .if ${COMPILER_VERSION} != 130 LLVM_DEFAULT= 13 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} .else BINARY_ALIAS+= ar=/usr/bin/llvm-ar \ nm=/usr/bin/llvm-nm .endif # swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " .else PLIST_SUB+= NOT_AARCH64="" .endif # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include WRKSRC= ${WRKDIR}/chromium-${DISTVERSION} pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build Ungoogled Chromium, you should have around 2GB of memory" @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." @${ECHO_MSG} post-extract-TEST-on: @${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts @${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/ pre-patch: cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/prune_binaries.py ${WRKSRC} pruning.list cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && PATCH_BIN=gpatch \ ${PYTHON_CMD} utils/patches.py apply ${WRKSRC} patches cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/domain_substitution.py apply -r domain_regex.list -f \ domain_substitution.list -c ${WRKSRC}/domsubcache.tar.gz ${WRKSRC} pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ flac fontconfig freetype harfbuzz-ng icu libdrm libevent libpng \ libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it .for brand in Chrome Chromium ${CP} -R \ ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/linux/ \ ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/freebsd .endfor 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}${MANPREFIX}/man/man1/ungoogled-chromium.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${MANPREFIX}/man/man1/ungoogled-chromium.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/ungoogled-chromium.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR}/ungoogled-chromium cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/ungoogled-chromium.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/ungoogled-chromium ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \ ${STAGEDIR}${PREFIX}/bin/ungoogled-chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo index 4d68ef72cc59..138cdfce1009 100644 --- a/www/ungoogled-chromium/distinfo +++ b/www/ungoogled-chromium/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1677157267 -SHA256 (chromium-110.0.5481.177.tar.xz) = 7b2f454d1195270a39f94a9ff6d8d68126be315e0da4e31c20f4ba9183a1c9b7 -SIZE (chromium-110.0.5481.177.tar.xz) = 1703390456 -SHA256 (ungoogled-chromium-110.0.5481.177-1.tar.gz) = 602c2bd0f93e5618f3a32a71a11d48a0c8aa881ac3e4dc0ba7d64fd97896c4a7 -SIZE (ungoogled-chromium-110.0.5481.177-1.tar.gz) = 671978 -SHA256 (chromium-110.0.5481.177-testdata.tar.xz) = f8c092b99b1a29cbd6e7deb6868c84ac4e05a276584332971c0a578a7187b06d -SIZE (chromium-110.0.5481.177-testdata.tar.xz) = 265092148 +TIMESTAMP = 1678446139 +SHA256 (chromium-111.0.5563.64.tar.xz) = 7d5ca0e2bdb22a97713e6bfce74c651006d71aa883056c8e2c2a148039fe4074 +SIZE (chromium-111.0.5563.64.tar.xz) = 1740670460 +SHA256 (ungoogled-chromium-111.0.5563.64-1.tar.gz) = 2ad44997d95ae66b36125bf62bf1308006ec62da26ba04f8b5480d7271675079 +SIZE (ungoogled-chromium-111.0.5563.64-1.tar.gz) = 672674 +SHA256 (chromium-111.0.5563.64-testdata.tar.xz) = 944ddbc5c47541498d18f0f4d49d8dfe2f38c3553e8d589c1150748c6c7383eb +SIZE (chromium-111.0.5563.64-testdata.tar.xz) = 263698728 SHA256 (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8 SIZE (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = 32624734 diff --git a/www/ungoogled-chromium/files/patch-BUILD.gn b/www/ungoogled-chromium/files/patch-BUILD.gn index 6528678063ad..86116f19a56c 100644 --- a/www/ungoogled-chromium/files/patch-BUILD.gn +++ b/www/ungoogled-chromium/files/patch-BUILD.gn @@ -1,89 +1,89 @@ ---- BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ BUILD.gn @@ -60,7 +60,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) @@ -90,7 +90,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", -@@ -425,7 +424,7 @@ group("gn_all") { - ] +@@ -417,7 +416,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", -@@ -616,6 +615,15 @@ group("gn_all") { +@@ -608,6 +607,15 @@ group("gn_all") { } } + if (is_bsd) { + deps -= [ + "//third_party/breakpad:dump_syms($host_toolchain)", + "//third_party/breakpad:microdump_stackwalk($host_toolchain)", + "//third_party/breakpad:minidump_dump($host_toolchain)", + "//third_party/breakpad:minidump_stackwalk($host_toolchain)", + ] + } + if (is_mac) { deps += [ "//third_party/breakpad:crash_inspector", -@@ -664,7 +672,7 @@ group("gn_all") { +@@ -656,7 +664,7 @@ group("gn_all") { host_os == "win") { deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] } - } else if (!is_android && !is_ios && !is_fuchsia) { + } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] } -@@ -1086,7 +1094,7 @@ if (!is_ios) { +@@ -1078,7 +1086,7 @@ if (!is_ios) { ] } - if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) { + if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { # WPT Webdriver tests runner # chrome/test/chromedriver/test/run_webdriver_tests.py script_test("webdriver_wpt_tests") { -@@ -1182,7 +1190,7 @@ if (!is_ios) { +@@ -1178,7 +1186,7 @@ if (!is_ios) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } -@@ -1191,7 +1199,7 @@ if (!is_ios) { +@@ -1187,7 +1195,7 @@ if (!is_ios) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } -@@ -1656,7 +1664,7 @@ group("chromium_builder_perf") { +@@ -1653,7 +1661,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_toolchain)" ] } diff --git a/www/ungoogled-chromium/files/patch-base_BUILD.gn b/www/ungoogled-chromium/files/patch-base_BUILD.gn index d6b9c663f0ab..35bf548cd320 100644 --- a/www/ungoogled-chromium/files/patch-base_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-base_BUILD.gn @@ -1,163 +1,163 @@ ---- base/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- base/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ base/BUILD.gn -@@ -162,7 +162,7 @@ buildflag_header("ios_cronet_buildflags") { +@@ -168,7 +168,7 @@ buildflag_header("ios_cronet_buildflags") { flags = [ "CRONET_BUILD=$is_cronet_build" ] } -enable_message_pump_epoll = is_linux || is_chromeos || is_android +enable_message_pump_epoll = (is_linux || is_chromeos || is_android) && !is_bsd buildflag_header("message_pump_buildflags") { header = "message_pump_buildflags.h" header_dir = "base/message_loop" -@@ -1052,7 +1052,7 @@ component("base") { +@@ -1053,7 +1053,7 @@ component("base") { "timer/hi_res_timer_manager_posix.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ "profiler/stack_base_address_posix.cc", "profiler/stack_base_address_posix.h", -@@ -1063,6 +1063,14 @@ component("base") { +@@ -1064,6 +1064,14 @@ component("base") { "profiler/thread_delegate_posix.h", ] } + + if (is_bsd) { + sources += [ + "profiler/stack_base_address_posix.cc", + "profiler/stack_base_address_posix.h", + "profiler/stack_sampler_posix.cc", + ] + } } if (is_win) { -@@ -1550,11 +1558,23 @@ component("base") { +@@ -1544,11 +1552,23 @@ 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" ] + } + + if (is_freebsd) { + libs += [ + "execinfo", + "util", + ] + } + if (use_allocator_shim) { sources += [ "allocator/partition_allocator/shim/allocator_shim.cc", -@@ -1582,7 +1602,7 @@ component("base") { +@@ -1576,7 +1596,7 @@ component("base") { ] configs += [ "//base/allocator:mac_no_default_new_delete_symbols" ] } - if (is_chromeos || is_linux) { + if (is_chromeos || (is_linux && !is_bsd)) { sources += [ "allocator/partition_allocator/shim/allocator_shim_override_cpp_symbols.h", "allocator/partition_allocator/shim/allocator_shim_override_glibc_weak_symbols.h", -@@ -1623,7 +1643,7 @@ component("base") { +@@ -1617,7 +1637,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" ] } -@@ -2211,6 +2231,39 @@ component("base") { +@@ -2208,6 +2228,39 @@ component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_inotify.cc", + "files/scoped_file_linux.cc", + "process/process_linux.cc", + "system/sys_info_linux.cc", + "process/process_iterator_linux.cc", + "process/process_metrics_linux.cc", + "process/process_handle_linux.cc" + ] + sources += [ + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", + "files/file_path_watcher_bsd.cc", + ] + } + + 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 -= [ -@@ -2306,7 +2359,7 @@ component("base") { +@@ -2303,7 +2356,7 @@ component("base") { } if (dep_libevent) { - deps += [ "//third_party/libevent" ] + public_deps += [ "//third_party/libevent" ] } if (use_libevent) { -@@ -3560,7 +3613,7 @@ test("base_unittests") { +@@ -3556,7 +3609,7 @@ test("base_unittests") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/proc_maps_linux_unittest.cc", "files/scoped_file_linux_unittest.cc", -@@ -3606,7 +3659,7 @@ test("base_unittests") { +@@ -3602,7 +3655,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", -@@ -3617,7 +3670,7 @@ test("base_unittests") { +@@ -3613,7 +3666,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" ] } -@@ -3827,7 +3880,7 @@ test("base_unittests") { +@@ -3829,7 +3882,7 @@ test("base_unittests") { } } - if (is_fuchsia || is_linux || is_chromeos) { + if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/elf_reader_unittest.cc", "debug/test_elf_image_builder.cc", diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h index bbdbf6a76c02..3514d8f2f8d4 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/address_space_randomization.h.orig 2022-10-01 07:40:07 UTC +--- base/allocator/partition_allocator/address_space_randomization.h.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/address_space_randomization.h @@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { #if defined(ARCH_CPU_64_BITS) - #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD) // We shouldn't allocate system pages at all for sanitizer builds. However, // we do, and if random hint addresses interfere with address ranges -@@ -128,7 +128,7 @@ AslrMask(uintptr_t bits) { +@@ -124,7 +124,7 @@ AslrMask(uintptr_t bits) { return AslrAddress(0x20000000ULL); } - #elif BUILDFLAG(IS_LINUX) + #elif BUILDFLAG(IS_LINUX) || 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/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc index e8725e5a81e6..fe455288d15b 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/partition_address_space.cc.orig 2023-02-11 09:11:04 UTC +--- base/allocator/partition_allocator/partition_address_space.cc.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_address_space.cc -@@ -440,7 +440,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting() +@@ -416,7 +416,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting() } #endif -#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) PageCharacteristics page_characteristics; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index 451ea599b978..0261fab25a2f 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2023-02-11 09:11:04 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_alloc.gni -@@ -200,7 +200,7 @@ assert(!use_asan_unowned_ptr || is_asan, - "AsanUnownedPtr requires AddressSanitizer") +@@ -233,7 +233,7 @@ assert(!use_asan_backup_ref_ptr || use_hookable_raw_pt + "AsanBackupRefPtr requires RawPtrHookableImpl") declare_args() { - enable_pkeys = is_linux && target_cpu == "x64" + enable_pkeys = (is_linux && !is_bsd) && target_cpu == "x64" } assert(!enable_pkeys || (is_linux && target_cpu == "x64"), "Pkeys are only supported on x64 linux") diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h index 80614a440ee2..aa630f131c07 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-02-11 09:11:04 UTC +--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_alloc_config.h -@@ -84,7 +84,7 @@ static_assert(sizeof(void*) != 8, ""); - +@@ -120,7 +120,7 @@ static_assert(sizeof(void*) != 8, ""); // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific // features such as futex(2). --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - #define PA_HAS_LINUX_KERNEL - #endif - -@@ -220,7 +220,7 @@ constexpr bool kUseLazyCommit = false; + #define PA_CONFIG_HAS_LINUX_KERNEL() \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + // On some platforms, we implement locking by spinning in userspace, then going + // into the kernel only if there is contention. This requires platform support, +@@ -267,7 +267,7 @@ constexpr bool kUseLazyCommit = false; // On these platforms, lock all the partitions before fork(), and unlock after. // This may be required on more platforms in the future. --#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #define PA_HAS_ATFORK_HANDLER - #endif + #define PA_CONFIG_HAS_ATFORK_HANDLER() \ +- (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) -@@ -264,7 +264,7 @@ constexpr bool kUseLazyCommit = false; - // + // PartitionAlloc uses PartitionRootEnumerator to acquire all + // PartitionRoots at BeforeFork and to release at AfterFork. +@@ -312,7 +312,7 @@ constexpr bool kUseLazyCommit = false; // Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to // larger slot spans. --#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) -+#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD) - #define PA_PREFER_SMALLER_SLOT_SPANS - #endif + #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() \ +- (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))) ++ (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD)) + // Enable shadow metadata. + // diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h index 2e3cb75a345d..5fc1c4ad9b2e 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-02-11 09:11:04 UTC +--- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_alloc_constants.h @@ -91,7 +91,7 @@ PartitionPageShift() { return 18; // 256 KiB } #elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ - (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t PartitionPageShift() { return PageAllocationGranularityShift() + 2; -@@ -278,7 +278,7 @@ constexpr size_t kNumPools = 3; +@@ -277,7 +277,7 @@ constexpr size_t kNumPools = 3; + // // When pointer compression is enabled, we cannot use large pools (at most // 8GB for each of the glued pools). - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || \ -- defined(PA_POINTER_COMPRESSION) -+ defined(PA_POINTER_COMPRESSION) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) || BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h index fbaa149594dc..4d2bf1e1e44c 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h @@ -1,16 +1,16 @@ ---- base/allocator/partition_allocator/partition_alloc_forward.h.orig 2022-11-06 16:08:29 UTC +--- base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_alloc_forward.h -@@ -25,9 +25,13 @@ namespace internal { +@@ -27,9 +27,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/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc index a193c0a9aa94..9eb8a4b38e78 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc @@ -1,38 +1,38 @@ ---- base/allocator/partition_allocator/partition_root.cc.orig 2023-01-13 08:56:02 UTC +--- base/allocator/partition_allocator/partition_root.cc.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/partition_root.cc @@ -42,7 +42,7 @@ #include "wow64apiset.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif -@@ -239,7 +239,7 @@ void PartitionAllocMallocInitOnce() { - if (!g_global_init_called.compare_exchange_strong(expected, true)) +@@ -245,7 +245,7 @@ void PartitionAllocMallocInitOnce() { return; + } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || 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. -@@ -332,7 +332,7 @@ static size_t PartitionPurgeSlotSpan( +@@ -339,7 +339,7 @@ static size_t PartitionPurgeSlotSpan( constexpr size_t kMaxSlotCount = (PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) / MinPurgeableSlotSize(); -#elif BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) +#elif BUILDFLAG(IS_APPLE) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) // It's better for slot_usage to be stack-allocated and fixed-size, which // demands that its size be constexpr. On IS_APPLE and Linux on arm64, // PartitionPageSize() is always SystemPageSize() << 2, so regardless of -@@ -789,7 +789,7 @@ void PartitionRoot::Init(PartitionOptions +@@ -800,7 +800,7 @@ void PartitionRoot::Init(PartitionOptions // apple OSes. PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14))); -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(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 needs to be // added here in the future, to allow 64 kiB pagesize. That is only diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc index f99049492e24..284fcc7a5542 100644 --- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc @@ -1,47 +1,53 @@ ---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-10-01 07:40:07 UTC +--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-03-10 11:01:21 UTC +++ base/allocator/partition_allocator/spinning_mutex.cc -@@ -18,7 +18,15 @@ +@@ -18,7 +18,16 @@ - #if defined(PA_HAS_LINUX_KERNEL) + #if PA_CONFIG(HAS_LINUX_KERNEL) #include +#if defined(OS_OPENBSD) ++#include +#include +#elif defined(OS_FREEBSD) +#include +#include +#include +#else #include +#endif #include #include - #endif // defined(PA_HAS_LINUX_KERNEL) -@@ -107,8 +115,13 @@ void SpinningMutex::FutexWait() { + #endif // PA_CONFIG(HAS_LINUX_KERNEL) +@@ -107,8 +116,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. -@@ -120,8 +133,14 @@ void SpinningMutex::FutexWait() { +@@ -120,8 +137,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/ungoogled-chromium/files/patch-base_debug_stack__trace.cc b/www/ungoogled-chromium/files/patch-base_debug_stack__trace.cc new file mode 100644 index 000000000000..e7e599c9e9ca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_debug_stack__trace.cc @@ -0,0 +1,21 @@ +--- base/debug/stack_trace.cc.orig 2023-03-10 11:01:21 UTC ++++ base/debug/stack_trace.cc +@@ -273,7 +273,9 @@ void StackTrace::Print() const { + } + + void StackTrace::OutputToStream(std::ostream* os) const { ++#if !BUILDFLAG(IS_BSD) + OutputToStreamWithPrefix(os, nullptr); ++#endif + } + + std::string StackTrace::ToString() const { +@@ -281,7 +283,7 @@ std::string StackTrace::ToString() const { + } + std::string StackTrace::ToStringWithPrefix(const char* 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(); diff --git a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc index 64a90bdb77b6..87c53e609e4b 100644 --- a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,38 +1,38 @@ ---- base/debug/stack_trace_posix.cc.orig 2023-02-11 09:11:04 UTC +--- base/debug/stack_trace_posix.cc.orig 2023-03-10 11:01:21 UTC +++ base/debug/stack_trace_posix.cc -@@ -39,7 +39,7 @@ +@@ -40,7 +40,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 +@@ -58,7 +58,7 @@ #include #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/debug/proc_maps_linux.h" #endif -@@ -714,6 +714,9 @@ class SandboxSymbolizeHelper { +@@ -761,6 +761,9 @@ class SandboxSymbolizeHelper { // 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)) { -@@ -731,6 +734,7 @@ class SandboxSymbolizeHelper { +@@ -778,6 +781,7 @@ class SandboxSymbolizeHelper { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. -@@ -887,7 +891,7 @@ size_t CollectStackTrace(void** trace, size_t count) { - // If we do not have unwind tables, then try tracing using frame pointers. - return base::debug::TraceStackFramePointers(const_cast(trace), - count, 0); --#elif !defined(__UCLIBC__) && !defined(_AIX) -+#elif !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) - // Though the backtrace API man page does not list any possible negative - // return values, we take no chance. - return base::saturated_cast( diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc index 7247009422b8..b53006827443 100644 --- a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc @@ -1,20 +1,20 @@ ---- base/files/file_util_unittest.cc.orig 2023-01-13 08:56:02 UTC +--- base/files/file_util_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ base/files/file_util_unittest.cc -@@ -3558,7 +3558,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { +@@ -3749,7 +3749,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"; -@@ -4281,7 +4281,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles +@@ -4472,7 +4472,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles NULL); #else size_t bytes_written = - ::write(::fileno(output_file.get()), content.c_str(), content.length()); + ::write(fileno(output_file.get()), content.c_str(), content.length()); #endif EXPECT_EQ(content.length(), bytes_written); ::fflush(output_file.get()); diff --git a/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc index 969253ca926e..86367a4e590f 100644 --- a/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -1,11 +1,11 @@ ---- base/posix/unix_domain_socket_unittest.cc.orig 2022-10-01 07:40:07 UTC +--- base/posix/unix_domain_socket_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ base/posix/unix_domain_socket_unittest.cc @@ -10,6 +10,8 @@ #include #include +#include + - #include "base/bind.h" - #include "base/callback_helpers.h" #include "base/files/file_util.h" + #include "base/files/scoped_file.h" + #include "base/functional/bind.h" diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc index dcd528af9b77..bbecf45ca95a 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc @@ -1,54 +1,54 @@ ---- base/process/process_metrics.cc.orig 2023-01-13 08:56:02 UTC +--- base/process/process_metrics.cc.orig 2023-03-10 11:01:21 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 SystemMetrics::ToValue() const { - Value res(Value::Type::DICTIONARY); +@@ -73,7 +73,7 @@ Value::Dict SystemMetrics::ToDict() const { + Value::Dict res; - res.SetIntKey("committed_memory", static_cast(committed_memory_)); + 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 meminfo = memory_info_.ToValue(); - Value vmstat = vmstat_info_.ToValue(); - meminfo.MergeDictionary(&vmstat); -@@ -99,7 +99,6 @@ std::unique_ptr ProcessMetrics::Create + Value::Dict meminfo = memory_info_.ToDict(); + meminfo.Merge(vmstat_info_.ToDict()); + res.Set("meminfo", std::move(meminfo)); +@@ -98,7 +98,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(); -@@ -125,7 +124,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( +@@ -124,7 +123,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( double ProcessMetrics::GetPlatformIndependentCPUUsage() { return GetPlatformIndependentCPUUsage(GetCumulativeCPUUsage()); } -#endif #if BUILDFLAG(IS_WIN) double ProcessMetrics::GetPreciseCPUUsage(TimeDelta cumulative_cpu) { -@@ -156,7 +154,7 @@ double ProcessMetrics::GetPreciseCPUUsage() { +@@ -155,7 +153,7 @@ double ProcessMetrics::GetPreciseCPUUsage() { #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics.h b/www/ungoogled-chromium/files/patch-base_process_process__metrics.h index 8e4bb79688d9..a54d1261a05f 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__metrics.h +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics.h @@ -1,120 +1,120 @@ ---- base/process/process_metrics.h.orig 2023-01-13 08:56:02 UTC +--- base/process/process_metrics.h.orig 2023-03-10 11:01:21 UTC +++ base/process/process_metrics.h -@@ -36,7 +36,7 @@ +@@ -37,7 +37,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) #include #include #include -@@ -51,7 +51,7 @@ class Value; +@@ -50,7 +50,7 @@ namespace base { // Full declaration is in process_metrics_iocounters.h. struct IoCounters; -#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. // -@@ -106,7 +106,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -105,7 +105,7 @@ class BASE_EXPORT ProcessMetrics { // convenience wrapper for CreateProcessMetrics(). static std::unique_ptr CreateCurrentProcessMetrics(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Resident Set Size is a Linux/Android specific memory concept. Do not // attempt to extend this to other platforms. BASE_EXPORT size_t GetResidentSetSize() const; -@@ -164,7 +164,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -163,7 +163,7 @@ class BASE_EXPORT ProcessMetrics { #endif // BUILDFLAG(IS_WIN) #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 { +@@ -223,7 +223,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) // Bytes of swap as reported by /proc/[pid]/status. uint64_t GetVmSwapBytes() const; -@@ -245,7 +245,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -244,7 +244,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,9 +264,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -263,9 +263,7 @@ 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_WIN) TimeTicks last_cpu_time_for_precise_cpu_usage_; -@@ -274,7 +272,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -273,7 +271,7 @@ class BASE_EXPORT ProcessMetrics { #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_; -@@ -317,7 +315,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de +@@ -316,7 +314,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. // -@@ -352,7 +350,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -351,7 +349,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 -@@ -367,7 +365,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -366,7 +364,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; -@@ -404,7 +402,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK +@@ -403,7 +401,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. -@@ -592,7 +590,7 @@ class BASE_EXPORT SystemMetrics { +@@ -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/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc index bbea92b0a0fd..c4a7e32e3b24 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,296 +1,305 @@ ---- base/process/process_metrics_freebsd.cc.orig 2022-10-29 17:50:56 UTC +--- base/process/process_metrics_freebsd.cc.orig 2023-03-10 11:01:21 UTC +++ base/process/process_metrics_freebsd.cc @@ -3,20 +3,39 @@ // 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/process/process_metrics_iocounters.h" +#include "base/values.h" namespace base { +namespace { +int GetPageShift() { + int pagesize = getpagesize(); + int pageshift = 0; + while (pagesize > 1) { + pageshift++; + pagesize >>= 1; + } + + return pageshift; +} +} + ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), - last_cpu_(0) {} + : process_(process) {} // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( @@ -24,22 +43,19 @@ std::unique_ptr ProcessMetrics::Create return WrapUnique(new ProcessMetrics(process)); } -double ProcessMetrics::GetPlatformIndependentCPUUsage() { +TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { struct kinfo_proc info; - int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_}; - size_t length = sizeof(info); + size_t length = sizeof(struct kinfo_proc); + struct timeval tv; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) - return 0; + return TimeDelta(); - return (info.ki_pctcpu / FSCALE) * 100.0; + return Microseconds(info.ki_runtime); } -TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); - return TimeDelta(); -} - bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const { return false; } -@@ -67,4 +83,221 @@ size_t GetSystemCommitCharge() { - return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); - } +@@ -65,6 +81,230 @@ 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; +} + +size_t ProcessMetrics::GetResidentSetSize() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t rss; + + if (nproc > 0) { + rss = pp->ki_rssize << GetPageShift(); + } else { + rss = 0; + } + + kvm_close(kd); + return rss; +} + +uint64_t ProcessMetrics::GetVmSwapBytes() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t swrss; + + if (nproc > 0) { + swrss = pp->ki_swrss > pp->ki_rssize + ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() + : 0; + } else { + swrss = 0; + } + + kvm_close(kd); + return swrss; +} + +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 SystemDiskInfo::ToValue() const { -+ Value res(Value::Type::DICTIONARY); -+ ++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.SetDoubleKey("reads", static_cast(reads)); -+ res.SetDoubleKey("reads_merged", static_cast(reads_merged)); -+ res.SetDoubleKey("sectors_read", static_cast(sectors_read)); -+ res.SetDoubleKey("read_time", static_cast(read_time)); -+ res.SetDoubleKey("writes", static_cast(writes)); -+ res.SetDoubleKey("writes_merged", static_cast(writes_merged)); -+ res.SetDoubleKey("sectors_written", static_cast(sectors_written)); -+ res.SetDoubleKey("write_time", static_cast(write_time)); -+ res.SetDoubleKey("io", static_cast(io)); -+ res.SetDoubleKey("io_time", static_cast(io_time)); -+ res.SetDoubleKey("weighted_io_time", static_cast(weighted_io_time)); ++ 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 SystemMemoryInfoKB::ToValue() const { -+ Value res(Value::Type::DICTIONARY); -+ -+ res.SetIntKey("total", total); -+ res.SetIntKey("free", free); -+ res.SetIntKey("available", available); -+ res.SetIntKey("buffers", buffers); -+ res.SetIntKey("cached", cached); -+ res.SetIntKey("active_anon", active_anon); -+ res.SetIntKey("inactive_anon", inactive_anon); -+ res.SetIntKey("active_file", active_file); -+ res.SetIntKey("inactive_file", inactive_file); -+ res.SetIntKey("swap_total", swap_total); -+ res.SetIntKey("swap_free", swap_free); -+ res.SetIntKey("swap_used", swap_total - swap_free); -+ res.SetIntKey("dirty", dirty); -+ res.SetIntKey("reclaimable", reclaimable); ++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 VmStatInfo::ToValue() const { -+ Value res(Value::Type::DICTIONARY); ++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)); + -+ res.SetIntKey("pswpin", pswpin); -+ res.SetIntKey("pswpout", pswpout); -+ res.SetIntKey("pgmajfault", pgmajfault); ++ NOTIMPLEMENTED(); + + return res; -+} + } + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc index c143d5d66c2d..bc2b1cae0f5f 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc @@ -1,215 +1,215 @@ ---- base/process/process_metrics_openbsd.cc.orig 2022-10-01 07:40:07 UTC +--- base/process/process_metrics_openbsd.cc.orig 2023-03-10 11:01:21 UTC +++ base/process/process_metrics_openbsd.cc @@ -6,14 +6,23 @@ #include #include +#include #include #include +#include +#include + #include "base/memory/ptr_util.h" #include "base/process/process_metrics_iocounters.h" +#include "base/values.h" +#include "base/notreached.h" namespace base { +ProcessMetrics::ProcessMetrics(ProcessHandle process) + : process_(process) {} + // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( ProcessHandle process) { @@ -24,49 +33,23 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun return false; } -static int GetProcessCPU(pid_t pid) { +TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { 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); + struct timeval tv; - if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) - return -1; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_, + sizeof(struct kinfo_proc), 1 }; - mib[5] = (length / sizeof(struct kinfo_proc)); - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) - return 0; + return TimeDelta(); - return info.p_pctcpu; -} + tv.tv_sec = info.p_rtime_sec; + tv.tv_usec = info.p_rtime_usec; -double ProcessMetrics::GetPlatformIndependentCPUUsage() { - TimeTicks time = TimeTicks::Now(); - - if (last_cpu_time_.is_zero()) { - // First call, just set the last values. - last_cpu_time_ = time; - return 0; - } - - int cpu = GetProcessCPU(process_); - - last_cpu_time_ = time; - double percentage = static_cast((cpu * 100.0) / FSCALE); - - return percentage; + return Microseconds(TimeValToMicroseconds(tv)); } -TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); - return TimeDelta(); -} - -ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), - last_cpu_(0) {} - size_t GetSystemCommitCharge() { int mib[] = { CTL_VM, VM_METER }; int pagesize; @@ -84,6 +67,129 @@ size_t GetSystemCommitCharge() { pagesize = getpagesize(); return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); +} + +int ProcessMetrics::GetOpenFdCount() const { + struct kinfo_file *files; + kvm_t *kd = NULL; + int total_count = 0; + char errbuf[_POSIX2_LINE_MAX]; + + if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) + goto out; + + if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_, + sizeof(struct kinfo_file), &total_count)) == NULL) { + total_count = 0; + goto out; + } + + kvm_close(kd); + +out: + return total_count; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + return GetMaxFds(); +} + +uint64_t ProcessMetrics::GetVmSwapBytes() const { + NOTIMPLEMENTED(); + return 0; +} + +bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { + NOTIMPLEMENTED_LOG_ONCE(); + 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; -+ +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + -+Value SystemMemoryInfoKB::ToValue() const { -+ Value res(Value::Type::DICTIONARY); -+ res.SetIntKey("total", total); -+ res.SetIntKey("free", free); -+ res.SetIntKey("available", available); -+ res.SetIntKey("buffers", buffers); -+ res.SetIntKey("cached", cached); -+ res.SetIntKey("active_anon", active_anon); -+ res.SetIntKey("inactive_anon", inactive_anon); -+ res.SetIntKey("active_file", active_file); -+ res.SetIntKey("inactive_file", inactive_file); -+ res.SetIntKey("swap_total", swap_total); -+ res.SetIntKey("swap_free", swap_free); -+ res.SetIntKey("swap_used", swap_total - swap_free); -+ res.SetIntKey("dirty", dirty); -+ res.SetIntKey("reclaimable", reclaimable); ++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 VmStatInfo::ToValue() const { -+ Value res(Value::Type::DICTIONARY); -+ res.SetIntKey("pswpin", pswpin); -+ res.SetIntKey("pswpout", pswpout); -+ res.SetIntKey("pgmajfault", pgmajfault); ++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::operator=(const SystemDiskInfo&) = default; ++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo&) = default; + -+Value SystemDiskInfo::ToValue() const { -+ Value res(Value::Type::DICTIONARY); ++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.SetDoubleKey("reads", static_cast(reads)); -+ res.SetDoubleKey("reads_merged", static_cast(reads_merged)); -+ res.SetDoubleKey("sectors_read", static_cast(sectors_read)); -+ res.SetDoubleKey("read_time", static_cast(read_time)); -+ res.SetDoubleKey("writes", static_cast(writes)); -+ res.SetDoubleKey("writes_merged", static_cast(writes_merged)); -+ res.SetDoubleKey("sectors_written", static_cast(sectors_written)); -+ res.SetDoubleKey("write_time", static_cast(write_time)); -+ res.SetDoubleKey("io", static_cast(io)); -+ res.SetDoubleKey("io_time", static_cast(io_time)); -+ res.SetDoubleKey("weighted_io_time", static_cast(weighted_io_time)); ++ 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/ungoogled-chromium/files/patch-base_process_process__unittest.cc b/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc index ee62a994e4d5..754c10a4cbed 100644 --- a/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc @@ -1,11 +1,11 @@ ---- base/process/process_unittest.cc.orig 2022-10-01 07:40:07 UTC +--- base/process/process_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ base/process/process_unittest.cc -@@ -193,7 +193,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { +@@ -194,7 +194,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/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc index 81e742a7d570..b295fb269e3d 100644 --- a/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc @@ -1,18 +1,18 @@ ---- base/strings/safe_sprintf_unittest.cc.orig 2022-12-02 17:56:32 UTC +--- base/strings/safe_sprintf_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ base/strings/safe_sprintf_unittest.cc -@@ -740,6 +740,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { +@@ -733,6 +733,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { #endif } +#if !BUILDFLAG(IS_BSD) TEST(SafeSPrintfTest, EmitNULL) { char buf[40]; #if defined(__GNUC__) -@@ -756,6 +757,7 @@ TEST(SafeSPrintfTest, EmitNULL) { +@@ -749,6 +750,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/ungoogled-chromium/files/patch-base_system_sys__info.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc index 47fd5bb0646a..44c6389a5cdc 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2023-02-11 09:11:04 UTC +--- base/system/sys_info.cc.orig 2023-03-10 11:01:21 UTC +++ base/system/sys_info.cc -@@ -107,7 +107,7 @@ std::string SysInfo::HardwareModelName() { +@@ -106,7 +106,7 @@ std::string SysInfo::HardwareModelName() { #endif void SysInfo::GetHardwareInfo(base::OnceCallback callback) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) constexpr base::TaskTraits kTraits = {base::MayBlock()}; #else constexpr base::TaskTraits kTraits = {}; diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc index 21bec8f72379..4007d57b7a93 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc @@ -1,26 +1,26 @@ ---- base/system/sys_info_posix.cc.orig 2023-02-11 09:11:04 UTC +--- base/system/sys_info_posix.cc.orig 2023-03-10 11:01:21 UTC +++ base/system/sys_info_posix.cc -@@ -159,12 +159,12 @@ int NumberOfProcessors() { +@@ -165,12 +165,12 @@ int NumberOfProcessors() { } // namespace internal -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) int SysInfo::NumberOfProcessors() { static int number_of_processors = internal::NumberOfProcessors(); return number_of_processors; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static uint64_t SysInfo::AmountOfVirtualMemory() { -@@ -254,6 +254,8 @@ std::string SysInfo::OperatingSystemArchitecture() { +@@ -260,6 +260,8 @@ std::string SysInfo::OperatingSystemArchitecture() { arch = "x86"; } else if (arch == "amd64") { arch = "x86_64"; + } else if (arch == "arm64") { + arch = "aarch64"; } else if (std::string(info.sysname) == "AIX") { arch = "ppc64"; } diff --git a/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc b/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc index 4225adf1a4d5..b5a50d6a9488 100644 --- a/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc +++ b/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc @@ -1,10 +1,10 @@ ---- base/test/launcher/test_launcher.cc.orig 2023-02-11 09:11:04 UTC +--- base/test/launcher/test_launcher.cc.orig 2023-03-10 11:01:21 UTC +++ base/test/launcher/test_launcher.cc -@@ -66,6 +66,7 @@ +@@ -67,6 +67,7 @@ #include "third_party/libxml/chromium/libxml_utils.h" #if BUILDFLAG(IS_POSIX) +#include #include #include "base/files/file_descriptor_watcher_posix.h" diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc index 47507fc0c6de..65322412247f 100644 --- a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc @@ -1,21 +1,21 @@ ---- base/threading/platform_thread_posix.cc.orig 2022-12-02 17:56:32 UTC +--- base/threading/platform_thread_posix.cc.orig 2023-03-10 11:01:21 UTC +++ base/threading/platform_thread_posix.cc -@@ -78,7 +78,7 @@ void* ThreadFunc(void* params) { +@@ -77,7 +77,7 @@ void* ThreadFunc(void* params) { if (!thread_params->joinable) base::DisallowSingleton(); -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(STARSCAN) + #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) partition_alloc::internal::PCScan::NotifyThreadCreated( partition_alloc::internal::GetStackPointer()); -@@ -380,6 +380,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, +@@ -379,6 +379,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; diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc index 6d4cbd30480e..d16fbe34a5bc 100644 --- a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc @@ -1,38 +1,38 @@ ---- base/threading/platform_thread_unittest.cc.orig 2023-02-11 09:11:04 UTC +--- base/threading/platform_thread_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ base/threading/platform_thread_unittest.cc @@ -31,7 +31,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 @@ -422,7 +422,7 @@ TEST(PlatformThreadTest, // and hardcodes what we know. Please inform scheduler-dev@ch40m1um.qjz9zk 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. constexpr bool kCanIncreasePriority = false; -@@ -696,12 +696,16 @@ INSTANTIATE_TEST_SUITE_P( +@@ -701,12 +701,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() == reinterpret_cast(pthread_self()); +#else return PlatformThread::CurrentId() == syscall(__NR_gettid); +#endif } void* CheckTidCacheCorrectWrapper(void*) { diff --git a/www/ungoogled-chromium/files/patch-build_config_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_BUILD.gn index a9e33c0218ee..d751025e37b8 100644 --- a/www/ungoogled-chromium/files/patch-build_config_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-build_config_BUILD.gn @@ -1,22 +1,22 @@ ---- build/config/BUILD.gn.orig 2022-10-01 07:40:07 UTC +--- build/config/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ build/config/BUILD.gn -@@ -215,13 +215,17 @@ config("default_libs") { +@@ -218,13 +218,17 @@ config("default_libs") { "CoreText.framework", "Foundation.framework", ] - } else if (is_linux || is_chromeos) { + } else if ((is_linux && !is_bsd) || is_chromeos) { libs = [ "dl", "pthread", "rt", ] - } + } else if (is_bsd) { + libs = [ + "pthread", + ] + } } group("common_deps") { diff --git a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn index 593af52dc231..a66cbfc5d799 100644 --- a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,131 +1,131 @@ ---- build/config/compiler/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- build/config/compiler/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ build/config/compiler/BUILD.gn -@@ -224,13 +224,16 @@ config("default_include_dirs") { +@@ -232,13 +232,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" ] + } } # compiler --------------------------------------------------------------------- -@@ -454,6 +457,10 @@ config("compiler") { +@@ -462,6 +465,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_gold) { -@@ -529,7 +536,7 @@ config("compiler") { +@@ -537,7 +544,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && current_os != "zos") { + if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -813,7 +820,7 @@ config("compiler") { +@@ -825,7 +832,7 @@ config("compiler") { # lldb doesn't have the needed changes yet. # * Fuchsia isn't supported as zxdb doesn't support simple template names yet. # TODO(crbug.com/1379070): Remove if the upstream default ever changes. - if (is_clang && !is_nacl && !is_win && !is_apple && !is_fuchsia) { + if (is_clang && !is_nacl && !is_win && !is_apple && !is_fuchsia && !is_bsd) { cflags_cc += [ "-gsimple-template-names" ] } -@@ -973,7 +980,7 @@ config("compiler_cpu_abi") { +@@ -1001,7 +1008,7 @@ config("compiler_cpu_abi") { ] } } else if (current_cpu == "arm") { - if (is_clang && !is_android && !is_nacl && + if (is_clang && !is_android && !is_nacl && !is_bsd && !(is_chromeos_lacros && is_chromeos_device)) { cflags += [ "--target=arm-linux-gnueabihf" ] ldflags += [ "--target=arm-linux-gnueabihf" ] -@@ -988,7 +995,7 @@ config("compiler_cpu_abi") { +@@ -1016,7 +1023,7 @@ config("compiler_cpu_abi") { cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia && + if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd && !(is_chromeos_lacros && is_chromeos_device)) { cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] -@@ -1322,7 +1329,7 @@ config("compiler_deterministic") { +@@ -1350,7 +1357,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", -@@ -1374,7 +1381,7 @@ config("compiler_deterministic") { +@@ -1402,7 +1409,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) { update_args = [ "--print-revision", "--verify-version=$clang_version", -@@ -1615,7 +1622,7 @@ config("default_warnings") { +@@ -1643,7 +1650,7 @@ config("default_warnings") { "-Wno-ignored-pragma-optimize", ] - if (!is_nacl) { + if (!is_nacl && !is_bsd) { cflags += [ # TODO(crbug.com/1343975) Evaluate and possibly enable. "-Wno-deprecated-builtins", -@@ -1794,7 +1801,7 @@ config("no_chromium_code") { +@@ -1822,7 +1829,7 @@ config("no_chromium_code") { # third-party libraries. "-Wno-c++11-narrowing", ] - if (!is_nacl) { + if (!is_nacl && !is_freebsd) { cflags += [ # Disabled for similar reasons as -Wunused-variable. "-Wno-unused-but-set-variable", -@@ -2302,7 +2309,7 @@ config("afdo_optimize_size") { +@@ -2330,7 +2337,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. -@@ -2318,7 +2325,7 @@ config("afdo") { +@@ -2346,7 +2353,7 @@ config("afdo") { cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ] 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 ] } -@@ -2472,7 +2479,8 @@ config("symbols") { +@@ -2501,7 +2508,8 @@ config("symbols") { configs += [ "//build/config:compress_debug_sections" ] } - if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") { + if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" && + !is_bsd) { if (is_apple) { # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. # Make sure we don't use constructor homing on mac. diff --git a/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py b/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py index 6b0ac80396d4..d439f778ee7b 100644 --- a/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py +++ b/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py @@ -1,11 +1,11 @@ ---- build/config/linux/pkg-config.py.orig 2022-10-01 07:40:07 UTC +--- build/config/linux/pkg-config.py.orig 2023-03-10 11:01:21 UTC +++ build/config/linux/pkg-config.py -@@ -109,7 +109,7 @@ def main(): +@@ -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/ungoogled-chromium/files/patch-build_config_rust.gni b/www/ungoogled-chromium/files/patch-build_config_rust.gni index c81da9cffb05..8dc975eca8b5 100644 --- a/www/ungoogled-chromium/files/patch-build_config_rust.gni +++ b/www/ungoogled-chromium/files/patch-build_config_rust.gni @@ -1,11 +1,11 @@ ---- build/config/rust.gni.orig 2023-02-11 09:11:04 UTC +--- build/config/rust.gni.orig 2023-03-10 11:01:21 UTC +++ build/config/rust.gni -@@ -128,7 +128,7 @@ if (enable_rust) { +@@ -134,7 +134,7 @@ if (enable_rust) { rust_sysroot = "//third_party/rust-toolchain" use_unverified_rust_toolchain = false } else { - if (host_os != "linux") { + if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") { assert(false, "Attempt to use Android Rust toolchain on an unsupported platform") } diff --git a/www/ungoogled-chromium/files/patch-build_detect__host__arch.py b/www/ungoogled-chromium/files/patch-build_detect__host__arch.py index 2d77e503b8c6..7e01949182a6 100644 --- a/www/ungoogled-chromium/files/patch-build_detect__host__arch.py +++ b/www/ungoogled-chromium/files/patch-build_detect__host__arch.py @@ -1,11 +1,11 @@ ---- build/detect_host_arch.py.orig 2022-10-01 07:40:07 UTC +--- build/detect_host_arch.py.orig 2023-03-10 11:01:21 UTC +++ build/detect_host_arch.py -@@ -21,6 +21,8 @@ def HostArch(): +@@ -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/ungoogled-chromium/files/patch-build_gn__run__binary.py b/www/ungoogled-chromium/files/patch-build_gn__run__binary.py index 692808585f8b..47341cfc15a8 100644 --- a/www/ungoogled-chromium/files/patch-build_gn__run__binary.py +++ b/www/ungoogled-chromium/files/patch-build_gn__run__binary.py @@ -1,11 +1,11 @@ ---- build/gn_run_binary.py.orig 2022-10-01 07:40:07 UTC +--- build/gn_run_binary.py.orig 2023-03-10 11:01:21 UTC +++ build/gn_run_binary.py -@@ -24,7 +24,7 @@ if not os.path.isabs(path): +@@ -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/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni index 30b2705b7e26..fd1a306731b2 100644 --- a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,44 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2023-02-11 09:11:04 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2023-03-10 11:01:21 UTC +++ build/toolchain/gcc_toolchain.gni @@ -53,6 +53,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). # -@@ -803,22 +810,12 @@ template("gcc_toolchain") { +@@ -832,22 +839,12 @@ template("gcc_toolchain") { # use_gold too. 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, [ diff --git a/www/ungoogled-chromium/files/patch-cc_BUILD.gn b/www/ungoogled-chromium/files/patch-cc_BUILD.gn index eda293d19710..39c06e160bfe 100644 --- a/www/ungoogled-chromium/files/patch-cc_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-cc_BUILD.gn @@ -1,19 +1,19 @@ ---- cc/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- cc/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ cc/BUILD.gn -@@ -665,7 +665,7 @@ cc_test_static_library("test_support") { +@@ -666,7 +666,7 @@ cc_test_static_library("test_support") { if (enable_vulkan) { deps += [ "//gpu/vulkan/init" ] } - if (!is_android) { + if (!is_android && !is_bsd) { data_deps = [ "//third_party/mesa_headers" ] } } -@@ -892,7 +892,6 @@ cc_test("cc_unittests") { +@@ -893,7 +893,6 @@ cc_test("cc_unittests") { data = [ "//components/viz/test/data/" ] data_deps = [ "//testing/buildbot/filters:cc_unittests_filters", - "//third_party/mesa_headers", ] if (is_android && enable_chrome_android_internal) { diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h index 481758e7d612..04b032014284 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h @@ -1,11 +1,11 @@ ---- chrome/app/chrome_command_ids.h.orig 2022-10-01 07:40:07 UTC +--- chrome/app/chrome_command_ids.h.orig 2023-03-10 11:01:21 UTC +++ chrome/app/chrome_command_ids.h -@@ -67,7 +67,7 @@ - #define IDC_NAME_WINDOW 34049 +@@ -70,7 +70,7 @@ + #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #define IDC_USE_SYSTEM_TITLE_BAR 34051 #define IDC_RESTORE_WINDOW 34052 #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc index d03f1c26e01a..6afb5a7ed2bc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc @@ -1,20 +1,20 @@ ---- chrome/app/chrome_main.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/app/chrome_main.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/app/chrome_main.cc -@@ -25,7 +25,7 @@ +@@ -27,7 +27,7 @@ #include "chrome/app/notification_metrics.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 -@@ -151,7 +151,7 @@ int ChromeMain(int argc, const char** argv) { +@@ -157,7 +157,7 @@ int ChromeMain(int argc, const char** argv) { headless::SetUpCommandLine(command_line); } else { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsOldHeadlessMode()) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) command_line->AppendSwitch(::headless::switches::kEnableCrashReporter); diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc index 91483ba1066f..818fd17c5f4f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,121 +1,121 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/app/chrome_main_delegate.cc -@@ -138,7 +138,7 @@ +@@ -137,7 +137,7 @@ #include "components/about_ui/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 -@@ -182,16 +182,16 @@ +@@ -181,16 +181,16 @@ #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) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "base/message_loop/message_pump_libevent.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 -@@ -351,7 +351,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty +@@ -352,7 +352,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 -@@ -436,7 +436,7 @@ bool HandleVersionSwitches(const base::CommandLine& co +@@ -437,7 +437,7 @@ bool HandleVersionSwitches(const base::CommandLine& co // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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) || -@@ -550,7 +550,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -551,7 +551,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. -@@ -639,7 +639,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat +@@ -640,7 +640,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat #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::RecordStartupProcessCreationTime( -@@ -927,6 +927,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() { +@@ -928,6 +928,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() { // not always enabled on ChromeOS. #if BUILDFLAG(IS_CHROMEOS) bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled(); +#elif BUILDFLAG(IS_BSD) + bool enable_gwp_asan = false; #else bool enable_gwp_asan = true; #endif -@@ -987,7 +989,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { +@@ -984,7 +986,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { base::internal::TimerBase::InitializeFeatures(); base::InitializeCpuReductionExperiment(); base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::MessagePumpLibevent::InitializeFeatures(); #elif BUILDFLAG(IS_MAC) base::PlatformThread::InitFeaturesPostFieldTrial(); -@@ -1119,7 +1121,7 @@ absl::optional ChromeMainDelegate::BasicStartupCo +@@ -1116,7 +1118,7 @@ absl::optional ChromeMainDelegate::BasicStartupCo // TODO(crbug.com/1052397): Revisit the macro expression once build flag // switch of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // This will directly exit if the user asked for help. HandleHelpSwitches(command_line); #endif -@@ -1149,7 +1151,7 @@ absl::optional ChromeMainDelegate::BasicStartupCo +@@ -1146,7 +1148,7 @@ absl::optional ChromeMainDelegate::BasicStartupCo #if BUILDFLAG(IS_CHROMEOS) 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 -@@ -1531,7 +1533,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1528,7 +1530,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) { if (command_line.HasSwitch(switches::kPreCrashpadCrashTest)) { -@@ -1611,7 +1613,7 @@ absl::variant Chrome +@@ -1608,7 +1610,7 @@ absl::variant Chrome // This entry is not needed on Linux, where the NaCl loader // process is launched via nacl_helper instead. -#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) {switches::kNaClLoaderProcess, NaClMain}, #else {"", nullptr}, // To avoid constant array of size 0 diff --git a/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd index 932cc75b32fb..d3d19f8e1307 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd +++ b/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd @@ -1,74 +1,74 @@ ---- chrome/app/generated_resources.grd.orig 2023-02-11 09:11:04 UTC +--- chrome/app/generated_resources.grd.orig 2023-03-10 11:01:21 UTC +++ chrome/app/generated_resources.grd @@ -2,7 +2,7 @@ -@@ -3122,7 +3122,7 @@ are declared in tools/grit/grit_rule.gni. +@@ -3181,7 +3181,7 @@ are declared in tools/grit/grit_rule.gni. - + Device Credentials -@@ -4868,7 +4868,7 @@ are declared in tools/grit/grit_rule.gni. +@@ -4936,7 +4936,7 @@ are declared in tools/grit/grit_rule.gni. Read information about your browser, OS, device, installed software, registry values and files - + Read information about your browser, OS, device, installed software and files -@@ -5529,7 +5529,7 @@ Keep your key file in a safe place. You will need it t +@@ -5603,7 +5603,7 @@ Keep your key file in a safe place. You will need it t Old versions of Chrome Apps won't open on Windows devices after December 2022. Contact your administrator to update to a new version or remove this app. - + Old versions of Chrome Apps won't open on Linux devices after December 2022. Contact your administrator to update to a new version or remove this app. -@@ -5575,7 +5575,7 @@ Keep your key file in a safe place. You will need it t +@@ -5649,7 +5649,7 @@ Keep your key file in a safe place. You will need it t Old versions of Chrome apps won't open on Windows devices after December 2022. You can check if there's a new version available. - + Old versions of Chrome apps won't open on Linux devices after December 2022. You can check if there's a new version available. -@@ -9287,7 +9287,7 @@ Check your passwords anytime in - + Use system title bar and borders -@@ -10620,7 +10620,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -10789,7 +10789,7 @@ Please help our engineers fix this problem. Tell us wh Set as default - + Minimize -@@ -12735,7 +12735,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -12904,7 +12904,7 @@ Please help our engineers fix this problem. Tell us wh Open Anyway - + System Signals Utilities diff --git a/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp index 01bbfd03d823..d35a7c0e05ee 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp +++ b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp @@ -1,20 +1,20 @@ ---- chrome/app/settings_strings.grdp.orig 2023-02-11 09:11:04 UTC +--- chrome/app/settings_strings.grdp.orig 2023-03-10 11:01:21 UTC +++ chrome/app/settings_strings.grdp -@@ -154,7 +154,7 @@ +@@ -163,7 +163,7 @@ Theme - + GTK -@@ -174,7 +174,7 @@ +@@ -183,7 +183,7 @@ Use Classic - + Reset to default diff --git a/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd index ab2790c1099c..2dfa3fd886d4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd +++ b/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd @@ -1,29 +1,29 @@ ---- chrome/app/theme/chrome_unscaled_resources.grd.orig 2023-02-11 09:11:04 UTC +--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2023-03-10 11:01:21 UTC +++ chrome/app/theme/chrome_unscaled_resources.grd @@ -16,7 +16,7 @@ - + -@@ -61,7 +61,7 @@ +@@ -62,7 +62,7 @@ - + - + -@@ -75,7 +75,7 @@ +@@ -76,7 +76,7 @@ - + - + diff --git a/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd index 89a46b9c1520..710991cd21aa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd +++ b/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd @@ -1,59 +1,59 @@ ---- chrome/app/theme/theme_resources.grd.orig 2023-02-11 09:11:04 UTC +--- chrome/app/theme/theme_resources.grd.orig 2023-03-10 11:01:21 UTC +++ chrome/app/theme/theme_resources.grd @@ -135,14 +135,14 @@ - + - + @@ -150,7 +150,7 @@ - + @@ -162,7 +162,7 @@ - + - + @@ -171,10 +171,10 @@ - + - + - + @@ -183,7 +183,7 @@ - + - + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc index e0720a33506e..c4eaec7f284d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc @@ -1,117 +1,126 @@ ---- chrome/browser/about_flags.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/about_flags.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/about_flags.cc -@@ -219,7 +219,7 @@ +@@ -220,7 +220,7 @@ #include "ui/ui_features.h" #include "url/url_features.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #endif -@@ -295,7 +295,7 @@ - #include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h" // nogncheck - #endif // ENABLE_SUPERVISED_USERS +@@ -302,7 +302,7 @@ + #include "device/vr/public/cpp/features.h" + #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) #include "ui/ozone/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -@@ -402,7 +402,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap +@@ -408,7 +408,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, -@@ -1318,7 +1318,7 @@ const FeatureEntry::FeatureVariation kLocalWebApproval +@@ -1323,7 +1323,7 @@ const FeatureEntry::FeatureVariation kLocalWebApproval #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kOmniboxDocumentProviderCapLowQualitySuggestionsTo1[] = { {"DocumentProviderMaxLowQualitySuggestions", "1"}, -@@ -4486,13 +4486,13 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4382,13 +4382,13 @@ 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) {"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName, flag_descriptions::kOzonePlatformHintDescription, kOsLinux, MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)}, #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) {"skip-undecryptable-passwords", flag_descriptions::kSkipUndecryptablePasswordsName, flag_descriptions::kSkipUndecryptablePasswordsDescription, -@@ -4759,7 +4759,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4640,7 +4640,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(feed::kDiscoFeedEndpoint)}, #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) {"following-feed-sidepanel", flag_descriptions::kFollowingFeedSidepanelName, flag_descriptions::kFollowingFeedSidepanelDescription, kOsDesktop, FEATURE_VALUE_TYPE(feed::kWebUiFeed)}, -@@ -5338,7 +5338,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5198,7 +5198,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(omnibox::kZeroSuggestInMemoryCaching)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) {"omnibox-experimental-keyword-mode", flag_descriptions::kOmniboxExperimentalKeywordModeName, flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop, -@@ -5976,7 +5976,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5841,7 +5841,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kPointerLockOptionsDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kPointerLockOptions)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-async-dns", flag_descriptions::kAsyncDnsName, flag_descriptions::kAsyncDnsDescription, kOsWin | kOsLinux, FEATURE_VALUE_TYPE(features::kAsyncDns)}, -@@ -6976,7 +6976,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6796,7 +6796,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_CHROMEOS) #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) {"global-media-controls-modern-ui", flag_descriptions::kGlobalMediaControlsModernUIName, flag_descriptions::kGlobalMediaControlsModernUIDescription, -@@ -7744,7 +7744,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7539,7 +7539,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) {"quick-commands", flag_descriptions::kQuickCommandsName, flag_descriptions::kQuickCommandsDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kQuickCommands)}, -@@ -8002,7 +8002,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7766,7 +7766,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kWallpaperPerDesk)}, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"enable-get-display-media-set", flag_descriptions::kGetDisplayMediaSetName, + flag_descriptions::kGetDisplayMediaSetDescription, + kOsCrOS | kOsLacros | kOsLinux, +@@ -7816,7 +7816,7 @@ const FeatureEntry kFeatureEntries[] = { #if BUILDFLAG(IS_WIN) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -8561,7 +8561,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8353,7 +8353,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) {"document-picture-in-picture-api", flag_descriptions::kDocumentPictureInPictureApiName, flag_descriptions::kDocumentPictureInPictureApiDescription, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc index 4106746cf7dd..b1298283829d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -1,11 +1,11 @@ ---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc @@ -91,7 +91,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 GetApplicationNameForProtocol doesn't distinguish + // 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/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc index cb39b053b725..ac23eaeb0d21 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/background_mode_manager.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/background/background_mode_manager.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/background/background_mode_manager.cc -@@ -892,7 +892,7 @@ gfx::ImageSkia GetStatusTrayIcon() { +@@ -889,7 +889,7 @@ gfx::ImageSkia GetStatusTrayIcon() { return gfx::ImageSkia(); return family->CreateExact(size).AsImageSkia(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( IDR_PRODUCT_LOGO_128); #elif BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc index 5f0ef2cf683f..ddb7b2fcf4d2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/browser_features.cc.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/browser_features.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/browser_features.cc -@@ -30,7 +30,7 @@ BASE_FEATURE(kColorProviderRedirectionForThemeProvider +@@ -24,7 +24,7 @@ BASE_FEATURE(kClosedTabCache, // 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); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc index 3e4b046868fe..af68a7f2a7d5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_process_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/browser_process_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/browser_process_impl.cc -@@ -214,7 +214,7 @@ +@@ -215,7 +215,7 @@ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck #endif -@@ -1188,7 +1188,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1195,7 +1195,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { ApplyMetricsReportingPolicy(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChromeJsErrorReportProcessor::Create(); #endif -@@ -1428,7 +1428,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1435,7 +1435,7 @@ void BrowserProcessImpl::Unpin() { // Mac is currently not supported. // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) bool BrowserProcessImpl::IsRunningInBackground() const { // Check if browser is in the background. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 5129be9e4228..e47309e52c46 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,71 +1,71 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/chrome_browser_interface_binders.cc -@@ -114,13 +114,13 @@ +@@ -113,13 +113,13 @@ #endif // BUILDFLAG(FULL_SAFE_BROWSING) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || 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" #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h" #endif @@ -192,7 +192,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/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" -@@ -812,7 +812,7 @@ void PopulateChromeFrameBinders( +@@ -853,7 +853,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 (!render_frame_host->GetParent()) { map->Add( base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed)); -@@ -820,7 +820,7 @@ void PopulateChromeFrameBinders( +@@ -861,7 +861,7 @@ void PopulateChromeFrameBinders( #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || 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 -@@ -885,14 +885,14 @@ void PopulateChromeWebUIFrameBinders( +@@ -926,14 +926,14 @@ void PopulateChromeWebUIFrameBinders( SegmentationInternalsUI>(map); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< connectors_internals::mojom::PageHandler, enterprise_connectors::ConnectorsInternalsUI>(map); #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); #endif -@@ -1303,7 +1303,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -1332,7 +1332,7 @@ void PopulateChromeWebUIFrameBinders( #endif // BUILDFLAG(IS_CHROMEOS_ASH) #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/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc index c4a2caa6dce8..54b1310e1d07 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,43 +1,43 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/chrome_browser_main.cc @@ -240,11 +240,11 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #include "chrome/browser/first_run/upgrade_util_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/crash/core/app/crashpad.h" #endif @@ -279,7 +279,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h" #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" -@@ -988,7 +988,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -986,7 +986,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { browser_creator_->AddFirstRunTabs(master_prefs_->new_tabs); } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || 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 . -@@ -1044,7 +1044,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1042,7 +1042,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); TouchModeStatsTracker::Initialize( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index 9bd66f592226..77d3f49bb27f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,145 +1,163 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -400,7 +400,7 @@ - #include "components/user_manager/user_manager.h" +@@ -411,7 +411,7 @@ #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" #include "storage/browser/file_system/external_mount_points.h" + #include "ui/display/screen.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #include "chrome/browser/chrome_browser_main_linux.h" #elif BUILDFLAG(IS_ANDROID) #include "base/android/application_status_listener.h" -@@ -485,12 +485,12 @@ +@@ -496,12 +496,12 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) #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 -@@ -499,13 +499,13 @@ +@@ -510,13 +510,13 @@ #include "components/crash/content/browser/crash_handler_host_linux.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/chrome_browser_main_extra_parts_enterprise.h" #include "chrome/browser/ui/webui/app_settings/web_app_settings_navigation_throttle.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || 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_ASH) -@@ -534,11 +534,11 @@ +@@ -545,11 +545,11 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.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" -@@ -1624,7 +1624,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1534,7 +1534,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre + policy::policy_prefs::kPPAPISharedImagesSwapChainAllowed, true); + registry->RegisterBooleanPref( + policy::policy_prefs::kForceEnablePepperVideoDecoderDevAPI, false); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled, + true); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +@@ -1641,7 +1641,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo #elif BUILDFLAG(IS_CHROMEOS_LACROS) main_parts = std::make_unique( is_integration_test, &startup_data_); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) main_parts = std::make_unique( is_integration_test, &startup_data_); #elif BUILDFLAG(IS_ANDROID) -@@ -1663,7 +1663,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1680,7 +1680,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo std::make_unique()); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) main_parts->AddParts( std::make_unique()); #else -@@ -1684,7 +1684,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1701,7 +1701,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo main_parts->AddParts(std::make_unique()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts->AddParts(std::make_unique()); #elif BUILDFLAG(IS_OZONE) main_parts->AddParts(std::make_unique()); -@@ -1703,7 +1703,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo +@@ -1720,7 +1720,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo chrome::AddMetricsExtraParts(main_parts.get()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) main_parts->AddParts( std::make_unique< chrome::enterprise_util::ChromeBrowserMainExtraPartsEnterprise>()); -@@ -2526,6 +2526,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2554,6 +2554,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin #if(0) #if BUILDFLAG(IS_ANDROID) bool enable_crash_reporter = true; +#elif BUILDFLAG(IS_BSD) + bool enable_crash_reporter = false; #elif BUILDFLAG(IS_CHROMEOS) bool enable_crash_reporter = false; if (crash_reporter::IsCrashpadEnabled()) { -@@ -2909,7 +2911,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2925,7 +2927,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess( command_line); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || 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)) { -@@ -4392,7 +4394,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -4418,7 +4420,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, -@@ -4907,14 +4909,14 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4935,14 +4937,14 @@ 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); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); -@@ -4941,7 +4943,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4973,7 +4975,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); +@@ -6553,7 +6555,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS + } + + bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() { +-#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/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h index 365f44d12cb5..71865180e708 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -441,7 +441,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -444,7 +444,7 @@ class ChromeContentBrowserClient : public content::Con void OverridePageVisibilityState( content::RenderFrameHost* render_frame_host, content::PageVisibilityState* visibility_state) override; -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc index 52ffde0ae7a3..894fffab27d0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc +++ b/www/ungoogled-chromium/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 2022-10-01 07:40:07 UTC +--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc -@@ -69,7 +69,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau +@@ -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/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index e3db5adde465..3274716645b3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1548,7 +1548,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1534,7 +1534,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( 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(); } -@@ -1614,7 +1614,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -1600,7 +1600,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()) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc index 9bccd3090e55..5251ed4f6099 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_commands.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/download/download_commands.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/download/download_commands.cc -@@ -26,7 +26,7 @@ +@@ -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_FUCHSIA) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || 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" -@@ -167,7 +167,7 @@ void DownloadCommands::ExecuteCommand(Command command) +@@ -168,7 +168,7 @@ void DownloadCommands::ExecuteCommand(Command command) } #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) Browser* DownloadCommands::GetBrowser() const { if (!model_) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h index 7f8092c2b4c6..887d3344f307 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h @@ -1,11 +1,11 @@ ---- chrome/browser/download/download_commands.h.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/download/download_commands.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/download/download_commands.h -@@ -55,7 +55,7 @@ class DownloadCommands { +@@ -56,7 +56,7 @@ class DownloadCommands { void ExecuteCommand(Command command); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) bool IsDownloadPdf() const; bool CanOpenPdfInSystemViewer() const; Browser* GetBrowser() const; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc index cec0e3753ec9..6eeafcbea404 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/download/download_item_model.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/download/download_item_model.cc -@@ -798,7 +798,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -753,7 +753,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(); -@@ -841,7 +841,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -796,7 +796,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand base::UmaHistogramBoolean("Download.SetAlwaysOpenTo", !is_checked); 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); -@@ -1164,7 +1164,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1119,7 +1119,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") { SetShouldPreferOpeningInBrowser(true); return; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc index 9eba70d6085b..cac789c2a532 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,90 +1,90 @@ ---- chrome/browser/download/download_prefs.cc.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/download/download_prefs.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/download/download_prefs.cc -@@ -13,6 +13,7 @@ - #include "base/callback_helpers.h" +@@ -11,6 +11,7 @@ + #include "base/check.h" #include "base/cxx17_backports.h" +#include "base/command_line.h" #include "base/feature_list.h" #include "base/files/file_util.h" - #include "base/no_destructor.h" + #include "base/functional/bind.h" @@ -61,6 +62,10 @@ #include "chrome/browser/ui/pdf/adobe_reader_info_win.h" #endif +#if BUILDFLAG(IS_OPENBSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#endif + using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; @@ -71,7 +76,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; @@ -182,7 +187,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi #endif // BUILDFLAG(IS_CHROMEOS_ASH) #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 @@ -295,7 +300,7 @@ void DownloadPrefs::RegisterProfilePrefs( registry->RegisterTimePref(prefs::kDownloadLastCompleteTime, /*default_value=*/base::Time()); #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) @@ -464,7 +469,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; @@ -496,7 +501,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(); @@ -527,7 +532,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; @@ -651,7 +656,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa #else // If the stored download directory is an absolute path, we presume it's // correct; there's not really much more validation we can do here. +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (!sandbox->unveil_initialized() && path.IsAbsolute()) +#else if (path.IsAbsolute()) +#endif return path; // When the default download directory is *not* an absolute path, we use the diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc index 21f80cfe1160..fe442b471d23 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/enterprise/connectors/connectors_service.cc -@@ -484,7 +484,7 @@ bool ConnectorsService::ConnectorsEnabled() const { +@@ -478,7 +478,7 @@ bool ConnectorsService::ConnectorsEnabled() const { Profile* profile = Profile::FromBrowserContext(context_); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On desktop, the guest profile is actually the primary OTR profile of // the "regular" guest profile. The regular guest profile is never used // directly by users. Also, user are not able to create child OTR profiles diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc index 3b9cf6c3d09e..38bf70c047cf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc @@ -1,43 +1,29 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc -@@ -11,11 +11,11 @@ +@@ -11,7 +11,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" - #if BUILDFLAG(IS_MAC) - #include "chrome/browser/enterprise/connectors/device_trust/browser/mac_device_trust_connector_service.h" --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h" - #endif // BUILDFLAG(IS_MAC) #include "chrome/browser/policy/chrome_browser_policy_connector.h" -@@ -45,7 +45,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi +@@ -41,7 +41,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 IsDeviceTrustConnectorFeatureEnabled(); #else return false; -@@ -81,7 +81,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil +@@ -77,7 +77,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil DeviceTrustConnectorService* service = nullptr; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (IsDeviceTrustConnectorFeatureEnabled()) { auto* key_manager = g_browser_process->browser_policy_connector() ->chrome_browser_cloud_management_controller() -@@ -89,7 +89,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil - #if BUILDFLAG(IS_MAC) - service = new MacDeviceTrustConnectorService( - key_manager, profile->GetPrefs(), g_browser_process->local_state()); --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - service = new BrowserDeviceTrustConnectorService(key_manager, - profile->GetPrefs()); - #endif // BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc index 7bf1e007f578..fcfd6ae06112 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2022-10-29 17:50:56 UTC +--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc -@@ -14,7 +14,7 @@ +@@ -13,7 +13,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" -@@ -47,7 +47,7 @@ std::unique_ptr KeyRotationCommand - PrefService* local_prefs) { +@@ -45,7 +45,7 @@ std::unique_ptr KeyRotationCommand + scoped_refptr url_loader_factory) { #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) - return std::make_unique(url_loader_factory, + return std::make_unique(url_loader_factory); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn index 27e4a283fd3f..bb2cae68fa3a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1322,6 +1322,10 @@ static_library("extensions") { +@@ -1330,6 +1330,10 @@ static_library("extensions") { deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_service_discovery) { sources += [ "api/mdns/mdns_api.cc", diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc index 2524477b0536..6cc8a0ffe9ac 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -1,38 +1,38 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc -@@ -31,7 +31,7 @@ +@@ -32,7 +32,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 "base/strings/string_util.h" #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" #include "chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h" -@@ -105,7 +105,7 @@ api::enterprise_reporting_private::ContextInfo ToConte +@@ -106,7 +106,7 @@ api::enterprise_reporting_private::ContextInfo ToConte return info; } -#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( const std::string& user_id, -@@ -165,7 +165,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: +@@ -166,7 +166,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: // getPersistentSecret -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) EnterpriseReportingPrivateGetPersistentSecretFunction:: EnterpriseReportingPrivateGetPersistentSecretFunction() = default; -@@ -592,7 +592,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction:: +@@ -593,7 +593,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/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h index afb69701893d..f14bfd49ce2c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h -@@ -19,7 +19,7 @@ +@@ -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) -@@ -55,7 +55,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : +@@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : ~EnterpriseReportingPrivateGetDeviceIdFunction() override; }; -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) class EnterpriseReportingPrivateGetPersistentSecretFunction : public ExtensionFunction { -@@ -265,7 +265,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction +@@ -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/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc index 89f16349d16f..c2b262a10541 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc -@@ -518,7 +518,7 @@ void PasswordsPrivateDelegateImpl::OsReauthCall( +@@ -520,7 +520,7 @@ void PasswordsPrivateDelegateImpl::OsReauthCall( } 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/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index b70f951b2212..3d7032bbb5aa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -184,7 +184,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -188,7 +188,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::PREF_TYPE_BOOLEAN; #endif -@@ -196,7 +196,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -200,7 +200,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist settings_api::PrefType::PREF_TYPE_STRING; (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::PREF_TYPE_NUMBER; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kUsesSystemThemeDeprecated] = settings_api::PrefType::PREF_TYPE_BOOLEAN; (*s_allowlist)[::prefs::kSystemTheme] = diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index 6f477aa5b0a3..be1fd8dea655 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -825,7 +825,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -819,7 +819,7 @@ void ExternalProviderImpl::CreateExternalProviders( if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) provider_list->push_back(std::make_unique( service, base::MakeRefCounted( -@@ -853,7 +853,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -847,7 +847,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index 6e21a40c8ee4..dd089d43074f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2023-02-23 13:06:30 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -300,7 +300,7 @@ const struct { - {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"), +@@ -307,7 +307,7 @@ const struct { + {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"), kDontBlockChildren}, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || 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/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc index c6dac75ff9d0..d314c9c2bfdf 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,56 +1,65 @@ ---- chrome/browser/flag_descriptions.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/flag_descriptions.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/flag_descriptions.cc -@@ -6343,7 +6343,7 @@ const char kSearchWebInSidePanelDescription[] = +@@ -6091,7 +6091,7 @@ const char kLibAssistantV2MigrationDescription[] = + + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kGetDisplayMediaSetName[] = "GetDisplayMediaSet API"; + const char kGetDisplayMediaSetDescription[] = + "When enabled, the getDisplayMediaSet API for capturing multiple surfaces " +@@ -6320,7 +6320,7 @@ const char kSearchWebInSidePanelDescription[] = // Random platform combinations ----------------------------------------------- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const char kQuickCommandsName[] = "Quick Commands"; const char kQuickCommandsDescription[] = "Enable a text interface to browser features. Invoke with Ctrl-Space."; -@@ -6352,7 +6352,7 @@ const char kQuickCommandsDescription[] = +@@ -6329,7 +6329,7 @@ const char kQuickCommandsDescription[] = // BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel"; const char kFollowingFeedSidepanelDescription[] = "Enables the following feed in the sidepanel."; -@@ -6373,7 +6373,7 @@ const char kWebShareDescription[] = +@@ -6350,7 +6350,7 @@ const char kWebShareDescription[] = "platforms."; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) const char kOzonePlatformHintChoiceDefault[] = "Default"; const char kOzonePlatformHintChoiceAuto[] = "Auto"; const char kOzonePlatformHintChoiceX11[] = "X11"; -@@ -6393,7 +6393,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti +@@ -6370,7 +6370,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) const char kSkipUndecryptablePasswordsName[] = "Skip undecryptable passwords to use the available decryptable " "passwords."; -@@ -6407,7 +6407,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail +@@ -6384,7 +6384,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail "storage and requests initial sync."; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char kAsyncDnsName[] = "Async DNS resolver"; const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver."; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -@@ -6500,7 +6500,7 @@ const char kElasticOverscrollDescription[] = +@@ -6485,7 +6485,7 @@ const char kElasticOverscrollDescription[] = #if BUILDFLAG(IS_WIN) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const char kUIDebugToolsName[] = "Debugging tools for UI"; const char kUIDebugToolsDescription[] = "Enables additional keyboard shortcuts to help debugging."; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h index 46a2e5e4a301..4f3c68f4d382 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,62 +1,71 @@ ---- chrome/browser/flag_descriptions.h.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/flag_descriptions.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/flag_descriptions.h -@@ -3660,14 +3660,14 @@ extern const char kSearchWebInSidePanelDescription[]; +@@ -3523,7 +3523,7 @@ extern const char kLacrosScreenCoordinatesEnabledName[ + extern const char kLacrosScreenCoordinatesEnabledDescription[]; + #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kGetDisplayMediaSetName[]; + extern const char kGetDisplayMediaSetDescription[]; + +@@ -3642,14 +3642,14 @@ extern const char kSearchWebInSidePanelDescription[]; // Random platform combinations ----------------------------------------------- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) extern const char kQuickCommandsName[]; extern const char kQuickCommandsDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // defined (OS_FUCHSIA) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extern const char kWebShareName[]; extern const char kWebShareDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) -@@ -3677,7 +3677,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa +@@ -3659,7 +3659,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa extern const char kWebBluetoothConfirmPairingSupportDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extern const char kOzonePlatformHintChoiceDefault[]; extern const char kOzonePlatformHintChoiceAuto[]; extern const char kOzonePlatformHintChoiceX11[]; -@@ -3687,7 +3687,7 @@ extern const char kOzonePlatformHintName[]; +@@ -3669,7 +3669,7 @@ extern const char kOzonePlatformHintName[]; extern const char kOzonePlatformHintDescription[]; #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extern const char kSkipUndecryptablePasswordsName[]; extern const char kSkipUndecryptablePasswordsDescription[]; -@@ -3695,13 +3695,13 @@ extern const char kForcePasswordInitialSyncWhenDecrypt +@@ -3677,13 +3677,13 @@ extern const char kForcePasswordInitialSyncWhenDecrypt extern const char kForcePasswordInitialSyncWhenDecryptionFailsDescription[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extern const char kAsyncDnsName[]; extern const char kAsyncDnsDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kFollowingFeedSidepanelName[]; extern const char kFollowingFeedSidepanelDescription[]; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -3776,7 +3776,7 @@ extern const char kElasticOverscrollDescription[]; +@@ -3763,7 +3763,7 @@ extern const char kElasticOverscrollDescription[]; #if BUILDFLAG(IS_WIN) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) extern const char kUIDebugToolsName[]; extern const char kUIDebugToolsDescription[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc index a680fc8a4c14..f446dadd3121 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -1,25 +1,25 @@ ---- chrome/browser/headless/headless_mode_util.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/headless/headless_mode_util.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/headless/headless_mode_util.cc @@ -10,11 +10,11 @@ // 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" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "ui/gl/gl_switches.h" - #include "ui/ozone/public/ozone_switches.h" + #include "ui/gl/gl_switches.h" // nogncheck + #include "ui/ozone/public/ozone_switches.h" // nogncheck #endif // BUILDFLAG(IS_LINUX) @@ -64,7 +64,7 @@ void SetUpCommandLine(const base::CommandLine* command base::CommandLine::ForCurrentProcess()->AppendSwitch( ::switches::kNoErrorDialogs); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Headless mode on Linux relies on ozone/headless platform. base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( ::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc new file mode 100644 index 000000000000..566ab5bb1311 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_capture__policy__utils.cc @@ -0,0 +1,20 @@ +--- chrome/browser/media/webrtc/capture_policy_utils.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/media/webrtc/capture_policy_utils.cc +@@ -118,7 +118,7 @@ AllowedScreenCaptureLevel GetAllowedCaptureLevel(const + + bool IsGetDisplayMediaSetSelectAllScreensAllowedForAnySite( + content::BrowserContext* context) { +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + Profile* profile = Profile::FromBrowserContext(context); + if (!profile) { + return false; +@@ -145,7 +145,7 @@ bool IsGetDisplayMediaSetSelectAllScreensAllowedForAny + bool IsGetDisplayMediaSetSelectAllScreensAllowed( + content::BrowserContext* context, + const GURL& url) { +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + Profile* profile = Profile::FromBrowserContext(context); + if (!profile) + return false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc new file mode 100644 index 000000000000..7d0707045397 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc @@ -0,0 +1,47 @@ +--- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/media/webrtc/chrome_screen_enumerator.cc +@@ -20,7 +20,7 @@ + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "ash/shell.h" + #include "ui/aura/window.h" +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/functional/callback.h" + #include "content/public/browser/desktop_capture.h" + #endif +@@ -31,7 +31,7 @@ base::LazyInstance>::Destru + root_windows_for_testing_ = LAZY_INSTANCE_INITIALIZER; + } // namespace + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace { + base::LazyInstance>::DestructorAtExit + g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER; +@@ -77,7 +77,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens( + return stream_devices_set; + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + blink::mojom::StreamDevicesSetPtr EnumerateScreens( + blink::mojom::MediaStreamType stream_type) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); +@@ -128,7 +128,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting( + root_windows_for_testing_.Get() = std::move(root_windows); + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ChromeScreenEnumerator::SetDesktopCapturerForTesting( + std::unique_ptr capturer) { + g_desktop_capturer_for_testing.Get() = std::move(capturer); +@@ -144,7 +144,7 @@ void ChromeScreenEnumerator::EnumerateScreens( + DCHECK(base::FeatureList::IsEnabled( + features::kGetDisplayMediaSetAutoSelectAllScreens)); + +-#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/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h new file mode 100644 index 000000000000..a4c23bb1b520 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h @@ -0,0 +1,20 @@ +--- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/media/webrtc/chrome_screen_enumerator.h +@@ -21,7 +21,7 @@ namespace aura { + class Window; + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace webrtc { + class DesktopCapturer; + } +@@ -42,7 +42,7 @@ class ChromeScreenEnumerator : public media::ScreenEnu + + #if BUILDFLAG(IS_CHROMEOS_ASH) + static void SetRootWindowsForTesting(std::vector root_windows); +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + static void SetDesktopCapturerForTesting( + std::unique_ptr capturer); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc index aed7b870e278..ddfc9aff5f31 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc -@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome"; +@@ -41,7 +41,7 @@ const char kProduct[] = "Chrome"; const char kProduct[] = "Chrome_Mac"; #elif BUILDFLAG(IS_CHROMEOS_ASH) const char kProduct[] = "Chrome_ChromeOS"; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) const char kProduct[] = "Chrome_Linux"; #elif BUILDFLAG(IS_ANDROID) const char kProduct[] = "Chrome_Android"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc index 2407374d17a0..bbd138d501b9 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc @@ -1,37 +1,37 @@ ---- chrome/browser/memory_details_linux.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/memory_details_linux.cc.orig 2023-03-10 06:02:42 UTC +++ chrome/browser/memory_details_linux.cc -@@ -13,6 +13,7 @@ +@@ -12,6 +12,7 @@ + #include #include - #include "base/bind.h" +#include "base/command_line.h" #include "base/files/file_util.h" + #include "base/functional/bind.h" #include "base/process/process_iterator.h" - #include "base/process/process_metrics.h" @@ -27,6 +28,7 @@ #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/process_type.h" +#include "sandbox/policy/switches.h" #include "ui/base/l10n/l10n_util.h" using base::ProcessEntry; @@ -70,9 +72,18 @@ ProcessData GetProcessDataMemoryInformation( std::unique_ptr metrics( base::ProcessMetrics::CreateProcessMetrics(pid)); + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) { + pmi.num_open_fds = 0; + pmi.open_fds_soft_limit = 0; + goto out; + } + pmi.num_open_fds = metrics->GetOpenFdCount(); pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit(); +out: process_data.processes.push_back(pmi); } return process_data; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index 929b543761a2..739831d732b3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -1,23 +1,23 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc @@ -61,8 +61,10 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) +-#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) +#if !BUILDFLAG(IS_BSD) #include +#endif #include "base/linux_util.h" #include "base/strings/string_split.h" -@@ -494,7 +496,7 @@ void RecordStartupMetrics() { +@@ -491,7 +493,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, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index 1d607b0399bd..969d8d5d3176 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,47 +1,47 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -175,7 +175,7 @@ +@@ -174,7 +174,7 @@ #include "chrome/notification_helper/notification_helper_constants.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 -@@ -738,7 +738,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -736,7 +736,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 -@@ -819,7 +819,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -817,7 +817,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics_service_->RegisterMetricsProvider( std::make_unique()); -@@ -914,7 +914,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -912,7 +912,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) -@@ -1105,7 +1105,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1096,7 +1096,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc index 33d4c0e190e8..3ca204979623 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc @@ -1,12 +1,12 @@ ---- chrome/browser/platform_util_linux.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/platform_util_linux.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/platform_util_linux.cc -@@ -296,7 +296,9 @@ void RunCommand(const std::string& command, +@@ -298,7 +298,9 @@ void RunCommand(const std::string& command, base::LaunchOptions options; options.current_directory = working_directory; +#if !defined(OS_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/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index 41b0a967f83e..80ca33f9bb4a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,156 +1,186 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -198,13 +198,13 @@ +@@ -199,17 +199,17 @@ #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 "components/device_signals/core/browser/pref_names.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include "chrome/browser/web_applications/policy/web_app_settings_policy_handler.h" #endif -@@ -717,14 +717,14 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +-#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_FUCHSIA) || BUILDFLAG(IS_ANDROID) + #include "chrome/browser/privacy_sandbox/privacy_sandbox_policy_handler.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -719,14 +719,14 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kManagedDefaultGeolocationSetting, base::Value::Type::INTEGER }, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ - || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC) + || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { key::kRequireOnlineRevocationChecksForLocalAnchors, prefs::kCertRevocationCheckingRequiredLocalAnchors, base::Value::Type::BOOLEAN }, #endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) // || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ - || BUILDFLAG(IS_FUCHSIA) + || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) { key::kFullscreenAllowed, prefs::kFullscreenAllowed, base::Value::Type::BOOLEAN }, -@@ -1354,7 +1354,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1356,7 +1356,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kGSSAPILibraryName, prefs::kGSSAPILibraryName, base::Value::Type::STRING }, -@@ -1424,18 +1424,18 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1426,18 +1426,18 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kTotalMemoryLimitMb, base::Value::Type::INTEGER }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kBackgroundModeEnabled, prefs::kBackgroundModeEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ - || BUILDFLAG(IS_FUCHSIA) + || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) { key::kDefaultBrowserSettingEnabled, prefs::kDefaultBrowserSettingEnabled, base::Value::Type::BOOLEAN }, -@@ -1448,7 +1448,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1450,7 +1450,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) // || BUILDFLAG(IS_FUCHSIA) #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) { key::kAutoplayAllowed, prefs::kAutoplayAllowed, base::Value::Type::BOOLEAN }, -@@ -1552,7 +1552,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1554,7 +1554,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 }, -@@ -1639,7 +1639,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1641,13 +1641,13 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kGetDisplayMediaSetSelectAllScreensAllowedForUrls, + prefs::kManagedGetDisplayMediaSetSelectAllScreensAllowedForUrls, + base::Value::Type::LIST }, + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + -#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 }, -@@ -1686,7 +1686,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1694,7 +1694,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(ENABLE_EXTENSIONS) && (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) \ - || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) + || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) { key::kChromeAppsEnabled, extensions::pref_names::kChromeAppsEnabled, base::Value::Type::BOOLEAN }, -@@ -1746,7 +1746,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1754,7 +1754,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { key::kPrefixedStorageInfoEnabled, storage::kPrefixedStorageInfoEnabled, base::Value::Type::BOOLEAN }, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) { key::kHighEfficiencyModeEnabled, performance_manager::user_tuning::prefs::kHighEfficiencyModeEnabled, base::Value::Type::BOOLEAN }, -@@ -1981,7 +1981,7 @@ std::unique_ptr BuildH - SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, - SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); +@@ -1799,7 +1799,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + policy::policy_prefs::kForceEnablePepperVideoDecoderDevAPI, + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(ENABLE_PPAPI) +-#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 }, +@@ -2048,7 +2048,7 @@ std::unique_ptr BuildH + #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) + #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( -@@ -2058,7 +2058,7 @@ std::unique_ptr BuildH +@@ -2106,7 +2106,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()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -2416,7 +2416,7 @@ std::unique_ptr BuildH +@@ -2464,7 +2464,7 @@ std::unique_ptr BuildH extensions::pref_names::kManifestV2Availability, /*min=*/0, /*max=*/3, /*clamp=*/false)); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) handlers->AddHandler( std::make_unique(chrome_schema)); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -2429,7 +2429,7 @@ std::unique_ptr BuildH +@@ -2477,7 +2477,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( -@@ -2437,7 +2437,7 @@ std::unique_ptr BuildH +@@ -2485,7 +2485,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)); +@@ -2498,7 +2498,7 @@ std::unique_ptr BuildH + handlers->AddHandler( + std::make_unique( + chrome_schema)); +-#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_FUCHSIA) || BUILDFLAG(IS_ANDROID) + handlers->AddHandler(std::make_unique()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index 5a9b811a6386..b0ea8c59d6e6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,69 +1,69 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -452,14 +452,14 @@ +@@ -455,14 +455,14 @@ #include "components/os_crypt/os_crypt.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/url_handler_prefs.h" #include "components/device_signals/core/browser/pref_names.h" #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #endif -@@ -492,7 +492,7 @@ +@@ -495,7 +495,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 -@@ -1030,7 +1030,7 @@ void RegisterProfilePrefsForMigration( +@@ -1066,7 +1066,7 @@ void RegisterProfilePrefsForMigration( registry->RegisterIntegerPref(kProfileAvatarTutorialShown, 0); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Deprecated 08/2022. registry->RegisterBooleanPref(prefs::kUsesSystemThemeDeprecated, false); #endif -@@ -1288,7 +1288,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1342,7 +1342,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #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) web_app::url_handler_prefs::RegisterLocalStatePrefs(registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1620,11 +1620,11 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -1676,11 +1676,11 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync safe_browsing::PostCleanupSettingsResetter::RegisterProfilePrefs(registry); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) device_signals::RegisterProfilePrefs(registry); #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) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); #endif -@@ -2008,7 +2008,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) { +@@ -2079,7 +2079,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) { profile_prefs->ClearPref(kProfileAvatarTutorialShown); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Added 08/2022. if (profile_prefs->HasPrefPath(prefs::kUsesSystemThemeDeprecated)) { auto migrated_theme = diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc index b51d1e1f3e1e..34e21052ce24 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/prefs/pref_service_incognito_allowlist.cc -@@ -138,7 +138,7 @@ const char* const kPersistentPrefNames[] = { +@@ -139,7 +139,7 @@ const char* const kPersistentPrefNames[] = { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Toggleing custom frames affects all open windows in the profile, hence // should be written to the regular profile when changed in incognito mode. prefs::kUseCustomChromeFrame, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc index dfe118657cab..99d2c1b00287 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -1,29 +1,29 @@ ---- chrome/browser/printing/print_backend_service_manager.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/printing/print_backend_service_manager.cc -@@ -513,7 +513,7 @@ absl::optional PrintBackendServiceManager::R +@@ -547,7 +547,7 @@ PrintBackendServiceManager::RegisterClient( query_clients_.insert(client_id); break; case ClientType::kQueryWithUi: -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) if (!query_with_ui_clients_.empty()) return absl::nullopt; #endif -@@ -751,7 +751,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate +@@ -811,7 +811,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate break; 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 (query_with_ui_clients_.size() > 1) return absl::nullopt; -@@ -808,7 +808,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate +@@ -868,7 +868,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 (!query_with_ui_clients_.empty()) + if (HasQueryWithUiClientForRemoteId(remote_id)) { return absl::nullopt; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_printer__query.cc similarity index 55% rename from www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc rename to www/ungoogled-chromium/files/patch-chrome_browser_printing_printer__query.cc index d6d8205b0de5..e7d9c570e7b3 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_printer__query.cc @@ -1,11 +1,11 @@ ---- chrome/browser/printing/print_job_worker.cc.orig 2023-02-11 09:11:04 UTC -+++ chrome/browser/printing/print_job_worker.cc -@@ -205,7 +205,7 @@ void PrintJobWorker::SetSettings(base::Value::Dict new +--- chrome/browser/printing/printer_query.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/printing/printer_query.cc +@@ -284,7 +284,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di crash_key = std::make_unique( print_backend->GetPrinterDriverInfo(printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && 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/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 160db60f90ca..080636f303d8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,25 +1,26 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -260,7 +260,7 @@ - #include "chrome/browser/ui/cocoa/screentime/screentime_features.h" +@@ -262,7 +262,7 @@ #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/idle/idle_service_factory.h" #endif -@@ -444,11 +444,11 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -451,12 +451,12 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics::DesktopProfileSessionDurationsServiceFactory::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) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) enterprise_idle::IdleServiceFactory::GetInstance(); #endif ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc index 823864e0c117..a680bbba0996 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,31 +1,31 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/profiles/profile_impl.cc @@ -255,6 +255,10 @@ #include "chrome/browser/spellchecker/spellcheck_service.h" #endif +#if BUILDFLAG(IS_OPENBSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#endif + using bookmarks::BookmarkModel; using content::BrowserThread; using content::DownloadManagerDelegate; -@@ -848,7 +852,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -850,7 +854,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } base::FilePath ProfileImpl::last_selected_directory() { +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (sandbox->unveil_initialized()) + return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); + else + return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#else return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#endif } void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts index 6a103d8bca1a..d859371caa3f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts @@ -1,11 +1,11 @@ ---- chrome/browser/resources/settings/route.ts.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/resources/settings/route.ts.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/resources/settings/route.ts -@@ -215,7 +215,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes +@@ -220,7 +220,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes r.ACCESSIBILITY = r.ADVANCED.createSection( '/accessibility', 'a11y', loadTimeData.getString('a11yPageTitle')); - // + // r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions'); // diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html index 98174fe23568..95bcb6cb5ec6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html @@ -1,38 +1,38 @@ ---- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html -@@ -443,7 +443,7 @@ +@@ -556,7 +556,7 @@ consent-confirmation autofocus> $i18n{syncConfirmationConfirmLabel} - + $i18n{syncConfirmationSettingsLabel} -@@ -453,7 +453,7 @@ +@@ -566,7 +566,7 @@ disabled="[[anyButtonClicked_]]"> $i18n{syncConfirmationUndoLabel} - + $i18n{syncConfirmationSettingsLabel} -@@ -496,7 +496,7 @@ +@@ -609,7 +609,7 @@ consent-confirmation> $i18n{syncConfirmationConfirmLabel} - + $i18n{syncConfirmationSettingsLabel} -@@ -506,7 +506,7 @@ +@@ -619,7 +619,7 @@ disabled="[[anyButtonClicked_]]"> $i18n{syncConfirmationUndoLabel} - + $i18n{syncConfirmationSettingsLabel} diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc index 299d4d9871e2..1a12ab6d0d74 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/sync/chrome_sync_client.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/sync/chrome_sync_client.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/sync/chrome_sync_client.cc -@@ -127,7 +127,7 @@ +@@ -126,7 +126,7 @@ #endif // BUILDFLAG(IS_ANDROID) #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" #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || -@@ -448,7 +448,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy +@@ -467,7 +467,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (features::kTabGroupsSaveSyncIntegration.Get()) { controllers.push_back(std::make_unique( syncer::SAVED_TAB_GROUP, -@@ -461,7 +461,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy +@@ -480,7 +480,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy // 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 (GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) { controllers.push_back( -@@ -627,7 +627,7 @@ ChromeSyncClient::GetControllerDelegateForModelType(sy - ->GetControllerDelegate(); - } +@@ -639,7 +639,7 @@ base::WeakPtr + ChromeSyncClient::GetControllerDelegateForModelType(syncer::ModelType type) { + switch (type) { #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case syncer::SAVED_TAB_GROUP: { DCHECK(features::kTabGroupsSaveSyncIntegration.Get()); return SavedTabGroupServiceFactory::GetForProfile(profile_) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc index e07792431c28..28a4d7de0d26 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/sync/device_info_sync_client_impl.cc -@@ -42,7 +42,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD +@@ -41,7 +41,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD // in lacros-chrome once build flag switch of lacros-chrome is // complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) syncer::SyncPrefs prefs(profile_->GetPrefs()); if (prefs.IsLocalSyncEnabled()) { return "local_device"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc index da5cb22987cb..fcf38a787599 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -1,29 +1,29 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/sync/sync_service_factory.cc -@@ -74,7 +74,7 @@ +@@ -75,7 +75,7 @@ #endif // BUILDFLAG(IS_CHROMEOS_ASH) #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_service_factory.h" #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_WIN) -@@ -115,7 +115,7 @@ std::unique_ptr BuildSyncService( +@@ -116,7 +116,7 @@ std::unique_ptr BuildSyncService( // TODO(crbug.com/1052397): Reassess whether the following block needs to be // included in lacros-chrome once build flag switch of lacros-chrome is // complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) syncer::SyncPrefs prefs(profile->GetPrefs()); local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); -@@ -251,7 +251,7 @@ SyncServiceFactory::SyncServiceFactory() +@@ -250,7 +250,7 @@ SyncServiceFactory::SyncServiceFactory() DependsOn(ThemeServiceFactory::GetInstance()); #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) DependsOn(SavedTabGroupServiceFactory::GetInstance()); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h index 456d09d0ed5a..9c17d08f7f83 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -1,38 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2022-10-01 07:40:07 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/task_manager/sampling/task_group.h -@@ -42,7 +42,7 @@ constexpr int kUnsupportedVMRefreshFlags = +@@ -43,7 +43,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; -@@ -148,7 +148,7 @@ class TaskGroup { +@@ -149,7 +149,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) -@@ -168,7 +168,7 @@ class TaskGroup { +@@ -169,7 +169,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) -@@ -240,7 +240,7 @@ class TaskGroup { +@@ -241,7 +241,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/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc index 3921a0a8b76f..1d3dac42152b 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc +++ b/www/ungoogled-chromium/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 2023-02-11 09:11:04 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.cc -@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler( +@@ -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) -@@ -54,7 +54,7 @@ TaskGroupSampler::TaskGroupSampler( +@@ -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) { -@@ -84,7 +84,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) +@@ -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( -@@ -94,7 +94,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) +@@ -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( -@@ -143,7 +143,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { +@@ -144,7 +144,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/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h index 1753c7715735..1a2259d1fd07 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser.h.orig 2022-10-29 17:50:56 UTC +--- chrome/browser/ui/browser.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/browser.h -@@ -277,7 +277,7 @@ class Browser : public TabStripModelObserver, +@@ -281,7 +281,7 @@ class Browser : public TabStripModelObserver, int32_t restore_id = kDefaultRestoreId; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When the browser window is shown, the desktop environment is notified // using this ID. In response, the desktop will stop playing the "waiting // for startup" animation (if any). diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index 7bea583ca936..45a3d0ad9360 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -98,7 +98,7 @@ +@@ -104,7 +104,7 @@ #include "components/user_manager/user_manager.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -283,7 +283,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -289,7 +289,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(); -@@ -528,7 +528,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -541,7 +541,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) case IDC_MINIMIZE_WINDOW: browser_->window()->Minimize(); break; -@@ -1074,7 +1074,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1096,7 +1096,7 @@ void BrowserCommandController::InitCommandState() { #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc index d035cdcdafdd..91e844702f95 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/chrome_pages.cc @@ -67,7 +67,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #include "chrome/browser/web_applications/web_app_utils.h" #endif -@@ -597,7 +597,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, +@@ -608,7 +608,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) void ShowWebAppSettings(Browser* browser, const std::string& app_id, web_app::AppSettingsPageEntryPoint entry_point) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h index 61d35fbdbf50..d14e2da93f16 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/chrome_pages.h.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/chrome_pages.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/chrome_pages.h @@ -33,7 +33,7 @@ enum class ConsentLevel; } // namespace signin #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) namespace web_app { enum class AppSettingsPageEntryPoint; } // namespace web_app -@@ -222,7 +222,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, +@@ -225,7 +225,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Show chrome://app-settings/ page. void ShowWebAppSettings(Browser* browser, const std::string& app_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index d87cff2eefc4..d822e82b1e2d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -259,7 +259,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -260,7 +260,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 diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc index d1fc9735b74d..3eafec769d22 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,26 +1,26 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -203,7 +203,7 @@ +@@ -205,7 +205,7 @@ #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) #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" -@@ -521,12 +521,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -527,12 +527,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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)) { + base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc index ca6002dde0e9..04aab332edaa 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-12-02 17:56:32 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -455,7 +455,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r +@@ -454,7 +454,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) -@@ -622,7 +622,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, +@@ -621,7 +621,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]); -@@ -796,7 +796,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -795,7 +795,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/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc index bebcced9509c..e23b73ad0d68 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -1,43 +1,43 @@ ---- chrome/browser/ui/views/accelerator_table.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/views/accelerator_table.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/accelerator_table.cc -@@ -64,11 +64,11 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -65,11 +65,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}, -@@ -96,7 +96,7 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -97,7 +97,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}, -@@ -141,7 +141,7 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -142,7 +142,7 @@ const AcceleratorMapping kAcceleratorMap[] = { IDC_SHOW_AVATAR_MENU}, // Platform-specific key maps. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || 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}, -@@ -241,7 +241,7 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -243,7 +243,7 @@ const AcceleratorMapping kAcceleratorMap[] = { #endif // !BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_MAC) #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {ui::VKEY_S, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_RUN_SCREEN_AI_VISUAL_ANNOTATIONS}, #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc index d47933bf6b56..96c24ea6029f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/browser_frame.cc -@@ -46,7 +46,7 @@ +@@ -47,7 +47,7 @@ #include "components/user_manager/user_manager.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 -@@ -54,7 +54,7 @@ +@@ -55,7 +55,7 @@ namespace { bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -270,7 +270,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { +@@ -271,7 +271,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() -@@ -393,7 +393,7 @@ void BrowserFrame::SelectNativeTheme() { +@@ -394,7 +394,7 @@ void BrowserFrame::SelectNativeTheme() { return; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const auto* linux_ui_theme = ui::LinuxUiTheme::GetForWindow(GetNativeWindow()); // Ignore the system theme for web apps with window-controls-overlay as the -@@ -410,7 +410,7 @@ void BrowserFrame::SelectNativeTheme() { +@@ -411,7 +411,7 @@ void BrowserFrame::SelectNativeTheme() { 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/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index 9ef6af0d372a..5aa9d54b2333 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2023-02-23 13:06:30 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2122,7 +2122,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra +@@ -2037,7 +2037,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra // CrOS cleanup is done. // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) contents_web_view_->SetFastResize(is_dragging); if (!is_dragging) { // When tab dragging is ended, we need to make sure the web contents get diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index 002bb87ed31c..f0955ca00ad0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-10-29 17:50:56 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -55,7 +55,7 @@ #include "ui/views/window/vector_icons/vector_icons.h" #include "ui/views/window/window_shape.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/views/controls/menu/menu_runner.h" #endif -@@ -557,7 +557,7 @@ OpaqueBrowserFrameView::FrameButtonStyle +@@ -555,7 +555,7 @@ OpaqueBrowserFrameView::FrameButtonStyle OpaqueBrowserFrameView::GetFrameButtonStyle() const { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) return FrameButtonStyle::kMdButton; #else return FrameButtonStyle::kImageButton; -@@ -580,7 +580,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh +@@ -578,7 +578,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh return false; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) ui::WindowTiledEdges OpaqueBrowserFrameView::GetTiledEdges() const { return frame()->tiled_edges(); } -@@ -776,7 +776,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -774,7 +774,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons } void OpaqueBrowserFrameView::WindowIconPressed() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Chrome OS doesn't show the window icon, and Windows handles this on its own // due to the hit test being HTSYSMENU. menu_runner_ = std::make_unique( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h index 90572efdca2b..140c4eeb427e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2022-10-29 17:50:56 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h @@ -10,7 +10,7 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #include "ui/base/ui_base_types.h" #endif -@@ -96,7 +96,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { +@@ -97,7 +97,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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Returns which edges of the window are snapped to the edges of the desktop // (or "tiled"). virtual ui::WindowTiledEdges GetTiledEdges() const = 0; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc index 8023f6ce82fa..7d71e91bfdad 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc @@ -1,92 +1,92 @@ ---- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc -@@ -36,7 +36,7 @@ +@@ -40,7 +40,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/frame/browser_frame_view_paint_utils_linux.h" #include "chrome/browser/ui/views/frame/desktop_browser_frame_aura_linux.h" #endif -@@ -57,7 +57,7 @@ constexpr int kBackToTabImageSize = 16; +@@ -61,7 +61,7 @@ constexpr int kBackToTabImageSize = 16; // The height of the controls bar at the top of the window. constexpr int kTopControlsHeight = 30; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Frame border when window shadow is not drawn. constexpr int kFrameBorderThickness = 4; #endif -@@ -131,7 +131,7 @@ class WindowEventObserver : public ui::EventObserver { +@@ -151,7 +151,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()) { -@@ -226,7 +226,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow - }, - base::Unretained(this)))); +@@ -341,7 +341,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow + hide_close_button_animation_.set_continuous(false); + hide_close_button_animation_.set_delegate(this); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) frame_background_ = std::make_unique(); #endif -@@ -343,7 +343,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged( +@@ -460,7 +460,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged( for (ContentSettingImageView* view : content_setting_views_) - view->SetIconColor(color_provider->GetColor(kColorOmniboxResultsIcon)); + 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(). - controls_container_view_->SetBackground(views::CreateSolidBackground( - SkColorSetA(color_provider->GetColor(kColorPipWindowControlsBackground), -@@ -376,7 +376,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg + top_bar_container_view_->SetBackground(views::CreateSolidBackground( + color_provider->GetColor(kColorPipWindowTopBarBackground))); +@@ -505,7 +505,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg BrowserNonClientFrameView::RemovedFromWidget(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::Insets PictureInPictureBrowserFrameView::MirroredFrameBorderInsets() const { auto border = FrameBorderInsets(); -@@ -547,7 +547,7 @@ void PictureInPictureBrowserFrameView::OnWidgetDestroy - /////////////////////////////////////////////////////////////////////////////// +@@ -710,7 +710,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_) { -@@ -630,7 +630,7 @@ void PictureInPictureBrowserFrameView::UpdateTopBarVie +@@ -833,7 +833,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 auto tiled_edges = frame()->tiled_edges(); -@@ -651,7 +651,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor +@@ -854,7 +854,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor } gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return FrameBorderInsets(); #else return gfx::Insets(kResizeBorder); -@@ -662,7 +662,7 @@ int PictureInPictureBrowserFrameView::GetTopAreaHeight +@@ -865,7 +865,7 @@ int PictureInPictureBrowserFrameView::GetTopAreaHeight return FrameBorderInsets().top() + kTopControlsHeight; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void PictureInPictureBrowserFrameView::SetWindowFrameProvider( ui::WindowFrameProvider* window_frame_provider) { DCHECK(window_frame_provider); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h index 60957e947308..4fb06b8c7dc6 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h +++ b/www/ungoogled-chromium/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 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h @@ -20,7 +20,7 @@ - #include "ui/views/layout/box_layout_view.h" + #include "ui/views/controls/image_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 -@@ -75,7 +75,7 @@ class PictureInPictureBrowserFrameView +@@ -74,7 +74,7 @@ class PictureInPictureBrowserFrameView void Layout() override; void AddedToWidget() override; void RemovedFromWidget() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gfx::Insets MirroredFrameBorderInsets() const override; gfx::Insets GetInputInsets() const override; SkRRect GetRestoredClipRegion() const override; -@@ -157,7 +157,7 @@ class PictureInPictureBrowserFrameView +@@ -155,7 +155,7 @@ class PictureInPictureBrowserFrameView // Called when mouse entered or exited the pip window. void OnMouseEnteredOrExitedWindow(bool entered); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Sets the window frame provider so that it will be used for drawing. void SetWindowFrameProvider(ui::WindowFrameProvider* window_frame_provider); -@@ -194,7 +194,7 @@ class PictureInPictureBrowserFrameView - widget_observation_{this}; - bool mouse_inside_window_ = false; +@@ -218,7 +218,7 @@ class PictureInPictureBrowserFrameView + gfx::MultiAnimation show_close_button_animation_; + gfx::MultiAnimation hide_close_button_animation_; -#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/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc index 4f45e0664ec6..902dcb6f49e2 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/views/tabs/tab_drag_controller.cc -@@ -82,7 +82,7 @@ +@@ -81,7 +81,7 @@ #include "components/remote_cocoa/browser/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/aura/client/drag_drop_client.h" #endif -@@ -254,7 +254,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { +@@ -259,7 +259,7 @@ bool IsWindowDragUsingSystemDragDropAllowed() { void UpdateSystemDnDDragImage(TabDragContext* attached_context, const gfx::ImageSkia& image) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) aura::Window* root_window = attached_context->GetWidget()->GetNativeWindow()->GetRootWindow(); if (aura::client::GetDragDropClient(root_window)) { -@@ -506,7 +506,7 @@ void TabDragController::Init(TabDragContext* source_co +@@ -511,7 +511,7 @@ void TabDragController::Init(TabDragContext* source_co // synchronous on desktop Linux, so use that. // - Chrome OS // 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) can_release_capture_ = false; #endif start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y()); -@@ -1107,7 +1107,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon +@@ -1112,7 +1112,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. -@@ -2101,7 +2101,7 @@ void TabDragController::CompleteDrag() { +@@ -2106,7 +2106,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 -@@ -2495,7 +2495,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2500,7 +2500,7 @@ TabDragController::Liveness TabDragController::GetLoca } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Exclude windows which are pending deletion via Browser::TabStripEmpty(). // These windows can be returned in the Linux Aura port because the browser // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc new file mode 100644 index 000000000000..ff5a8333eba8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc @@ -0,0 +1,110 @@ +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc +@@ -385,7 +385,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; +@@ -559,7 +559,7 @@ std::vector GetFileExtensionsForProgId( + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool IconManagerCheckIconTopLeftColor(WebAppIconManager& icon_manager, + const AppId& app_id, + std::vector sizes_px, +@@ -890,7 +890,7 @@ void WebAppIntegrationTestDriver::TearDownOnMainThread + LOG(INFO) << "TearDownOnMainThread: Deleting dangling shortcuts."; + // TODO(crbug.com/1273568): Investigate the true source of flakiness instead + // of papering over it here. +-#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->ForceDeleteAllShortcuts()); + #endif + LOG(INFO) +@@ -1637,7 +1637,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( +@@ -2591,7 +2591,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 +@@ -2605,7 +2605,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 +@@ -2615,7 +2615,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; + ASSERT_TRUE(IsFileHandledBySite(site, file_extension)); +@@ -2626,7 +2626,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; + ASSERT_FALSE(IsFileHandledBySite(site, file_extension)); +@@ -3137,7 +3137,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu + base::FilePath shortcut_dir, + const std::string& app_name, + const 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 +@@ -3307,7 +3307,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre + const 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); +@@ -3351,7 +3351,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; + do_icon_colors_match = IconManagerCheckIconTopLeftColor( +@@ -3404,7 +3404,7 @@ bool WebAppIntegrationTestDriver::IsFileHandledBySite( + app_id); + is_file_handled = + shell_integration::CanApplicationHandleURL(app_path, test_file_url); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + AppId app_id = GetAppIdBySiteMode(site); + for (const LinuxFileRegistration& command : + override_registration_->test_override->linux_file_registration()) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc index db62a12d188c..564d3a1fe383 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/about_ui.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/ui/webui/about_ui.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/about_ui.cc -@@ -620,7 +620,7 @@ std::string ChromeURLs() { +@@ -603,7 +603,7 @@ std::string ChromeURLs() { 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, -@@ -678,7 +678,7 @@ void AboutUIHTMLSource::StartDataRequest( +@@ -657,7 +657,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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc index b3e79e1f9dea..fef58e7626c4 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc @@ -1,20 +1,11 @@ ---- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc -@@ -144,7 +144,7 @@ void AppHomePageHandler::InstallOsHooks(const web_app: - web_app->CanUserUninstallWebApp(); - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS)) - options.os_hooks[web_app::OsHookType::kUrlHandlers] = true; - #else - options.os_hooks[web_app::OsHookType::kUrlHandlers] = false; -@@ -276,7 +276,7 @@ void AppHomePageHandler::FillExtensionInfoList( +@@ -392,7 +392,7 @@ void AppHomePageHandler::FillExtensionInfoList( bool is_deprecated_app = false; auto* context = extension_service_->GetBrowserContext(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) is_deprecated_app = extensions::IsExtensionUnsupportedDeprecatedApp( context, extension->id()); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index 733ca6e86291..c15c2f46a872 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,92 +1,92 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -324,7 +324,7 @@ +@@ -325,7 +325,7 @@ #include "chrome/browser/ui/webui/app_launcher_page_ui.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h" #endif -@@ -350,17 +350,17 @@ +@@ -351,17 +351,17 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards_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) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" #endif @@ -721,7 +721,7 @@ bool IsAboutUI(const GURL& url) { #if !BUILDFLAG(IS_ANDROID) || url.host_piece() == chrome::kChromeUITermsHost #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost #endif #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -1012,7 +1012,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1017,7 +1017,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we return &NewWebUI; } #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost) return &NewWebUI; #endif -@@ -1073,7 +1073,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1075,7 +1075,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we if (url.host_piece() == chrome::kChromeUINaClHost) return &NewWebUI; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost) -@@ -1137,27 +1137,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1139,27 +1139,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we } #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUISandboxHost) { return &NewWebUI; } #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUIConnectorsInternalsHost) return &NewWebUI; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUIDiscardsHost) return &NewWebUI; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost) return &NewWebUI; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost) return &NewWebUI; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc index 447e822826bc..0d4cd760669c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc +++ b/www/ungoogled-chromium/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 2023-01-13 08:56:02 UTC +--- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc @@ -6,7 +6,7 @@ #include "build/build_config.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" @@ -24,7 +24,7 @@ namespace 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) { -@@ -70,7 +70,7 @@ connectors_internals::mojom::Int32ValuePtr ToMojomValu +@@ -92,7 +92,7 @@ connectors_internals::mojom::Int32ValuePtr ToMojomValu } // 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/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc new file mode 100644 index 000000000000..2c475b0872b8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/management/management_ui.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/ui/webui/management/management_ui.cc +@@ -92,7 +92,7 @@ content::WebUIDataSource* CreateAndAddManagementUIHtml + {kManagementOnFileTransferVisibleData, + IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA}, + #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) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc new file mode 100644 index 000000000000..38b5f9219625 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/ui/webui/management/management_ui_handler.cc +@@ -170,7 +170,7 @@ enum class ReportingType { + kUserActivity + }; + +-#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) +@@ -966,7 +966,7 @@ base::Value::Dict ManagementUIHandler::GetThreatProtec + &info); + } + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (capture_policy::IsGetDisplayMediaSetSelectAllScreensAllowedForAnySite( + profile)) { + AddThreatProtectionPermission(kManagementScreenCaptureEvent, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h new file mode 100644 index 000000000000..fe08593be937 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/ui/webui/management/management_ui_handler.h +@@ -24,7 +24,7 @@ + #include "extensions/common/extension_id.h" + #include "url/gurl.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[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc index e3ad8a7c5056..af0e7a29e247 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc @@ -1,20 +1,11 @@ ---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc @@ -323,7 +323,7 @@ base::Value::Dict AppLauncherHandler::CreateExtensionI bool is_deprecated_app = false; auto* context = extension_service_->GetBrowserContext(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) is_deprecated_app = extensions::IsExtensionUnsupportedDeprecatedApp(context, extension->id()); #endif -@@ -1455,7 +1455,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app: - options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] = - web_app->CanUserUninstallWebApp(); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ - (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) - options.os_hooks[web_app::OsHookType::kUrlHandlers] = true; - #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index cbaf2e740a3b..b4133443594f 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -121,7 +121,7 @@ +@@ -124,7 +124,7 @@ #include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h" #endif -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) #include "ui/display/screen.h" #endif -@@ -142,7 +142,7 @@ +@@ -144,7 +144,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 -@@ -228,7 +228,7 @@ void AddCommonStrings(content::WebUIDataSource* html_s +@@ -232,7 +232,7 @@ void AddCommonStrings(content::WebUIDataSource* html_s #endif html_source->AddBoolean("isChildAccount", profile->IsChild()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool allow_qt_theme = base::FeatureList::IsEnabled(ui::kAllowQt); #else bool allow_qt_theme = false; -@@ -377,7 +377,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -378,7 +378,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"huge", IDS_SETTINGS_HUGE_FONT_SIZE}, {"sidePanelAlignLeft", IDS_SETTINGS_SIDE_PANEL_ALIGN_LEFT}, {"sidePanelAlignRight", IDS_SETTINGS_SIDE_PANEL_ALIGN_RIGHT}, -#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}, -@@ -387,7 +387,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -388,7 +388,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht #else {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME}, #endif -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if BUILDFLAG(IS_MAC) -@@ -411,7 +411,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -410,7 +410,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc index 257e63afcb64..7b80e8ed91ca 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/ui/window_sizer/window_sizer.cc -@@ -205,7 +205,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( +@@ -203,7 +203,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( browser, window_bounds, show_state); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has its own implementation, see WindowSizerLinux. // static void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc new file mode 100644 index 000000000000..8966db7a8cd5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_commands_install__app__locally__command.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/commands/install_app_locally_command.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/web_applications/commands/install_app_locally_command.cc +@@ -84,7 +84,7 @@ void InstallAppLocallyCommand::StartWithLock( + options.os_hooks[OsHookType::kUninstallationViaOsSettings] = + web_app->CanUserUninstallWebApp(); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + options.os_hooks[web_app::OsHookType::kUrlHandlers] = true; + #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc index 71b511151b50..24019c1e5ae8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc +++ b/www/ungoogled-chromium/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 2023-02-11 09:11:04 UTC +--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/web_applications/extensions/extension_status_utils.cc @@ -26,7 +26,7 @@ namespace { const char* g_preinstalled_app_for_testing = nullptr; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - const char kMobilityPrintAndDirectPrintIoExtensionIds[] = - "alhngdkjgnedakdlnamimgfihgkmenbh,gnddkmpjjjcimefninepfmmddpgaaado"; - -@@ -110,7 +110,7 @@ bool ClearExternalExtensionUninstalled(content::Browse + // TODO(b/268221237): Remove this allow-list. + const char kDefaultAllowedExtensionIds[] = + "alhngdkjgnedakdlnamimgfihgkmenbh," +@@ -113,7 +113,7 @@ bool ClearExternalExtensionUninstalled(content::Browse } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, const std::string& extension_id) { if (!base::FeatureList::IsEnabled(features::kChromeAppsDeprecation)) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc new file mode 100644 index 000000000000..d32d377c49bb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.cc @@ -0,0 +1,92 @@ +--- chrome/browser/web_applications/os_integration/os_integration_test_override.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/web_applications/os_integration/os_integration_test_override.cc +@@ -147,7 +147,7 @@ bool OsIntegrationTestOverride::IsRunOnOsLoginEnabled( + Profile* profile, + const 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)); +@@ -217,7 +217,7 @@ base::FilePath OsIntegrationTestOverride::GetShortcutP + 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); +@@ -242,7 +242,7 @@ bool OsIntegrationTestOverride::IsShortcutCreated(Prof + 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); +@@ -270,7 +270,7 @@ bool OsIntegrationTestOverride::SimulateDeleteShortcut + GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); + DCHECK(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; +@@ -287,7 +287,7 @@ bool OsIntegrationTestOverride::ForceDeleteAllShortcut + return DeleteDesktopDirOnWin() && DeleteApplicationMenuDirOnWin(); + #elif BUILDFLAG(IS_MAC) + return DeleteChromeAppsDir(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return DeleteDesktopDirOnLinux(); + #else + NOTREACHED() << "Not implemented on ChromeOS/Fuchsia "; +@@ -327,7 +327,7 @@ void OsIntegrationTestOverride::EnableOrDisablePathOnL + startup_enabled_[file_path] = enable_on_login; + } + +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool OsIntegrationTestOverride::DeleteDesktopDirOnLinux() { + if (desktop_.IsValid()) { + return desktop_.Delete(); +@@ -360,7 +360,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride( + #elif BUILDFLAG(IS_MAC) + bool success = chrome_apps_folder_.CreateUniqueTempDirUnderPath(base_path); + DCHECK(success); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool success = desktop_.CreateUniqueTempDirUnderPath(base_path); + DCHECK(success); + success = startup_.CreateUniqueTempDirUnderPath(base_path); +@@ -379,7 +379,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride( + #elif BUILDFLAG(IS_MAC) + bool success = chrome_apps_folder_.CreateUniqueTempDir(); + DCHECK(success); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool success = desktop_.CreateUniqueTempDir(); + DCHECK(success); + success = startup_.CreateUniqueTempDir(); +@@ -387,7 +387,7 @@ OsIntegrationTestOverride::OsIntegrationTestOverride( + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto callback = + base::BindRepeating([](base::FilePath filename, std::string xdg_command, + std::string file_contents) { +@@ -421,7 +421,7 @@ OsIntegrationTestOverride::~OsIntegrationTestOverride( + } + } + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reset the file handling callback. + SetUpdateMimeInfoDatabaseOnLinuxCallbackForTesting( + UpdateMimeInfoDatabaseOnLinuxCallback()); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h new file mode 100644 index 000000000000..74feb4998bab --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h @@ -0,0 +1,29 @@ +--- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/web_applications/os_integration/os_integration_test_override.h +@@ -23,7 +23,7 @@ class Profile; + + namespace web_app { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + struct LinuxFileRegistration { + std::string xdg_command; + std::string file_contents; +@@ -145,7 +145,7 @@ class OsIntegrationTestOverride + } + void EnableOrDisablePathOnLogin(const base::FilePath& file_path, + bool enable_on_login); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool DeleteDesktopDirOnLinux(); + const base::FilePath& desktop() { return desktop_.GetPath(); } + const base::FilePath& startup() { return startup_.GetPath(); } +@@ -184,7 +184,7 @@ class OsIntegrationTestOverride + #elif BUILDFLAG(IS_MAC) + 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_; + std::vector linux_file_registration_; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc new file mode 100644 index 000000000000..754f1877926c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2023-03-10 11:01:21 UTC ++++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc +@@ -226,7 +226,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/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc index 8073b66385e4..ba9f6e5cec76 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc @@ -1,47 +1,11 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc -@@ -58,7 +58,7 @@ namespace { +@@ -52,7 +52,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}; -@@ -212,7 +212,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting - #elif BUILDFLAG(IS_MAC) - bool success = chrome_apps_folder.CreateUniqueTempDirUnderPath(base_path); - DCHECK(success); --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - bool success = desktop.CreateUniqueTempDirUnderPath(base_path); - DCHECK(success); - success = startup.CreateUniqueTempDirUnderPath(base_path); -@@ -231,7 +231,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting - #elif BUILDFLAG(IS_MAC) - bool success = chrome_apps_folder.CreateUniqueTempDir(); - DCHECK(success); --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - bool success = desktop.CreateUniqueTempDir(); - DCHECK(success); - success = startup.CreateUniqueTempDir(); -@@ -239,7 +239,7 @@ ShortcutOverrideForTesting::ShortcutOverrideForTesting - #endif - } - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - auto callback = - base::BindRepeating([](base::FilePath filename, std::string xdg_command, - std::string file_contents) { -@@ -272,7 +272,7 @@ ShortcutOverrideForTesting::~ShortcutOverrideForTestin - } - } - } --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Reset the file handling callback. - SetUpdateMimeInfoDatabaseOnLinuxCallbackForTesting( - UpdateMimeInfoDatabaseOnLinuxCallback()); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h index 1319006416ba..e6920da9af90 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h @@ -1,38 +1,20 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut.h -@@ -23,7 +23,7 @@ +@@ -20,7 +20,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) -@@ -41,7 +41,7 @@ class ImageSkia; - - namespace web_app { - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - struct LinuxFileRegistration { - std::string xdg_command; - std::string file_contents; -@@ -91,7 +91,7 @@ struct ShortcutOverrideForTesting - #elif BUILDFLAG(IS_MAC) - 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; - std::vector linux_file_registration; -@@ -144,7 +144,7 @@ struct ShortcutInfo { +@@ -66,7 +66,7 @@ struct ShortcutInfo { std::set file_handler_extensions; std::set file_handler_mime_types; std::set protocol_handlers; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::set actions; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc index db714e2900ff..5c0f4521f6fc 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc -@@ -453,7 +453,7 @@ std::unique_ptr WebAppShortcutManager::B +@@ -452,7 +452,7 @@ std::unique_ptr WebAppShortcutManager::B } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::vector& shortcuts_menu_item_infos = app->shortcuts_menu_item_infos(); DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc index c5bda3c37cdd..74e76afe65ae 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_provider.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/web_applications/web_app_provider.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/web_applications/web_app_provider.cc -@@ -295,7 +295,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile +@@ -283,7 +283,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile protocol_handler_manager.get()); std::unique_ptr url_handler_manager; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) url_handler_manager = std::make_unique(profile); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc index 9dc48b4edb9f..b735e717e585 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc -@@ -691,7 +691,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl +@@ -590,7 +590,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl 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/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc index 6b7281ee233a..743c2c4e2bd1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc @@ -1,65 +1,65 @@ ---- chrome/common/chrome_features.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/common/chrome_features.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/common/chrome_features.cc -@@ -96,7 +96,7 @@ BASE_FEATURE(kAsyncDns, +@@ -82,7 +82,7 @@ BASE_FEATURE(kAsyncDns, ); #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) // Enables or disables the Autofill survey triggered by opening a prompt to // save address info. BASE_FEATURE(kAutofillAddressSurvey, -@@ -114,7 +114,7 @@ BASE_FEATURE(kAutofillPasswordSurvey, +@@ -100,7 +100,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. -@@ -303,7 +303,7 @@ BASE_FEATURE(kDesktopPWAsEnforceWebAppSettingsPolicy, +@@ -284,7 +284,7 @@ BASE_FEATURE(kDesktopPWAsEnforceWebAppSettingsPolicy, // Enables or disables Desktop PWAs to be auto-started on OS login. BASE_FEATURE(kDesktopPWAsRunOnOsLogin, "DesktopPWAsRunOnOsLogin", -#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 -@@ -327,7 +327,7 @@ BASE_FEATURE(kDesktopPWAsWebBundles, +@@ -308,7 +308,7 @@ BASE_FEATURE(kDesktopPWAsWebBundles, base::FEATURE_DISABLED_BY_DEFAULT); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || 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. -@@ -365,7 +365,7 @@ const base::FeatureParam kDnsOverHttpsFallbackPa +@@ -346,7 +346,7 @@ const base::FeatureParam kDnsOverHttpsFallbackPa const base::FeatureParam kDnsOverHttpsShowUiParam { &kDnsOverHttps, "ShowUi", #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) true #else false -@@ -743,7 +743,7 @@ BASE_FEATURE(kUpdateHistoryEntryPointsInIncognito, +@@ -731,7 +731,7 @@ BASE_FEATURE(kUpdateHistoryEntryPointsInIncognito, "UpdateHistoryEntryPointsInIncognito", 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); -@@ -756,7 +756,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -744,7 +744,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/ungoogled-chromium/files/patch-chrome_common_chrome__features.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h index a6e2e34f24f5..e568c6f96505 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h @@ -1,45 +1,45 @@ ---- chrome/common/chrome_features.h.orig 2023-02-11 09:11:04 UTC +--- chrome/common/chrome_features.h.orig 2023-03-10 11:01:21 UTC +++ chrome/common/chrome_features.h -@@ -73,13 +73,13 @@ BASE_DECLARE_FEATURE(kAppShimNewCloseBehavior); +@@ -64,13 +64,13 @@ BASE_DECLARE_FEATURE(kAppShimNewCloseBehavior); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAsyncDns); #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) 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) -@@ -186,7 +186,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); +@@ -176,7 +176,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kDesktopPWAsWebBundles); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kKeepForceInstalledPreinstalledApps); -@@ -429,7 +429,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests); +@@ -422,7 +422,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kUpdateHistoryEntryPointsInIncognito); -#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; -@@ -437,7 +437,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -430,7 +430,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorCriticalLevel; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch); #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc index 3f727ac3cc34..16952c01ffa0 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,19 +1,19 @@ ---- chrome/common/chrome_switches.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/common/chrome_switches.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/common/chrome_switches.cc -@@ -854,14 +854,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- +@@ -855,14 +855,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; // Causes the browser to launch directly in guest mode. const char kGuest[] = "guest"; #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/ungoogled-chromium/files/patch-chrome_common_pref__names.cc b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc index 221c9e2afad3..e7dbcbdc8dc1 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc @@ -1,56 +1,65 @@ ---- chrome/common/pref_names.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/common/pref_names.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/common/pref_names.cc -@@ -1268,7 +1268,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox +@@ -1222,7 +1222,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Linux specific preference on whether we should match the system theme. const char kUsesSystemThemeDeprecated[] = "extensions.theme.use_system"; const char kSystemTheme[] = "extensions.theme.system_theme"; -@@ -1382,7 +1382,7 @@ const char kShowUpdatePromotionInfoBar[] = +@@ -1341,7 +1341,7 @@ const char kShowUpdatePromotionInfoBar[] = // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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). const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; -@@ -1897,7 +1897,7 @@ const char kDownloadDirUpgraded[] = "download.director +@@ -1852,7 +1852,7 @@ const char kDownloadDirUpgraded[] = "download.director const char kDownloadLastCompleteTime[] = "download.last_complete_time"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) const char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; #endif -@@ -2207,7 +2207,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i +@@ -2166,7 +2166,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i // its isolation requirements. const char kWebAppsIsolationState[] = "web_apps.isolation_state"; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) // Dictionary that maps origins to web apps that can act as URL handlers. const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info"; -@@ -2307,7 +2307,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled +@@ -2266,7 +2266,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled // requests. const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled"; -#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. const char kAuthNegotiateDelegateByKdcPolicy[] = -@@ -3336,7 +3336,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto +@@ -3303,7 +3303,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto const 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. const char kAllowSystemNotifications[] = "system_notifications.allowed"; +@@ -3674,7 +3674,7 @@ const char kThrottleNonVisibleCrossOriginIframesAllowe + const char kNewBaseUrlInheritanceBehaviorAllowed[] = + "new_base_url_inheritance_behavior_allowed"; + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If this exists and is true, Chrome may run system DNS resolution out of the + // network process. If false, Chrome will run system DNS resolution in the + // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h index 49c4f0573fd5..f5c8f434aed5 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h @@ -1,56 +1,65 @@ ---- chrome/common/pref_names.h.orig 2023-02-11 09:11:04 UTC +--- chrome/common/pref_names.h.orig 2023-03-10 11:01:21 UTC +++ chrome/common/pref_names.h -@@ -398,7 +398,7 @@ extern const char kUseAshProxy[]; +@@ -390,7 +390,7 @@ extern const char kUseAshProxy[]; #endif // BUILDFLAG(IS_CHROMEOS_LACROS) // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // TODO(https://crbug.com/1317782): Remove in M110. extern const char kUsesSystemThemeDeprecated[]; extern const char kSystemTheme[]; -@@ -425,7 +425,7 @@ extern const char kShowUpdatePromotionInfoBar[]; +@@ -417,7 +417,7 @@ extern const char kShowUpdatePromotionInfoBar[]; #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) extern const char kUseCustomChromeFrame[]; #endif #if BUILDFLAG(ENABLE_PLUGINS) -@@ -617,7 +617,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[ +@@ -608,7 +608,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[ extern const char kDownloadDirUpgraded[]; extern const char kDownloadLastCompleteTime[]; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extern const char kOpenPdfDownloadInSystemReader[]; #endif #if BUILDFLAG(IS_ANDROID) -@@ -731,7 +731,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps +@@ -723,7 +723,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps extern const char kWebAppsPreferences[]; extern const char kWebAppsIsolationState[]; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) extern const char kWebAppsUrlHandlerInfo[]; #endif -@@ -862,7 +862,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] +@@ -854,7 +854,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] extern const char kAmbientAuthenticationInPrivateModesEnabled[]; extern const char kBasicAuthOverHttpEnabled[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kAuthNegotiateDelegateByKdcPolicy[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -1139,7 +1139,7 @@ extern const char kBlockAutoplayEnabled[]; +@@ -1133,7 +1133,7 @@ extern const char kBlockAutoplayEnabled[]; #endif extern const char kSandboxExternalProtocolBlocked[]; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extern const char kAllowSystemNotifications[]; #endif +@@ -1303,7 +1303,7 @@ extern const char kDIPSTimerLastUpdate[]; + extern const char kThrottleNonVisibleCrossOriginIframesAllowed[]; + extern const char kNewBaseUrlInheritanceBehaviorAllowed[]; + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kOutOfProcessSystemDnsResolutionEnabled[]; + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) + diff --git a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc index cbe411f5e3dc..0e46d54cd6b8 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/common/url_constants.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/common/url_constants.cc -@@ -501,7 +501,7 @@ const char kPhoneHubPermissionLearnMoreURL[] = +@@ -513,7 +513,7 @@ const char kPhoneHubPermissionLearnMoreURL[] = "https://support.9oo91e.qjz9zk/chromebook/?p=multidevice"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const char kChromeAppsDeprecationLearnMoreURL[] = "https://support.9oo91e.qjz9zk/chrome/?p=chrome_app_deprecation"; #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h index 4eb9ac4165e4..b12959545114 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2023-02-11 09:11:04 UTC +--- chrome/common/url_constants.h.orig 2023-03-10 11:01:21 UTC +++ chrome/common/url_constants.h -@@ -476,7 +476,7 @@ extern const char kOutdatedPluginLearnMoreURL[]; +@@ -488,7 +488,7 @@ extern const char kOutdatedPluginLearnMoreURL[]; extern const char kPhoneHubPermissionLearnMoreURL[]; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // "Learn more" URL for the chrome apps deprecation dialog. extern const char kChromeAppsDeprecationLearnMoreURL[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc index 716380b6aef5..1bc86efa9f9e 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,68 +1,68 @@ ---- chrome/common/webui_url_constants.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/common/webui_url_constants.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/common/webui_url_constants.cc -@@ -490,18 +490,18 @@ const char kOsUIScanningAppURL[] = "os://scanning"; +@@ -497,18 +497,18 @@ const char kOsUIShortcutCustomizationAppURL[] = "os:// const char kOsUIVersionURL[] = "os://version"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kChromeUIWebUIJsErrorHost[] = "webuijserror"; const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/"; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) const char kChromeUIConnectorsInternalsHost[] = "connectors-internals"; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kChromeUIDiscardsHost[] = "discards"; const char kChromeUIDiscardsURL[] = "chrome://discards/"; #endif -@@ -516,14 +516,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr +@@ -523,14 +523,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const char kChromeUISandboxHost[] = "sandbox"; #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) const char kChromeUIBrowserSwitchHost[] = "browser-switch"; const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; const char kChromeUIEnterpriseProfileWelcomeHost[] = -@@ -540,7 +540,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro +@@ -547,7 +547,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro const char kChromeUIProfilePickerStartupQuery[] = "startup"; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog"; -@@ -616,7 +616,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan +@@ -625,7 +625,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) const char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/"; const char kChromeUIWebAppSettingsHost[] = "app-settings"; #endif -@@ -831,7 +831,7 @@ const char* const kChromeDebugURLs[] = { +@@ -839,7 +839,7 @@ const char* const kChromeDebugURLs[] = { blink::kChromeUIGpuJavaCrashURL, kChromeUIJavaCrashURL, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) kChromeUIWebUIJsErrorURL, #endif kChromeUIQuitURL, diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h index b5956c02d6f4..bf1b488d5a7d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,57 +1,57 @@ ---- chrome/common/webui_url_constants.h.orig 2023-02-11 09:11:04 UTC +--- chrome/common/webui_url_constants.h.orig 2023-03-10 11:01:21 UTC +++ chrome/common/webui_url_constants.h -@@ -416,24 +416,24 @@ extern const char kOsUIScanningAppURL[]; +@@ -419,24 +419,24 @@ extern const char kOsUIShortcutCustomizationAppURL[]; extern const char kOsUIVersionURL[]; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kChromeUIWebUIJsErrorHost[]; extern const char kChromeUIWebUIJsErrorURL[]; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) extern const char kChromeUIConnectorsInternalsHost[]; #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) extern const char kChromeUIDiscardsHost[]; extern const char kChromeUIDiscardsURL[]; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) extern const char kChromeUIWebAppSettingsURL[]; extern const char kChromeUIWebAppSettingsHost[]; #endif -@@ -448,14 +448,14 @@ extern const char kChromeUILinuxProxyConfigHost[]; +@@ -451,14 +451,14 @@ extern const char kChromeUILinuxProxyConfigHost[]; #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) extern const char kChromeUISandboxHost[]; #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) extern const char kChromeUIBrowserSwitchHost[]; extern const char kChromeUIBrowserSwitchURL[]; extern const char kChromeUIEnterpriseProfileWelcomeHost[]; -@@ -469,7 +469,7 @@ extern const char kChromeUIProfilePickerUrl[]; +@@ -472,7 +472,7 @@ extern const char kChromeUIProfilePickerUrl[]; extern const char kChromeUIProfilePickerStartupQuery[]; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) extern const char kChromeUITabModalConfirmDialogHost[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc index 465cda5dff5b..f31f38c68a86 100644 --- a/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc +++ b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc @@ -1,11 +1,11 @@ ---- chrome/renderer/chrome_render_frame_observer.cc.orig 2023-01-13 08:56:02 UTC +--- chrome/renderer/chrome_render_frame_observer.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/renderer/chrome_render_frame_observer.cc -@@ -346,7 +346,7 @@ void ChromeRenderFrameObserver::OnDestruct() { +@@ -347,7 +347,7 @@ void ChromeRenderFrameObserver::OnDestruct() { void ChromeRenderFrameObserver::DraggableRegionsChanged() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only the main frame is allowed to control draggable regions, to avoid other // frames manipulate the regions in the browser process. if (!render_frame()->IsMainFrame()) diff --git a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc index 5619fc0a4e34..c015caf9e45a 100644 --- a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc +++ b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -1,38 +1,38 @@ ---- chrome/services/printing/print_backend_service_impl.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/services/printing/print_backend_service_impl.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/services/printing/print_backend_service_impl.cc -@@ -42,7 +42,7 @@ +@@ -43,7 +43,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" -@@ -69,7 +69,7 @@ namespace printing { +@@ -70,7 +70,7 @@ namespace printing { namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void InstantiateLinuxUiDelegate() { // TODO(crbug.com/809738) Until a real UI can be used in a utility process, // need to use the stub version. -@@ -485,7 +485,7 @@ void PrintBackendServiceImpl::Init( +@@ -490,7 +490,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`. -@@ -672,7 +672,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( +@@ -677,7 +677,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( crash_keys_ = std::make_unique( print_backend_->GetPrinterDriverInfo(*printer_name)); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS) // Try to fill in advanced settings based upon basic info options. PrinterBasicInfo basic_info; if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) == diff --git a/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn index 0952b37807b2..87b586e2840d 100644 --- a/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/test/BUILD.gn.orig 2023-02-23 13:06:30 UTC +--- chrome/test/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ chrome/test/BUILD.gn -@@ -10216,7 +10216,7 @@ test("chrome_app_unittests") { +@@ -10041,7 +10041,7 @@ test("chrome_app_unittests") { "//components/heap_profiling/in_process", "//components/safe_browsing:buildflags", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//third_party/breakpad:client" ] } if (enable_gwp_asan) { diff --git a/www/ungoogled-chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc b/www/ungoogled-chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc index 5d9a783395a0..506880a92cbd 100644 --- a/www/ungoogled-chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc +++ b/www/ungoogled-chromium/files/patch-chrome_test_interaction_interaction__test__util__browser.cc @@ -1,11 +1,11 @@ ---- chrome/test/interaction/interaction_test_util_browser.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/test/interaction/interaction_test_util_browser.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/test/interaction/interaction_test_util_browser.cc -@@ -31,7 +31,7 @@ +@@ -35,7 +35,7 @@ #include "ui/base/interaction/interaction_test_util_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #define SUPPORTS_PIXEL_TESTS 1 + #include "base/command_line.h" #include "chrome/browser/ui/test/test_browser_ui.h" - #else diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_ipc_ipc__names.h b/www/ungoogled-chromium/files/patch-chrome_updater_ipc_ipc__names.h deleted file mode 100644 index f36b03b59c75..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_updater_ipc_ipc__names.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/updater/ipc/ipc_names.h.orig 2023-02-11 09:11:04 UTC -+++ chrome/updater/ipc/ipc_names.h -@@ -13,7 +13,7 @@ namespace updater { - mojo::NamedPlatformChannel::ServerName GetUpdateServiceInternalServerName( - UpdaterScope scope); - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - mojo::NamedPlatformChannel::ServerName GetUpdateServiceServerName( - UpdaterScope scope); - #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc b/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc deleted file mode 100644 index fd77c536224f..000000000000 --- a/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/updater/updater.cc.orig 2023-02-11 09:11:04 UTC -+++ chrome/updater/updater.cc -@@ -49,7 +49,7 @@ - #include "chrome/updater/util/win_util.h" - #elif BUILDFLAG(IS_MAC) - #include "chrome/updater/app/server/mac/server.h" --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/updater/app/server/linux/server.h" - #endif - diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_util_posix__util.cc b/www/ungoogled-chromium/files/patch-chrome_updater_util_posix__util.cc index cedb19118fb5..025720460096 100644 --- a/www/ungoogled-chromium/files/patch-chrome_updater_util_posix__util.cc +++ b/www/ungoogled-chromium/files/patch-chrome_updater_util_posix__util.cc @@ -1,20 +1,11 @@ ---- chrome/updater/util/posix_util.cc.orig 2023-02-11 09:11:04 UTC +--- chrome/updater/util/posix_util.cc.orig 2023-03-10 11:01:21 UTC +++ chrome/updater/util/posix_util.cc @@ -10,7 +10,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 -@@ -42,7 +42,7 @@ base::FilePath GetUpdaterFolderName() { - - absl::optional GetBaseInstallDirectory(UpdaterScope scope) { - absl::optional path; --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - path = GetApplicationDataDirectory(scope); - #elif BUILDFLAG(IS_MAC) - path = GetLibraryFolderPath(scope); diff --git a/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc index 14e0771a8456..8f87e9d7912f 100644 --- a/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc +++ b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -1,38 +1,38 @@ ---- chromecast/browser/cast_browser_main_parts.cc.orig 2023-02-11 09:11:04 UTC +--- chromecast/browser/cast_browser_main_parts.cc.orig 2023-03-10 11:01:21 UTC +++ chromecast/browser/cast_browser_main_parts.cc -@@ -90,7 +90,7 @@ +@@ -89,7 +89,7 @@ #include "ui/base/ui_base_switches.h" #include "ui/gl/gl_switches.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include #include -@@ -263,7 +263,7 @@ class CastViewsDelegate : public views::ViewsDelegate +@@ -262,7 +262,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()); -@@ -309,7 +309,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { +@@ -308,7 +308,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { {cc::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. -@@ -480,7 +480,7 @@ void CastBrowserMainParts::ToolkitInitialized() { +@@ -479,7 +479,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/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc index 28e1284b5180..0d606e6a904a 100644 --- a/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc +++ b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -1,11 +1,11 @@ ---- chromecast/browser/cast_content_browser_client.cc.orig 2023-02-11 09:11:04 UTC +--- chromecast/browser/cast_content_browser_client.cc.orig 2023-03-10 11:01:21 UTC +++ chromecast/browser/cast_content_browser_client.cc -@@ -434,7 +434,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS +@@ -427,7 +427,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/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp b/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp index a84ae64509e1..17607f367e39 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp +++ b/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp @@ -1,11 +1,11 @@ ---- components/autofill_payments_strings.grdp.orig 2023-01-13 08:56:02 UTC +--- components/autofill_payments_strings.grdp.orig 2023-03-10 11:01:21 UTC +++ components/autofill_payments_strings.grdp -@@ -112,7 +112,7 @@ +@@ -118,7 +118,7 @@ Save card - + Do you want to save this card to your Google Account? diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc index 6ebeed082ee9..241c07548f73 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc @@ -1,12 +1,12 @@ ---- components/autofill/core/browser/personal_data_manager.cc.orig 2023-02-11 09:11:04 UTC +--- components/autofill/core/browser/personal_data_manager.cc.orig 2023-03-10 11:01:21 UTC +++ components/autofill/core/browser/personal_data_manager.cc -@@ -2148,7 +2148,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp +@@ -2233,7 +2233,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || 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. if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() || diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc index 4698f6355156..73862b65b347 100644 --- a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2023-02-11 09:11:04 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2023-03-10 11:01:21 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -247,7 +247,7 @@ const base::FeatureParam +@@ -266,7 +266,7 @@ const base::FeatureParam bool ShouldShowImprovedUserConsentForCreditCardSave() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) // The new user consent UI is fully launched on MacOS, Windows and Linux. return true; diff --git a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc index 48b2b6c7b88d..f7cb714d9de2 100644 --- a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc +++ b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -1,20 +1,20 @@ ---- components/embedder_support/user_agent_utils_unittest.cc.orig 2022-10-01 07:40:07 UTC +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ components/embedder_support/user_agent_utils_unittest.cc -@@ -80,7 +80,7 @@ const char kDesktop[] = +@@ -81,7 +81,7 @@ const char kDesktop[] = "Safari/537.36"; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::string GetMachine() { struct utsname unixinfo; uname(&unixinfo); -@@ -188,7 +188,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) +@@ -189,7 +189,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) int value; ASSERT_TRUE(base::StringToInt(pieces[i], &value)); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // X11; Linux x86_64 ASSERT_EQ(2u, pieces.size()); ASSERT_EQ("X11", pieces[0]); diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc index 5d51b8c5ff79..cf21129cfcb4 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,21 +1,21 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2023-01-13 08:56:02 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2023-03-10 11:01:21 UTC +++ components/feature_engagement/public/feature_configurations.cc @@ -35,7 +35,7 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Fe absl::optional GetClientSideFeatureConfig( const base::Feature* feature) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (kIPHPasswordsAccountStorageFeature.name == feature->name) { absl::optional config = FeatureConfig(); config->valid = true; -@@ -1029,7 +1029,8 @@ absl::optional GetClientSideFeatureConf +@@ -1066,7 +1066,8 @@ absl::optional GetClientSideFeatureConf #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 (kIPHAutofillVirtualCardSuggestionFeature.name == feature->name) { // A config that allows the virtual card credit card suggestion IPH to be // shown when: diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc index f3185f5d1352..826a1df66ebe 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,21 +1,21 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2023-02-11 09:11:04 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2023-03-10 11:01:21 UTC +++ components/feature_engagement/public/feature_constants.cc -@@ -24,7 +24,7 @@ BASE_FEATURE(kUseClientConfigIPH, +@@ -19,7 +19,7 @@ BASE_FEATURE(kUseClientConfigIPH, 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) BASE_FEATURE(kIPHBatterySaverModeFeature, "IPH_BatterySaverMode", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -424,7 +424,8 @@ BASE_FEATURE(kIPHPriceNotificationsWhileBrowsingFeatur +@@ -434,7 +434,8 @@ BASE_FEATURE(kIPHiOSDefaultBrowserSettingsBadgeFeature #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) BASE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature, "IPH_AutofillVirtualCardSuggestion", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h index 102986fb66e4..a1099eb715ff 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,21 +1,21 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2023-02-11 09:11:04 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2023-03-10 11:01:21 UTC +++ components/feature_engagement/public/feature_constants.h -@@ -32,7 +32,7 @@ BASE_DECLARE_FEATURE(kIPHDummyFeature); - BASE_DECLARE_FEATURE(kEnableIPH); +@@ -22,7 +22,7 @@ BASE_DECLARE_FEATURE(kUseClientConfigIPH); + BASE_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) BASE_DECLARE_FEATURE(kIPHBatterySaverModeFeature); BASE_DECLARE_FEATURE(kIPHDesktopSharedHighlightingFeature); BASE_DECLARE_FEATURE(kIPHDesktopTabGroupsNewGroupFeature); -@@ -185,7 +185,8 @@ BASE_DECLARE_FEATURE(kIPHPriceNotificationsWhileBrowsi +@@ -180,7 +180,8 @@ BASE_DECLARE_FEATURE(kIPHiOSDefaultBrowserSettingsBadg #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc index b6c43d854c00..14fe4ff18cc3 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,21 +1,21 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2023-02-11 09:11:04 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2023-03-10 11:01:21 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -122,7 +122,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHPriceNotificationsWhileBrowsingFeature, +@@ -127,7 +127,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSDefaultBrowserSettingsBadgeFeature, #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) &kIPHBatterySaverModeFeature, &kIPHDesktopTabGroupsNewGroupFeature, &kIPHExtensionsMenuFeature, -@@ -154,7 +154,8 @@ const base::Feature* const kAllFeatures[] = { +@@ -159,7 +159,8 @@ const base::Feature* const kAllFeatures[] = { // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_BSD) &kIPHAutofillVirtualCardSuggestionFeature, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h index b9010045da06..441aae5383c8 100644 --- a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,40 +1,40 @@ ---- components/feature_engagement/public/feature_list.h.orig 2023-02-11 09:11:04 UTC +--- components/feature_engagement/public/feature_list.h.orig 2023-03-10 11:01:21 UTC +++ components/feature_engagement/public/feature_list.h -@@ -223,7 +223,7 @@ DEFINE_VARIATION_PARAM(kIPHPriceNotificationsWhileBrow +@@ -232,7 +232,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSDefaultBrowserSettingsBa #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) DEFINE_VARIATION_PARAM(kIPHBatterySaverModeFeature, "IPH_BatterySaverMode"); DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature, "IPH_DesktopTabGroupsNewGroup"); -@@ -269,7 +269,8 @@ DEFINE_VARIATION_PARAM(kIPHPriceTrackingInSidePanelFea +@@ -278,7 +278,8 @@ DEFINE_VARIATION_PARAM(kIPHPriceTrackingInSidePanelFea // 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(kIPHAutofillVirtualCardSuggestionFeature, "IPH_AutofillVirtualCardSuggestion"); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || -@@ -377,7 +378,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation - VARIATION_ENTRY(kIPHOverflowMenuTipFeature), - VARIATION_ENTRY(kIPHPriceNotificationsWhileBrowsingFeature), +@@ -396,7 +397,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHiOSDefaultBrowserOverflowMenuBadgeFeature), + VARIATION_ENTRY(kIPHiOSDefaultBrowserSettingsBadgeFeature), #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(kIPHDesktopTabGroupsNewGroupFeature), VARIATION_ENTRY(kIPHExtensionsMenuFeature), -@@ -410,7 +411,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation +@@ -429,7 +430,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation // 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(kIPHAutofillVirtualCardSuggestionFeature), #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc index 078508d3d41a..0717fad64a44 100644 --- a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc @@ -1,24 +1,24 @@ ---- components/feed/core/v2/proto_util.cc.orig 2023-02-11 09:11:04 UTC +--- components/feed/core/v2/proto_util.cc.orig 2023-03-10 11:01:21 UTC +++ components/feed/core/v2/proto_util.cc -@@ -91,8 +91,8 @@ feedwire::Version GetPlatformVersionMessage() { +@@ -92,8 +92,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()); -@@ -107,8 +107,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf +@@ -108,8 +108,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH. const std::vector& numbers = chrome_info.version.components(); if (numbers.size() > 3) { - result.set_major(static_cast(numbers[0])); - result.set_minor(static_cast(numbers[1])); + result.set_gmajor(static_cast(numbers[0])); + result.set_gminor(static_cast(numbers[1])); result.set_build(static_cast(numbers[2])); result.set_revision(static_cast(numbers[3])); } diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc index 417c5b0fea73..3f1ab3625f94 100644 --- a/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client.cc.orig 2023-02-11 09:11:04 UTC +--- components/paint_preview/browser/paint_preview_client.cc.orig 2023-03-10 11:01:21 UTC +++ components/paint_preview/browser/paint_preview_client.cc -@@ -308,8 +308,8 @@ void PaintPreviewClient::CapturePaintPreview( +@@ -310,8 +310,8 @@ void PaintPreviewClient::CapturePaintPreview( metadata->set_url(url.spec()); metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); - chromeVersion->set_major(CHROME_VERSION_MAJOR); - chromeVersion->set_minor(CHROME_VERSION_MINOR); + chromeVersion->set_gmajor(CHROME_VERSION_MAJOR); + chromeVersion->set_gminor(CHROME_VERSION_MINOR); chromeVersion->set_build(CHROME_VERSION_BUILD); chromeVersion->set_patch(CHROME_VERSION_PATCH); document_data.callback = std::move(callback); diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc index e8dc53d4f8b4..6d6e7184185a 100644 --- a/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/player/player_compositor_delegate.cc.orig 2023-02-11 09:11:04 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ components/paint_preview/player/player_compositor_delegate.cc -@@ -445,8 +445,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT +@@ -452,8 +452,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT // use the AXTreeUpdate. auto chrome_version = capture_result_->proto.metadata().chrome_version(); if (capture_result_->proto.metadata().has_chrome_version() && - chrome_version.major() == CHROME_VERSION_MAJOR && - chrome_version.minor() == CHROME_VERSION_MINOR && + chrome_version.gmajor() == CHROME_VERSION_MAJOR && + chrome_version.gminor() == CHROME_VERSION_MINOR && chrome_version.build() == CHROME_VERSION_BUILD && chrome_version.patch() == CHROME_VERSION_PATCH) { paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc index 9aa87cda7a03..1b50b51021b7 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc @@ -1,29 +1,29 @@ ---- components/password_manager/core/browser/login_database_unittest.cc.orig 2023-02-11 09:11:04 UTC +--- components/password_manager/core/browser/login_database_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ components/password_manager/core/browser/login_database_unittest.cc -@@ -2109,7 +2109,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd +@@ -2108,7 +2108,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd base::HistogramTester histogram_tester; ASSERT_TRUE(db.Init()); -#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // Make sure that we can't get any logins when database is corrupted. // Disabling the checks in chromecast because encryption is unavailable. std::vector> result; -@@ -2136,7 +2136,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd +@@ -2135,7 +2135,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd #endif // Check histograms. -#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) +#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) histogram_tester.ExpectUniqueSample( "PasswordManager.DeleteUndecryptableLoginsReturnValue", metrics_util::DeleteCorruptedPasswordsResult::kSuccessPasswordsDeleted, -@@ -2179,7 +2179,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL +@@ -2178,7 +2178,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Test getting auto sign in logins when there are undecryptable ones TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutoSignInLogins) { std::vector> forms; diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc index c98720959d47..28c9c9e33a30 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc @@ -1,29 +1,20 @@ ---- components/password_manager/core/common/password_manager_features.cc.orig 2023-02-11 09:11:04 UTC +--- components/password_manager/core/common/password_manager_features.cc.orig 2023-03-10 11:01:21 UTC +++ components/password_manager/core/common/password_manager_features.cc -@@ -80,7 +80,7 @@ BASE_FEATURE(kFillOnAccountSelect, +@@ -69,7 +69,7 @@ BASE_FEATURE(kFillOnAccountSelect, "fill-on-account-select", base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When enabled, initial sync will be forced during startup if the password // store has encryption service failures. BASE_FEATURE(kForceInitialSyncWhenDecryptionFails, -@@ -152,7 +152,7 @@ BASE_FEATURE(kPasswordChangeWellKnown, - // Controls the ability to import passwords from Chrome's settings page. - BASE_FEATURE(kPasswordImport, - "PasswordImport", --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT); - #else - base::FEATURE_DISABLED_BY_DEFAULT); -@@ -195,7 +195,7 @@ BASE_FEATURE(kPasswordStrengthIndicator, +@@ -186,7 +186,7 @@ BASE_FEATURE(kPasswordStrengthIndicator, "PasswordStrengthIndicator", base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Displays at least the decryptable and never saved logins in the password // manager BASE_FEATURE(kSkipUndecryptablePasswords, diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h index 79f1c7ef04a5..4f3b8de0603a 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/common/password_manager_features.h.orig 2023-02-11 09:11:04 UTC +--- components/password_manager/core/common/password_manager_features.h.orig 2023-03-10 11:01:21 UTC +++ components/password_manager/core/common/password_manager_features.h -@@ -36,7 +36,7 @@ BASE_DECLARE_FEATURE(kEnablePasswordGenerationForClear +@@ -35,7 +35,7 @@ BASE_DECLARE_FEATURE(kEnablePasswordGenerationForClear BASE_DECLARE_FEATURE(kEnablePasswordManagerWithinFencedFrame); BASE_DECLARE_FEATURE(kFillingAcrossAffiliatedWebsites); BASE_DECLARE_FEATURE(kFillOnAccountSelect); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kForceInitialSyncWhenDecryptionFails); #endif BASE_DECLARE_FEATURE(kInferConfirmationPasswordField); @@ -62,7 +62,7 @@ BASE_DECLARE_FEATURE(kRecoverFromNeverSaveAndroid); #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // Desktop BASE_DECLARE_FEATURE(kRevampedPasswordManagementBubble); #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kSkipUndecryptablePasswords); #endif #if BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc index 6dd6cd6dd8db..92fae2bc5f6a 100644 --- a/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc +++ b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc @@ -1,11 +1,11 @@ ---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2023-02-11 09:11:04 UTC +--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2023-03-10 11:01:21 UTC +++ components/policy/core/browser/policy_pref_mapping_test.cc -@@ -325,7 +325,7 @@ class PolicyTestCase { +@@ -326,7 +326,7 @@ class PolicyTestCase { const std::string os("chromeos_lacros"); #elif BUILDFLAG(IS_IOS) const std::string os("ios"); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const std::string os("linux"); #elif BUILDFLAG(IS_MAC) const std::string os("mac"); diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index 18423d86ce63..e92f4f52c90f 100644 --- a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2023-02-11 09:11:04 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2023-03-10 11:01:21 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -432,7 +432,7 @@ void CloudPolicyClient::FetchPolicy() { +@@ -424,7 +424,7 @@ void CloudPolicyClient::FetchPolicy() { 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/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc index f3dc642db0a6..64315fdcb8c2 100644 --- a/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc +++ b/www/ungoogled-chromium/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc @@ -1,11 +1,11 @@ ---- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-02-11 09:11:04 UTC +--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-03-10 11:01:21 UTC +++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc -@@ -201,7 +201,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( +@@ -175,7 +175,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( // Check for current device type and subtract it from the device count // calculation. #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) desktop_count -= 1; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { diff --git a/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc index 89910e39fa81..6fcb144b381b 100644 --- a/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc +++ b/www/ungoogled-chromium/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 2022-10-01 07:40:07 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2023-03-10 11:01:21 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc -@@ -19,7 +19,7 @@ +@@ -20,7 +20,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 -@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp +@@ -65,7 +65,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()); -@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp +@@ -88,7 +88,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp base::BindOnce([] { SkFontMgr::RefDefault(); })); // 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/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc index 588292679a3e..50092954edc7 100644 --- a/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc +++ b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -1,18 +1,18 @@ ---- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-01-13 08:56:02 UTC +--- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-03-10 11:01:21 UTC +++ components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc @@ -34,6 +34,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi } } +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); std::vector permissions{ -@@ -52,6 +53,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi +@@ -57,6 +58,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi sandbox::syscall_broker::COMMAND_OPEN}), permissions, sandbox::policy::SandboxLinux::PreSandboxHook(), options); instance->EngageNamespaceSandboxIfPossible(); +#endif return true; } diff --git a/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc index 6aa574066f6a..9760f6191cb6 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc @@ -1,11 +1,11 @@ ---- components/viz/host/host_display_client.cc.orig 2023-01-13 08:56:02 UTC +--- components/viz/host/host_display_client.cc.orig 2023-03-10 11:01:21 UTC +++ components/viz/host/host_display_client.cc -@@ -66,7 +66,7 @@ void HostDisplayClient::AddChildWindowToBrowser( +@@ -67,7 +67,7 @@ void HostDisplayClient::AddChildWindowToBrowser( // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { NOTIMPLEMENTED(); } diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index 3664c60b3d58..8a2edf4e9da5 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-02-11 09:11:04 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-03-10 11:01:21 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1231,7 +1231,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1259,7 +1259,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor ->GetDeviceQueue() ->GetVulkanPhysicalDevice(), VK_IMAGE_TILING_OPTIMAL, ycbcr_info); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Textures that were allocated _on linux_ with ycbcr info came from // VaapiVideoDecoder, which exports using DRM format modifiers. return GrBackendFormat::MakeVk(gr_ycbcr_info, diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc index ddf19ce733db..ac069492ab4e 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display/skia_renderer.cc.orig 2023-02-11 09:11:04 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2023-03-10 11:01:21 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1145,7 +1145,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1149,7 +1149,7 @@ void SkiaRenderer::ClearFramebuffer() { if (current_frame()->current_render_pass->has_transparent_background) { ClearCanvas(SkColors::kTransparent); } else { -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On DEBUG builds, opaque render passes are cleared to blue // to easily see regions that were not drawn on the screen. // ClearCavas() call causes slight pixel difference, so linux-ref and diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index cafa8c04366f..3d300dd50d18 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-12-02 17:56:32 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2023-03-10 11:01:21 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc @@ -98,7 +98,7 @@ RootCompositorFrameSinkImpl::Create( // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // 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); -@@ -577,7 +577,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -585,7 +585,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw display_client_->DidCompleteSwapWithSize(pixel_size); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) if (display_client_ && pixel_size != last_swap_pixel_size_) { last_swap_pixel_size_ = pixel_size; display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index 210a41fba243..d2e308572ea0 100644 --- a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-01-13 08:56:02 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-03-10 11:01:21 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -197,7 +197,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -200,7 +200,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) gfx::Size last_swap_pixel_size_; #endif diff --git a/www/ungoogled-chromium/files/patch-content_app_content__main.cc b/www/ungoogled-chromium/files/patch-content_app_content__main.cc index ea626c5d70b2..d22f9ee57f50 100644 --- a/www/ungoogled-chromium/files/patch-content_app_content__main.cc +++ b/www/ungoogled-chromium/files/patch-content_app_content__main.cc @@ -1,11 +1,11 @@ ---- content/app/content_main.cc.orig 2023-02-11 09:11:04 UTC +--- content/app/content_main.cc.orig 2023-03-10 11:01:21 UTC +++ content/app/content_main.cc -@@ -228,7 +228,7 @@ RunContentProcess(ContentMainParams params, +@@ -205,7 +205,7 @@ RunContentProcess(ContentMainParams params, #endif base::EnableTerminationOnOutOfMemory(); -#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 diff --git a/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc index b6a739bd0263..10a61dacd976 100644 --- a/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc @@ -1,130 +1,130 @@ ---- content/app/content_main_runner_impl.cc.orig 2023-02-11 09:11:04 UTC +--- content/app/content_main_runner_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/app/content_main_runner_impl.cc -@@ -138,13 +138,13 @@ +@@ -139,13 +139,13 @@ #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" -@@ -184,6 +184,10 @@ +@@ -186,6 +186,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" -@@ -365,7 +369,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -371,7 +375,7 @@ void InitializeZygoteSandboxForBrowserProcess( } - #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + #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 -@@ -401,15 +405,17 @@ void PreloadLibraryCdms() { +@@ -407,15 +411,17 @@ void PreloadLibraryCdms() { } #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) --#if BUILDFLAG(USE_ZYGOTE_HANDLE) -+#if BUILDFLAG(USE_ZYGOTE_HANDLE) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(USE_ZYGOTE) ++#if BUILDFLAG(USE_ZYGOTE) || BUILDFLAG(IS_BSD) void PreSandboxInit() { // Pre-acquire resources needed by BoringSSL. See // https://boringssl.9oo91esource.qjz9zk/boringssl/+/HEAD/SANDBOXING.md CRYPTO_pre_sandbox_init(); +#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. -@@ -428,6 +434,11 @@ void PreSandboxInit() { +@@ -434,6 +440,11 @@ void PreSandboxInit() { } #endif +#if BUILDFLAG(IS_BSD) + // "cache" the amount of physical memory before pledge(2) + base::SysInfo::AmountOfPhysicalMemoryMB(); +#endif + // Set the android SkFontMgr for blink. We need to ensure this is done // before the sandbox is initialized to allow the font manager to access // font configuration files on disk. -@@ -615,7 +626,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* +@@ -621,7 +632,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* delegate->ZygoteStarting(&zygote_fork_delegates); media::InitializeMediaLibrary(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PreSandboxInit(); #endif -@@ -809,11 +820,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -823,11 +834,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam kFieldTrialDescriptor + 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) -@@ -997,6 +1007,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1012,6 +1022,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam } #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_HANDLE) -@@ -1060,7 +1080,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { - process_type); + #if BUILDFLAG(USE_ZYGOTE) +@@ -1079,7 +1099,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { + ->ReconfigureAfterFeatureListInit(process_type); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If dynamic Mojo Core is being used, ensure that it's loaded very early in // the child/zygote process, before any sandbox is initialized. The library // is not fully initialized with IPC support until a ChildProcess is later -@@ -1093,6 +1113,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { +@@ -1112,6 +1132,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { content_main_params_.reset(); RegisterMainThreadFactories(); + +#if BUILDFLAG(IS_BSD) + if (!process_type.empty()) + PreSandboxInit(); +#endif if (process_type.empty()) return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn index 3af2e701882c..b761a37297df 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- content/browser/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- content/browser/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ content/browser/BUILD.gn -@@ -2368,6 +2368,13 @@ source_set("browser") { +@@ -2386,6 +2386,13 @@ source_set("browser") { ] } + if (is_bsd) { + sources -= [ + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] + } + if (is_chromeos) { sources += [ "handwriting/handwriting_recognition_service_impl_cros.cc", diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc index 1e786468f55c..ce3e1dee8bb4 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2023-02-11 09:11:04 UTC +--- content/browser/browser_main_loop.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/browser_main_loop.cc -@@ -244,6 +244,12 @@ +@@ -245,6 +245,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 -@@ -528,6 +534,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -538,6 +544,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 -@@ -559,7 +571,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -575,7 +587,7 @@ int BrowserMainLoop::EarlyInitialization() { base::PlatformThread::SetCurrentThreadType(base::ThreadType::kCompositing); #if BUILDFLAG(IS_MAC) || 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 the Mac is low (256), so bump it up. diff --git a/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc index 3f32a521daaf..aa76774104ab 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -1,80 +1,125 @@ ---- content/browser/child_process_launcher_helper_linux.cc.orig 2023-02-11 09:11:04 UTC +--- content/browser/child_process_launcher_helper_linux.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/child_process_launcher_helper_linux.cc @@ -20,7 +20,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 { -@@ -74,6 +76,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -45,14 +47,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); +@@ -64,7 +72,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()); +@@ -81,6 +91,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr int* launch_result) { *is_synchronous_launch = true; Process process; +#if !BUILDFLAG(IS_BSD) - ZygoteHandle zygote_handle = - base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) - ? nullptr -@@ -87,7 +90,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + ZygoteCommunication* zygote_handle = GetZygoteForLaunch(); + if (zygote_handle) { + // TODO(crbug.com/569191): If chrome supported multiple zygotes they could +@@ -91,7 +102,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; -@@ -96,15 +98,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -100,15 +110,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); + 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) if (GetProcessType() == switches::kRendererProcess) { -@@ -124,10 +128,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper +@@ -130,10 +142,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 { -@@ -151,13 +159,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer +@@ -157,13 +173,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::SetProcessBackgroundedOnLauncherThread( +@@ -174,11 +194,13 @@ void ChildProcessLauncherHelper::SetProcessBackgrounde + process.SetProcessBackgrounded(is_background); + } + ++#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/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc index b5a5c135cdf2..77010ef7203a 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-12-02 17:56:32 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -118,7 +118,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -116,7 +116,7 @@ class HostDisplayClient : public viz::HostDisplayClien // viz::HostDisplayClient: // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) void DidCompleteSwapWithNewSize(const gfx::Size& size) override { compositor_->OnCompleteSwapWithNewSize(size); } diff --git a/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc index 33c4f9ab9c74..3a5969406b86 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,20 +1,20 @@ ---- content/browser/network_service_instance_impl.cc.orig 2023-01-13 08:56:02 UTC +--- content/browser/network_service_instance_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/network_service_instance_impl.cc -@@ -75,7 +75,7 @@ +@@ -76,7 +76,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 -@@ -403,7 +403,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -404,7 +404,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS } #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) - if (base::FeatureList::IsEnabled( - network::features::kOutOfProcessSystemDnsResolution) && - IsOutOfProcessNetworkService() && + if (GetContentClient() + ->browser() + ->ShouldRunOutOfProcessSystemDnsResolution() && diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc new file mode 100644 index 000000000000..e1361991b3b4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_back__forward__cache__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/back_forward_cache_impl.cc.orig 2023-03-10 11:01:21 UTC ++++ content/browser/renderer_host/back_forward_cache_impl.cc +@@ -56,7 +56,7 @@ BASE_FEATURE(kBackForwardCacheSize, + // Sets the BackForwardCache size for desktop. + // See crbug.com/1291435. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index 330912dd8832..f52f75ff4dd7 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -1,64 +1,64 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2023-02-11 09:11:04 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -216,7 +216,7 @@ +@@ -215,7 +215,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 -@@ -1142,7 +1142,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1145,7 +1145,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; -@@ -1229,7 +1229,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public +@@ -1237,7 +1237,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public return; } -#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; -@@ -1318,7 +1318,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public +@@ -1326,7 +1326,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public 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_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -2170,7 +2170,7 @@ void RenderProcessHostImpl::ReinitializeLogging( +@@ -2174,7 +2174,7 @@ void RenderProcessHostImpl::ReinitializeLogging( } #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void RenderProcessHostImpl::CreateStableVideoDecoder( mojo::PendingReceiver receiver) { if (!stable_video_decoder_factory_remote_.is_bound()) { -@@ -3332,6 +3332,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3349,6 +3349,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, switches::kDisableTouchDragDrop, + switches::kDisableUnveil, switches::kDisableUseMojoVideoDecoderForPepper, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, -@@ -4811,7 +4812,7 @@ void RenderProcessHostImpl::ResetIPC() { +@@ -4830,7 +4831,7 @@ void RenderProcessHostImpl::ResetIPC() { coordinator_connector_receiver_.reset(); tracing_registration_.reset(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) stable_video_decoder_factory_remote_.reset(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h index 729c1a9a9dba..c413d4f88997 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -1,38 +1,38 @@ ---- content/browser/renderer_host/render_process_host_impl.h.orig 2023-02-11 09:11:04 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2023-03-10 11:01:21 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -85,7 +85,7 @@ #include "content/public/browser/android/child_process_importance.h" #endif -#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" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -489,7 +489,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -490,7 +490,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // Sets this RenderProcessHost to be guest only. For Testing only. void SetForGuestsOnlyForTesting(); -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Launch the zygote early in the browser startup. static void EarlyZygoteLaunch(); #endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) -@@ -704,7 +704,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -699,7 +699,7 @@ class CONTENT_EXPORT RenderProcessHostImpl mojo::PendingReceiver receiver) override; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void CreateStableVideoDecoder( mojo::PendingReceiver receiver) override; -@@ -1165,7 +1165,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1171,7 +1171,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // RenderProcessHost. This is destroyed early in ResetIPC() method. std::unique_ptr permission_service_context_; -#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. mojo::Remote diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc index 72c138d99568..25ba5bca058c 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_view_host_impl.cc.orig 2022-12-02 17:56:32 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -253,7 +253,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -250,7 +250,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) prefs->system_font_family_name = gfx::Font().GetFontName(); #elif BUILDFLAG(IS_FUCHSIA) // Make Blink's "focus ring" invisible. The focus ring is a hairline border diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 265386abe9b1..1ffb387b7631 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-01-13 08:56:02 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -118,7 +118,7 @@ +@@ -119,7 +119,7 @@ #include "ui/gfx/gdi_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "content/browser/accessibility/browser_accessibility_auralinux.h" #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/linux/linux_ui.h" -@@ -451,7 +451,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -452,7 +452,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot()) ->GetCOM(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetBrowserAccessibilityRoot()) -@@ -1589,7 +1589,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -1590,7 +1590,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { return GetTextInputManager() && GetTextInputManager()->should_do_learning(); } -#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) { -@@ -2421,7 +2421,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2422,7 +2422,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -2598,7 +2598,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -2599,7 +2599,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_in_browser && linux_ui && event.os_event && diff --git a/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc index bb577c293764..d376630e8ee6 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc @@ -1,32 +1,32 @@ ---- content/browser/utility_sandbox_delegate.cc.orig 2023-01-13 08:56:02 UTC +--- content/browser/utility_sandbox_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/utility_sandbox_delegate.cc -@@ -63,13 +63,13 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -64,13 +64,13 @@ UtilitySandboxedProcessLauncherDelegate:: #if BUILDFLAG(ENABLE_PPAPI) sandbox_type_ == sandbox::mojom::Sandbox::kPpapi || #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -112,10 +112,10 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate:: +@@ -117,10 +117,10 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe // unsandboxed zygote and then apply their actual sandboxes in the forked // process upon startup. if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork || -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc b/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc index 8c38457168f4..814f3fe9a2f5 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc @@ -1,11 +1,11 @@ ---- content/browser/v8_snapshot_files.cc.orig 2023-02-11 09:11:04 UTC +--- content/browser/v8_snapshot_files.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/v8_snapshot_files.cc -@@ -11,7 +11,7 @@ - namespace content { - - std::map GetV8SnapshotFilesToPreload() { +@@ -13,7 +13,7 @@ namespace content { + std::map> + GetV8SnapshotFilesToPreload() { + 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) - return {{kV8ContextSnapshotDataDescriptor, - base::FilePath( + files[kV8ContextSnapshotDataDescriptor] = base::FilePath( + FILE_PATH_LITERAL(BUILDFLAG(V8_CONTEXT_SNAPSHOT_FILENAME))); diff --git a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index 4e4e210cb8eb..2929ca128e2f 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc @@ -1,29 +1,29 @@ ---- content/browser/web_contents/web_contents_view_aura.cc.orig 2023-01-13 08:56:02 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/web_contents/web_contents_view_aura.cc @@ -178,7 +178,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, @@ -261,7 +261,7 @@ void PrepareDragData(const DropData& drop_data, if (!drop_data.download_metadata.empty()) PrepareDragForDownload(drop_data, provider, web_contents); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // We set the file contents before the URL because the URL also sets file // contents (to a .URL shortcut). We want to prefer file content data over // a shortcut so we add it first. -@@ -1368,7 +1368,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1371,7 +1371,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* // Linux window managers like to handle raise-on-click themselves. If we // raise-on-click manually, this may override user settings that prevent // focus-stealing. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // It is possible for the web-contents to be destroyed while it is being // activated. Use a weak-ptr to track whether that happened or not. // More in https://crbug.com/1040725 diff --git a/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc index 53aef2195d08..524549f024b8 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc @@ -1,38 +1,38 @@ ---- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-10-01 07:40:07 UTC +--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2023-03-10 11:01:21 UTC +++ content/browser/webui/web_ui_main_frame_observer.cc @@ -13,7 +13,7 @@ #include "content/public/browser/navigation_handle.h" #include "content/public/browser/web_ui_controller.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "base/callback_helpers.h" #include "base/feature_list.h" + #include "base/functional/callback_helpers.h" #include "base/logging.h" @@ -31,7 +31,7 @@ namespace content { namespace { -#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. @@ -55,7 +55,7 @@ WebUIMainFrameObserver::WebUIMainFrameObserver(WebUIIm WebUIMainFrameObserver::~WebUIMainFrameObserver() = default; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void WebUIMainFrameObserver::OnDidAddMessageToConsole( RenderFrameHost* source_frame, blink::mojom::ConsoleMessageLevel log_level, @@ -163,7 +163,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation( // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL // thunking issues. Fix & re-enable. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } diff --git a/www/ungoogled-chromium/files/patch-content_common_BUILD.gn b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn index 5a4329a49602..fba73094f6e8 100644 --- a/www/ungoogled-chromium/files/patch-content_common_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn @@ -1,21 +1,21 @@ ---- content/common/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- content/common/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ content/common/BUILD.gn -@@ -433,6 +433,9 @@ if (is_linux || is_chromeos) { +@@ -426,6 +426,9 @@ if (is_linux || is_chromeos) { public = [ "set_process_title_linux.h" ] sources = [ "set_process_title_linux.cc" ] deps = [ "//base" ] + if (is_bsd) { + sources -= [ "set_process_title_linux.cc" ] + } } } -@@ -481,7 +484,7 @@ mojom("mojo_bindings") { +@@ -474,7 +477,7 @@ mojom("mojo_bindings") { if (enable_ipc_logging) { enabled_features += [ "ipc_logging" ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { enabled_features += [ "supports_thread_types" ] } if (use_clang_profiling_inside_sandbox) { diff --git a/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc index 5d6f0030213d..4127d786026e 100644 --- a/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc +++ b/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc @@ -1,70 +1,70 @@ ---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-01-13 08:56:02 UTC +--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-03-10 11:01:21 UTC +++ content/gpu/gpu_sandbox_hook_linux.cc @@ -126,6 +126,7 @@ void AddStandardChromeOsPermissions( } } +#if !defined(OS_BSD) void AddV4L2GpuPermissions( std::vector* permissions, const sandbox::policy::SandboxSeccompBPF::Options& options) { -@@ -445,8 +446,10 @@ std::vector FilePermissionsForGp +@@ -481,8 +482,10 @@ std::vector FilePermissionsForGp AddStandardGpuPermissions(&permissions); return permissions; } +#endif void LoadArmGpuLibraries() { +#if !defined(OS_BSD) // Preload the Mali library. if (UseChromecastSandboxAllowlist()) { for (const char* path : kAllowedChromecastPaths) { -@@ -488,6 +491,7 @@ void LoadArmGpuLibraries() { +@@ -527,6 +530,7 @@ void LoadArmGpuLibraries() { dlopen(driver_paths[i], dlopen_flag); } } +#endif } bool LoadAmdGpuLibraries() { -@@ -555,12 +559,14 @@ void LoadV4L2Libraries( +@@ -594,12 +598,14 @@ void LoadV4L2Libraries( } void LoadChromecastV4L2Libraries() { +#if !defined(OS_BSD) for (const char* path : kAllowedChromecastPaths) { const std::string library_path(std::string(path) + std::string("libvpcodec.so")); if (dlopen(library_path.c_str(), dlopen_flag)) break; } +#endif } bool LoadLibrariesForGpu( -@@ -588,6 +594,7 @@ bool LoadLibrariesForGpu( +@@ -626,6 +632,7 @@ bool LoadLibrariesForGpu( return true; } +#if !defined(OS_BSD) sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU( const sandbox::policy::SandboxLinux::Options& options) { sandbox::syscall_broker::BrokerCommandSet command_set; -@@ -610,13 +617,17 @@ bool BrokerProcessPreSandboxHook( +@@ -649,13 +656,17 @@ bool BrokerProcessPreSandboxHook( SetProcessTitleFromCommandLine(nullptr); return true; } +#endif } // namespace bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { + NOTIMPLEMENTED(); +#if !defined(OS_BSD) sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( CommandSetForGPU(options), FilePermissionsForGpu(options), base::BindOnce(BrokerProcessPreSandboxHook), options); +#endif if (!LoadLibrariesForGpu(options)) return false; diff --git a/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h b/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h index f563bae5e9f8..034ec37c101a 100644 --- a/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h +++ b/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h @@ -1,20 +1,20 @@ ---- content/public/browser/render_process_host.h.orig 2023-02-11 09:11:04 UTC +--- content/public/browser/render_process_host.h.orig 2023-03-10 11:01:21 UTC +++ content/public/browser/render_process_host.h -@@ -54,7 +54,7 @@ +@@ -53,7 +53,7 @@ #include "content/public/browser/android/child_process_importance.h" #endif -#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-forward.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -641,7 +641,7 @@ class CONTENT_EXPORT RenderProcessHost : public IPC::S const blink::StorageKey& storage_key, mojo::PendingReceiver receiver) = 0; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) virtual void CreateStableVideoDecoder( mojo::PendingReceiver receiver) = 0; diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc index 72ceb73265d9..9a896f839581 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc @@ -1,59 +1,50 @@ ---- content/public/common/content_features.cc.orig 2023-02-11 09:11:04 UTC +--- content/public/common/content_features.cc.orig 2023-03-10 11:01:21 UTC +++ content/public/common/content_features.cc -@@ -41,7 +41,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, +@@ -39,7 +39,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, "AudioServiceOutOfProcess", // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being // built with OS_CHROMEOS instead of OS_LINUX. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -53,7 +53,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, +@@ -51,7 +51,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, // kAudioServiceOutOfProcess feature is enabled. BASE_FEATURE(kAudioServiceSandbox, "AudioServiceSandbox", -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -499,7 +499,7 @@ BASE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens, +@@ -539,7 +539,7 @@ BASE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens, // (activated by kUserAgentClientHint) BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Supports proxying thread type changes of renderer processes to browser // process and having browser process handle adjusting thread properties (nice // value, c-group, latency sensitivity...) for renderers which have sandbox -@@ -1258,7 +1258,7 @@ BASE_FEATURE(kWebAssemblyCodeProtection, - "WebAssemblyCodeProtection", - base::FEATURE_DISABLED_BY_DEFAULT); - --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) - // Use memory protection keys in userspace (PKU) (if available) to protect code - // JITed for WebAssembly. Fall back to traditional memory protection if - // WebAssemblyCodeProtection is also enabled. -@@ -1305,7 +1305,7 @@ BASE_FEATURE(kWebAssemblyTiering, +@@ -1333,7 +1333,7 @@ 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_MAC) && defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT -@@ -1381,7 +1381,11 @@ BASE_FEATURE(kWebUICodeCache, +@@ -1404,7 +1404,11 @@ BASE_FEATURE(kWebUICodeCache, // 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/ungoogled-chromium/files/patch-content_public_common_content__features.h b/www/ungoogled-chromium/files/patch-content_public_common_content__features.h index 3be7b4d6654a..97a9fec12400 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__features.h +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__features.h @@ -1,20 +1,11 @@ ---- content/public/common/content_features.h.orig 2023-02-11 09:11:04 UTC +--- content/public/common/content_features.h.orig 2023-03-10 11:01:21 UTC +++ content/public/common/content_features.h -@@ -107,7 +107,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollO +@@ -114,7 +114,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollO CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSet); CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens); CONTENT_EXPORT BASE_DECLARE_FEATURE(kGreaseUACH); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kHandleRendererThreadTypeChangesInBrowser); #endif CONTENT_EXPORT BASE_DECLARE_FEATURE(kIdleDetection); -@@ -282,7 +282,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kVideoPlaybackQual - CONTENT_EXPORT BASE_DECLARE_FEATURE(kV8VmFuture); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyBaseline); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodeProtection); --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) - CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodeProtectionPku); - #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && - // defined(ARCH_CPU_X86_64) diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc index 07553a548fd2..9743ef662eb7 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc @@ -1,20 +1,20 @@ ---- content/public/common/content_switches.cc.orig 2023-02-11 09:11:04 UTC +--- content/public/common/content_switches.cc.orig 2023-03-10 11:01:21 UTC +++ content/public/common/content_switches.cc -@@ -367,6 +367,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] = +@@ -359,6 +359,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] = // builds. const char kEnableLogging[] = "enable-logging"; +const char kDisableUnveil[] = "disable-unveil"; + // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables // triggering of change attribute of the NetInfo API when there is a change in // the connection type. -@@ -1003,7 +1005,7 @@ const char kEnableAutomation[] = "enable-automation"; +@@ -995,7 +997,7 @@ const char kEnableAutomation[] = "enable-automation"; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Allows sending text-to-speech requests to speech-dispatcher, a common // Linux speech service. Because it's buggy, the user must explicitly // enable it so that visiting a random webpage can't cause instability. diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h index cb9d15614756..3fc9dc6e7136 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h @@ -1,19 +1,19 @@ ---- content/public/common/content_switches.h.orig 2023-02-11 09:11:04 UTC +--- content/public/common/content_switches.h.orig 2023-03-10 11:01:21 UTC +++ content/public/common/content_switches.h -@@ -118,6 +118,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu +@@ -116,6 +116,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[]; CONTENT_EXPORT extern const char kEnableLCDText[]; CONTENT_EXPORT extern const char kEnableLogging[]; +CONTENT_EXPORT extern const char kDisableUnveil[]; CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[]; -@@ -271,7 +272,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -268,7 +269,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni b/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni index a6eee1453e0c..337e3c589325 100644 --- a/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni +++ b/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni @@ -1,8 +1,8 @@ ---- content/public/common/zygote/features.gni.orig 2022-10-01 07:40:07 UTC +--- content/public/common/zygote/features.gni.orig 2023-03-10 11:01:21 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_handle = is_posix && !is_android && !is_mac -+use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd +-use_zygote = is_posix && !is_android && !is_mac ++use_zygote = is_posix && !is_android && !is_mac && !is_bsd diff --git a/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc index f9abdad2a9e1..b414f4d576e8 100644 --- a/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc +++ b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc @@ -1,11 +1,11 @@ ---- content/public/test/mock_render_thread.cc.orig 2023-01-13 08:56:02 UTC +--- content/public/test/mock_render_thread.cc.orig 2023-03-10 11:01:21 UTC +++ content/public/test/mock_render_thread.cc -@@ -65,7 +65,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend +@@ -64,7 +64,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend std::move(callback).Run(false); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void SetThreadType(int32_t platform_thread_id, base::ThreadType thread_type) override {} #endif diff --git a/www/ungoogled-chromium/files/patch-content_renderer_BUILD.gn b/www/ungoogled-chromium/files/patch-content_renderer_BUILD.gn index 7becde32b6ac..2da675856a20 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_renderer_BUILD.gn @@ -1,16 +1,16 @@ ---- content/renderer/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- content/renderer/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ content/renderer/BUILD.gn -@@ -198,6 +198,13 @@ target(link_target_type, "renderer") { +@@ -200,6 +200,13 @@ target(link_target_type, "renderer") { ] } + if (is_bsd) { + sources -= [ + "renderer_thread_type_handler.cc", + "renderer_thread_type_handler.h", + ] + } + if (is_mac) { sources += [ "renderer_main_platform_delegate_mac.mm", diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc index f4e2c4abefe0..05f421812aa2 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc @@ -1,29 +1,20 @@ ---- content/renderer/render_process_impl.cc.orig 2023-02-11 09:11:04 UTC +--- content/renderer/render_process_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/renderer/render_process_impl.cc @@ -46,7 +46,7 @@ #if BUILDFLAG(IS_WIN) #include "base/win/win_util.h" #endif -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) #include "v8/include/v8-wasm-trap-handler-posix.h" #endif -@@ -154,7 +154,7 @@ RenderProcessImpl::RenderProcessImpl() - SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection, - "--no-wasm-write-protect-code-memory"); - --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) - SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku, - "--wasm-memory-protection-keys"); - SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku, -@@ -234,7 +234,7 @@ RenderProcessImpl::RenderProcessImpl() +@@ -223,7 +223,7 @@ RenderProcessImpl::RenderProcessImpl() SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering, "--no-wasm-dynamic-tiering"); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { base::CommandLine* const command_line = base::CommandLine::ForCurrentProcess(); diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc index cac204bb7814..1c90e2dd0d19 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2023-02-11 09:11:04 UTC +--- content/renderer/render_thread_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/renderer/render_thread_impl.cc -@@ -197,6 +197,8 @@ +@@ -200,6 +200,8 @@ #if BUILDFLAG(IS_MAC) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -1038,7 +1040,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1051,7 +1053,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: kGpuStreamPriorityMedia); const bool enable_video_decode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) && #endif // BUILDFLAG(IS_LINUX) !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && -@@ -1048,7 +1050,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1060,7 +1062,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::kVaapiVideoEncodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) && -@@ -1082,7 +1084,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1843,7 +1845,7 @@ std::unique_ptr RenderThreadImpl::Create + bool enable_video_encode_accelerator) { mojo::PendingRemote vea_provider; - -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) { BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver()); } else { diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc index 6faf39d9f36c..eccfd8b949ca 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2023-02-11 09:11:04 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2023-03-10 11:01:21 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -113,7 +113,7 @@ +@@ -112,7 +112,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" #endif -@@ -183,7 +183,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -178,7 +178,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( main_thread_scheduler_(main_thread_scheduler) { // 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()); -@@ -193,7 +193,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -188,7 +188,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( #endif } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (sandboxEnabled()) { #if BUILDFLAG(IS_MAC) sandbox_support_ = std::make_unique(); -@@ -275,7 +275,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl +@@ -270,7 +270,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl #endif blink::WebSandboxSupport* RendererBlinkPlatformImpl::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 // These platforms do not require sandbox support. diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h index 1f0f7cf41f0d..65ee7f54f22e 100644 --- a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,29 +1,29 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2023-02-11 09:11:04 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2023-03-10 11:01:21 UTC +++ content/renderer/renderer_blink_platform_impl.h @@ -31,7 +31,7 @@ #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font/public/cpp/font_loader.h" // nogncheck #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck #endif -@@ -243,7 +243,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -245,7 +245,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info, const gpu::GPUInfo& gpu_info) const; -#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 -@@ -263,7 +263,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -265,7 +265,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi mutable base::WaitableEvent io_thread_id_ready_event_; base::PlatformThreadId io_thread_id_ = base::kInvalidThreadId; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sk_sp font_loader_; #endif diff --git a/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn index 3df484ef6630..722477d1b9a6 100644 --- a/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- content/shell/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ content/shell/BUILD.gn -@@ -903,7 +903,7 @@ group("content_shell_crash_test") { +@@ -905,7 +905,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc index e7a3c74240c0..614c7c00f85f 100644 --- a/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc +++ b/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -1,20 +1,20 @@ ---- content/shell/utility/shell_content_utility_client.cc.orig 2023-02-11 09:11:04 UTC +--- content/shell/utility/shell_content_utility_client.cc.orig 2023-03-10 11:01:21 UTC +++ content/shell/utility/shell_content_utility_client.cc -@@ -34,7 +34,7 @@ +@@ -38,7 +38,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 -@@ -155,7 +155,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow +@@ -187,7 +187,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/ungoogled-chromium/files/patch-content_test_BUILD.gn b/www/ungoogled-chromium/files/patch-content_test_BUILD.gn index d2babc288ec6..e2e3da3e2771 100644 --- a/www/ungoogled-chromium/files/patch-content_test_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-content_test_BUILD.gn @@ -1,20 +1,20 @@ ---- content/test/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- content/test/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ content/test/BUILD.gn -@@ -2091,7 +2091,7 @@ static_library("run_all_unittests") { +@@ -2103,7 +2103,7 @@ static_library("run_all_unittests") { ":test_support", "//base/test:test_support", ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//content/common:set_process_title_linux" ] } } -@@ -3111,7 +3111,7 @@ test("content_unittests") { +@@ -3130,7 +3130,7 @@ test("content_unittests") { deps += [ "//third_party/boringssl" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "../common/set_process_title_linux_unittest.cc" ] deps += [ "//content/common:set_process_title_linux" ] } diff --git a/www/ungoogled-chromium/files/patch-content_utility_services.cc b/www/ungoogled-chromium/files/patch-content_utility_services.cc index 732129d426d5..f4c7fc96dda3 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_services.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_services.cc @@ -1,63 +1,63 @@ ---- content/utility/services.cc.orig 2023-02-11 09:11:04 UTC +--- content/utility/services.cc.orig 2023-03-10 11:01:21 UTC +++ content/utility/services.cc -@@ -63,7 +63,7 @@ +@@ -64,7 +64,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" -@@ -86,7 +86,7 @@ extern sandbox::TargetServices* g_utility_target_servi +@@ -87,7 +87,7 @@ extern sandbox::TargetServices* g_utility_target_servi #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) || // BUILDFLAG(USE_V4L2_CODEC)) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \ (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) #include "media/mojo/services/stable_video_decoder_factory_service.h" // nogncheck #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && -@@ -214,7 +214,7 @@ auto RunAudio(mojo::PendingReceiver -@@ -328,7 +328,7 @@ auto RunStableVideoDecoderFactoryService( +@@ -331,7 +331,7 @@ auto RunStableVideoDecoderFactoryService( #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && // (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) { -@@ -386,13 +386,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -389,13 +389,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory& #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) || // BUILDFLAG(USE_V4L2_CODEC)) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \ (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) services.Add(RunStableVideoDecoderFactoryService); #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && // (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/ungoogled-chromium/files/patch-content_utility_utility__main.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc index 7aee26f5660e..0441ee4c3fbc 100644 --- a/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc @@ -1,94 +1,94 @@ ---- content/utility/utility_main.cc.orig 2023-01-13 08:56:02 UTC +--- content/utility/utility_main.cc.orig 2023-03-10 11:01:21 UTC +++ content/utility/utility_main.cc @@ -31,7 +31,7 @@ #include "third_party/icu/source/common/unicode/unistr.h" #include "third_party/icu/source/i18n/unicode/timezone.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" #include "gpu/config/gpu_info_collector.h" #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h" @@ -42,15 +42,21 @@ #if BUILDFLAG(ENABLE_PRINTING) #include "printing/sandbox/print_backend_sandbox_hook_linux.h" #endif +#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" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#endif + #if BUILDFLAG(IS_CHROMEOS_ASH) #include "chromeos/ash/components/assistant/buildflags.h" #include "chromeos/ash/services/ime/ime_sandbox_hook.h" @@ -62,7 +68,7 @@ #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if (BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))) #include "components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h" // nogncheck #endif @@ -83,10 +89,10 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox sandbox_type) { const bool obtain_gpu_info = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoEncoding; -@@ -156,7 +162,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -168,7 +174,7 @@ int UtilityMain(MainFunctionParams parameters) { } } -#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. -@@ -184,7 +190,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -196,7 +202,7 @@ int UtilityMain(MainFunctionParams parameters) { pre_sandbox_hook = base::BindOnce(&screen_ai::ScreenAIPreSandboxHook); break; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) case sandbox::mojom::Sandbox::kHardwareVideoDecoding: pre_sandbox_hook = base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook); -@@ -211,6 +217,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -223,6 +229,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::policy::SandboxLinux::Options sandbox_options; -@@ -219,6 +226,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -231,6 +238,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 #elif BUILDFLAG(IS_WIN) g_utility_target_services = parameters.sandbox_info->target_services; #endif diff --git a/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc index dafbb5aca13d..7d107dd16f30 100644 --- a/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc +++ b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc @@ -1,11 +1,11 @@ ---- device/gamepad/gamepad_provider.cc.orig 2023-02-11 09:11:04 UTC +--- device/gamepad/gamepad_provider.cc.orig 2023-03-10 11:01:21 UTC +++ device/gamepad/gamepad_provider.cc -@@ -218,7 +218,7 @@ void GamepadProvider::Initialize(std::unique_ptr("Gamepad polling thread"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, the data fetcher needs to watch file descriptors, so the message // loop needs to be a libevent loop. const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO; diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc b/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc index b4f730a5c4d4..cd7881d94920 100644 --- a/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc +++ b/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc @@ -1,11 +1,11 @@ ---- extensions/browser/extension_prefs.cc.orig 2023-02-11 09:11:04 UTC +--- extensions/browser/extension_prefs.cc.orig 2023-03-10 11:01:21 UTC +++ extensions/browser/extension_prefs.cc -@@ -2216,7 +2216,7 @@ void ExtensionPrefs::RegisterProfilePrefs( +@@ -2210,7 +2210,7 @@ void ExtensionPrefs::RegisterProfilePrefs( registry->RegisterDictionaryPref(kInstallSignature); registry->RegisterListPref(kExternalUninstalls); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(pref_names::kChromeAppsEnabled, false); #endif diff --git a/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json index c037f980366a..872b7840f2ea 100644 --- a/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json +++ b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json @@ -1,29 +1,29 @@ ---- extensions/common/api/_permission_features.json.orig 2023-01-13 08:56:02 UTC +--- extensions/common/api/_permission_features.json.orig 2023-03-10 11:01:21 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 -@@ -429,7 +429,7 @@ +@@ -427,7 +427,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 -@@ -471,7 +471,7 @@ +@@ -469,7 +469,7 @@ "networkingPrivate": { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "lacros", "mac", "win", "linux", "fuchsia"], + "platforms": ["chromeos", "lacros", "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/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc index 54569f1b517e..4958ec119670 100644 --- a/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc +++ b/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -1,29 +1,29 @@ ---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-10-01 07:40:07 UTC +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2023-03-10 11:01:21 UTC +++ google_apis/gcm/engine/heartbeat_manager.cc -@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30; +@@ -33,7 +33,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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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 -@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() { +@@ -193,7 +193,7 @@ void HeartbeatManager::RestartTimer() { base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered, weak_ptr_factory_.GetWeakPtr())); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. -@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() { +@@ -218,7 +218,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() { return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Otherwise check again later. io_task_runner_->PostDelayedTask( FROM_HERE, diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc index 92e52f578dde..a49ad12cb1f5 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc -@@ -123,7 +123,7 @@ bool AngleVulkanImageBackingFactory::CanUseAngleVulkan +@@ -122,7 +122,7 @@ bool AngleVulkanImageBackingFactory::CanUseAngleVulkan // TODO(penghuang): verify the scanout is the right usage for video playback. // crbug.com/1280798 constexpr auto kSupportedUsages = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SHARED_IMAGE_USAGE_SCANOUT | #endif SHARED_IMAGE_USAGE_GLES2 | SHARED_IMAGE_USAGE_GLES2_FRAMEBUFFER_HINT | diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc index 4020e2454e67..8c35842bebab 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc -@@ -33,7 +33,7 @@ +@@ -34,7 +34,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/scoped_binders.h" -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" #endif -@@ -574,7 +574,7 @@ std::unique_ptr ExternalVkIma +@@ -582,7 +582,7 @@ std::unique_ptr ExternalVkIma WGPUDevice wgpuDevice, WGPUBackendType backend_type, std::vector view_formats) { -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) auto wgpu_format = ToWGPUFormat(format()); if (wgpu_format == WGPUTextureFormat_Undefined) { diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc index 55d17ad69ba7..beec48be685b 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc -@@ -173,7 +173,7 @@ bool ExternalVkImageBackingFactory::IsSupported( +@@ -172,7 +172,7 @@ bool ExternalVkImageBackingFactory::IsSupported( // TODO: remove it when below formats are converted to multi plane shared // image formats. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switch (format.resource_format()) { case viz::YUV_420_BIPLANAR: case viz::YUVA_420_TRIPLANAR: diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc deleted file mode 100644 index edc128e976eb..000000000000 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc.orig 2023-02-11 09:11:04 UTC -+++ gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc -@@ -465,7 +465,7 @@ void GLTextureImageBacking::InitializeGLTexture( - } - - void GLTextureImageBacking::CreateEGLImage() { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) - SharedContextState* shared_context_state = factory()->GetSharedContextState(); - ui::ScopedMakeCurrent smc(shared_context_state->context(), - shared_context_state->surface()); diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc deleted file mode 100644 index c539b584badb..000000000000 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc.orig 2023-02-11 09:11:04 UTC -+++ gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc -@@ -143,7 +143,7 @@ bool GLTextureImageBackingFactory::IsSupported( - // Linux and ChromeOS support WebGPU/Compat on GL. All other platforms - // do not support WebGPU on GL. - if (usage & SHARED_IMAGE_USAGE_WEBGPU) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) - if (use_webgpu_adapter_ != WebGPUAdapterName::kCompat) { - return false; - } diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc new file mode 100644 index 000000000000..b711463e6d2e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2023-03-10 11:01:21 UTC ++++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc +@@ -186,7 +186,7 @@ bool WrappedSkImageBacking::Initialize() { + : GrMipMapped::kNo; + const std::string label = "WrappedSkImageBackingFactory_Initialize" + + CreateLabelForSharedImageUsage(usage()); +-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) ++#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Initializing to bright green makes it obvious if the pixels are not + // properly set before they are displayed (e.g. https://crbug.com/956555). + // We don't do this on release builds because there is a slight overhead. diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc deleted file mode 100644 index b22dc38b244f..000000000000 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc.orig 2023-02-11 09:11:04 UTC -+++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc -@@ -216,7 +216,7 @@ class WrappedSkImage : public ClearTrackingSharedImage - : GrMipMapped::kNo; - const std::string label = "WrappedSkImageBackingFactory_Initialize" + - CreateLabelForSharedImageUsage(usage()); --#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) -+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - // Initializing to bright green makes it obvious if the pixels are not - // properly set before they are displayed (e.g. https://crbug.com/956555). - // We don't do this on release builds because there is a slight overhead. diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index 7237858e77df..875fcd7c4c9e 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1225,7 +1225,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl( +@@ -1237,7 +1237,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl( if (gr_context_type_ != GrContextType::kVulkan && use_webgpu_adapter_ != WebGPUAdapterName::kCompat) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) callback(WGPURequestAdapterStatus_Unavailable, nullptr, "WebGPU on Linux requires command-line flag " "--enable-features=Vulkan", diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc index c1f6a6c918a4..ce4780214f78 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2022-10-01 07:40:07 UTC +--- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc @@ -14,7 +14,7 @@ #include "ui/gl/gl_image.h" #include "ui/gl/init/gl_factory.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/gl/gl_image_native_pixmap.h" #endif -@@ -43,7 +43,7 @@ class GpuOESEGLImageTest : public testing::Test, +@@ -46,7 +46,7 @@ class GpuOESEGLImageTest : public testing::Test, bool egl_initialized_{false}; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/835072): re-enable this test on ASAN once bugs are fixed. #if !defined(ADDRESS_SANITIZER) diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc index 361cda5662ad..8c6b4ef69e4b 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/tests/gl_test_utils.cc.orig 2022-10-01 07:40:07 UTC +--- gpu/command_buffer/tests/gl_test_utils.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/command_buffer/tests/gl_test_utils.cc @@ -24,7 +24,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/init/gl_factory.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/gl/gl_image_native_pixmap.h" #endif -@@ -458,7 +458,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() { +@@ -459,7 +459,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() { window_system_binding_info_ = gl::GLWindowSystemBindingInfo(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) scoped_refptr GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format, gfx::Size size, diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc index d59cee02ea37..bd6373bf9e13 100644 --- a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -351,7 +351,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -353,7 +353,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 -@@ -387,7 +387,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -389,7 +389,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. -@@ -436,7 +436,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -438,7 +438,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL if (gl_initialized && gl_use_swiftshader_ && !gl::IsSoftwareGLImplementation(gl::GetGLImplementationParts())) { -#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; -@@ -487,7 +487,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -489,7 +489,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The ContentSandboxHelper is currently the only one implementation of // GpuSandboxHelper and it has no dependency. Except on Linux where // VaapiWrapper checks the GL implementation to determine which display -@@ -547,7 +547,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -549,7 +549,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; -@@ -675,7 +675,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -677,7 +677,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); -#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. -@@ -727,7 +727,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -729,7 +729,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL gl_use_swiftshader_ = true; } } -#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 -@@ -870,7 +870,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -873,7 +873,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 -@@ -933,7 +933,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -937,7 +937,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc index 2d2fb6828d5b..ce8fba2ca193 100644 --- a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -1,20 +1,20 @@ ---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2023-02-11 09:11:04 UTC +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2023-03-10 11:01:21 UTC +++ gpu/ipc/service/gpu_memory_buffer_factory.cc -@@ -12,7 +12,7 @@ +@@ -13,7 +13,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 -@@ -35,7 +35,7 @@ GpuMemoryBufferFactory::CreateNativeType( +@@ -36,7 +36,7 @@ GpuMemoryBufferFactory::CreateNativeType( return std::make_unique(); #elif BUILDFLAG(IS_ANDROID) return std::make_unique(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return std::make_unique( vulkan_context_provider); #elif BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc index 37f1824ea122..0b4942be098b 100644 --- a/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2023-02-11 09:11:04 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -337,7 +337,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( - if (process_type != switches::kZygoteProcess) { +@@ -326,7 +326,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( + if (process_type != ::switches::kZygoteProcess) { g_headless_crash_client.Pointer()->set_crash_dumps_dir( - options()->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/ungoogled-chromium/files/patch-ipc_ipc__channel.h b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h index 3f3345661d32..b02bad5b4d05 100644 --- a/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h @@ -1,11 +1,11 @@ ---- ipc/ipc_channel.h.orig 2022-10-01 07:40:07 UTC +--- ipc/ipc_channel.h.orig 2023-03-10 11:01:21 UTC +++ ipc/ipc_channel.h -@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { +@@ -233,7 +233,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/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc index c91cd6843c16..ca374a31e10f 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc +++ b/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc @@ -1,14 +1,14 @@ ---- media/audio/audio_output_proxy_unittest.cc.orig 2023-02-11 09:11:04 UTC +--- media/audio/audio_output_proxy_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ media/audio/audio_output_proxy_unittest.cc -@@ -444,7 +444,11 @@ class AudioOutputProxyTest : public testing::Test { +@@ -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/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc index 822a33bf14fb..0cc2a5f7aa4e 100644 --- a/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc @@ -1,204 +1,203 @@ ---- media/audio/sndio/sndio_input.cc.orig 2022-10-01 07:40:07 UTC +--- media/audio/sndio/sndio_input.cc.orig 2023-03-10 11:01:21 UTC +++ media/audio/sndio/sndio_input.cc -@@ -0,0 +1,201 @@ +@@ -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/bind.h" +#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/ungoogled-chromium/files/patch-media_base_media__switches.cc b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc index 5f0e7bcd8e20..59212f2d2b36 100644 --- a/www/ungoogled-chromium/files/patch-media_base_media__switches.cc +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc @@ -1,73 +1,55 @@ ---- media/base/media_switches.cc.orig 2023-02-11 09:11:04 UTC +--- media/base/media_switches.cc.orig 2023-03-10 11:01:21 UTC +++ media/base/media_switches.cc @@ -12,7 +12,7 @@ #include "components/system_media_controls/linux/buildflags/buildflags.h" #include "media/media_buildflags.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/cpu.h" #endif -@@ -407,7 +407,7 @@ BASE_FEATURE(kCdmProcessSiteIsolation, - // playback going to a specific output device in the audio service. - BASE_FEATURE(kChromeWideEchoCancellation, - "ChromeWideEchoCancellation", --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT); - #else - base::FEATURE_DISABLED_BY_DEFAULT); -@@ -419,7 +419,7 @@ BASE_FEATURE(kChromeWideEchoCancellation, - // processing is done on the audio capture thread itself. - const base::FeatureParam kChromeWideEchoCancellationProcessingFifoSize{ - &kChromeWideEchoCancellation, "processing_fifo_size", --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - 110 // Default value for the enabled feature. - #else - 0 -@@ -510,7 +510,7 @@ BASE_FEATURE(kFallbackAfterDecodeError, +@@ -584,7 +584,7 @@ BASE_FEATURE(kFallbackAfterDecodeError, // 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 -@@ -558,7 +558,7 @@ constexpr base::FeatureParam GetDefaultLayo +@@ -307,7 +307,7 @@ static absl::optional GetDefaultLayo return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // This class allows us to embed a vector into a scoped_refptr, and // thus to have several VideoFrames share the same set of DMABUF FDs. class VideoFrame::DmabufHolder -@@ -646,7 +646,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -647,7 +647,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM for (size_t i = 0; i < num_planes; ++i) planes[i].stride = gpu_memory_buffer->stride(i); uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) { const auto gmb_handle = gpu_memory_buffer->CloneHandle(); if (gmb_handle.is_null() || -@@ -692,7 +692,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -693,7 +693,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, -@@ -912,7 +912,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( +@@ -913,7 +913,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DCHECK(frame->dmabuf_fds_); // If there are any |dmabuf_fds_| plugged in, we should refer them too. wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_; -@@ -1303,7 +1303,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( +@@ -1304,7 +1304,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( : mailbox_holders_[texture_index]; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const std::vector& VideoFrame::DmabufFds() const { DCHECK_EQ(storage_type_, STORAGE_DMABUFS); -@@ -1415,7 +1415,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, +@@ -1417,7 +1417,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, storage_type_(storage_type), visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))), natural_size_(natural_size), -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) dmabuf_fds_(base::MakeRefCounted()), #endif timestamp_(timestamp), diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc index 1778eb19c43d..6c00318d7c2b 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc +++ b/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -1,20 +1,20 @@ ---- media/capture/video/create_video_capture_device_factory.cc.orig 2022-10-01 07:40:07 UTC +--- media/capture/video/create_video_capture_device_factory.cc.orig 2023-03-10 11:01:21 UTC +++ media/capture/video/create_video_capture_device_factory.cc -@@ -12,7 +12,7 @@ +@@ -13,7 +13,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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) #include "media/capture/video/linux/video_capture_device_factory_linux.h" #elif BUILDFLAG(IS_CHROMEOS_ASH) #include "media/capture/video/chromeos/public/cros_features.h" -@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() { +@@ -56,7 +56,7 @@ CreateFakeVideoCaptureDeviceFactory() { std::unique_ptr CreatePlatformSpecificVideoCaptureDeviceFactory( scoped_refptr ui_task_runner) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) return std::make_unique(ui_task_runner); #elif BUILDFLAG(IS_CHROMEOS_ASH) if (base::SysInfo::IsRunningOnChromeOS()) diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc index 39bc8f9464e4..6f723dde52dc 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -1,44 +1,44 @@ ---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-12-02 17:56:32 UTC +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2023-03-10 11:01:21 UTC +++ media/capture/video/linux/v4l2_capture_delegate.cc @@ -4,8 +4,10 @@ #include "media/capture/video/linux/v4l2_capture_delegate.h" +#if !defined(OS_BSD) #include #include +#endif #include #include #include -@@ -28,10 +30,10 @@ +@@ -29,10 +31,10 @@ using media::mojom::MeteringMode; -#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) +// #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. -@@ -667,7 +669,7 @@ base::WeakPtr V4L2CaptureDelegate +@@ -668,7 +670,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) { -@@ -677,7 +679,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void* +@@ -678,7 +680,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)); } diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h index 15511e7ed520..aa1e77975b4f 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h @@ -1,15 +1,15 @@ ---- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-10-01 07:40:07 UTC +--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-03-10 11:01:21 UTC +++ media/capture/video/linux/v4l2_capture_delegate.h -@@ -86,10 +86,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { +@@ -87,10 +87,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); // Creates a mojom::RangePtr with the (min, max, current, step) values of the // control associated with |control_id|. Returns an empty Range otherwise. diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc index 418b2b53c41a..34b77b5ce469 100644 --- a/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc @@ -1,45 +1,45 @@ ---- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2022-10-01 07:40:07 UTC +--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2023-03-10 11:01:21 UTC +++ media/capture/video/linux/video_capture_device_factory_linux.cc -@@ -72,6 +72,9 @@ class DevVideoFilePathsDeviceProvider +@@ -73,6 +73,9 @@ class DevVideoFilePathsDeviceProvider : public VideoCaptureDeviceFactoryLinux::DeviceProvider { public: void GetDeviceIds(std::vector* target_container) override { +#if defined(OS_OPENBSD) + target_container->emplace_back("/dev/video"); +#else const base::FilePath path("/dev/"); base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, "video*"); -@@ -79,9 +82,13 @@ class DevVideoFilePathsDeviceProvider +@@ -80,9 +83,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 defined(OS_OPENBSD) + return std::string(); +#endif const std::string file_name = ExtractFileNameFromDeviceId(device_id); std::string usb_id; const std::string vid_path = -@@ -99,6 +106,9 @@ class DevVideoFilePathsDeviceProvider +@@ -100,6 +107,9 @@ class DevVideoFilePathsDeviceProvider } std::string GetDeviceDisplayName(const std::string& device_id) override { +#if defined(OS_OPENBSD) + return std::string(); +#endif const std::string file_name = ExtractFileNameFromDeviceId(device_id); const std::string interface_path = base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); -@@ -213,7 +223,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo( +@@ -214,7 +224,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo( std::move(callback).Run(std::move(devices_info)); } -int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) { +int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) { return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); } diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc index d8f921e26a21..9ec133770150 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,20 +1,37 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-02-11 09:11:04 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-03-10 11:01:21 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -789,7 +789,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -213,7 +213,7 @@ std::unique_ptr VideoDecoderPipeline::Cr + #if BUILDFLAG(USE_VAAPI) + create_decoder_function_cb = base::BindOnce(&VaapiVideoDecoder::Create); + #elif BUILDFLAG(USE_V4L2_CODEC) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) + create_decoder_function_cb = base::BindOnce(&V4L2VideoDecoder::Create); + #else + return nullptr; +@@ -807,14 +807,14 @@ VideoDecoderPipeline::PickDecoderOutputFormat( } } --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI) ++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_VAAPI) // Linux should always use a custom allocator (to allocate buffers using // libva) and a PlatformVideoFramePool. CHECK(allocator.has_value()); -@@ -811,7 +811,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + CHECK(main_frame_pool_->AsPlatformVideoFramePool()); + main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( + *allocator); +-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) ++#elif (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && 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 +@@ -842,7 +842,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( #error "Unsupported platform" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // viable_candidate should always be set unless using L1 protected content, // which isn't an option on linux. CHECK(viable_candidate); diff --git a/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc index ef714f994370..9752b300b2c1 100644 --- a/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc +++ b/www/ungoogled-chromium/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 2023-02-11 09:11:04 UTC +--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2023-03-10 11:01:21 UTC +++ media/video/gpu_memory_buffer_video_frame_pool.cc -@@ -736,7 +736,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa +@@ -727,7 +727,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa } bool is_software_backed_video_frame = !video_frame->HasTextures(); -#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 -@@ -1167,7 +1167,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo +@@ -1158,7 +1158,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo is_webgpu_compatible = (gpu_memory_buffer != nullptr); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) is_webgpu_compatible = (gpu_memory_buffer != nullptr); if (is_webgpu_compatible) { is_webgpu_compatible &= -@@ -1186,7 +1186,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo +@@ -1177,7 +1177,7 @@ scoped_refptr GpuMemoryBufferVideoFramePoo gpu::SHARED_IMAGE_USAGE_DISPLAY_READ | gpu::SHARED_IMAGE_USAGE_SCANOUT; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // TODO(crbug.com/1241537): Always add the flag once the // OzoneImageBacking is by default turned on. if (base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc index 4851bcee43ad..61180e0c3b84 100644 --- a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,20 +1,20 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2023-02-11 09:11:04 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2023-03-10 11:01:21 UTC +++ media/video/video_encode_accelerator_adapter.cc -@@ -137,7 +137,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( +@@ -141,7 +141,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( if (is_rgb) config.input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (format != PIXEL_FORMAT_I420 || !VideoFrame::IsStorageTypeMappable(storage_type)) { // ChromeOS/Linux hardware video encoders supports I420 on-memory -@@ -457,7 +457,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal +@@ -464,7 +464,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal SetUpVeaConfig(profile_, options_, format, first_frame->storage_type(), supported_rc_modes_, required_encoder_type_); -#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 the same way the first frame was sent. // Other platforms will happily mix GpuMemoryBuffer storage with regular diff --git a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc index b8c79facbc10..5ea9a9f0aad2 100644 --- a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc +++ b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter_test.cc.orig 2023-02-11 09:11:04 UTC +--- media/video/video_encode_accelerator_adapter_test.cc.orig 2023-03-10 11:01:21 UTC +++ media/video/video_encode_accelerator_adapter_test.cc -@@ -443,7 +443,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes +@@ -449,7 +449,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) if (pixel_format != PIXEL_FORMAT_I420 || !small_frame->IsMappable()) expected_input_format = PIXEL_FORMAT_NV12; #endif diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc index 52bb11d90722..f089c433a131 100644 --- a/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc +++ b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- media/webrtc/audio_processor.cc.orig 2023-01-13 08:56:02 UTC +--- media/webrtc/audio_processor.cc.orig 2023-03-10 11:01:21 UTC +++ media/webrtc/audio_processor.cc -@@ -488,7 +488,7 @@ absl::optional AudioProcessor::ProcessData( +@@ -513,7 +513,7 @@ absl::optional AudioProcessor::ProcessData( #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) DCHECK_LE(volume, 1.0); #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ - BUILDFLAG(IS_OPENBSD) + BUILDFLAG(IS_BSD) // We have a special situation on Linux where the microphone volume can be // "higher than maximum". The input volume slider in the sound preference // allows the user to set a scaling that is higher than 100%. It means that diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc index 5c01bf55dce7..625cee8ee3b0 100644 --- a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc @@ -1,14 +1,14 @@ ---- mojo/core/channel.cc.orig 2023-02-11 09:11:04 UTC +--- mojo/core/channel.cc.orig 2023-03-10 11:01:21 UTC +++ mojo/core/channel.cc -@@ -74,7 +74,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096; +@@ -75,7 +75,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096; // Fuchsia: The zx_channel_write() API supports up to 64 handles. const size_t kMaxAttachedHandles = 64; +#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/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni index 8c6b265126b8..66d1b57be048 100644 --- a/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni +++ b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -1,19 +1,19 @@ ---- mojo/public/tools/bindings/mojom.gni.orig 2023-02-11 09:11:04 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2023-03-10 11:01:21 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -696,6 +696,16 @@ template("mojom") { +@@ -703,6 +703,16 @@ template("mojom") { enabled_features += [ "is_win" ] } + if (is_openbsd) { + enabled_features += [ "is_openbsd" ] + enabled_features += [ "is_bsd" ] + } + + if (is_freebsd) { + enabled_features += [ "is_freebsd" ] + enabled_features += [ "is_bsd" ] + } + action(parser_target_name) { script = mojom_parser_script inputs = mojom_parser_sources + ply_sources + [ build_metadata_filename ] diff --git a/www/ungoogled-chromium/files/patch-net_BUILD.gn b/www/ungoogled-chromium/files/patch-net_BUILD.gn index 1978141861fd..05606af3ae99 100644 --- a/www/ungoogled-chromium/files/patch-net_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-net_BUILD.gn @@ -1,83 +1,83 @@ ---- net/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- net/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ net/BUILD.gn @@ -103,7 +103,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" ] } -@@ -1214,6 +1214,15 @@ component("net") { +@@ -1216,6 +1216,15 @@ component("net") { deps += [ "//third_party/xdg_shared_mime_info" ] } + if (is_bsd) { + sources -= [ + "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", -@@ -1346,7 +1355,7 @@ component("net") { +@@ -1348,7 +1357,7 @@ component("net") { } } - if (is_android || is_chromeos) { + if (is_android || is_chromeos || is_bsd) { sources += [ "base/network_change_notifier_posix.cc", "base/network_change_notifier_posix.h", -@@ -1379,7 +1388,7 @@ component("net") { +@@ -1381,7 +1390,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", -@@ -4642,7 +4651,7 @@ test("net_unittests") { +@@ -4724,7 +4733,7 @@ test("net_unittests") { sources += [ "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", -@@ -4714,6 +4723,10 @@ test("net_unittests") { +@@ -4796,6 +4805,10 @@ test("net_unittests") { "//url:buildflags", ] + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { deps += [ "//net/server:tests" ] } -@@ -4781,7 +4794,7 @@ test("net_unittests") { +@@ -4863,7 +4876,7 @@ test("net_unittests") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "tools/quic/quic_simple_server_test.cc" ] } -@@ -4903,7 +4916,7 @@ test("net_unittests") { +@@ -4988,7 +5001,7 @@ test("net_unittests") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if (is_posix && !is_linux && !is_chromeos && !is_bsd) { sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] } diff --git a/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc index a46547387600..6ef6738db050 100644 --- a/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc +++ b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc @@ -1,21 +1,21 @@ ---- net/base/network_change_notifier.cc.orig 2023-01-13 08:56:02 UTC +--- net/base/network_change_notifier.cc.orig 2023-03-10 11:01:21 UTC +++ net/base/network_change_notifier.cc @@ -37,7 +37,7 @@ #include "net/base/network_change_notifier_linux.h" #elif BUILDFLAG(IS_APPLE) #include "net/base/network_change_notifier_mac.h" -#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "net/base/network_change_notifier_posix.h" #elif BUILDFLAG(IS_FUCHSIA) #include "net/base/network_change_notifier_fuchsia.h" -@@ -326,6 +326,9 @@ std::unique_ptr NetworkChangeNo +@@ -327,6 +327,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/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc index ea2c6d22aa47..a214b15be26a 100644 --- a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc @@ -1,11 +1,11 @@ ---- net/cert/cert_verify_proc.cc.orig 2023-02-11 09:11:04 UTC +--- net/cert/cert_verify_proc.cc.orig 2023-03-10 11:01:21 UTC +++ net/cert/cert_verify_proc.cc -@@ -507,7 +507,7 @@ base::Value CertVerifyParams(X509Certificate* cert, +@@ -495,7 +495,7 @@ base::Value CertVerifyParams(X509Certificate* cert, } // namespace -#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // static scoped_refptr CertVerifyProc::CreateSystemVerifyProc( scoped_refptr cert_net_fetcher) { diff --git a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc index 8296e7d84af6..7e9f355c83ba 100644 --- a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc @@ -1,11 +1,11 @@ ---- net/cert/cert_verify_proc_unittest.cc.orig 2023-02-11 09:11:04 UTC +--- net/cert/cert_verify_proc_unittest.cc.orig 2023-03-10 11:01:21 UTC +++ net/cert/cert_verify_proc_unittest.cc -@@ -269,7 +269,7 @@ const std::vector kAllCertVerifier +@@ -270,7 +270,7 @@ const std::vector kAllCertVerifier #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) CERT_VERIFY_PROC_BUILTIN_CHROME_ROOTS #endif -#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CERT_VERIFY_PROC_BUILTIN #else #error Unsupported platform diff --git a/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc index 35e72db926fb..0929d6ef98ba 100644 --- a/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc +++ b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc @@ -1,35 +1,35 @@ ---- net/proxy_resolution/proxy_config_service.cc.orig 2022-10-01 07:40:07 UTC +--- net/proxy_resolution/proxy_config_service.cc.orig 2023-03-10 11:01:21 UTC +++ net/proxy_resolution/proxy_config_service.cc -@@ -18,20 +18,20 @@ +@@ -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/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc index bd72cca81866..23d9adf12f58 100644 --- a/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc +++ b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -1,38 +1,38 @@ ---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-10-01 07:40:07 UTC +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2023-03-10 11:01:21 UTC +++ net/tools/cert_verify_tool/cert_verify_tool.cc -@@ -30,7 +30,7 @@ +@@ -31,7 +31,7 @@ #include "net/url_request/url_request_context_builder.h" #include "net/url_request/url_request_context_getter.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 -@@ -60,7 +60,7 @@ void SetUpOnNetworkThread( +@@ -61,7 +61,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. // -@@ -217,7 +217,7 @@ std::unique_ptr CreateCertVerifyImplFr +@@ -222,7 +222,7 @@ std::unique_ptr CreateCertVerifyImplFr base::StringPiece impl_name, scoped_refptr cert_net_fetcher, RootStoreType root_store_type) { -#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) if (impl_name == "platform") { if (root_store_type != RootStoreType::kSystem) { std::cerr << "WARNING: platform verifier not supported with " -@@ -474,7 +474,7 @@ int main(int argc, char** argv) { +@@ -534,7 +534,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) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) impls_str = "platform,"; #endif impls_str += "builtin,pathbuilder"; diff --git a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc index 782909aa69bd..58627a440eaa 100644 --- a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2023-02-11 09:11:04 UTC +--- net/url_request/url_request_context_builder.cc.orig 2023-03-10 11:01:21 UTC +++ net/url_request/url_request_context_builder.cc -@@ -443,7 +443,7 @@ std::unique_ptr URLRequestContextBu +@@ -444,7 +444,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) // TODO(willchan): Switch to using this code when // ProxyConfigService::CreateSystemProxyConfigService()'s // signature doesn't suck. diff --git a/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 88fb4453ca2c..b7eaf4ced36a 100644 --- a/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2023-02-11 09:11:04 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2023-03-10 11:01:21 UTC +++ pdf/pdfium/pdfium_engine.cc @@ -84,7 +84,7 @@ #include "gin/public/cppgc.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 -@@ -528,7 +528,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon +@@ -526,7 +526,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon FPDF_InitLibraryWithConfig(&config); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) g_font_mapping_mode = font_mapping_mode; InitializeLinuxFontMapper(); #endif diff --git a/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc index eacfd02e8777..8ca23981b145 100644 --- a/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc +++ b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -1,20 +1,20 @@ ---- printing/mojom/printing_context_mojom_traits.cc.orig 2022-10-01 07:40:07 UTC +--- printing/mojom/printing_context_mojom_traits.cc.orig 2023-03-10 11:01:21 UTC +++ printing/mojom/printing_context_mojom_traits.cc @@ -15,7 +15,7 @@ #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h" #include "ui/gfx/geometry/size.h" -#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 -@@ -147,7 +147,7 @@ bool StructTraits< +@@ -149,7 +149,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; diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings.cc b/www/ungoogled-chromium/files/patch-printing_print__settings.cc index 559d68556804..9420389e99b7 100644 --- a/www/ungoogled-chromium/files/patch-printing_print__settings.cc +++ b/www/ungoogled-chromium/files/patch-printing_print__settings.cc @@ -1,20 +1,20 @@ ---- printing/print_settings.cc.orig 2023-02-11 09:11:04 UTC +--- printing/print_settings.cc.orig 2023-03-10 11:01:21 UTC +++ printing/print_settings.cc -@@ -273,7 +273,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet +@@ -256,7 +256,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet #endif is_modifiable_ = settings.is_modifiable_; pages_per_sheet_ = settings.pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (const auto& item : settings.advanced_settings_) advanced_settings_.emplace(item.first, item.second.Clone()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -314,7 +314,7 @@ void PrintSettings::Clear() { +@@ -298,7 +298,7 @@ void PrintSettings::Clear() { #endif is_modifiable_ = true; pages_per_sheet_ = 1; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) advanced_settings_.clear(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings.h b/www/ungoogled-chromium/files/patch-printing_print__settings.h index 8482eb6bcd6e..23b388c5b73a 100644 --- a/www/ungoogled-chromium/files/patch-printing_print__settings.h +++ b/www/ungoogled-chromium/files/patch-printing_print__settings.h @@ -1,38 +1,38 @@ ---- printing/print_settings.h.orig 2023-02-11 09:11:04 UTC +--- printing/print_settings.h.orig 2023-03-10 11:01:21 UTC +++ printing/print_settings.h -@@ -19,7 +19,7 @@ +@@ -21,7 +21,7 @@ #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/values.h" -@@ -67,7 +67,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -69,7 +69,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { } }; -#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) -@@ -232,7 +232,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { 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_; -@@ -342,7 +342,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -351,7 +351,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { // Number of pages per sheet. int pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc b/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc index 75b5a76a937c..505be369141a 100644 --- a/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc +++ b/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc @@ -1,11 +1,11 @@ ---- printing/print_settings_conversion.cc.orig 2023-02-11 09:11:04 UTC +--- printing/print_settings_conversion.cc.orig 2023-03-10 11:01:21 UTC +++ printing/print_settings_conversion.cc -@@ -260,7 +260,7 @@ std::unique_ptr PrintSettingsFromJobSet +@@ -275,7 +275,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/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc new file mode 100644 index 000000000000..628af848ec45 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_desktop__environment__options.cc @@ -0,0 +1,11 @@ +--- remoting/host/base/desktop_environment_options.cc.orig 2023-03-10 11:01:21 UTC ++++ remoting/host/base/desktop_environment_options.cc +@@ -119,7 +119,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic + // TODO(joedow): Determine whether we can migrate additional platforms to + // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then + // clean up DesktopCapturerProxy::Core::CreateCapturer(). +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return capture_video_on_dedicated_thread_; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_basic__desktop__environment.cc b/www/ungoogled-chromium/files/patch-remoting_host_basic__desktop__environment.cc index 7341c546b4cf..8a79dd7ebc9a 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_basic__desktop__environment.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_basic__desktop__environment.cc @@ -1,11 +1,11 @@ ---- remoting/host/basic_desktop_environment.cc.orig 2022-12-02 17:56:32 UTC +--- remoting/host/basic_desktop_environment.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/basic_desktop_environment.cc -@@ -179,7 +179,7 @@ BasicDesktopEnvironment::CreateVideoCapturer() { +@@ -182,7 +182,7 @@ BasicDesktopEnvironment::CreateVideoCapturer() { scoped_refptr capture_task_runner; #if BUILDFLAG(IS_CHROMEOS_ASH) capture_task_runner = ui_task_runner_; -#elif BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_WAYLAND) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_WAYLAND) // Each capturer instance should get its own thread so the capturers don't // compete with each other in multistream mode. capture_task_runner = base::ThreadPool::CreateSingleThreadTaskRunner( diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc index eff7b86368ea..d08cab4ab0b1 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc @@ -1,11 +1,11 @@ ---- remoting/host/chromoting_host.cc.orig 2023-02-11 09:11:04 UTC +--- remoting/host/chromoting_host.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/chromoting_host.cc -@@ -130,7 +130,7 @@ void ChromotingHost::StartChromotingHostServices() { +@@ -132,7 +132,7 @@ void ChromotingHost::StartChromotingHostServices() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(!ipc_server_); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) named_mojo_ipc_server::EndpointOptions options; options.server_name = GetChromotingHostServicesServerName(); #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc index 38b1e2aaaa4c..ccc8eedfb0d2 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc @@ -1,11 +1,11 @@ ---- remoting/host/chromoting_host_context.cc.orig 2022-10-01 07:40:07 UTC +--- remoting/host/chromoting_host_context.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/chromoting_host_context.cc -@@ -143,7 +143,7 @@ std::unique_ptr ChromotingHostC +@@ -144,7 +144,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/ungoogled-chromium/files/patch-remoting_host_desktop__capturer__proxy.cc b/www/ungoogled-chromium/files/patch-remoting_host_desktop__capturer__proxy.cc new file mode 100644 index 000000000000..eadcc8cbd0a1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_desktop__capturer__proxy.cc @@ -0,0 +1,20 @@ +--- remoting/host/desktop_capturer_proxy.cc.orig 2023-03-10 11:01:21 UTC ++++ remoting/host/desktop_capturer_proxy.cc +@@ -30,7 +30,7 @@ + #include "remoting/host/chromeos/frame_sink_desktop_capturer.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #include "remoting/host/linux/wayland_desktop_capturer.h" +@@ -96,7 +96,7 @@ void DesktopCapturerProxy::Core::CreateCapturer( + capturer_ = std::make_unique( + std::make_unique()); + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + static base::nix::SessionType session_type = base::nix::SessionType::kUnset; + if (session_type == base::nix::SessionType::kUnset) { + std::unique_ptr env = base::Environment::Create(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc index 1b4827a751e3..7330a9544c39 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc @@ -1,11 +1,11 @@ ---- remoting/host/host_attributes.cc.orig 2022-10-01 07:40:07 UTC +--- remoting/host/host_attributes.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/host_attributes.cc -@@ -121,7 +121,7 @@ std::string GetHostAttributes() { +@@ -108,7 +108,7 @@ std::string GetHostAttributes() { 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/ungoogled-chromium/files/patch-remoting_host_host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc index aa5a8a33a660..a8a4fa58111d 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc @@ -1,29 +1,29 @@ ---- remoting/host/host_main.cc.orig 2022-10-01 07:40:07 UTC +--- remoting/host/host_main.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/host_main.cc @@ -50,7 +50,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) @@ -63,7 +63,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) -@@ -155,7 +155,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro +@@ -156,7 +156,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) diff --git a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__host.cc new file mode 100644 index 000000000000..2a58c5b212a8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__host.cc @@ -0,0 +1,29 @@ +--- remoting/host/it2me/it2me_host.cc.orig 2023-03-10 11:01:21 UTC ++++ remoting/host/it2me/it2me_host.cc +@@ -43,7 +43,7 @@ + #include "remoting/signaling/signaling_id_util.h" + #include "services/network/public/cpp/shared_url_loader_factory.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_manager.h" + #include "remoting/host/linux/wayland_utils.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -144,7 +144,7 @@ void It2MeHost::Connect( + + OnPolicyUpdate(std::move(policies)); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + WaylandManager::Get()->Init(host_context_->ui_task_runner()); + } +@@ -283,7 +283,7 @@ void It2MeHost::ConnectOnNetworkThread( + + // Set up the desktop environment options. + DesktopEnvironmentOptions options(DesktopEnvironmentOptions::CreateDefault()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + options.desktop_capture_options()->set_prefer_cursor_embedded(true); + } diff --git a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc index 98242e333ff1..571e2daf984f 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -1,47 +1,47 @@ ---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-12-02 17:56:32 UTC +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2023-03-10 11:01:21 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) || defined(REMOTING_USE_WAYLAND) + #if defined(REMOTING_USE_X11) #include #include "base/linux_util.h" -@@ -80,7 +80,7 @@ bool CurrentProcessHasUiAccess() { +@@ -78,7 +78,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(); + if (!IsRunningWayland()) { + // Initialize Xlib for multi-threaded use, allowing non-Chromium code to + // use X11 safely (such as the WebRTC capturer, GTK ...) @@ -126,7 +126,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv remoting::LoadResources(""); --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ - (defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND)) +-#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 -@@ -261,7 +261,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + // any command line arguments for gtk to consume. +@@ -260,7 +260,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) - // Create an X11EventSource on all UI threads, so the global X11 connection - // (x11::Connection::Get()) can dispatch X events. - auto event_source = -@@ -284,7 +284,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + scoped_refptr input_task_runner; + if (!IsRunningWayland()) { + // Create an X11EventSource on all UI threads, so the global X11 connection +@@ -287,7 +287,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(); - })); + if (!IsRunningWayland()) { + input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { + delete ui::X11EventSource::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc index 1d5d06551ed3..3e6f5db5a61c 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -1,29 +1,38 @@ ---- remoting/host/me2me_desktop_environment.cc.orig 2023-02-11 09:11:04 UTC +--- remoting/host/me2me_desktop_environment.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/me2me_desktop_environment.cc -@@ -124,7 +124,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() +@@ -125,7 +125,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; - -@@ -161,7 +161,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( + if (!IsRunningWayland()) { + capabilities += " "; + capabilities += protocol::kMultiStreamCapability; +@@ -164,7 +164,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 -@@ -193,7 +193,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( +@@ -173,7 +173,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( + mutable_desktop_capture_options()->set_detect_updated_region(false); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + mutable_desktop_capture_options()->set_prefer_cursor_embedded(false); + } +@@ -198,7 +198,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/ungoogled-chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc b/www/ungoogled-chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc new file mode 100644 index 000000000000..8ef79843aad1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc @@ -0,0 +1,11 @@ +--- remoting/host/mouse_cursor_monitor_proxy.cc.orig 2023-03-10 11:01:21 UTC ++++ remoting/host/mouse_cursor_monitor_proxy.cc +@@ -73,7 +73,7 @@ void MouseCursorMonitorProxy::Core::CreateMouseCursorM + + #if BUILDFLAG(IS_CHROMEOS_ASH) + mouse_cursor_monitor_ = std::make_unique(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + mouse_cursor_monitor_ = webrtc::MouseCursorMonitor::Create(options); + } else { diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc index 01aebce6c895..75a96d121823 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc +++ b/www/ungoogled-chromium/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 2022-10-01 07:40:07 UTC +--- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/remote_open_url/remote_open_url_util.cc -@@ -30,7 +30,7 @@ const wchar_t kRegisteredApplicationsKeyName[] = +@@ -29,7 +29,7 @@ const wchar_t kRegisteredApplicationsKeyName[] = #endif // defined (OS_WIN) bool IsRemoteOpenUrlSupported() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #elif BUILDFLAG(IS_WIN) - // The modern default apps settings dialog is only available to Windows 8+. + // The MSI installs the ProgID and capabilities into registry, but not the diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc index 26dfbc5a90cc..40c15cdd57c6 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,144 +1,160 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2022-12-02 17:56:32 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -125,7 +125,7 @@ +@@ -126,7 +126,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) || defined(REMOTING_USE_WAYLAND) + #if defined(REMOTING_USE_X11) #include - #endif // defined(REMOTING_USE_X11) || defined(REMOTING_USE_WAYLAND) -@@ -136,13 +136,13 @@ + #endif // defined(REMOTING_USE_X11) +@@ -137,13 +137,13 @@ #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/audio_capturer_linux.h" #include "remoting/host/linux/certificate_watcher.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/host/host_utmp_logger.h" #endif -@@ -184,7 +184,7 @@ const char kApplicationName[] = "chromoting"; +@@ -156,7 +156,7 @@ + #include "remoting/host/win/session_desktop_environment.h" + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_manager.h" + #include "remoting/host/linux/wayland_utils.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -186,7 +186,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"; -@@ -392,7 +392,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -394,7 +394,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr context_; -#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) -@@ -458,7 +458,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -463,7 +463,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr host_status_logger_; 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_; -@@ -767,7 +767,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -774,7 +774,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) } -@@ -826,7 +826,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -835,7 +835,7 @@ void HostProcess::CreateAuthenticatorFactory() { DCHECK(third_party_auth_config_.token_url.is_valid()); DCHECK(third_party_auth_config_.token_validation_url.is_valid()); -#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, -@@ -949,7 +949,7 @@ void HostProcess::StartOnUiThread() { - WaylandManager::Get()->Init(context_->ui_task_runner()); - #endif // defined(REMOTING_USE_WAYLAND +@@ -954,13 +954,13 @@ void HostProcess::StartOnUiThread() { + base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), + base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + WaylandManager::Get()->Init(context_->ui_task_runner()); + } + #endif // BUILDFLAG(IS_LINUX) -#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 = base::CommandLine::ForCurrentProcess()-> -@@ -1020,7 +1020,7 @@ void HostProcess::ShutdownOnUiThread() { + base::FilePath audio_pipe_name = +@@ -1032,7 +1032,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. -@@ -1028,7 +1028,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1040,7 +1040,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(); })); -@@ -1355,7 +1355,7 @@ bool HostProcess::OnUsernamePolicyUpdate(const base::V +@@ -1371,7 +1371,7 @@ bool HostProcess::OnUsernamePolicyUpdate(const base::V // Returns false: never restart the host after this policy update. DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) absl::optional host_username_match_required = policies.FindBool(policy::key::kRemoteAccessHostMatchUsername); - if (!host_username_match_required.has_value()) -@@ -1741,7 +1741,7 @@ void HostProcess::StartHost() { - // The feature is enabled for all Googlers using a supported platform. - desktop_environment_options_.set_enable_remote_open_url(is_googler_); + if (!host_username_match_required.has_value()) { +@@ -1780,7 +1780,7 @@ void HostProcess::StartHost() { + // won't be advertised if it's missing a registry key or something. + desktop_environment_options_.set_enable_remote_open_url(true); -#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_googler_); #endif -@@ -1774,7 +1774,7 @@ void HostProcess::StartHost() { +@@ -1813,7 +1813,7 @@ void HostProcess::StartHost() { host_status_logger_ = std::make_unique( host_->status_monitor(), log_to_server_.get()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); - if (cmd_line->HasSwitch(kEnableUtempter)) + if (cmd_line->HasSwitch(kEnableUtempter)) { host_utmp_logger_ = -@@ -1943,7 +1943,7 @@ int HostProcessMain() { +@@ -1984,7 +1984,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 ...) -@@ -1991,7 +1991,7 @@ int HostProcessMain() { +@@ -2033,7 +2033,7 @@ int HostProcessMain() { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = diff --git a/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc index 0bd1ee32b978..065ec8f10ce6 100644 --- a/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc +++ b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -1,29 +1,29 @@ ---- remoting/host/setup/start_host_main.cc.orig 2022-10-29 17:50:56 UTC +--- remoting/host/setup/start_host_main.cc.orig 2023-03-10 11:01:21 UTC +++ remoting/host/setup/start_host_main.cc @@ -33,7 +33,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) -@@ -127,7 +127,7 @@ void OnDone(HostStarter::Result result) { +@@ -130,7 +130,7 @@ void OnDone(HostStarter::Result result) { } // 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); -@@ -170,7 +170,7 @@ int StartHostMain(int argc, char** argv) { +@@ -173,7 +173,7 @@ int StartHostMain(int argc, char** argv) { // for the account which generated |code|. std::string host_owner = command_line->GetSwitchValueASCII("host-owner"); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_line->HasSwitch("no-start")) { // On Linux, registering the host with systemd and starting it is the only // reason start_host requires root. The --no-start options skips that final diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc index f8ed60986964..e99f8571bd62 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -1,244 +1,242 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2023-02-11 09:11:04 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.cc -@@ -0,0 +1,241 @@ +@@ -0,0 +1,239 @@ +// 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 "base/bind.h" -+#include "base/callback_helpers.h" +#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 "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 defined(USE_NSS_CERTS) +#include "crypto/nss_util.h" +#endif + +#include "ui/gfx/font_util.h" + +#define MAXTOKENS 3 + +#define _UNVEIL_MAIN "/etc/ungoogled-chromium/unveil.main"; +#define _UNVEIL_RENDERER "/etc/ungoogled-chromium/unveil.renderer"; +#define _UNVEIL_GPU "/etc/ungoogled-chromium/unveil.gpu"; +#define _UNVEIL_PLUGIN "/etc/ungoogled-chromium/unveil.plugin"; +#define _UNVEIL_UTILITY "/etc/ungoogled-chromium/unveil.utility"; +#define _UNVEIL_UTILITY_NETWORK "/etc/ungoogled-chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/ungoogled-chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/ungoogled-chromium/unveil.utility_video"; + +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(); + +#if defined(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + if (process_type.empty()) + crypto::EnsureNSSInit(); +#endif + + if (process_type.empty()) { + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("ungoogled-chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + } + + if (process_type == switches::kRendererProcess) + gfx::InitializeFonts(); + + 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=" << GetSandboxTypeInEnglish(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); + } + + 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) +} + +// static +std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + return "Unsandboxed"; + case sandbox::mojom::Sandbox::kRenderer: + return "Renderer"; + case sandbox::mojom::Sandbox::kUtility: + return "Utility"; + case sandbox::mojom::Sandbox::kGpu: + return "GPU"; + case sandbox::mojom::Sandbox::kPpapi: + return "PPAPI"; + case sandbox::mojom::Sandbox::kNetwork: + return "Network"; + case sandbox::mojom::Sandbox::kCdm: + return "CDM"; + case sandbox::mojom::Sandbox::kPrintCompositor: + return "Print Compositor"; + case sandbox::mojom::Sandbox::kAudio: + return "Audio"; + case sandbox::mojom::Sandbox::kSpeechRecognition: + return "Speech Recognition"; + case sandbox::mojom::Sandbox::kService: + return "Service"; + case sandbox::mojom::Sandbox::kVideoCapture: + return "Video Capture"; + default: + return "Unknown"; + } +} + +} // namespace policy +} // namespace sandbox diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom index 555d3741a197..05e7eec305bc 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -1,15 +1,15 @@ ---- sandbox/policy/mojom/sandbox.mojom.orig 2022-10-01 07:40:07 UTC +--- sandbox/policy/mojom/sandbox.mojom.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/mojom/sandbox.mojom -@@ -72,6 +72,12 @@ enum Sandbox { - [EnableIf=is_fuchsia] - kVideoCapture, +@@ -76,6 +76,12 @@ enum Sandbox { + [EnableIf=is_win] + kFileUtil, + [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] diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index c7b7a11f99fd..44d658475810 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,404 +1,402 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-02-11 09:11:04 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc -@@ -0,0 +1,401 @@ +@@ -0,0 +1,399 @@ +// 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/bind.h" -+#include "base/callback_helpers.h" +#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 "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 defined(USE_NSS_CERTS) +#include "crypto/nss_util.h" +#endif + +#include "third_party/boringssl/src/include/openssl/crypto.h" + +#include "ui/gfx/font_util.h" + +#define MAXTOKENS 3 + +#define _UNVEIL_MAIN "/etc/ungoogled-chromium/unveil.main"; +#define _UNVEIL_RENDERER "/etc/ungoogled-chromium/unveil.renderer"; +#define _UNVEIL_GPU "/etc/ungoogled-chromium/unveil.gpu"; +#define _UNVEIL_PLUGIN "/etc/ungoogled-chromium/unveil.plugin"; +#define _UNVEIL_UTILITY "/etc/ungoogled-chromium/unveil.utility"; +#define _UNVEIL_UTILITY_NETWORK "/etc/ungoogled-chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/ungoogled-chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/ungoogled-chromium/unveil.utility_video"; + +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(); + +#if defined(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + if (process_type.empty()) + crypto::EnsureNSSInit(); +#endif + + if (process_type.empty()) + CRYPTO_pre_sandbox_init(); + + if (process_type.empty()) { + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("ungoogled-chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + } + + if (process_type == switches::kRendererProcess) + gfx::InitializeFonts(); + + if (!command_line->HasSwitch(switches::kDisableUnveil)) + SetUnveil(process_type, sandbox_type); + + 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; + } 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; + } + fclose(fp); + } else { + LOG(ERROR) << "fopen() 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; + + if (process_type.empty()) { + ufile = _UNVEIL_MAIN; + } else if (process_type == switches::kRendererProcess) { + ufile = _UNVEIL_RENDERER; + } else if (process_type == switches::kGpuProcess) { + ufile = _UNVEIL_GPU; + } else if (process_type == switches::kPpapiPluginProcess) { + ufile = _UNVEIL_PLUGIN; + } else if (process_type == switches::kUtilityProcess) { + if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) { + ufile = _UNVEIL_UTILITY_NETWORK; + } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) { + ufile = _UNVEIL_UTILITY_AUDIO; + } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) { + ufile = _UNVEIL_UTILITY_VIDEO; + } else { + ufile = _UNVEIL_UTILITY; + } + } + + 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(1) << "unveiling " << path << " with permissions " << tokens[1]; + } + } + fclose(fp); + } else { + LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; + _exit(1); + } + + 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=" << GetSandboxTypeInEnglish(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 (process_type.empty()) { + // XXX use a file for listing pledges of the main process for now + // XXX not having the file is not a fatal error + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.main"); + } else if (process_type == switches::kRendererProcess) { + // prot_exec needed by v8 + // flock needed by sqlite3 locking + SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); + } else if (process_type == switches::kGpuProcess) { -+ SetPledge("stdio rpath cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL); ++ SetPledge("stdio rpath flock cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL); + } else if (process_type == switches::kPpapiPluginProcess) { + // prot_exec needed by v8 + SetPledge("stdio rpath prot_exec recvfd sendfd", NULL); + } else if (process_type == switches::kUtilityProcess) { + if (sandbox_type == sandbox::mojom::Sandbox::kAudio) + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_audio"); + else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_network"); + else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) + SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_video"); + else + SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); + } else { + LOG(ERROR) << "non-pledge()'d process: " << process_type; + return false; + } + + 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) +} + +// static +std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + return "Unsandboxed"; + case sandbox::mojom::Sandbox::kRenderer: + return "Renderer"; + case sandbox::mojom::Sandbox::kUtility: + return "Utility"; + case sandbox::mojom::Sandbox::kGpu: + return "GPU"; + case sandbox::mojom::Sandbox::kPpapi: + return "PPAPI"; + case sandbox::mojom::Sandbox::kNetwork: + return "Network"; + case sandbox::mojom::Sandbox::kCdm: + return "CDM"; + case sandbox::mojom::Sandbox::kPrintCompositor: + return "Print Compositor"; + case sandbox::mojom::Sandbox::kAudio: + return "Audio"; + case sandbox::mojom::Sandbox::kSpeechRecognition: + return "Speech Recognition"; + case sandbox::mojom::Sandbox::kService: + return "Service"; + case sandbox::mojom::Sandbox::kVideoCapture: + return "Video Capture"; + default: + return "Unknown"; + } +} + +} // namespace policy +} // namespace sandbox diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc index 1c3776abdfbd..51a68b917365 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -1,115 +1,115 @@ ---- sandbox/policy/sandbox_type.cc.orig 2023-01-13 08:56:02 UTC +--- sandbox/policy/sandbox_type.cc.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/sandbox_type.cc -@@ -38,7 +38,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { +@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { #endif case Sandbox::kAudio: return false; -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: return false; #endif -@@ -61,7 +61,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { +@@ -62,7 +62,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { case Sandbox::kMirroring: case Sandbox::kNaClLoader: #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoDecoding: #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -71,7 +71,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { +@@ -72,7 +72,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { case Sandbox::kLibassistant: #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) #endif // // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) | BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: case Sandbox::kHardwareVideoEncoding: #endif -@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -128,7 +128,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi #endif 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) -@@ -138,10 +138,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi - case Sandbox::kMediaFoundationCdm: +@@ -140,10 +140,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kWindowsSystemProxyResolver: + case Sandbox::kFileUtil: #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoDecoding: #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoEncoding: #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -169,7 +169,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -171,7 +171,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kNaClLoader: break; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: break; #endif -@@ -216,7 +216,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( +@@ -218,7 +218,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( if (process_type == switches::kNaClBrokerProcess) return Sandbox::kNoSandbox; -#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; -@@ -260,7 +260,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -262,7 +262,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb return switches::kUtilitySandbox; case Sandbox::kAudio: return switches::kAudioSandbox; -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case Sandbox::kVideoCapture: return switches::kVideoCaptureSandbox; #endif -@@ -290,11 +290,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -292,11 +292,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb case Sandbox::kMirroring: return switches::kMirroringSandbox; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoDecoding: return switches::kHardwareVideoDecodingSandbox; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kHardwareVideoEncoding: return switches::kHardwareVideoEncodingSandbox; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -314,7 +314,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -320,7 +320,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb #if BUILDFLAG(IS_MAC) case Sandbox::kNaClLoader: #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case Sandbox::kZygoteIntermediateSandbox: #endif NOTREACHED(); -@@ -382,11 +382,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( +@@ -391,11 +391,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( if (sandbox_string == switches::kScreenAISandbox) return Sandbox::kScreenAI; #endif -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (sandbox_string == switches::kVideoCaptureSandbox) return Sandbox::kVideoCapture; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) if (sandbox_string == switches::kHardwareVideoDecodingSandbox) return Sandbox::kHardwareVideoDecoding; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc index 23d0cb3b2c20..a3eee09db0c9 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc @@ -1,26 +1,26 @@ ---- sandbox/policy/switches.cc.orig 2023-02-11 09:11:04 UTC +--- sandbox/policy/switches.cc.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/switches.cc -@@ -53,10 +53,10 @@ const char kWindowsSystemProxyResolverSandbox[] = "pro +@@ -54,10 +54,10 @@ const char kFileUtilSandbox[] = "file_util"; const char kMirroringSandbox[] = "mirroring"; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) const char kHardwareVideoDecodingSandbox[] = "hardware_video_decoding"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kHardwareVideoEncodingSandbox[] = "hardware_video_encoding"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -103,7 +103,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f +@@ -104,7 +104,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/ungoogled-chromium/files/patch-sandbox_policy_switches.h b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h index 8632b3b272f8..c1cc59774933 100644 --- a/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h @@ -1,25 +1,25 @@ ---- sandbox/policy/switches.h.orig 2023-01-13 08:56:02 UTC +--- sandbox/policy/switches.h.orig 2023-03-10 11:01:21 UTC +++ sandbox/policy/switches.h -@@ -56,10 +56,10 @@ SANDBOX_POLICY_EXPORT extern const char kWindowsSystem +@@ -57,10 +57,10 @@ SANDBOX_POLICY_EXPORT extern const char kFileUtilSandb SANDBOX_POLICY_EXPORT extern const char kMirroringSandbox[]; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) SANDBOX_POLICY_EXPORT extern const char kHardwareVideoDecodingSandbox[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SANDBOX_POLICY_EXPORT extern const char kHardwareVideoEncodingSandbox[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -81,7 +81,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid +@@ -82,7 +82,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/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc b/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc index 6a41d18579ce..6f6f85a7601d 100644 --- a/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc +++ b/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc @@ -1,28 +1,28 @@ ---- services/cert_verifier/cert_verifier_creation.cc.orig 2022-12-02 17:56:32 UTC +--- services/cert_verifier/cert_verifier_creation.cc.orig 2023-03-10 11:01:21 UTC +++ services/cert_verifier/cert_verifier_creation.cc @@ -12,7 +12,7 @@ #include "net/cert_net/cert_net_fetcher_url_request.h" #include "net/net_buildflags.h" -#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "net/cert/cert_verify_proc_builtin.h" #include "net/cert/internal/system_trust_store.h" #endif @@ -89,7 +89,7 @@ class OldDefaultCertVerifyProcFactory : public net::Ce user_slot_restriction_ ? crypto::ScopedPK11Slot(PK11_ReferenceSlot( user_slot_restriction_.get())) : nullptr)); -#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) verify_proc = net::CreateCertVerifyProcBuiltin( std::move(cert_net_fetcher), net::CreateSslSystemTrustStore()); #else -@@ -212,6 +212,7 @@ std::unique_ptr Cr +@@ -219,6 +219,7 @@ std::unique_ptr Cr bool IsUsingCertNetFetcher() { #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ + BUILDFLAG(IS_BSD) || \ BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \ BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) return true; diff --git a/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc index b176885b825e..d58efb80902c 100644 --- a/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc +++ b/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc @@ -1,11 +1,11 @@ ---- services/device/geolocation/location_arbitrator.cc.orig 2023-02-11 09:11:04 UTC +--- services/device/geolocation/location_arbitrator.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/geolocation/location_arbitrator.cc -@@ -158,7 +158,7 @@ LocationArbitrator::NewNetworkLocationProvider( +@@ -159,7 +159,7 @@ LocationArbitrator::NewNetworkLocationProvider( std::unique_ptr LocationArbitrator::NewSystemLocationProvider() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return nullptr; #else return device::NewSystemLocationProvider(main_task_runner_, diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc index 0747ad8b726b..9000ccc57c10 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc @@ -1,221 +1,219 @@ ---- services/device/hid/hid_connection_fido.cc.orig 2022-10-29 17:50:56 UTC +--- services/device/hid/hid_connection_fido.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/hid/hid_connection_fido.cc -@@ -0,0 +1,218 @@ +@@ -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/bind.h" +#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 "base/threading/sequenced_task_runner_handle.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::SequencedTaskRunnerHandle::Get()) { ++ 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->front(); + 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->front(); + 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->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/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc index 34bd508c3fa2..e623bf4cc173 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -1,245 +1,243 @@ ---- services/device/hid/hid_connection_freebsd.cc.orig 2022-10-01 07:40:07 UTC +--- services/device/hid/hid_connection_freebsd.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/hid/hid_connection_freebsd.cc -@@ -0,0 +1,242 @@ +@@ -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/bind.h" +#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 "base/threading/thread_task_runner_handle.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::ThreadTaskRunnerHandle::Get()) { ++ 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::internal::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->front(); + 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->front(); + 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->front(); + ugd.ugd_maxlen = buffer->size(); + // FreeBSD does not require report id if it's not used + if (buffer->front()[0] == 0) { + ugd.ugd_data = buffer->front() + 1; + ugd.ugd_maxlen = buffer->size() - 1; + } else { + ugd.ugd_data = buffer->front(); + 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->front(); + 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->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/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc index 80c32404c641..d07d8a5558be 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc @@ -1,402 +1,399 @@ ---- services/device/hid/hid_service_fido.cc.orig 2022-12-02 17:56:32 UTC +--- services/device/hid/hid_service_fido.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/hid/hid_service_fido.cc -@@ -0,0 +1,399 @@ +@@ -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/bind.h" -+#include "base/callback_helpers.h" +#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 "base/threading/sequenced_task_runner_handle.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::SequencedTaskRunnerHandle::Get()), ++ 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::SequencedTaskRunnerHandle::Get()) { ++ 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::SequencedTaskRunnerHandle::Get()->PostTask( ++ 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/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc index 3172c0ea3b58..51f9dd079fc2 100644 --- a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -1,400 +1,398 @@ ---- services/device/hid/hid_service_freebsd.cc.orig 2022-10-01 07:40:07 UTC +--- services/device/hid/hid_service_freebsd.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/hid/hid_service_freebsd.cc -@@ -0,0 +1,397 @@ +@@ -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/bind.h" +#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_task_runner_handle.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::ThreadTaskRunnerHandle::Get()), ++ 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::ThreadTaskRunnerHandle::Get()) { ++ 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::internal::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::internal::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::internal::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::internal::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::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(callback), nullptr)); + return; + } + + scoped_refptr device_info = map_entry->second; + + auto params = std::make_unique(device_info, + allow_protected_reports, + allow_fido_reports, + std::move(callback)); + scoped_refptr blocking_task_runner = + params->blocking_task_runner; + + blocking_task_runner->PostTask( + FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread, + std::move(params))); +} + +// static +void HidServiceFreeBSD::FinishOpen(std::unique_ptr params) { + DCHECK(params->fd.is_valid()); + + if (!base::SetNonBlocking(params->fd.get())) { + HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd"; + std::move(params->callback).Run(nullptr); + } + + std::move(params->callback).Run(base::MakeRefCounted( + std::move(params->device_info), + std::move(params->fd), + std::move(params->blocking_task_runner), + params->allow_protected_reports, + params->allow_fido_reports + )); +} + +} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_public_mojom_BUILD.gn b/www/ungoogled-chromium/files/patch-services_device_public_mojom_BUILD.gn index 7881362f7ff0..25f2fafaa8b1 100644 --- a/www/ungoogled-chromium/files/patch-services_device_public_mojom_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-services_device_public_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- services/device/public/mojom/BUILD.gn.orig 2022-12-02 17:56:32 UTC +--- services/device/public/mojom/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ services/device/public/mojom/BUILD.gn -@@ -88,7 +88,7 @@ mojom("device_service") { +@@ -89,7 +89,7 @@ mojom("device_service") { disable_variants = true 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/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc b/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc index 1a64ee89d5c4..31b89649ddae 100644 --- a/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc +++ b/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc @@ -1,20 +1,20 @@ ---- services/device/serial/serial_device_enumerator.cc.orig 2022-10-01 07:40:07 UTC +--- services/device/serial/serial_device_enumerator.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/serial/serial_device_enumerator.cc -@@ -11,7 +11,7 @@ +@@ -12,7 +12,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" -@@ -24,7 +24,7 @@ namespace device { +@@ -25,7 +25,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/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc index df6814b7b528..2469d6018c21 100644 --- a/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc +++ b/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -1,11 +1,11 @@ ---- services/device/serial/serial_io_handler_posix.cc.orig 2022-10-01 07:40:07 UTC +--- services/device/serial/serial_io_handler_posix.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/serial/serial_io_handler_posix.cc -@@ -67,7 +67,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee +@@ -68,7 +68,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/ungoogled-chromium/files/patch-services_device_usb_usb__service__fake.cc b/www/ungoogled-chromium/files/patch-services_device_usb_usb__service__fake.cc index 3e4039b2da2d..d4e42133b5e9 100644 --- a/www/ungoogled-chromium/files/patch-services_device_usb_usb__service__fake.cc +++ b/www/ungoogled-chromium/files/patch-services_device_usb_usb__service__fake.cc @@ -1,54 +1,52 @@ ---- services/device/usb/usb_service_fake.cc.orig 2022-10-29 17:50:56 UTC +--- services/device/usb/usb_service_fake.cc.orig 2023-03-10 11:01:21 UTC +++ services/device/usb/usb_service_fake.cc -@@ -0,0 +1,51 @@ +@@ -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/bind.h" -+#include "base/callback_helpers.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::SequencedTaskRunnerHandle::Get()) { ++ : 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/ungoogled-chromium/files/patch-services_network_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn index 49f9b63b91c8..c673e2b3df25 100644 --- a/www/ungoogled-chromium/files/patch-services_network_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- services/network/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ services/network/BUILD.gn -@@ -334,7 +334,6 @@ if (is_linux || is_chromeos) { +@@ -337,7 +337,6 @@ if (is_linux || is_chromeos) { ] deps = [ "//base:base", - "//sandbox/linux:sandbox_services", "//sandbox/policy:policy", ] } diff --git a/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom index c2348e4c9d5e..8712061b742f 100644 --- a/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom +++ b/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom @@ -1,15 +1,15 @@ ---- services/video_capture/public/mojom/video_capture_service.mojom.orig 2022-10-01 07:40:07 UTC +--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2023-03-10 11:01:21 UTC +++ services/video_capture/public/mojom/video_capture_service.mojom -@@ -24,10 +24,10 @@ interface AcceleratorFactory { +@@ -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/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc new file mode 100644 index 000000000000..1bc7e8b96647 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_raw__logging.cc @@ -0,0 +1,16 @@ +--- third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig 2023-03-10 11:01:21 UTC ++++ third_party/abseil-cpp/absl/base/internal/raw_logging.cc +@@ -52,10 +52,12 @@ + // ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall + // syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len); + // for low level operations that want to avoid libc. +-#if (defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \ ++#if (defined(__linux__) || defined(__FreeBSD__)) && \ + !defined(__ANDROID__) + #include + #define ABSL_HAVE_SYSCALL_WRITE 1 ++#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 ++#elif defined(__OpenBSD__) + #define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 + #else + #undef ABSL_HAVE_SYSCALL_WRITE diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn index 8b6a2b188f70..67619e6ce712 100644 --- a/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn @@ -1,47 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2023-02-11 09:11:04 UTC +--- third_party/angle/BUILD.gn.orig 2023-03-10 11:01:21 UTC +++ third_party/angle/BUILD.gn -@@ -279,7 +279,6 @@ config("extra_warnings") { +@@ -280,7 +280,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", -@@ -465,7 +464,7 @@ angle_static_library("angle_common") { - all_dependent_configs = [ ":angle_disable_pool_alloc" ] - } +@@ -464,7 +463,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" ] - } +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs = [ "dl" ] + } -@@ -607,6 +606,9 @@ angle_static_library("angle_gpu_info_util") { +@@ -619,6 +618,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", ] + if (is_bsd) { + libs += [ "GL" ] + } } if (angle_use_wayland && angle_has_build) { -@@ -1092,12 +1094,12 @@ if (angle_use_wayland) { - "wayland-client", - "wayland-egl", - ] -+ } else { -+ include_dirs = [ -+ "$wayland_dir/egl", -+ "$wayland_dir/src", -+ ] - } -- -- include_dirs = [ -- "$wayland_dir/egl", -- "$wayland_dir/src", -- ] - } - - group("angle_wayland") { diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn deleted file mode 100644 index 3ae1f1a598f6..000000000000 --- a/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/angle/src/common/vulkan/BUILD.gn.orig 2022-10-01 07:40:07 UTC -+++ third_party/angle/src/common/vulkan/BUILD.gn -@@ -33,7 +33,7 @@ if (angle_enable_vulkan || angle_build_vulkan_system_i - if (angle_shared_libvulkan) { - defines = [ "ANGLE_SHARED_LIBVULKAN=1" ] - } -- if (angle_use_wayland) { -+ if (angle_use_wayland && !use_system_libwayland) { - include_dirs = [ "$wayland_dir/src" ] - } - configs = [ "$angle_root:angle_vulkan_wayland_config" ] diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h index e1049bdbd449..9a3b8f80f38a 100644 --- a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h @@ -1,11 +1,11 @@ ---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-10-29 17:50:56 UTC +--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2023-03-10 11:01:21 UTC +++ third_party/angle/src/libANGLE/renderer/driver_utils.h -@@ -200,7 +200,7 @@ inline bool IsWindows() +@@ -206,7 +206,7 @@ inline bool IsWindows() inline 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/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn deleted file mode 100644 index 7af0201e40ae..000000000000 --- a/www/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/angle/src/third_party/volk/BUILD.gn.orig 2022-10-01 07:40:07 UTC -+++ third_party/angle/src/third_party/volk/BUILD.gn -@@ -20,7 +20,7 @@ source_set("volk") { - public_configs = [ ":volk_config" ] - configs += [ "$angle_root:angle_no_cfi_icall" ] - public_deps = [ "$angle_vulkan_headers_dir:vulkan_headers" ] -- if (angle_use_wayland) { -+ if (angle_use_wayland && !use_system_libwayland) { - include_dirs = [ "$wayland_dir/src" ] - } - } diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index 6ae207523f6f..742c8de8b578 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -1,35 +1,35 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-01-13 08:56:02 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc @@ -73,12 +73,12 @@ - #include "third_party/blink/renderer/controller/oom_intervention_impl.h" + #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_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || 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 -@@ -226,7 +226,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -208,7 +208,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)), -@@ -259,7 +259,7 @@ void BlinkInitializer::RegisterMemoryWatchers() { +@@ -241,7 +241,7 @@ void BlinkInitializer::RegisterMemoryWatchers() { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. UserLevelMemoryPressureSignalGenerator::Initialize(main_thread_task_runner); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc index 3e9ea2b00965..faa870d129a9 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc +++ b/www/ungoogled-chromium/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 2022-10-01 07:40:07 UTC +--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/core/editing/editing_behavior.cc -@@ -280,7 +280,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb +@@ -281,7 +281,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/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index 3cc6afa0f131..a26f001b383a 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-02-11 09:11:04 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -408,7 +408,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( +@@ -407,7 +407,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( const blink::RendererPreferences& prefs) { // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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' -@@ -3296,7 +3296,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3295,7 +3295,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs renderer_preferences_.use_subpixel_positioning); // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \ !BUILDFLAG(IS_ANDROID) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8( diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc index e71c3f282110..8f3bf317ef1c 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-02-11 09:11:04 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6451,7 +6451,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6452,7 +6452,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { MoveCaretStaysHorizontallyAlignedWhenMoved #endif // TODO(crbug.com/1317375): Build these tests on all platforms. -#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) TEST_F(WebFrameTest, MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved) { RegisterMockedHttpURLLoad("move_caret.html"); -@@ -6848,7 +6848,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc +@@ -6849,7 +6849,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) { RunTest("composited_selection_bounds_large_selection_noscroll.html"); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if !BUILDFLAG(IS_ANDROID) TEST_F(CompositedSelectionBoundsTest, Input) { web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc index b068f43b0b37..46e0cbb050f6 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-02-11 09:11:04 UTC +--- third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc -@@ -169,7 +169,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount +@@ -174,7 +174,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount ~SharedXnnpackContext() { base::AutoLock auto_lock(SharedXnnpackContextLock()); -#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // For Linux and ChromeOS, cpuinfo needs to parse /proc/cpuinfo to // initialize in pre sandbox stage. Calling xnn_deinitialize() here will // deinitialize cpuinfo within sandbox and cannot access /proc/cpuinfo diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc index 4661bea19adf..929f6b781bb2 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2022-12-02 17:56:32 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -278,7 +278,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar +@@ -290,7 +290,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar SetupRenderer(kDefaultOutputDeviceId); renderer_proxy_->Start(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) static const int kExpectedBufferSize = kHardwareSampleRate / 100; #elif BUILDFLAG(IS_ANDROID) static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 9e3411a8bb38..4365febd7b6c 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-02-11 09:11:04 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-03-10 11:01:21 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6159,7 +6159,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6229,7 +6229,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