diff --git a/www/qt6-webengine/Makefile b/www/qt6-webengine/Makefile index 2e4d8f546493..3a63b5385b55 100644 --- a/www/qt6-webengine/Makefile +++ b/www/qt6-webengine/Makefile @@ -1,144 +1,138 @@ # QtWebEngine itself is a very thin layer of Qt code on top of a large part of # Chromium (everything up to the content/ layer). As such, most of the work in # this port revolves around taming Chromium and getting it to build on FreeBSD. # While it does build at the moment, there are several items that should be # investigated or improved: # - We are using several stub files, especially in Chromium's base/ and net/ # layers. We should look at implementing the missing bits instead. # - We are currently not using any sandboxing mechanism. # - The process of porting QtWebEngine needs to be documented so we can move to # newer releases more easily. # # Also note that, due to the insane amount of patches this port needs, it tends # to lag behind the rest of the official Qt6 ones, which is why we set # QT6_VERSION and DISTINFO_FILE here. PORTNAME= webengine DISTVERSION= ${QT6_VERSION} -PORTREVISION= 6 +PORTREVISION= 0 CATEGORIES= www PKGNAMEPREFIX= qt6- MAINTAINER= kde@FreeBSD.org COMMENT= Qt 6 library to render web content BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libdbus-1.so:devel/dbus \ + libdrm.so:graphics/libdrm \ libevent.so:devel/libevent \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ liblcms2.so:graphics/lcms2 \ libnspr4.so:devel/nspr \ libnss3.so:security/nss \ libopenh264.so:multimedia/openh264 \ libopus.so:audio/opus \ libpci.so:devel/libpci \ libpng.so:graphics/png \ libre2.so:devel/re2 \ libsnappy.so:archivers/snappy \ libvpx.so:multimedia/libvpx \ libwebp.so:graphics/webp \ libxkbcommon.so:x11/libxkbcommon USES= bison cmake gl gnome gperf jpeg localbase:ldflags minizip ninja:build \ nodejs:build,lts pkgconfig python:build qt-dist:6,webengine xorg USE_GL= gl USE_GNOME= glib20 libxml2 libxslt USE_QT= base declarative:run positioning quick3d:build webchannel USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xkbfile \ xrandr xrender xscrnsaver xshmfence xtst CMAKE_ON= QT_FEATURE_webengine_system_ffmpeg QT_FEATURE_webengine_proprietary_codecs # The build system reads the environment variable $NINJA_PATH to decide whether # to boostrap ninja or not (and also to invoke it afterwards). CC and CXX are # read by some Chromium code to determine which compiler to invoke when running # some configuration tests. CONFIGURE_ENV+= NINJAFLAGS="-j${MAKE_JOBS_NUMBER}" \ NINJA_PATH="${LOCALBASE}/bin/ninja" \ PATH=${CONFIGURE_WRKSRC}/bin:${LOCALBASE}/bin:${PATH} MAKE_ENV+= CC="${CC}" CXX="${CXX}" \ C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include \ ${CONFIGURE_ENV} # Avoid running multiple make(1) jobs, but only those. Otherwise the build # fails intermittently due race conditions if multiple ninja instances are # running at the same time (mostly for the targets "WebEngineCore" and # "convert_dict"). # # MAKE_JOBS_UNSAFE is too invasive because it also affects the number of jobs # for ninja(1) and would slow everything down which we don't want. We pass the # real number of make jobs via MAKE_JOBS_NUMBER to ninja(1) to CONFIGURE_ENV. DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} -j1 ${MAKE_ARGS:N${DESTDIRNAME}=*} BINARY_ALIAS= python=${PYTHON_CMD} -# Add extra-patch-no-mempcpy-nasm only when there's no mempcpy() in base. -# Nested variable expansion avoids executing the test when not needed for -# expanding EXTRA_PATCHES. -# mempcpy was introduced in ee37f64cf875255338f917a9da76c643cf59786c -EXTRA_PATCHES+= ${"${:!${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h \ - || ${TRUE}!}" == "":?${PATCHDIR}/extra-patch-no-mempcpy-nasm:} - DISTINFO_FILE= ${.CURDIR}/distinfo -QT6_VERSION= 6.4.2 +QT6_VERSION= 6.5.0 OPTIONS_DEFAULT= ALSA OPTIONS_SINGLE= AUDIO OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO SNDIO AUDIO_DESC= Audio backend # Need the alsa plugins to get sound at runtime, otherwise messages # that the pcm_oss plugin can't be opened. ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= alsa-plugins>=0:audio/alsa-plugins ALSA_CMAKE_ON= -DQT_FEATURE_webengine_system_alsa:BOOL=ON ALSA_CMAKE_OFF= -DQT_FEATURE_webengine_system_alsa:BOOL=OFF PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_ON= -DQT_FEATURE_webengine_system_pulseaudio:BOOL=ON PULSEAUDIO_CMAKE_OFF= -DQT_FEATURE_webengine_system_pulseaudio:BOOL=OFF SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_CMAKE_ON= -DQT_FEATURE_webengine_system_sndio:BOOL=ON SNDIO_CMAKE_OFF= -DQT_FEATURE_webengine_system_sndio:BOOL=OFF .include .if ${ARCH} == i386 || ${ARCH} == armv7 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-32bit-compress_files_js .endif post-extract: @${MKDIR} ${WRKSRC}/src/3rdparty/chromium/media/audio/sndio \ ${WRKSRC}/src/3rdparty/chromium/sandbox/policy/freebsd \ ${WRKSRC}/src/3rdparty/chromium/sandbox/policy/openbsd post-patch: @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e 's|%%CPPFLAGS%%|${CPPFLAGS}|;s|%%CXXFLAGS%%|${CXXFLAGS}|;s|%%LDFLAGS%%|${LDFLAGS}|' \ ${WRKSRC}/src/host/BUILD.toolchain.gn.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp \ ${WRKSRC}/src/3rdparty/chromium/third_party/wayland/features.gni \ ${WRKSRC}/src/3rdparty/chromium/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc pre-configure: # We used to remove bundled libraries to be sure that webengine uses # system libraries and not shipped ones. # # Leads to missing header errors: icu, libvpx, libwebp, re2, snappy, zlib # No-Op: flac # # cd ${WRKSRC} && ${PYTHON_CMD} \ # ./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC}/src/3rdparty/chromium && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ fontconfig freetype harfbuzz-ng libdrm libevent libpng libxml libxslt openh264 opus || ${FALSE} .include diff --git a/www/qt6-webengine/distinfo b/www/qt6-webengine/distinfo index f6a54f0fbaf2..db078bcd5dba 100644 --- a/www/qt6-webengine/distinfo +++ b/www/qt6-webengine/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1673107224 -SHA256 (KDE/Qt/6.4.2/qtwebengine-everywhere-src-6.4.2.tar.xz) = ffa945518d1cc8d9ee73523e8d9c2090844f5a2d9c7eac05c4ad079472a119c9 -SIZE (KDE/Qt/6.4.2/qtwebengine-everywhere-src-6.4.2.tar.xz) = 440538956 +TIMESTAMP = 1681646888 +SHA256 (KDE/Qt/6.5.0/qtwebengine-everywhere-src-6.5.0.tar.xz) = 2a10da34a71b307e9ff11ec086455dd20b83d5b0ee6bda499c4ba9221e306f07 +SIZE (KDE/Qt/6.5.0/qtwebengine-everywhere-src-6.5.0.tar.xz) = 411792556 diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn index 2a0bae22b541..99ae7981be8a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn @@ -1,56 +1,65 @@ ---- src/3rdparty/chromium/BUILD.gn.orig 2022-11-08 21:18:48 UTC +--- src/3rdparty/chromium/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/BUILD.gn -@@ -55,7 +55,7 @@ declare_args() { +@@ -60,7 +60,7 @@ declare_args() { qtwebengine_target = "//tools/gn" } -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) -@@ -451,7 +451,7 @@ group("gn_all") { +@@ -435,7 +435,7 @@ if (!is_qtwebengine){ ] } - 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", -@@ -696,7 +696,7 @@ group("gn_all") { - host_os == "win" && !use_qt) { +@@ -697,7 +697,7 @@ if (!is_qtwebengine){ + host_os == "win" && !is_qtwebengine) { deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] } - } else if (!is_android && !is_ios && !is_fuchsia && !is_win) { + } else if (!is_android && !is_ios && !is_fuchsia && !is_win && !is_bsd) { deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] } -@@ -1172,7 +1172,7 @@ if (!is_ios && !use_qt) { +@@ -1124,7 +1124,7 @@ if (!is_ios && !is_qtwebengine) { + ] + } + +- 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") { +@@ -1219,7 +1219,7 @@ if (!is_ios && !is_qtwebengine) { 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)" ] } -@@ -1181,7 +1181,7 @@ if (!is_ios && !use_qt) { +@@ -1228,7 +1228,7 @@ if (!is_ios && !is_qtwebengine) { 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)" ] } -@@ -1580,7 +1580,7 @@ group("chromium_builder_perf") { +@@ -1672,7 +1672,7 @@ group("chromium_builder_perf") { + data_deps += [ "//chrome/test:performance_browser_tests" ] + } - if (is_win) { - data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] -- } else { -+ } else if (!is_bsd) { +- if (!is_win) { ++ if (!is_win && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn index 562495d3c1b5..e40cdedb3b6d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn @@ -1,148 +1,149 @@ ---- src/3rdparty/chromium/base/BUILD.gn.orig 2022-11-08 21:18:48 UTC +--- src/3rdparty/chromium/base/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/BUILD.gn -@@ -1000,7 +1000,7 @@ jumbo_component("base") { +@@ -164,7 +164,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" +@@ -1050,7 +1050,7 @@ jumbo_component("base") { "timer/hi_res_timer_manager_posix.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ - "cpu_affinity_posix.cc", - "cpu_affinity_posix.h", -@@ -1011,6 +1011,12 @@ jumbo_component("base") { + "profiler/stack_base_address_posix.cc", + "profiler/stack_base_address_posix.h", +@@ -1061,6 +1061,14 @@ jumbo_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", + ] + } } jumbo_excluded_sources = [ -@@ -1360,7 +1366,6 @@ jumbo_component("base") { +@@ -1428,7 +1436,6 @@ jumbo_component("base") { "process/process_metrics_linux.cc", "threading/platform_thread_linux.cc", ] - jumbo_excluded_sources += [ "process/memory_linux.cc" ] } if (is_linux || is_chromeos || is_android || is_fuchsia) { -@@ -1502,6 +1507,18 @@ jumbo_component("base") { - libs += [ "atomic" ] - } - -+ # *BSD needs libkvm -+ if (is_bsd) { -+ libs += [ "kvm" ] -+ } -+ -+ if (is_freebsd) { -+ libs += [ -+ "execinfo", -+ "util", -+ ] -+ } -+ - if (use_allocator_shim) { - sources += [ - "allocator/allocator_shim.cc", -@@ -1529,7 +1546,7 @@ jumbo_component("base") { +@@ -1604,7 +1611,7 @@ jumbo_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/allocator_shim_override_cpp_symbols.h", - "allocator/allocator_shim_override_glibc_weak_symbols.h", -@@ -1585,7 +1602,7 @@ jumbo_component("base") { + "allocator/partition_allocator/shim/allocator_shim_override_cpp_symbols.h", + "allocator/partition_allocator/shim/allocator_shim_override_glibc_weak_symbols.h", +@@ -1658,7 +1665,7 @@ jumbo_component("base") { # Allow more direct string conversions on platforms with native utf8 # strings -- if (is_apple || is_chromeos || is_chromecast || is_fuchsia) { -+ if (is_apple || is_chromeos || is_chromecast || is_fuchsia || is_bsd) { +- 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" ] } -@@ -2163,6 +2180,42 @@ jumbo_component("base") { +@@ -2236,6 +2243,42 @@ jumbo_component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_inotify.cc", + "files/file_util_linux.cc", + "files/scoped_file_linux.cc", + "process/memory_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 += [ + "process/memory_stubs.cc", + "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 -= [ -@@ -3452,7 +3505,7 @@ test("base_unittests") { +@@ -2333,7 +2376,7 @@ jumbo_component("base") { + } + + if (dep_libevent) { +- deps += [ "//third_party/libevent" ] ++ public_deps += [ "//third_party/libevent" ] + } + + if (use_libevent) { +@@ -3601,7 +3644,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", -@@ -3500,7 +3553,7 @@ test("base_unittests") { +@@ -3647,7 +3690,7 @@ test("base_unittests") { + "posix/file_descriptor_shuffle_unittest.cc", "posix/unix_domain_socket_unittest.cc", - "task/thread_pool/task_tracker_posix_unittest.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ - "cpu_affinity_posix_unittest.cc", + "profiler/stack_base_address_posix_unittest.cc", "profiler/stack_copier_signal_unittest.cc", -@@ -3511,7 +3564,7 @@ test("base_unittests") { +@@ -3658,7 +3701,7 @@ test("base_unittests") { # Allow more direct string conversions on platforms with native utf8 # strings -- if (is_apple || is_chromeos || is_chromecast || is_fuchsia) { -+ if (is_apple || is_chromeos || is_chromecast || is_fuchsia || is_bsd) { +- 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" ] } -@@ -3673,7 +3726,7 @@ test("base_unittests") { +@@ -3850,7 +3893,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_address__space__randomization.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_address__space__randomization.h index 600707fc9f11..59531486585e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_address__space__randomization.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_address__space__randomization.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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 -@@ -121,7 +121,7 @@ AslrMask(uintptr_t bits) { +@@ -128,7 +128,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator.h index d478228c4770..07c269860248 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h -@@ -194,7 +194,7 @@ constexpr BASE_EXPORT bool DecommittedMemoryIsAlwaysZe - // Whether decommitted memory is guaranteed to be zeroed when it is +@@ -231,7 +231,7 @@ constexpr PA_COMPONENT_EXPORT( // recommitted. Do not assume that this will not change over time. - constexpr BASE_EXPORT bool DecommittedMemoryIsAlwaysZeroed() { + constexpr PA_COMPONENT_EXPORT( + PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) return false; #else return true; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__constants.h index 126aa403ea69..24bb1167dd4f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__constants.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__constants.h @@ -1,29 +1,38 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h -@@ -24,7 +24,7 @@ +@@ -25,7 +25,7 @@ // elimination. #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) // This should work for all POSIX (if needed), but currently all other // supported OS/architecture combinations use either hard-coded values // (such as x86) or have means to determine these values without needing -@@ -79,7 +79,7 @@ PageAllocationGranularityShift() { +@@ -81,7 +81,7 @@ PageAllocationGranularityShift() { return 14; // 16kB #elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) - return vm_page_shift; + return static_cast(vm_page_shift); -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) // page sizes. Retrieve from or initialize cache. - int shift = page_characteristics.shift.load(std::memory_order_relaxed); -@@ -99,7 +99,7 @@ PageAllocationGranularity() { + size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); +@@ -102,7 +102,7 @@ PageAllocationGranularity() { // This is literally equivalent to |1 << PageAllocationGranularityShift()| // below, but was separated out for IS_APPLE to avoid << on a non-constexpr. return vm_page_size; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) // arm64 supports 4kb, 16kb, and 64kb page sizes. Retrieve from or // initialize cache. - int size = page_characteristics.size.load(std::memory_order_relaxed); + size_t size = page_characteristics.size.load(std::memory_order_relaxed); +@@ -141,7 +141,7 @@ SystemPageSize() { + PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t + SystemPageSize() { + #if (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)) + // This is literally equivalent to |1 << SystemPageShift()| below, but was + // separated out for 64-bit IS_APPLE and arm64 on Linux to avoid << on a + // non-constexpr. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__internals__posix.h index 9af9d257cf60..c5f4c4fd503e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__internals__posix.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -1,16 +1,16 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -352,8 +352,12 @@ void DiscardSystemPagesInternal(uintptr_t address, siz +@@ -356,8 +356,12 @@ void DiscardSystemPagesInternal(uintptr_t address, siz void DiscardSystemPagesInternal(uintptr_t address, size_t length) { void* ptr = reinterpret_cast(address); -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) +#if BUILDFLAG(IS_BSD) + int ret = madvise(ptr, length, MADV_FREE); +#else int ret = madvise(ptr, length, MADV_FREE_REUSABLE); +#endif if (ret) { // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED. ret = madvise(ptr, length, MADV_DONTNEED); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__address__space.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__address__space.cc index d5eb2f8e6ab8..00e9ceb91e9f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__address__space.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__address__space.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc -@@ -184,7 +184,7 @@ void PartitionAddressSpace::UninitConfigurablePoolForT - setup_.configurable_pool_ = 0; +@@ -294,7 +294,7 @@ void PartitionAddressSpace::UninitConfigurablePoolForT + setup_.configurable_pool_base_mask_ = 0; } -#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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.cc deleted file mode 100644 index bcd2666febd2..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.cc +++ /dev/null @@ -1,17 +0,0 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc.cc.orig 2022-11-06 10:07:10 UTC -+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc.cc -@@ -63,8 +63,14 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me - "maximum direct mapped allocation"); - - // Check that some of our zanier calculations worked out as expected. -+#if defined(__i386__) && defined(OS_FREEBSD) -+ // alignof(std::max_align_t) is only 4 on FreeBSD/i386 -+ static_assert(internal::kSmallestBucket >= internal::kAlignment, -+ "generic smallest bucket"); -+#else - static_assert(internal::kSmallestBucket == internal::kAlignment, - "generic smallest bucket"); -+#endif - static_assert(internal::kMaxBucketed == 917504, "generic max bucketed"); - STATIC_ASSERT_OR_PA_CHECK( - internal::MaxSystemPagesPerRegularSlotSpan() <= 16, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc new file mode 100644 index 000000000000..a76771eec9d5 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc @@ -0,0 +1,13 @@ +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc +@@ -86,6 +86,10 @@ void RandBytes(void* output, size_t output_length) { + if (getentropy(output, output_length) == 0) { + return; + } ++#elif BUILDFLAG(IS_BSD) ++ if (getentropy(output, output_length) == 0) { ++ return; ++ } + #endif + + // If the OS-specific mechanisms didn't work, fall through to reading from diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h new file mode 100644 index 000000000000..d0992005bcf3 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h +@@ -10,7 +10,7 @@ namespace partition_alloc::internal::base::internal { + + namespace partition_alloc::internal::base::internal { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Current thread id is cached in thread local storage for performance reasons. + // In some rare cases it's important to invalidate that cache explicitly (e.g. + // after going through clone() syscall which does not call pthread_atfork() diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..06ebd5c93efe --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc +@@ -17,7 +17,7 @@ + #include "base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include + #include + #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__config.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__config.h index bf2ddbcbaf2b..6a529fb2e456 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__config.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__config.h @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h.orig 2022-11-06 10:11:11 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h -@@ -66,7 +66,7 @@ static_assert(sizeof(void*) != 8, ""); +@@ -76,7 +76,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 -@@ -186,7 +186,7 @@ constexpr bool kUseLazyCommit = false; +@@ -197,7 +197,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 -@@ -225,7 +225,7 @@ constexpr bool kUseLazyCommit = false; +@@ -238,7 +238,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 // BUILDFLAG(IS_LINUX) + #endif // BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__constants.h index ca9926dc66b4..a77622469f07 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__constants.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__constants.h @@ -1,11 +1,20 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h -@@ -80,7 +80,7 @@ PartitionPageShift() { +@@ -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 ALWAYS_INLINE size_t + PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t PartitionPageShift() { return PageAllocationGranularityShift() + 2; +@@ -270,7 +270,7 @@ constexpr size_t kNumPools = 3; + // Special-case Android and iOS, which incur test failures with larger + // pools. Regardless, allocating >8GiB with malloc() on these platforms is + // unrealistic as of 2022. +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + constexpr size_t kPoolMaxSize = 8 * kGiB; + #else + constexpr size_t kPoolMaxSize = 16 * kGiB; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__forward.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__forward.h new file mode 100644 index 000000000000..50f2ba4814ff --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__forward.h @@ -0,0 +1,16 @@ +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_forward.h +@@ -25,9 +25,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h index 3b40855b8424..e99b5bb0ef7e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h @@ -1,29 +1,18 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_page.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_page.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_page.h -@@ -130,13 +130,14 @@ struct SlotSpanMetadata { +@@ -138,13 +138,13 @@ struct SlotSpanMetadata { PartitionBucket* const bucket = nullptr; // CHECK()ed in AllocNewSlotSpan(). -#if defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE) -+#if (defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)) || \ -+ (BUILDFLAG(IS_FREEBSD) && defined(__i386__)) ++#if (defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)) // System page size is not a constant on Apple OSes, but is either 4 or 16kiB // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And // PartitionPageSize() is 4 times the OS page size. static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, // so we use the 16 kiB maximum (64 kiB will crash). -@@ -150,7 +151,9 @@ struct SlotSpanMetadata { - #endif // defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE) - // The maximum number of bits needed to cover all currently supported OSes. - static constexpr size_t kMaxSlotsPerSlotSpanBits = 13; -+#if !BUILDFLAG(IS_FREEBSD) && defined(__i386__) - static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), ""); -+#endif - - // |marked_full| isn't equivalent to being full. Slot span is marked as full - // iff it isn't on the active slot span list (or any other list). diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__root.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__root.cc index 14f10c71b2fe..83802fc86d20 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__root.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__root.cc @@ -1,38 +1,38 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc -@@ -29,7 +29,7 @@ +@@ -41,7 +41,7 @@ #include "wow64apiset.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif -@@ -226,7 +226,7 @@ void PartitionAllocMallocInitOnce() { +@@ -238,7 +238,7 @@ void PartitionAllocMallocInitOnce() { if (!g_global_init_called.compare_exchange_strong(expected, true)) 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. -@@ -305,7 +305,7 @@ static size_t PartitionPurgeSlotSpan( +@@ -331,7 +331,7 @@ static size_t PartitionPurgeSlotSpan( constexpr size_t kMaxSlotCount = (PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) / - SystemPageSize(); + 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 -@@ -648,7 +648,7 @@ void PartitionRoot::Init(PartitionOptions +@@ -734,7 +734,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.cc index fe81f9d7a012..88dd101feaa5 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.cc @@ -1,47 +1,47 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc -@@ -17,7 +17,15 @@ +@@ -18,7 +18,15 @@ #if defined(PA_HAS_LINUX_KERNEL) #include +#if defined(OS_OPENBSD) +#include +#elif defined(OS_FREEBSD) +#include +#include +#include +#else #include +#endif #include #include #endif // defined(PA_HAS_LINUX_KERNEL) -@@ -116,8 +124,13 @@ void SpinningMutex::FutexWait() { +@@ -107,8 +115,13 @@ 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); +#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. -@@ -129,8 +142,14 @@ void SpinningMutex::FutexWake() { +@@ -120,8 +133,14 @@ void SpinningMutex::FutexWake() { 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); +#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/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.h deleted file mode 100644 index 2b8db33decb3..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.h +++ /dev/null @@ -1,20 +0,0 @@ ---- src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.h.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.h -@@ -114,7 +114,7 @@ class LOCKABLE BASE_EXPORT SpinningMutex { - - #if defined(PA_HAS_FAST_MUTEX) - --#if defined(PA_HAS_LINUX_KERNEL) -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) - void FutexWait(); - void FutexWake(); - -@@ -166,7 +166,7 @@ inline constexpr SpinningMutex::SpinningMutex() = defa - - #if defined(PA_HAS_FAST_MUTEX) - --#if defined(PA_HAS_LINUX_KERNEL) -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) - - ALWAYS_INLINE bool SpinningMutex::Try() { - // Using the weak variant of compare_exchange(), which may fail spuriously. On diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.cc index e84dab8bab2c..9a0d716b5fd3 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/base_switches.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/base_switches.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/base_switches.cc @@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Controls whether or not retired instruction counts are surfaced for threads - // in trace events on Linux. - // + // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when + // Crashpad is fully enabled on Linux. Indicates that Crashpad should be + // enabled. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.h index 88e25386511c..5533d2a27058 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/base_switches.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/base_switches.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/base_switches.h @@ -60,7 +60,7 @@ extern const char kForceFieldTrialParams[]; extern const char kForceFieldTrialParams[]; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - extern const char kEnableThreadInstructionCount[]; - // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when + // Crashpad is fully enabled on Linux. + extern const char kEnableCrashpad[]; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_cpu.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_cpu.h index 0e2c617ae593..8bbfdc517838 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_cpu.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_cpu.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/cpu.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/cpu.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/cpu.h -@@ -108,7 +108,7 @@ class BASE_EXPORT CPU final { +@@ -115,7 +115,7 @@ class BASE_EXPORT CPU final { const std::string& cpu_brand() const { return cpu_brand_; } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) enum class CoreType { kUnknown = 0, kOther, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc index 846019d17934..d642ce8536b9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc @@ -1,18 +1,18 @@ ---- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/debug/elf_reader.cc -@@ -76,6 +76,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -78,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, bool found = false; while (current_section < section_end) { current_note = reinterpret_cast(current_section); +#if !defined(OS_BSD) if (current_note->n_type == NT_GNU_BUILD_ID) { StringPiece note_name(current_section + sizeof(Nhdr), current_note->n_namesz); -@@ -85,6 +86,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -87,6 +88,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, break; } } +#endif - size_t section_size = bits::AlignUp(current_note->n_namesz, 4) + - bits::AlignUp(current_note->n_descsz, 4) + + size_t section_size = bits::AlignUp(current_note->n_namesz, 4u) + + bits::AlignUp(current_note->n_descsz, 4u) + diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc index 58a3f6215c0c..a2273dc371e2 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc @@ -1,38 +1,38 @@ ---- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/debug/stack_trace_posix.cc -@@ -38,7 +38,7 @@ +@@ -39,7 +39,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 -@@ -695,6 +695,9 @@ class SandboxSymbolizeHelper { +@@ -699,6 +699,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)) { -@@ -712,6 +715,7 @@ class SandboxSymbolizeHelper { +@@ -716,6 +719,7 @@ class SandboxSymbolizeHelper { is_initialized_ = true; return true; +#endif } // Opens all object files and caches their file descriptors. -@@ -868,7 +872,7 @@ size_t CollectStackTrace(void** trace, size_t count) { +@@ -872,7 +876,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(backtrace(trace, count)); + return base::saturated_cast( diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__linux.h new file mode 100644 index 000000000000..b158034323d3 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__linux.h @@ -0,0 +1,39 @@ +--- src/3rdparty/chromium/base/files/dir_reader_linux.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/files/dir_reader_linux.h +@@ -16,10 +16,16 @@ + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" + ++#include "build/build_config.h" ++ + // See the comments in dir_reader_posix.h about this. + + namespace base { + ++#if BUILDFLAG(IS_BSD) ++#include ++typedef struct dirent linux_dirent; ++#else + struct linux_dirent { + uint64_t d_ino; + int64_t d_off; +@@ -27,6 +33,7 @@ struct linux_dirent { + unsigned char d_type; + char d_name[0]; + }; ++#endif + + class DirReaderLinux { + public: +@@ -61,7 +68,11 @@ class DirReaderLinux { + if (offset_ != size_) + return true; + ++#if BUILDFLAG(IS_BSD) ++ const int r = getdents(fd_, reinterpret_cast(buf_), sizeof(buf_)); ++#else + const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); ++#endif + if (r == 0) + return false; + if (r < 0) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__posix.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__posix.h new file mode 100644 index 000000000000..346c0b31951c --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_dir__reader__posix.h @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/base/files/dir_reader_posix.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/files/dir_reader_posix.h +@@ -17,7 +17,7 @@ + // seems worse than falling back to enumerating all file descriptors so we will + // probably never implement this on the Mac. + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "base/files/dir_reader_linux.h" + #else + #include "base/files/dir_reader_fallback.h" +@@ -25,7 +25,7 @@ namespace base { + + namespace base { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + typedef DirReaderLinux DirReaderPosix; + #else + typedef DirReaderFallback DirReaderPosix; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__bsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__bsd.cc index 9007b633ff6e..d3094ca92b49 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__bsd.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__bsd.cc @@ -1,57 +1,57 @@ ---- src/3rdparty/chromium/base/files/file_path_watcher_bsd.cc.orig 2022-11-06 10:18:39 UTC +--- src/3rdparty/chromium/base/files/file_path_watcher_bsd.cc.orig 2023-04-16 12:42:58 UTC +++ src/3rdparty/chromium/base/files/file_path_watcher_bsd.cc @@ -0,0 +1,54 @@ +// Copyright 2021 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include + +#include "base/files/file_path_watcher.h" +#include "base/files/file_path_watcher_kqueue.h" +#include "base/memory/ptr_util.h" +#include "build/build_config.h" + +namespace base { + +namespace { + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { + public: + FilePathWatcherImpl() = default; + FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; + FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; + ~FilePathWatcherImpl() override = default; + + bool Watch(const FilePath& path, + Type type, + const FilePathWatcher::Callback& callback) override { + DCHECK(!impl_.get()); + if (type == Type::kRecursive) { + if (!FilePathWatcher::RecursiveWatchAvailable()) + return false; + } else { + impl_ = std::make_unique(); + } + DCHECK(impl_.get()); + return impl_->Watch(path, type, callback); + } + + void Cancel() override { + if (impl_.get()) + impl_->Cancel(); + set_cancelled(); + } + + private: + std::unique_ptr impl_; +}; + +} // namespace + +FilePathWatcher::FilePathWatcher() { -+ sequence_checker_.DetachFromSequence(); ++ DETACH_FROM_SEQUENCE(sequence_checker_); + impl_ = std::make_unique(); +} + +} // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__freebsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__freebsd.cc deleted file mode 100644 index 8939989c7f30..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__freebsd.cc +++ /dev/null @@ -1,64 +0,0 @@ ---- src/3rdparty/chromium/base/files/file_path_watcher_freebsd.cc.orig 2022-08-20 09:01:54 UTC -+++ src/3rdparty/chromium/base/files/file_path_watcher_freebsd.cc -@@ -0,0 +1,61 @@ -+// 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. -+ -+// This file exists for Unix systems which don't have the inotify headers, and -+// thus cannot build file_watcher_inotify.cc -+ -+#include -+ -+#include "base/files/file_path_watcher.h" -+#include "base/files/file_path_watcher_kqueue.h" -+ -+#include "base/memory/ptr_util.h" -+#include "build/build_config.h" -+ -+namespace base { -+ -+namespace { -+ -+class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { -+ public: -+ FilePathWatcherImpl() = default; -+ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; -+ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; -+ ~FilePathWatcherImpl() override = default; -+ -+ bool Watch(const FilePath& path, -+ Type type, -+ const FilePathWatcher::Callback& callback) override { -+ DCHECK(!impl_.get()); -+ -+ if (type == Type::kRecursive) { -+ return false; -+ } else { -+ impl_ = std::make_unique(); -+ } -+ -+ DCHECK(impl_.get()); -+ -+ return impl_->Watch(path, type, callback); -+ } -+ -+ void Cancel() override { -+ if (impl_.get()) -+ impl_->Cancel(); -+ -+ set_cancelled(); -+ } -+ -+ private: -+ std::unique_ptr impl_; -+}; -+ -+} // namespace -+ -+FilePathWatcher::FilePathWatcher() { -+ sequence_checker_.DetachFromSequence(); -+ impl_ = std::make_unique(); -+} -+ -+} // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc index f764ad545eaf..94890c1c97d7 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc @@ -1,52 +1,52 @@ ---- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/files/file_util_posix.cc -@@ -697,32 +697,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p +@@ -700,32 +700,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p File::Error* error) { ScopedBlockingCall scoped_blocking_call( FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). + const FilePath kFileSystemRoot("/"); std::vector subpaths; // Collect a list of all parent directories. FilePath last_path = full_path; - subpaths.push_back(full_path); + if (full_path != kFileSystemRoot) + subpaths.push_back(full_path); for (FilePath path = full_path.DirName(); - path.value() != last_path.value(); path = path.DirName()) { + (path.value() != last_path.value() && + (path != kFileSystemRoot)); path = path.DirName()) { subpaths.push_back(path); last_path = path; } // Iterate through the parents and create the missing ones. for (const FilePath& subpath : base::Reversed(subpaths)) { - if (DirectoryExists(subpath)) - continue; - if (mkdir(subpath.value().c_str(), 0700) == 0) - continue; - // Mkdir failed, but it might have failed with EEXIST, or some other error - // due to the directory appearing out of thin air. This can occur if - // two processes are trying to create the same file system tree at the same - // time. Check to see if it exists and make sure it is a directory. - int saved_errno = errno; - if (!DirectoryExists(subpath)) { - if (error) - *error = File::OSErrorToFileError(saved_errno); - return false; + if (!PathExists(subpath)) { + if ((mkdir(subpath.value().c_str(), 0700) == -1) && + ((full_path != subpath) ? (errno != ENOENT) : (-1))) { + int saved_errno = errno; + if (error) + *error = File::OSErrorToFileError(saved_errno); + return false; + } + } else if (!DirectoryExists(subpath)) { + if (error) + *error = File::OSErrorToFileError(ENOTDIR); + return false; } } return true; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc index f7f8264f0675..1130bbc4ebee 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/i18n/icu_util.cc @@ -52,7 +52,7 @@ + #include "third_party/icu/source/common/unicode/unistr.h" #endif - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ -- ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ -+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ - !BUILDFLAG(IS_CHROMECAST)) +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -328,7 +328,7 @@ void InitializeIcuTimeZone() { +@@ -347,7 +347,7 @@ void InitializeIcuTimeZone() { FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); --#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ - !BUILDFLAG(IS_CHROMECAST) +-#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. + // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc index 637d7079f110..956ed07fd09a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc @@ -1,28 +1,28 @@ ---- src/3rdparty/chromium/base/linux_util.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/linux_util.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/linux_util.cc @@ -15,6 +15,7 @@ #include #include +#include #include "base/base_export.h" #include "base/files/dir_reader_posix.h" @@ -135,6 +136,9 @@ bool GetThreadsForProcess(pid_t pid, std::vector* tids) { +#if defined(OS_BSD) + return false; +#else // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22 char buf[25]; strings::SafeSPrintf(buf, "/proc/%d/task", pid); -@@ -154,6 +158,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace content { class SandboxIPCHandler; } -@@ -81,7 +81,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { +@@ -83,7 +83,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Structure to limit access to executable region creation. struct ExecutableRegion { private: @@ -211,7 +211,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { CheckPlatformHandlePermissionsCorrespondToMode); static PlatformSharedMemoryRegion Create(Mode mode, size_t size -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) , bool executable = false #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_message__loop_message__pump__glib.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_message__loop_message__pump__glib.cc index 68f8a936c01f..348dcad52e36 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_message__loop_message__pump__glib.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_message__loop_message__pump__glib.cc @@ -1,28 +1,28 @@ ---- src/3rdparty/chromium/base/message_loop/message_pump_glib.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/message_loop/message_pump_glib.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/message_loop/message_pump_glib.cc @@ -8,6 +8,11 @@ #include #include +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #include "base/logging.h" + #include "base/memory/raw_ptr.h" #include "base/notreached.h" - #include "base/numerics/safe_conversions.h" -@@ -50,9 +55,13 @@ bool RunningOnMainThread() { +@@ -51,9 +56,13 @@ bool RunningOnMainThread() { } bool RunningOnMainThread() { +#if BUILDFLAG(IS_BSD) + return pthread_main_np(); +#else auto pid = getpid(); auto tid = PlatformThread::CurrentId(); return pid > 0 && tid > 0 && pid == tid; +#endif } // A brief refresher on GLib: diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket.cc index 4a312d8c3751..12d3e780a0a2 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_posix_unix__domain__socket.cc @@ -1,39 +1,39 @@ ---- src/3rdparty/chromium/base/posix/unix_domain_socket.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/posix/unix_domain_socket.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/posix/unix_domain_socket.cc -@@ -50,7 +50,7 @@ bool UnixDomainSocket::EnableReceiveProcessId(int fd) +@@ -51,7 +51,7 @@ bool UnixDomainSocket::EnableReceiveProcessId(int fd) // static bool UnixDomainSocket::EnableReceiveProcessId(int fd) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) const int enable = 1; return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; #else -@@ -140,7 +140,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -149,7 +149,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, const size_t kControlBufferSize = CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support ucred. // macOS supports xucred, but this structure is insufficient. + CMSG_SPACE(sizeof(struct ucred)) -@@ -168,7 +168,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -177,7 +177,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, wire_fds = reinterpret_cast(CMSG_DATA(cmsg)); wire_fds_len = payload_len / sizeof(int); } -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) // macOS does not support SCM_CREDENTIALS. if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_CREDENTIALS) { -@@ -202,6 +202,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -211,6 +211,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, socklen_t pid_size = sizeof(pid); if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) pid = -1; +#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + pid = -1; #else // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we // actually received a message. Unfortunately, Linux allows sending zero diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_launch.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_launch.h index a0fbe9719cf7..0c7747bafe9e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_launch.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_launch.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/process/launch.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/launch.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/launch.h -@@ -199,7 +199,7 @@ struct BASE_EXPORT LaunchOptions { +@@ -198,7 +198,7 @@ struct BASE_EXPORT LaunchOptions { bool clear_environment = false; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If non-zero, start the process using clone(), using flags as provided. // Unlike in clone, clone_flags may not contain a custom termination signal // that is sent to the parent when the child dies. The termination signal will diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_memory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_memory.cc index 30b12c83c093..ff9b3978d26a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_memory.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_memory.cc @@ -1,20 +1,11 @@ ---- src/3rdparty/chromium/base/process/memory.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/memory.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/memory.cc -@@ -65,14 +65,16 @@ NOINLINE void OnNoMemoryInternal(size_t size) { - - } // namespace internal - -+#if !BUILDFLAG(IS_BSD) - void TerminateBecauseOutOfMemory(size_t size) { - internal::OnNoMemoryInternal(size); - } -+#endif - +@@ -28,7 +28,7 @@ namespace base { // Defined in memory_mac.mm for macOS + use_allocator="none". In case of // USE_PARTITION_ALLOC_AS_MALLOC, no need to route the call to the system // default calloc of macOS. -#if !BUILDFLAG(IS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if (!BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool UncheckedCalloc(size_t num_items, size_t size, void** result) { const size_t alloc_size = num_items * size; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.cc index a5132295f05a..d31161157c33 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.cc @@ -1,47 +1,54 @@ ---- src/3rdparty/chromium/base/process/process_metrics.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_metrics.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/process_metrics.cc -@@ -18,7 +18,7 @@ namespace { +@@ -17,7 +17,7 @@ namespace { 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) { -@@ -55,7 +55,7 @@ SystemMetrics SystemMetrics::Sample() { +@@ -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_); -@@ -74,7 +74,7 @@ Value SystemMetrics::ToValue() const { +@@ -73,7 +73,7 @@ Value SystemMetrics::ToValue() const { Value res(Value::Type::DICTIONARY); res.SetIntKey("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); -@@ -100,7 +100,7 @@ std::unique_ptr ProcessMetrics::Create +@@ -99,7 +99,6 @@ std::unique_ptr ProcessMetrics::Create #endif // !BUILDFLAG(IS_MAC) } -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) -+#if !BUILDFLAG(IS_BSD) || !BUILDFLAG(IS_POSIX) - double ProcessMetrics::GetPlatformIndependentCPUUsage() { - TimeDelta cumulative_cpu = GetCumulativeCPUUsage(); + double ProcessMetrics::GetPlatformIndependentCPUUsage( + TimeDelta cumulative_cpu) { TimeTicks time = TimeTicks::Now(); -@@ -151,7 +151,7 @@ double ProcessMetrics::GetPreciseCPUUsage() { +@@ -126,7 +125,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( + double ProcessMetrics::GetPlatformIndependentCPUUsage() { + return GetPlatformIndependentCPUUsage(GetCumulativeCPUUsage()); + } +-#endif + + #if BUILDFLAG(IS_WIN) + double ProcessMetrics::GetPreciseCPUUsage(TimeDelta cumulative_cpu) { +@@ -157,7 +155,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.h index 7886217cb2b3..00542d09acba 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.h @@ -1,119 +1,129 @@ ---- src/3rdparty/chromium/base/process/process_metrics.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_metrics.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/process_metrics.h @@ -36,7 +36,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) #include #include #include @@ -52,7 +52,7 @@ struct IoCounters; // 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. // @@ -107,7 +107,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; -@@ -155,7 +155,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -165,7 +165,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 -@@ -238,7 +238,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -248,7 +248,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; -@@ -259,7 +259,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -269,7 +269,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) -@@ -270,7 +270,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -280,7 +280,7 @@ class BASE_EXPORT ProcessMetrics { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - CPU::CoreType GetCoreType(int core_index); + CPU::CoreType GetCoreType(uint32_t core_index); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) -@@ -294,7 +294,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -294,9 +294,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_; +@@ -304,7 +302,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_; -@@ -337,7 +337,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de +@@ -347,7 +345,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. // -@@ -372,7 +372,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -382,7 +380,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 -@@ -387,7 +387,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { +@@ -397,7 +395,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; -@@ -424,7 +424,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK +@@ -434,7 +432,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. -@@ -611,7 +611,7 @@ class BASE_EXPORT SystemMetrics { +@@ -622,7 +620,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/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__freebsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__freebsd.cc index 54a392857c78..2955a234322d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__freebsd.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__freebsd.cc @@ -1,290 +1,296 @@ ---- src/3rdparty/chromium/base/process/process_metrics_freebsd.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_metrics_freebsd.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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( -@@ -26,17 +45,18 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( +@@ -24,22 +43,19 @@ std::unique_ptr ProcessMetrics::Create + return WrapUnique(new ProcessMetrics(process)); + } - double ProcessMetrics::GetPlatformIndependentCPUUsage() { +-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 0.0; ++ return TimeDelta(); - return (info.ki_pctcpu / FSCALE) * 100.0; -+ return static_cast((info.ki_pctcpu * 100.0) / FSCALE); ++ return Microseconds(info.ki_runtime); } - TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { +-TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); -+ NOTIMPLEMENTED(); - return TimeDelta(); +- return TimeDelta(); +-} +- + bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const { + return false; } - -@@ -67,4 +87,221 @@ size_t GetSystemCommitCharge() { +@@ -67,4 +83,221 @@ size_t GetSystemCommitCharge() { return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); } -+int GetNumberOfThreads(ProcessHandle process) { ++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); + + // 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)); + + 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); + + return res; +} + +Value VmStatInfo::ToValue() const { + Value res(Value::Type::DICTIONARY); + + res.SetIntKey("pswpin", pswpin); + res.SetIntKey("pswpout", pswpout); + res.SetIntKey("pgmajfault", pgmajfault); + + return res; +} } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__openbsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__openbsd.cc index 69d740c1093c..bd523db97e4f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__openbsd.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__openbsd.cc @@ -1,212 +1,215 @@ ---- src/3rdparty/chromium/base/process/process_metrics_openbsd.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_metrics_openbsd.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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,24 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun +@@ -24,49 +33,23 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun return false; } -static int GetProcessCPU(pid_t pid) { -+double ProcessMetrics::GetPlatformIndependentCPUUsage() { ++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 0.0; ++ return TimeDelta(); - return info.p_pctcpu; -+ return static_cast((info.p_pctcpu * 100.0) / FSCALE); - } +-} ++ 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; --} -- - TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); - return TimeDelta(); ++ 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 +68,129 @@ size_t GetSystemCommitCharge() { +@@ -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); + + NOTIMPLEMENTED(); + + return res; +} + +Value VmStatInfo::ToValue() const { + Value res(Value::Type::DICTIONARY); + res.SetIntKey("pswpin", pswpin); + res.SetIntKey("pswpout", pswpout); + res.SetIntKey("pgmajfault", pgmajfault); + + NOTIMPLEMENTED(); + + return res; +} + +SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; + +Value SystemDiskInfo::ToValue() const { + Value res(Value::Type::DICTIONARY); + + // 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)); + + NOTIMPLEMENTED(); + + return res; } } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__posix.cc index 90464adcc5b8..a6fd4d5e5663 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__posix.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/process/process_metrics_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_metrics_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/process_metrics_posix.cc @@ -20,6 +20,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_OPENBSD) +#include #else #include #endif -@@ -133,7 +135,7 @@ size_t ProcessMetrics::GetMallocUsage() { +@@ -135,7 +137,7 @@ size_t ProcessMetrics::GetMallocUsage() { return stats.size_in_use; #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) return GetMallocUsageMallinfo(); -#elif BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. return 0; #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc index 3b333a2497d5..4f95cb1be2a1 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc @@ -1,93 +1,93 @@ ---- src/3rdparty/chromium/base/process/process_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/process/process_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/process/process_posix.cc @@ -25,10 +25,15 @@ #include "build/build_config.h" #include "third_party/abseil-cpp/absl/types/optional.h" -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include #endif +#if defined(OS_BSD) +#include +#include +#endif + #if BUILDFLAG(CLANG_PROFILING) #include "base/test/clang_profiling.h" #endif -@@ -97,7 +102,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, +@@ -95,7 +100,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, return ret_pid > 0; } -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Using kqueue on Mac so that we can wait on non-child processes. // We can't use kqueues on child processes because we need to reap // our own children using wait. -@@ -202,7 +207,7 @@ bool WaitForExitWithTimeoutImpl(base::ProcessHandle ha +@@ -200,7 +205,7 @@ bool WaitForExitWithTimeoutImpl(base::ProcessHandle ha const bool exited = (parent_pid < 0); if (!exited && parent_pid != our_pid) { -#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // On Mac we can wait on non child processes. return WaitForSingleNonChildProcess(handle, timeout); #else -@@ -358,7 +363,55 @@ int Process::GetPriority() const { +@@ -392,7 +397,55 @@ int Process::GetPriority() const { int Process::GetPriority() const { DCHECK(IsValid()); +// avoid pledge(2) violation +#if defined(OS_BSD) + return 0; +#else - return getpriority(PRIO_PROCESS, process_); + return getpriority(PRIO_PROCESS, static_cast(process_)); +#endif +} + +Time Process::CreationTime() const { +// avoid ps pledge in the network process +#if !defined(OS_BSD) + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), + sizeof(struct kinfo_proc), 0 }; + struct kinfo_proc *info = nullptr; + size_t info_size; +#endif + Time ct = Time(); + +#if !defined(OS_BSD) + if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) + goto out; + + mib[5] = (info_size / sizeof(struct kinfo_proc)); + if ((info = reinterpret_cast(malloc(info_size))) == NULL) + goto out; + + if (sysctl(mib, std::size(mib), info, &info_size, NULL, 0) < 0) + goto out; + + ct = Time::FromTimeT(info->p_ustart_sec); + +out: + if (info) + free(info); +#endif + return ct; +} + +bool Process::IsProcessBackgrounded() const { + return false; +} + +bool Process::SetProcessBackgrounded(bool value) { + return false; +} + +// static +bool Process::CanBackgroundProcesses() { + return false; } } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_module__cache.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_module__cache.cc new file mode 100644 index 000000000000..95515e2d778f --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_module__cache.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/base/profiler/module_cache.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/profiler/module_cache.cc +@@ -34,7 +34,7 @@ std::string TransformModuleIDToBreakpadFormat(StringPi + + std::string TransformModuleIDToBreakpadFormat(StringPiece module_id) { + std::string mangled_id(module_id); +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Linux ELF module IDs are 160bit integers, which we need to mangle + // down to 128bit integers to match the id that Breakpad outputs. + // Example on version '66.0.3359.170' x64: diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.cc new file mode 100644 index 000000000000..77661639ec48 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/base/profiler/sampling_profiler_thread_token.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/profiler/sampling_profiler_thread_token.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include + + #include "base/profiler/stack_base_address_posix.h" +@@ -19,7 +19,7 @@ SamplingProfilerThreadToken GetSamplingProfilerCurrent + PlatformThreadId id = PlatformThread::CurrentId(); + #if BUILDFLAG(IS_ANDROID) + return {id, pthread_self()}; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + absl::optional maybe_stack_base = + GetThreadStackBaseAddress(id, pthread_self()); + // GetThreadStackBaseAddress should only return nullopt on Android, so diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.h new file mode 100644 index 000000000000..f0ee0b6b063b --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_sampling__profiler__thread__token.h @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/base/profiler/sampling_profiler_thread_token.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/profiler/sampling_profiler_thread_token.h +@@ -11,7 +11,7 @@ + + #if BUILDFLAG(IS_ANDROID) + #include +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include + #endif + +@@ -25,7 +25,7 @@ struct SamplingProfilerThreadToken { + PlatformThreadId id; + #if BUILDFLAG(IS_ANDROID) + pthread_t pthread_id; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Due to the sandbox, we can only retrieve the stack base address for the + // current thread. We must grab it during + // GetSamplingProfilerCurrentThreadToken() and not try to get it later. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__base__address__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__base__address__posix.cc new file mode 100644 index 000000000000..a0b102dcb67f --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__base__address__posix.cc @@ -0,0 +1,44 @@ +--- src/3rdparty/chromium/base/profiler/stack_base_address_posix.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/profiler/stack_base_address_posix.cc +@@ -15,6 +15,10 @@ + #include "base/files/scoped_file.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include ++#endif ++ + #if BUILDFLAG(IS_CHROMEOS) + extern "C" void* __libc_stack_end; + #endif +@@ -42,15 +46,30 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr + #endif + + uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthread_id) { ++#if BUILDFLAG(IS_OPENBSD) ++ stack_t ss; ++ void *address; ++ size_t size; ++ if (pthread_stackseg_np(pthread_id, &ss) != 0) ++ return 0; ++ size = ss.ss_size; ++ address = (void*)((size_t) ss.ss_sp - ss.ss_size); ++#else + pthread_attr_t attr; ++#if BUILDFLAG(IS_FREEBSD) ++ pthread_attr_init(&attr); ++ pthread_attr_get_np(pthread_id, &attr); ++#else + // This will crash on ChromeOS & Linux if we are in the sandbox and pthread_id + // refers to a different thread, due to the use of sched_getaffinity(). + pthread_getattr_np(pthread_id, &attr); + // See crbug.com/617730 for limitations of this approach on Linux. ++#endif + void* address; + size_t size; + pthread_attr_getstack(&attr, &address, &size); + pthread_attr_destroy(&attr); ++#endif + const uintptr_t base_address = reinterpret_cast(address) + size; + return base_address; + } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc new file mode 100644 index 000000000000..87cab01208a1 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/base/profiler/thread_delegate_posix.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/base/profiler/thread_delegate_posix.cc +@@ -13,7 +13,7 @@ + #include "build/build_config.h" + #include "third_party/abseil-cpp/absl/types/optional.h" + +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + #include "base/profiler/stack_base_address_posix.h" + #endif + +@@ -22,7 +22,7 @@ std::unique_ptr ThreadDelegatePos + std::unique_ptr ThreadDelegatePosix::Create( + SamplingProfilerThreadToken thread_token) { + absl::optional base_address; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base_address = thread_token.stack_base_address; + #else + base_address = diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util.h index 1dbb4e2b7249..9407ed679042 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/rand_util.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/rand_util.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/rand_util.h -@@ -81,7 +81,7 @@ void RandomShuffle(Itr first, Itr last) { +@@ -117,7 +117,7 @@ void RandomShuffle(Itr first, Itr last) { std::shuffle(first, last, RandomBitGenerator()); } -#if BUILDFLAG(IS_POSIX) -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD) BASE_EXPORT int GetUrandomFD(); #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util__posix.cc index dd0e937699e7..2e1dead06e24 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util__posix.cc @@ -1,52 +1,62 @@ ---- src/3rdparty/chromium/base/rand_util_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/rand_util_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/rand_util_posix.cc -@@ -17,7 +17,7 @@ - #include "base/posix/eintr_wrapper.h" +@@ -22,7 +22,7 @@ + #include "base/time/time.h" #include "build/build_config.h" -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. -@@ -34,6 +34,7 @@ static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC +@@ -46,6 +46,7 @@ static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC; #endif -+#if !BUILDFLAG(IS_OPENBSD) ++#if !BUILDFLAG(IS_BSD) // We keep the file descriptor for /dev/urandom around so we don't need to // reopen it (which is expensive), and since we may not even be able to reopen // it if we are later put in a sandbox. This class wraps the file descriptor so -@@ -51,6 +52,7 @@ class URandomFd { +@@ -63,10 +64,11 @@ class URandomFd { private: const int fd_; }; +#endif - } // namespace + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_ANDROID)) && \ +- !BUILDFLAG(IS_NACL) ++ !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + // TODO(pasko): Unify reading kernel version numbers in: + // mojo/core/channel_linux.cc + // chrome/browser/android/seccomp_support_detector.cc +@@ -176,6 +178,7 @@ void RandBytes(void* output, size_t output_length, boo + namespace { -@@ -62,6 +64,7 @@ void RandBytes(void* output, size_t output_length) { - // (https://chromium-review.googlesource.com/c/chromium/src/+/1545096) and land - // it or some form of it. - void RandBytes(void* output, size_t output_length) { -+#if !BUILDFLAG(IS_OPENBSD) - #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) - // We have to call `getrandom` via Linux Syscall Support, rather than through - // the libc wrapper, because we might not have an up-to-date libc (e.g. on -@@ -93,11 +96,16 @@ void RandBytes(void* output, size_t output_length) { + void RandBytes(void* output, size_t output_length, bool avoid_allocation) { ++#if !BUILDFLAG(IS_BSD) + #if !BUILDFLAG(IS_NACL) + // The BoringSSL experiment takes priority over everything else. + if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { +@@ -214,6 +217,9 @@ void RandBytes(void* output, size_t output_length, boo const bool success = ReadFromFD(urandom_fd, static_cast(output), output_length); CHECK(success); +#else + arc4random_buf(static_cast(output), output_length); +#endif } -+#if !BUILDFLAG(IS_OPENBSD) + } // namespace +@@ -233,9 +239,11 @@ void RandBytes(void* output, size_t output_length) { + RandBytes(output, output_length, /*avoid_allocation=*/false); + } + ++#if !BUILDFLAG(IS_BSD) int GetUrandomFD() { static NoDestructor urandom_fd; return urandom_fd->fd(); } +#endif } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_synchronization_lock__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_synchronization_lock__impl.h index a673f132730a..fd2924bef935 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_synchronization_lock__impl.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_synchronization_lock__impl.h @@ -1,23 +1,23 @@ ---- src/3rdparty/chromium/base/synchronization/lock_impl.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/synchronization/lock_impl.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/synchronization/lock_impl.h -@@ -106,6 +106,10 @@ void LockImpl::Unlock() { +@@ -107,6 +107,10 @@ void LockImpl::Unlock() { } #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FREEBSD) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wthread-safety-analysis" +#endif #if DCHECK_IS_ON() BASE_EXPORT void dcheck_trylock_result(int rv); -@@ -126,6 +130,9 @@ void LockImpl::Unlock() { +@@ -127,6 +131,9 @@ void LockImpl::Unlock() { dcheck_unlock_result(rv); #endif } +#if BUILDFLAG(IS_FREEBSD) +#pragma GCC diagnostic pop +#endif #endif // This is an implementation used for AutoLock templated on the lock type. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc index 4ec78d9ee144..2fe203de668c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/system/sys_info.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/system/sys_info.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/system/sys_info.cc -@@ -104,7 +104,7 @@ 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/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.h index b0f7fee1d85b..5917259116fe 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/system/sys_info.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/system/sys_info.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/system/sys_info.h -@@ -212,6 +212,8 @@ class BASE_EXPORT SysInfo { - // On Desktop this returns true when memory <= 2GB. - static bool IsLowEndDevice(); +@@ -233,6 +233,8 @@ class BASE_EXPORT SysInfo { + static void SetIsCpuSecurityMitigationsEnabled(bool is_enabled); + #endif + static uint64_t MaxSharedMemorySize(); + private: FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo); -@@ -222,7 +224,7 @@ class BASE_EXPORT SysInfo { +@@ -243,7 +245,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - static int64_t AmountOfAvailablePhysicalMemory( + static uint64_t AmountOfAvailablePhysicalMemory( const SystemMemoryInfoKB& meminfo); #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__freebsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__freebsd.cc index 5620a30b517e..166701801e23 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__freebsd.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__freebsd.cc @@ -1,113 +1,115 @@ ---- src/3rdparty/chromium/base/system/sys_info_freebsd.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/system/sys_info_freebsd.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/system/sys_info_freebsd.cc @@ -9,30 +9,106 @@ #include #include "base/notreached.h" +#include "base/process/process_metrics.h" +#include "base/strings/string_util.h" namespace base { +-int64_t SysInfo::AmountOfPhysicalMemoryImpl() { +- int pages, page_size; +int SysInfo::NumberOfProcessors() { + int mib[] = {CTL_HW, HW_NCPU}; + int ncpu; + size_t size = sizeof(ncpu); + if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { + NOTREACHED(); + return 1; + } + return ncpu; +} + - int64_t SysInfo::AmountOfPhysicalMemoryImpl() { -- int pages, page_size; ++uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { + int pages, page_size, r = 0; size_t size = sizeof(pages); - sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); - sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); - if (pages == -1 || page_size == -1) { + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + + if (r == -1) { NOTREACHED(); return 0; } +- return static_cast(pages) * page_size; + - return static_cast(pages) * page_size; ++ return static_cast(pages) * page_size; } -+int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { ++uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + int page_size, r = 0; + unsigned int pgfree, pginact, pgcache; + size_t size = sizeof(page_size); + size_t szpg = sizeof(pgfree); + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); + + if (r == -1) { + NOTREACHED(); + return 0; + } + -+ return static_cast((pgfree + pginact + pgcache) * page_size); ++ return static_cast((pgfree + pginact + pgcache) * page_size); +} + // static -+int64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) { -+ int64_t res_kb = info.available != 0 ++uint64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) { ++ uint64_t res_kb = info.available != 0 + ? info.available - info.active_file + : info.free + info.reclaimable + info.inactive_file; + return res_kb * 1024; +} + +// static +std::string SysInfo::CPUModelName() { + int mib[] = { CTL_HW, HW_MODEL }; + char name[256]; + size_t size = std::size(name); + + if (sysctl(mib, std::size(mib), &name, &size, NULL, 0) == 0) { + return name; + } + + return std::string(); +} + +// static uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); + if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { NOTREACHED(); return 0; } + return static_cast(limit); +} + +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + + info.manufacturer = "FreeBSD"; + info.model = HardwareModelName(); + + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + + return info; } } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__openbsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__openbsd.cc index 57bba575c3fa..c64e27190053 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__openbsd.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__openbsd.cc @@ -1,94 +1,94 @@ ---- src/3rdparty/chromium/base/system/sys_info_openbsd.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/system/sys_info_openbsd.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/system/sys_info_openbsd.cc @@ -11,6 +11,7 @@ #include #include "base/notreached.h" +#include "base/strings/string_util.h" namespace { -@@ -28,9 +29,15 @@ namespace base { +@@ -26,9 +27,15 @@ namespace base { namespace base { +// pledge(2) +int64_t aofpmem = 0; +int64_t aofapmem = 0; +int64_t shmmax = 0; +char cpumodel[256]; + // static int SysInfo::NumberOfProcessors() { - int mib[] = {CTL_HW, HW_NCPU}; + int mib[] = {CTL_HW, HW_NCPUONLINE}; int ncpu; size_t size = sizeof(ncpu); if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { -@@ -42,10 +49,26 @@ int64_t SysInfo::AmountOfPhysicalMemoryImpl() { +@@ -40,10 +47,26 @@ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { // static - int64_t SysInfo::AmountOfPhysicalMemoryImpl() { + uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { - return AmountOfMemory(_SC_PHYS_PAGES); + // pledge(2) + if (!aofpmem) + aofpmem = AmountOfMemory(_SC_PHYS_PAGES); + return aofpmem; } // static +std::string SysInfo::CPUModelName() { + int mib[] = {CTL_HW, HW_MODEL}; + size_t len = std::size(cpumodel); + + if (cpumodel[0] == '\0') { + if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0) + return std::string(); + } + + return std::string(cpumodel, len - 1); +} + +// static - int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { // We should add inactive file-backed memory also but there is no such // information from OpenBSD unfortunately. -@@ -57,23 +80,28 @@ uint64_t SysInfo::MaxSharedMemorySize() { +@@ -55,23 +78,28 @@ uint64_t SysInfo::MaxSharedMemorySize() { int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX}; size_t limit; size_t size = sizeof(limit); + // pledge(2) + if (shmmax) + goto out; if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { NOTREACHED(); return 0; } - return static_cast(limit); + shmmax = static_cast(limit); +out: + return shmmax; } // static -std::string SysInfo::CPUModelName() { - int mib[] = {CTL_HW, HW_MODEL}; - char name[256]; - size_t len = std::size(name); - if (sysctl(mib, std::size(mib), name, &len, NULL, 0) < 0) { - NOTREACHED(); - return std::string(); - } - return name; +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + // Set the manufacturer to "OpenBSD" and the model to + // an empty string. + info.manufacturer = "OpenBSD"; + info.model = HardwareModelName(); + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + return info; } } // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__posix.cc index cfacfabfa35e..7520de47f3c9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__posix.cc @@ -1,43 +1,33 @@ ---- src/3rdparty/chromium/base/system/sys_info_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/system/sys_info_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/system/sys_info_posix.cc -@@ -37,7 +37,7 @@ namespace { +@@ -182,12 +182,12 @@ absl::optional NumberOfPhysicalProcessors() { - namespace { - --#if !BUILDFLAG(IS_OPENBSD) -+#if !BUILDFLAG(IS_BSD) - int NumberOfProcessors() { - // sysconf returns the number of "logical" (not "physical") processors on both - // Mac and Linux. So we get the number of max available "logical" processors. -@@ -77,7 +77,7 @@ base::LazyInstance>:: - Leaky g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER; --#endif // !BUILDFLAG(IS_OPENBSD) -+#endif // !BUILDFLAG(IS_BSD) - - int64_t AmountOfVirtualMemory() { - struct rlimit limit; -@@ -143,11 +143,11 @@ namespace base { - - namespace base { + } // namespace internal -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) int SysInfo::NumberOfProcessors() { - return g_lazy_number_of_processors.Get().value(); + static int number_of_processors = internal::NumberOfProcessors(); + return number_of_processors; } -#endif // !BUILDFLAG(IS_OPENBSD) +#endif // !BUILDFLAG(IS_BSD) // static - int64_t SysInfo::AmountOfVirtualMemory() { -@@ -239,6 +239,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + uint64_t SysInfo::AmountOfVirtualMemory() { +@@ -277,6 +277,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"; } +@@ -300,4 +302,4 @@ void SysInfo::SetIsCpuSecurityMitigationsEnabled(bool + + #endif // BUILDFLAG(IS_MAC) + +-} // namespace base +\ No newline at end of file ++} // namespace base diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_libevent_event.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_libevent_event.h deleted file mode 100644 index 72ae1ebd39f9..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_libevent_event.h +++ /dev/null @@ -1,14 +0,0 @@ ---- src/3rdparty/chromium/base/third_party/libevent/event.h.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/base/third_party/libevent/event.h -@@ -1,3 +1,6 @@ -+#if defined(USE_SYSTEM_LIBEVENT) -+#include -+#else - /* - * Copyright (c) 2000-2007 Niels Provos - * All rights reserved. -@@ -1210,3 +1213,4 @@ int evtag_unmarshal_timeval(struct evbuffer *evbuf, ev - #endif - - #endif /* _EVENT_H_ */ -+#endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_symbolize_symbolize.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_symbolize_symbolize.cc deleted file mode 100644 index 15f06fce2970..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_third__party_symbolize_symbolize.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/base/third_party/symbolize/symbolize.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/base/third_party/symbolize/symbolize.cc -@@ -114,7 +114,7 @@ _END_GOOGLE_NAMESPACE_ - #if defined(HAVE_DLFCN_H) - #include - #endif --#if BUILDFLAG(IS_OPENBSD) -+#if defined(__OpenBSD__) - #include - #else - #include diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread.h index 2b778b07c19a..dd787a6a4d6f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/base/threading/platform_thread.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/threading/platform_thread.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/threading/platform_thread.h -@@ -211,7 +211,7 @@ class BASE_EXPORT PlatformThread { +@@ -253,7 +253,7 @@ class BASE_EXPORT PlatformThread { // Returns a realtime period provided by `delegate`. static TimeDelta GetRealtimePeriod(Delegate* delegate); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Toggles a specific thread's priority at runtime. This can be used to + // Toggles a specific thread's type at runtime. This can be used to // change the priority of a thread in a different process and will fail // if the calling process does not have proper permissions. The diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc index 99a5e12c9314..537aff5e4b60 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc @@ -1,77 +1,77 @@ ---- src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/threading/platform_thread_linux.cc -@@ -30,7 +30,9 @@ +@@ -29,7 +29,9 @@ #if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) #include +#if !BUILDFLAG(IS_BSD) #include +#endif #include #include #include -@@ -133,7 +135,7 @@ int sched_setattr(pid_t pid, +@@ -134,7 +136,7 @@ long sched_setattr(pid_t pid, #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) - #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) + #endif // BUILDFLAG(IS_CHROMEOS) -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) const FilePath::CharType kCgroupDirectory[] = FILE_PATH_LITERAL("/sys/fs/cgroup"); -@@ -287,7 +289,7 @@ namespace { +@@ -306,7 +308,7 @@ namespace { namespace internal { namespace { -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) const struct sched_param kRealTimePrio = {8}; #endif } // namespace -@@ -300,7 +302,7 @@ bool CanSetThreadPriorityToRealtimeAudio() { +@@ -332,7 +334,7 @@ bool CanSetThreadTypeToRealtimeAudio() { }; - bool CanSetThreadPriorityToRealtimeAudio() { + bool CanSetThreadTypeToRealtimeAudio() { -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke - // pthread_setschedparam in SetCurrentThreadPriorityForPlatform(). + // pthread_setschedparam in SetCurrentThreadTypeForPlatform(). struct rlimit rlim; -@@ -311,7 +313,7 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit - } +@@ -344,7 +346,7 @@ bool SetCurrentThreadTypeForPlatform(ThreadType thread - bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority) { + bool SetCurrentThreadTypeForPlatform(ThreadType thread_type, + MessagePumpType pump_type_hint) { -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) // For legacy schedtune interface - SetThreadCgroupsForThreadPriority(PlatformThread::CurrentId(), priority); + SetThreadCgroupsForThreadType(PlatformThread::CurrentId(), thread_type); -@@ -329,7 +331,7 @@ absl::optional GetCurrentThreadPriorit - } +@@ -363,7 +365,7 @@ GetCurrentThreadPriorityForPlatformForTest() { - absl::optional GetCurrentThreadPriorityForPlatform() { + absl::optional + GetCurrentThreadPriorityForPlatformForTest() { -#if !BUILDFLAG(IS_NACL) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) int maybe_sched_rr = 0; struct sched_param maybe_realtime_prio = {0}; if (pthread_getschedparam(pthread_self(), &maybe_sched_rr, -@@ -348,7 +350,7 @@ void PlatformThread::SetName(const std::string& name) +@@ -382,7 +384,7 @@ void PlatformThread::SetName(const std::string& name) void PlatformThread::SetName(const std::string& name) { ThreadIdNameManager::GetInstance()->SetName(name); -#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) +#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) && !BUILDFLAG(IS_BSD) // On linux we can get the thread names to show up in the debugger by setting // the process name for the LWP. We don't want to do this for the main // thread because that would rename the process, causing tools like killall -@@ -378,8 +380,10 @@ void PlatformThread::SetThreadPriority(ProcessId proce +@@ -412,8 +414,10 @@ void PlatformThread::SetThreadType(ProcessId process_i // priority. CHECK_NE(thread_id, process_id); +#if !BUILDFLAG(IS_BSD) // For legacy schedtune interface - SetThreadCgroupsForThreadPriority(thread_id, priority); + SetThreadCgroupsForThreadType(thread_id, thread_type); +#endif - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) + #if BUILDFLAG(IS_CHROMEOS) // For upstream uclamp interface. We try both legacy (schedtune, as done diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__posix.cc index 46dc460a2826..eeae01ef75bd 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__posix.cc @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/base/threading/platform_thread_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/threading/platform_thread_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/threading/platform_thread_posix.cc -@@ -76,7 +76,7 @@ void* ThreadFunc(void* params) { +@@ -78,7 +78,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) - internal::PCScan::NotifyThreadCreated(internal::GetStackPointer()); - #endif -@@ -365,6 +365,9 @@ void PlatformThread::SetCurrentThreadPriorityImpl(Thre - // static - void PlatformThread::SetCurrentThreadPriorityImpl(ThreadPriority priority) { + #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(STARSCAN) + partition_alloc::internal::PCScan::NotifyThreadCreated( + partition_alloc::internal::GetStackPointer()); +@@ -380,6 +380,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, + MessagePumpType pump_type_hint) { #if BUILDFLAG(IS_NACL) -+ NOTIMPLEMENTED(); + NOTIMPLEMENTED(); +// avoid pledge(2) violation +#elif BUILDFLAG(IS_BSD) - NOTIMPLEMENTED(); ++ NOTIMPLEMENTED(); #else - if (internal::SetCurrentThreadPriorityForPlatform(priority)) + if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) + return; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_thread__task__runner__handle.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_thread__task__runner__handle.cc deleted file mode 100644 index 8ab2310d7a8b..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_thread__task__runner__handle.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- src/3rdparty/chromium/base/threading/thread_task_runner_handle.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/base/threading/thread_task_runner_handle.cc -@@ -8,6 +8,7 @@ - #include - - #include "base/bind.h" -+#include "base/callback_helpers.h" - #include "base/check_op.h" - #include "base/dcheck_is_on.h" - #include "base/lazy_instance.h" -@@ -40,6 +41,7 @@ const scoped_refptr& ThreadTas - return current->task_runner_; - } - -+#if defined(OS_BSD) - // static - bool ThreadTaskRunnerHandle::IsSet() { - return !!thread_task_runner_tls.Pointer()->Get(); -@@ -89,6 +91,7 @@ ThreadTaskRunnerHandleOverride::ThreadTaskRunnerHandle - std::make_unique(); - } - } -+#endif - - ThreadTaskRunnerHandleOverride::~ThreadTaskRunnerHandleOverride() { - if (task_runner_to_restore_) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_time_time.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_time_time.cc deleted file mode 100644 index 0684ffe1d3b7..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_time_time.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/base/time/time.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/base/time/time.cc -@@ -6,7 +6,7 @@ - - #include "build/build_config.h" - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // time.h is a widely included header and its size impacts build time. - // Try not to raise this limit unless necessary. See - // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc index 9a8738881caa..f04ae1389c8c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc @@ -1,31 +1,30 @@ ---- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc -@@ -23,6 +23,8 @@ +@@ -24,6 +24,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif defined(OS_BSD) +#include #else #include #endif -@@ -174,7 +176,8 @@ void ReportAppleAllocStats(size_t* total_virtual_size, +@@ -186,7 +188,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ -- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_FUCHSIA)) -+ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_FUCHSIA) && \ -+ !BUILDFLAG(IS_BSD)) +- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) ++ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, -@@ -339,6 +342,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -357,6 +359,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif defined(OS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, &allocated_objects_size, &allocated_objects_count); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc index 48e7d1bed14f..9a7231973df2 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_process__memory__dump.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/trace_event/process_memory_dump.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/base/trace_event/process_memory_dump.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/base/trace_event/process_memory_dump.cc -@@ -105,7 +105,7 @@ absl::optional ProcessMemoryDump::CountResiden +@@ -112,7 +112,7 @@ absl::optional ProcessMemoryDump::CountResiden #if BUILDFLAG(IS_WIN) std::unique_ptr vec( new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) std::unique_ptr vec(new char[max_vec_size]); #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) std::unique_ptr vec(new unsigned char[max_vec_size]); -@@ -130,7 +130,7 @@ absl::optional ProcessMemoryDump::CountResiden +@@ -134,7 +134,7 @@ absl::optional ProcessMemoryDump::CountResiden for (size_t i = 0; i < page_count; i++) resident_page_count += vec[i].VirtualAttributes.Valid; -#elif BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // TODO(fuchsia): Port, see https://crbug.com/706592. - #elif BUILDFLAG(IS_APPLE) - // mincore in MAC does not fail with EAGAIN. + // TODO(crbug.com/851760): Implement counting resident bytes. + // For now, log and avoid unused variable warnings. + NOTIMPLEMENTED_LOG_ONCE(); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILD.gn index 40ca1061af84..1288584c3620 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILD.gn @@ -1,22 +1,22 @@ ---- src/3rdparty/chromium/build/config/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/config/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/build/config/BUILD.gn -@@ -222,13 +222,17 @@ config("default_libs") { +@@ -219,13 +219,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/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn index f981c9b725cb..829c2e111257 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn @@ -1,94 +1,103 @@ ---- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/build/config/compiler/BUILD.gn -@@ -237,13 +237,16 @@ config("no_unresolved_symbols") { +@@ -225,13 +225,16 @@ config("no_unresolved_symbols") { # 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 --------------------------------------------------------------------- -@@ -487,6 +490,10 @@ config("compiler") { +@@ -494,6 +497,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (use_gold) { -@@ -952,7 +959,7 @@ config("compiler_cpu_abi") { +@@ -979,7 +986,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) { +- 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" ] - } -@@ -969,7 +976,7 @@ config("compiler_cpu_abi") { +@@ -997,7 +1004,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) { +- 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" ] - } -@@ -1290,7 +1297,7 @@ config("compiler_deterministic") { +@@ -1335,7 +1342,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", -@@ -1745,7 +1752,7 @@ config("default_warnings") { +@@ -1387,7 +1394,7 @@ config("clang_revision") { + } + + 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", +@@ -1792,7 +1799,7 @@ config("default_warnings") { "-Wno-ignored-pragma-optimize", ] - if (!is_nacl) { + if (!is_nacl && !is_bsd) { - # TODO(https://crbug.com/1300731) Clean up and enable. - cflags += [ "-Wno-unqualified-std-cast-call" ] - -@@ -1929,7 +1936,7 @@ config("no_chromium_code") { + cflags += [ + # TODO(crbug.com/1343975) Evaluate and possibly enable. + "-Wno-deprecated-builtins", +@@ -1971,7 +1978,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", -@@ -2451,7 +2458,7 @@ config("afdo") { +@@ -2501,7 +2508,7 @@ config("afdo") { # 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. -@@ -2467,7 +2474,7 @@ config("afdo") { +@@ -2517,7 +2524,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 ] } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_pgo.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_pgo.gni deleted file mode 100644 index b7dd46c109b1..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_pgo.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/build/config/compiler/pgo/pgo.gni.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/build/config/compiler/pgo/pgo.gni -@@ -16,7 +16,7 @@ declare_args() { - # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once - # target_os switch for lacros-chrome is completed. - (is_win || is_mac || -- (is_linux && !chromeos_is_browser_only && !is_chromecast))) { -+ (is_linux && !chromeos_is_browser_only && !is_chromecast && !is_bsd))) { - chrome_pgo_phase = 2 - } - diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_ozone.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_ozone.gni index d1ab07b39a42..559d79420b16 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_ozone.gni +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_ozone.gni @@ -1,19 +1,19 @@ ---- src/3rdparty/chromium/build/config/ozone.gni.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/config/ozone.gni.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/build/config/ozone.gni -@@ -94,7 +94,15 @@ declare_args() { +@@ -90,7 +90,15 @@ declare_args() { } else if (is_chromeos_lacros) { ozone_platform = "wayland" ozone_platform_wayland = true - } else if (is_linux) { + } else if (is_linux && !is_bsd) { + ozone_platform = "x11" + ozone_platform_wayland = true + ozone_platform_x11 = true + } else if (is_openbsd) { + ozone_platform = "x11" + ozone_platform_wayland = false + ozone_platform_x11 = true + } else if (is_freebsd) { ozone_platform = "x11" ozone_platform_wayland = true ozone_platform_x11 = true diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni index d614091daca2..fd99482f7381 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/build/config/rust.gni.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/config/rust.gni.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/build/config/rust.gni -@@ -116,7 +116,7 @@ if (enable_rust) { +@@ -124,7 +124,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/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_libpci_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_libpci_BUILD.gn deleted file mode 100644 index 72a4e8eea81e..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_libpci_BUILD.gn +++ /dev/null @@ -1,53 +0,0 @@ ---- src/3rdparty/chromium/build/linux/libpci/BUILD.gn.orig 2022-06-08 06:40:31 UTC -+++ src/3rdparty/chromium/build/linux/libpci/BUILD.gn -@@ -3,20 +3,36 @@ import("//tools/generate_library_loader/generate_libra - # found in the LICENSE file. - - import("//tools/generate_library_loader/generate_library_loader.gni") -+import("//build/config/linux/pkg_config.gni") - --# This generates a target named "libpci". --generate_library_loader("libpci") { -- name = "LibPciLoader" -- output_h = "libpci.h" -- output_cc = "libpci_loader.cc" -- header = "" -+declare_args() { -+ use_system_libpci = is_bsd -+} - -- functions = [ -- "pci_alloc", -- "pci_init", -- "pci_cleanup", -- "pci_scan_bus", -- "pci_fill_info", -- "pci_lookup_name", -- ] -+if (use_system_libpci) { -+ pkg_config("system_libpci") { -+ packages = [ "libpci" ] -+ } -+ -+ source_set("libpci") { -+ public_configs = [ ":system_libpci" ] -+ } -+ -+} else { -+ # This generates a target named "libpci". -+ generate_library_loader("libpci") { -+ name = "LibPciLoader" -+ output_h = "libpci.h" -+ output_cc = "libpci_loader.cc" -+ header = "" -+ -+ functions = [ -+ "pci_alloc", -+ "pci_init", -+ "pci_cleanup", -+ "pci_scan_bus", -+ "pci_fill_info", -+ "pci_lookup_name", -+ ] -+ } - } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_strip__binary.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_strip__binary.gni deleted file mode 100644 index af46c4349269..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_strip__binary.gni +++ /dev/null @@ -1,15 +0,0 @@ ---- src/3rdparty/chromium/build/linux/strip_binary.gni.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/build/linux/strip_binary.gni -@@ -20,7 +20,11 @@ template("strip_binary") { - "testonly", - ]) - action("${target_name}") { -- eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" -+ if (is_bsd) { -+ eu_strip_binary = "//buildtools/freebsd/strip" -+ } else { -+ eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" -+ } - script = "//build/linux/strip_binary.py" - - if (defined(invoker.stripped_binary_output)) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn deleted file mode 100644 index db89d1303669..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn +++ /dev/null @@ -1,10 +0,0 @@ ---- src/3rdparty/chromium/build/linux/unbundle/libxml.gn.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/build/linux/unbundle/libxml.gn -@@ -19,6 +19,7 @@ static_library("libxml_utils") { - ":xml_reader", - ":xml_writer", - "//base/test:test_support", -+ "//services/data_decoder:lib", - "//services/data_decoder:xml_parser_fuzzer_deps", - ] - sources = [ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_replace__gn__files.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_replace__gn__files.py index 2bb34ce4835a..fc819618c82b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_replace__gn__files.py +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_replace__gn__files.py @@ -1,10 +1,10 @@ ---- src/3rdparty/chromium/build/linux/unbundle/replace_gn_files.py.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/linux/unbundle/replace_gn_files.py.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/build/linux/unbundle/replace_gn_files.py -@@ -25,6 +25,7 @@ REPLACEMENTS = { - 'libevent': 'base/third_party/libevent/BUILD.gn', +@@ -53,6 +53,7 @@ REPLACEMENTS = { 'libjpeg': 'third_party/libjpeg.gni', + 'libjxl' : 'third_party/libjxl/BUILD.gn', 'libpng': 'third_party/libpng/BUILD.gn', + 'libusb': 'third_party/libusb/BUILD.gn', 'libvpx': 'third_party/libvpx/BUILD.gn', 'libwebp': 'third_party/libwebp/BUILD.gn', 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni index 0007b0b902b1..ccf71aebb539 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni @@ -1,35 +1,44 @@ ---- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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). # -@@ -786,13 +793,12 @@ template("clang_toolchain") { +@@ -786,22 +793,12 @@ template("clang_toolchain") { # use_gold too. template("clang_toolchain") { gcc_toolchain(target_name) { -- prefix = rebase_path("$clang_base_path/bin", root_build_dir) +- _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/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.h index fd0a77569dcb..5c35dc7bfde4 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h -@@ -136,7 +136,7 @@ class WebRtcLoggingController +@@ -137,7 +137,7 @@ class WebRtcLoggingController size_t web_app_id, const StartEventLoggingCallback& callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Ensures that the WebRTC Logs directory exists and then grants render // process access to the 'WebRTC Logs' directory, and invokes |callback| with // the ids necessary to create a DirectoryEntry object. -@@ -195,7 +195,7 @@ class WebRtcLoggingController +@@ -196,7 +196,7 @@ class WebRtcLoggingController bool success, const std::string& error_message); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Grants the render process access to the 'WebRTC Logs' directory, and // invokes |callback| with the ids necessary to create a DirectoryEntry // object. If the |logs_path| couldn't be created or found, |error_callback| diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index ac345f793822..3552614669fa 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,92 +1,92 @@ ---- src/3rdparty/chromium/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -310,7 +310,7 @@ +@@ -320,7 +320,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 -@@ -335,17 +335,17 @@ +@@ -346,17 +346,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 -@@ -701,7 +701,7 @@ bool IsAboutUI(const GURL& url) { +@@ -713,7 +713,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) -@@ -1131,7 +1131,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we - return &NewWebUI; +@@ -1150,7 +1150,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + #endif // !defined(USE_REAL_DBUS_CLIENTS) #endif // !defined(OFFICIAL_BUILD) #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 -@@ -1189,7 +1189,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1211,7 +1211,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) -@@ -1247,27 +1247,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1273,27 +1273,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 (base::FeatureList::IsEnabled(features::kDesktopPWAsWebAppSettingsPage) && - url.host_piece() == chrome::kChromeUIWebAppSettingsHost) { + if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost) return &NewWebUI; + #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.cc index fc76080783bb..1eec33618c04 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.cc @@ -1,68 +1,68 @@ ---- src/3rdparty/chromium/chrome/common/webui_url_constants.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/chrome/common/webui_url_constants.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/chrome/common/webui_url_constants.cc -@@ -455,18 +455,18 @@ const char kOsUIVersionURL[] = "os://version"; +@@ -483,18 +483,18 @@ const char kOsUIVersionURL[] = "os://version"; 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 -@@ -481,14 +481,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr +@@ -509,14 +509,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[] = -@@ -503,7 +503,7 @@ const char kChromeUIProfilePickerStartupQuery[] = "sta +@@ -532,7 +532,7 @@ const char kChromeUIProfilePickerStartupQuery[] = "sta 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"; -@@ -578,7 +578,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan +@@ -610,7 +610,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 -@@ -796,7 +796,7 @@ const char* const kChromeDebugURLs[] = { +@@ -831,7 +831,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/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.h index 9c89875359fe..c61e67d36445 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.h @@ -1,57 +1,57 @@ ---- src/3rdparty/chromium/chrome/common/webui_url_constants.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/chrome/common/webui_url_constants.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/chrome/common/webui_url_constants.h -@@ -382,24 +382,24 @@ extern const char kOsUIVersionURL[]; +@@ -409,24 +409,24 @@ extern const char kOsUIVersionURL[]; 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 -@@ -414,14 +414,14 @@ extern const char kChromeUILinuxProxyConfigHost[]; +@@ -441,14 +441,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[]; -@@ -433,7 +433,7 @@ extern const char kChromeUIProfilePickerStartupQuery[] +@@ -461,7 +461,7 @@ extern const char kChromeUIProfilePickerStartupQuery[] 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/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_content_browser_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_content_browser_BUILD.gn deleted file mode 100644 index a556b9181da5..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_content_browser_BUILD.gn +++ /dev/null @@ -1,29 +0,0 @@ ---- src/3rdparty/chromium/components/crash/content/browser/BUILD.gn.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/components/crash/content/browser/BUILD.gn -@@ -21,7 +21,7 @@ source_set("browser") { - "//content/public/common", - ] - -- if (is_linux || is_chromeos || is_android) { -+ if ((is_linux && !is_bsd) || is_chromeos || is_android) { - # Want this file on both Linux and Android. - sources += [ - "crash_handler_host_linux.cc", -@@ -37,7 +37,7 @@ source_set("browser") { - - # This is not in the GYP build but this target includes breakpad client - # headers, so add the dependency here. -- if ((is_posix && !is_ios) || is_fuchsia) { -+ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) { - configs += [ "//third_party/breakpad:client_config" ] - public_configs = [ "//third_party/breakpad:client_config" ] - } -@@ -59,7 +59,7 @@ source_set("browser") { - "//components/crash/android:jni_headers", - "//mojo/public/cpp/bindings", - ] -- } else { -+ } else if (!is_bsd) { - deps += [ "//third_party/breakpad:client" ] - } - } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_BUILD.gn index ee9be5a1b0a4..fc385aca5ed6 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_BUILD.gn @@ -1,52 +1,43 @@ ---- src/3rdparty/chromium/components/crash/core/app/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/crash/core/app/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/crash/core/app/BUILD.gn @@ -52,7 +52,7 @@ static_library("app") { "crashpad.h", ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "breakpad_linux.cc", - "breakpad_linux.h", -@@ -61,6 +61,10 @@ static_library("app") { + sources += [ "crashpad_linux.cc" ] + } + +@@ -65,6 +65,10 @@ static_library("app") { ] } + if (is_bsd) { + sources -= [ "crashpad.cc" ] + } + defines = [ "CRASH_IMPLEMENTATION" ] public_deps = [ ":lib" ] -@@ -88,7 +92,7 @@ static_library("app") { +@@ -96,7 +100,7 @@ static_library("app") { libs = [ "log" ] } - if (is_android || is_linux || is_chromeos) { + if ((is_android || is_linux || is_chromeos) && !is_bsd) { deps += [ "//base:base_static", "//components/crash/core/common", -@@ -96,7 +100,7 @@ static_library("app") { - ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - deps += [ "//third_party/breakpad:client" ] - } - -@@ -216,11 +220,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { +@@ -224,11 +228,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { # define custom UserStreamDataSources. executable("chrome_crashpad_handler") { sources = [ "chrome_crashpad_handler.cc" ] - - deps = [ - ":crashpad_handler_main", - "//third_party/crashpad/crashpad/handler", - ] if (is_mac && (is_component_build || is_asan)) { ldflags = [ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc index 7ed0d65f6033..c304b9c6a721 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc @@ -1,16 +1,26 @@ ---- src/3rdparty/chromium/components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/crash/core/browser/crash_upload_list_crashpad.cc -@@ -51,9 +51,13 @@ void CrashUploadListCrashpad::ClearUploadList(const ba +@@ -37,7 +37,9 @@ std::vector CrashUploadListCra + + std::vector CrashUploadListCrashpad::LoadUploadList() { + std::vector reports; ++#if !defined(OS_BSD) + crash_reporter::GetReports(&reports); ++#endif + + std::vector uploads; + for (const crash_reporter::Report& report : reports) { +@@ -51,9 +53,13 @@ void CrashUploadListCrashpad::ClearUploadList(const ba void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin, const base::Time& end) { +#if !defined(OS_BSD) crash_reporter::ClearReportsBetween(begin, end); +#endif } void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) { +#if !defined(OS_BSD) crash_reporter::RequestSingleCrashUpload(local_id); +#endif } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_common_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_common_BUILD.gn index 5b401e0b3290..47db051503ba 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_common_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_common_BUILD.gn @@ -1,20 +1,11 @@ ---- src/3rdparty/chromium/components/crash/core/common/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/crash/core/common/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/crash/core/common/BUILD.gn @@ -8,7 +8,7 @@ declare_args() { declare_args() { # If set to true, this will stub out and disable the entire crash key system. - use_crash_key_stubs = is_fuchsia + use_crash_key_stubs = is_fuchsia || is_bsd } group("common") { -@@ -190,7 +190,7 @@ source_set("unit_tests") { - sources += [ "crash_key_breakpad_ios_unittest.cc" ] - deps += [ "//third_party/breakpad:client" ] - include_dirs = [ "//third_party/breakpad/breakpad/src/" ] -- } else if (!is_mac && !is_win && !is_fuchsia && !is_android) { -+ } else if (!is_mac && !is_win && !is_fuchsia && !is_android && !is_bsd) { - include_dirs = [ "//third_party/breakpad/breakpad/src/" ] - sources += [ "crash_key_breakpad_unittest.cc" ] - } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc index d05f72be5377..c3cf9b4cb53b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc @@ -1,18 +1,18 @@ ---- src/3rdparty/chromium/components/os_crypt/libsecret_util_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/os_crypt/libsecret_util_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/os_crypt/libsecret_util_linux.cc -@@ -101,13 +101,13 @@ bool LibsecretLoader::LoadLibsecret() { +@@ -102,13 +102,13 @@ bool LibsecretLoader::LoadLibsecret() { if (libsecret_loaded_) return true; - static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); + static void* handle = dlopen("libsecret-1.so", RTLD_NOW | RTLD_GLOBAL); if (!handle) { // We wanted to use libsecret, but we couldn't load it. Warn, because // either the user asked for this, or we autodetected it incorrectly. (Or // the system has broken libraries, which is also good to warn about.) // TODO(crbug.com/607435): Channel this message to the user-facing log - VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); + VLOG(1) << "Could not load libsecret-1.so: " << dlerror(); return false; } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h index c4eccefe84f5..24b1e83d064d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h @@ -1,47 +1,72 @@ ---- src/3rdparty/chromium/components/os_crypt/os_crypt.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/os_crypt/os_crypt.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/os_crypt/os_crypt.h -@@ -14,7 +14,7 @@ +@@ -15,7 +15,7 @@ #include "build/build_config.h" #include "build/chromecast_buildflags.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class KeyStorageLinux; #endif // BUILDFLAG(IS_LINUX) -@@ -30,7 +30,7 @@ namespace OSCrypt { +@@ -24,7 +24,7 @@ class PrefService; + class PrefService; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + namespace crypto { + class SymmetricKey; + } +@@ -37,7 +37,7 @@ namespace OSCrypt { // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions // of what each function does. namespace OSCrypt { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void SetConfig(std::unique_ptr config); #endif // BUILDFLAG(IS_LINUX) -@@ -75,7 +75,7 @@ COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting() +@@ -82,7 +82,7 @@ COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting() COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy); COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting(); #endif // BUILDFLAG(IS_WIN) --#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) -+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMECAST)) +-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyStorageForTesting( - std::unique_ptr (*get_key_storage_mock)()); -@@ -95,7 +95,7 @@ class OSCryptImpl { - OSCryptImpl(const OSCryptImpl&) = delete; - OSCryptImpl& operator=(const OSCryptImpl&) = delete; + base::OnceCallback()> +@@ -109,7 +109,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + // Returns singleton instance of OSCryptImpl. + static OSCryptImpl* GetInstance(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the configuration of OSCryptImpl. // This method, or SetRawEncryptionKey(), must be called before using // EncryptString() and DecryptString(). -@@ -200,7 +200,7 @@ class OSCryptImpl { - static void ResetStateForTesting(); +@@ -201,7 +201,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + void ResetStateForTesting(); #endif --#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) -+#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMECAST)) +-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) // For unit testing purposes, inject methods to be used. - // |get_key_storage_mock| provides the desired |KeyStorage| implementation. - // If the provider returns |nullptr|, a hardcoded password will be used. + // |storage_provider_factory| provides the desired |KeyStorage| + // implementation. If the provider returns |nullptr|, a hardcoded password +@@ -226,13 +226,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + crypto::SymmetricKey* GetEncryptionKey(); + #endif // BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // This lock is used to make the GetEncryptionKey and + // GetRawEncryptionKey methods thread-safe. + static base::Lock& GetLock(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Create the KeyStorage. Will be null if no service is found. A Config must + // be set before every call to this method. + std::unique_ptr CreateKeyStorage(); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc index ad14ec155f6c..0f98a6d4ffa7 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -1,18 +1,18 @@ ---- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc -@@ -35,6 +35,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi - VLOG(2) << "Screen AI library loaded pre-sandboxing:" << library_path; +@@ -36,6 +36,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi } + screen_ai::StoreComponentBinaryPath(library_path); +#if !BUILDFLAG(IS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); std::vector permissions{ -@@ -46,6 +47,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi +@@ -59,6 +60,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main.cc index e79b246274a8..0a1f73221cd8 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/app/content_main.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/app/content_main.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/app/content_main.cc -@@ -262,7 +262,7 @@ RunContentProcess(ContentMainParams params, +@@ -228,7 +228,7 @@ RunContentProcess(ContentMainParams params, base::EnableTerminationOnOutOfMemory(); #endif -#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/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main__runner__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main__runner__impl.cc index adb1ea00ea29..2939640226a5 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main__runner__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main__runner__impl.cc @@ -1,123 +1,132 @@ ---- src/3rdparty/chromium/content/app/content_main_runner_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/app/content_main_runner_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/app/content_main_runner_impl.cc -@@ -129,13 +129,13 @@ +@@ -135,13 +135,13 @@ #include "base/posix/global_descriptors.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/native_library.h" #include "base/rand_util.h" #include "content/public/common/zygote/sandbox_support_linux.h" -@@ -172,6 +172,13 @@ +@@ -165,6 +165,11 @@ + #include "content/public/common/content_client.h" #endif - #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) -+#if BUILDFLAG(IS_BSD) -+#include "base/system/sys_info.h" ++//XXX +#if BUILDFLAG(ENABLE_WEBRTC) +#include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck +#endif ++ + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + + #if BUILDFLAG(USE_ZYGOTE_HANDLE) +@@ -183,6 +188,10 @@ + #endif + #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + ++#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" -@@ -344,7 +351,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -388,7 +397,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #if BUILDFLAG(ENABLE_PLUGINS) + #if BUILDFLAG(ENABLE_PPAPI) // Loads the (native) libraries but does not initialize them (i.e., does not -@@ -380,7 +387,7 @@ void PreloadLibraryCdms() { +@@ -424,7 +433,7 @@ void PreloadLibraryCdms() { } #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) -#if BUILDFLAG(USE_ZYGOTE_HANDLE) +#if BUILDFLAG(USE_ZYGOTE_HANDLE) || BUILDFLAG(IS_BSD) void PreSandboxInit() { // Pre-acquire resources needed by BoringSSL. See // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md -@@ -398,6 +405,11 @@ void PreSandboxInit() { - InitializeWebRtcModule(); +@@ -449,6 +458,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. -@@ -567,7 +579,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* +@@ -631,7 +645,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 -@@ -753,11 +765,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -825,11 +839,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) -@@ -936,6 +947,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1017,6 +1030,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) -@@ -991,7 +1012,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { - mojo::core::InitFeatures(); +@@ -1080,7 +1103,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { + 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 -@@ -1024,6 +1045,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { +@@ -1113,6 +1136,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn index e2c19106a181..ac87d89386e8 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn @@ -1,16 +1,16 @@ ---- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/BUILD.gn -@@ -2406,6 +2406,13 @@ jumbo_source_set("browser") { - } +@@ -2499,6 +2499,13 @@ jumbo_source_set("browser") { + ] } + if (is_bsd) { + sources -= [ + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] + } + if (is_chromeos) { deps += [ "//components/value_store:value_store" ] sources += [ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__child__process__host__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__child__process__host__impl.cc index def30c13d22c..2f1c82b88a0c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__child__process__host__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__child__process__host__impl.cc @@ -1,10 +1,10 @@ ---- src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc -@@ -292,6 +292,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo +@@ -316,6 +316,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kDisableBestEffortTasks, switches::kDisableLogging, switches::kEnableLogging, + switches::kDisableUnveil, switches::kIPCConnectionTimeout, switches::kLogBestEffortTasks, switches::kLogFile, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc index 6510fc159366..d908feb5ac68 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc @@ -1,46 +1,37 @@ ---- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/browser_main_loop.cc @@ -247,6 +247,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 -@@ -554,6 +560,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -531,6 +537,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 -@@ -581,7 +593,7 @@ int BrowserMainLoop::EarlyInitialization() { - - // Up the priority of the UI thread unless it was already high (since Mac - // and recent versions of Android (O+) do this automatically). --#if !BUILDFLAG(IS_MAC) -+#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled( - features::kBrowserUseDisplayThreadPriority) && - base::PlatformThread::GetCurrentThreadPriority() < -@@ -592,7 +604,7 @@ int BrowserMainLoop::EarlyInitialization() { - #endif // !BUILDFLAG(IS_MAC) +@@ -562,7 +574,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc index 9e70e6311243..e17e6744a9e4 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc @@ -1,76 +1,80 @@ ---- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc -@@ -19,7 +19,9 @@ +@@ -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 { -@@ -68,6 +70,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -74,6 +76,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 -@@ -81,7 +84,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -87,7 +90,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; -@@ -90,13 +92,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -96,15 +98,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr oom_score = content::kLowestRendererOomScore; ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score); } -#endif - Process process; process.process = base::Process(handle); process.zygote = zygote_handle; - return process; + } else { ++#endif + process.process = base::LaunchProcess(*command_line(), options); + *launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS + : LAUNCH_RESULT_FAILURE; ++#if !BUILDFLAG(IS_BSD) } +#endif - Process process; - process.process = base::LaunchProcess(*command_line(), options); -@@ -114,10 +116,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper + #if BUILDFLAG(IS_CHROMEOS) + if (GetProcessType() == switches::kRendererProcess) { +@@ -124,10 +128,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 { -@@ -141,13 +147,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer +@@ -151,13 +159,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer DCHECK(CurrentlyOnProcessLauncherTaskRunner()); process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false); // On POSIX, we must additionally reap the child. +#if !BUILDFLAG(IS_BSD) if (process.zygote) { // If the renderer was created via a zygote, we have to proxy the reaping // through the zygote process. process.zygote->EnsureProcessTerminated(process.process.Handle()); } else { +#endif base::EnsureProcessTerminated(std::move(process.process)); +#if !BUILDFLAG(IS_BSD) } +#endif } void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc index 1dac85b61e2f..6e46723b4a88 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc -@@ -112,7 +112,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -118,7 +118,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compute__pressure_cpu__probe.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compute__pressure_cpu__probe.cc deleted file mode 100644 index 0fe20f478d0d..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compute__pressure_cpu__probe.cc +++ /dev/null @@ -1,10 +0,0 @@ ---- src/3rdparty/chromium/content/browser/compute_pressure/cpu_probe.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/content/browser/compute_pressure/cpu_probe.cc -@@ -53,6 +53,7 @@ std::unique_ptr CpuProbe::Create() { - #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) - return CpuProbeLinux::Create(); - #else -+ NOTIMPLEMENTED(); - return std::make_unique(); - #endif // BUILDFLAG(IS_ANDROID) - } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_download_download__manager__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_download_download__manager__impl.cc index c0b99924a6c1..eae10fecc726 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_download_download__manager__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_download_download__manager__impl.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/content/browser/download/download_manager_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/download/download_manager_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/download/download_manager_impl.cc -@@ -90,7 +90,7 @@ +@@ -92,7 +92,7 @@ #include "third_party/blink/public/common/storage_key/storage_key.h" #include "url/origin.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif -@@ -218,7 +218,7 @@ class DownloadItemFactoryImpl : public download::Downl +@@ -219,7 +219,7 @@ class DownloadItemFactoryImpl : public download::Downl } }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath GetTemporaryDownloadDirectory() { std::unique_ptr env(base::Environment::Create()); return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share"); -@@ -654,7 +654,7 @@ base::FilePath DownloadManagerImpl::GetDefaultDownload +@@ -655,7 +655,7 @@ base::FilePath DownloadManagerImpl::GetDefaultDownload base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() { base::FilePath default_download_directory; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(thomasanderson,crbug.com/784010): Remove this when all Linux // distros with versions of GTK lower than 3.14.7 are no longer // supported. This should happen when support for Ubuntu Trusty and diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__process__host.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__process__host.cc index ab6cd18a276b..f99cde31d1cc 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__process__host.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__process__host.cc @@ -1,28 +1,19 @@ ---- src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc -@@ -100,7 +100,7 @@ - #include "ui/ozone/public/ozone_switches.h" - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "ui/gfx/switches.h" - #endif - -@@ -254,6 +254,7 @@ static const char* const kSwitchNames[] = { +@@ -257,6 +257,7 @@ static const char* const kSwitchNames[] = { switches::kEnableBackgroundThreadPool, switches::kEnableGpuRasterization, switches::kEnableLogging, + switches::kDisableUnveil, switches::kEnableDeJelly, switches::kDeJellyScreenWidth, - switches::kDocumentTransitionSlowdownFactor, -@@ -291,7 +292,7 @@ static const char* const kSwitchNames[] = { + switches::kDoubleBufferCompositing, +@@ -290,7 +291,7 @@ static const char* const kSwitchNames[] = { switches::kOzoneDumpFile, switches::kDisableBufferBWCompression, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switches::kX11Display, switches::kNoXshm, #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc index 5ce1367e692e..5babd3a55a1d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.cc -@@ -15,7 +15,7 @@ +@@ -16,7 +16,7 @@ #include "media/mojo/mojom/renderer_extensions.mojom.h" #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/public/browser/stable_video_decoder_factory.h" #include "media/base/media_switches.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -64,7 +64,7 @@ void FramelessMediaInterfaceProxy::CreateVideoDecoder( +@@ -67,7 +67,7 @@ void FramelessMediaInterfaceProxy::CreateVideoDecoder( mojo::PendingRemote oop_video_decoder; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoDecoding)) { - // TODO(b/195769334): for now, we're using the same - // StableVideoDecoderFactory. However, we should be using a separate + if (!render_process_host_) { + if (!stable_vd_factory_remote_.is_bound()) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.h new file mode 100644 index 000000000000..c45505395d1b --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.h @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.h +@@ -19,7 +19,7 @@ + #include "mojo/public/cpp/bindings/receiver_set.h" + #include "mojo/public/cpp/bindings/remote.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -100,7 +100,7 @@ class FramelessMediaInterfaceProxy final + // Connections to the renderer. + mojo::ReceiverSet receivers_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Connection to the StableVideoDecoderFactory that lives in a utility + // process. This is only used for out-of-process video decoding and only when + // the FramelessMediaInterfaceProxy is created without a RenderProcessHost diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc index 6f671f32b7e2..4b83c959e344 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/browser/media/media_interface_proxy.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/media/media_interface_proxy.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/media/media_interface_proxy.cc @@ -73,7 +73,7 @@ #include "media/mojo/services/mojo_renderer_service.h" // nogncheck #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/public/browser/stable_video_decoder_factory.h" #include "media/base/media_switches.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -293,7 +293,7 @@ void MediaInterfaceProxy::CreateVideoDecoder( +@@ -286,7 +286,7 @@ void MediaInterfaceProxy::CreateVideoDecoder( mojo::PendingRemote oop_video_decoder; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoDecoding)) { - // TODO(b/195769334): for now, we're using the same - // StableVideoDecoderFactory. However, we should be using a separate + render_frame_host().GetProcess()->CreateStableVideoDecoder( + oop_video_decoder.InitWithNewPipeAndPassReceiver()); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.cc index 978457ea8cf3..10091c345c4d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.cc @@ -66,7 +66,7 @@ #if BUILDFLAG(IS_MAC) #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/linux_util.h" #include "base/threading/platform_thread.h" #endif -@@ -128,7 +128,7 @@ void RenderMessageFilter::GenerateFrameRoutingID( - std::move(callback).Run(routing_id, frame_token, devtools_frame_token); +@@ -130,7 +130,7 @@ void RenderMessageFilter::GenerateFrameRoutingID( + document_token); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void RenderMessageFilter::SetThreadPriorityOnFileThread( + void RenderMessageFilter::SetThreadTypeOnWorkerThread( base::PlatformThreadId ns_tid, - base::ThreadPriority priority) { -@@ -149,7 +149,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea + base::ThreadType thread_type) { +@@ -151,7 +151,7 @@ void RenderMessageFilter::SetThreadTypeOnWorkerThread( } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void RenderMessageFilter::SetThreadPriority(int32_t ns_tid, - base::ThreadPriority priority) { + void RenderMessageFilter::SetThreadType(int32_t ns_tid, + base::ThreadType thread_type) { constexpr base::TaskTraits kTraits = { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.h index 47765494309b..922fc458ba21 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__message__filter.h @@ -1,19 +1,18 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_message_filter.h -@@ -78,14 +78,14 @@ class RenderMessageFilter +@@ -78,13 +78,13 @@ class RenderMessageFilter void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override; void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override; void HasGpuProcess(HasGpuProcessCallback callback) override; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void SetThreadPriority(int32_t ns_tid, - base::ThreadPriority priority) override; + void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override; #endif void OnResolveProxy(const GURL& url, IPC::Message* reply_msg); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid, - base::ThreadPriority priority); + void SetThreadTypeOnWorkerThread(base::PlatformThreadId ns_tid, + base::ThreadType thread_type); #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.cc index 2b62f8bb38bf..f627cbaa3b5c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.cc @@ -1,37 +1,55 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc -@@ -208,7 +208,7 @@ +@@ -210,7 +210,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 -@@ -1184,7 +1184,7 @@ size_t GetPlatformProcessLimit() { +@@ -1140,7 +1140,7 @@ size_t GetPlatformProcessLimit() { // 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; -@@ -1271,7 +1271,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public +@@ -1227,7 +1227,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; -@@ -3283,6 +3283,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -2132,7 +2132,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()) { +@@ -3294,6 +3294,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, switches::kDisableTouchDragDrop, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDisableWebGLImageChromium, +@@ -4778,7 +4779,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.h index 9556395fb557..e467621b530b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.h @@ -1,11 +1,38 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h -@@ -466,7 +466,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -83,7 +83,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) + +@@ -485,7 +485,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) +@@ -684,7 +684,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; +@@ -1144,7 +1144,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__view__host__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__view__host__impl.cc index e9d24acd38a2..edd16277024d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__view__host__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__view__host__impl.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc -@@ -259,7 +259,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -253,7 +253,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.cc index 3603b1d059dd..a9f4919da1b0 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -114,7 +114,7 @@ +@@ -118,7 +118,7 @@ #include "ui/gfx/gdi_util.h" #endif --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) +-#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/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" -@@ -439,7 +439,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge - if (manager) - return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM(); + #include "ui/linux/linux_ui.h" +@@ -451,7 +451,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->GetRoot()) -@@ -1596,7 +1596,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { + if (manager && manager->GetBrowserAccessibilityRoot()) +@@ -1589,7 +1589,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) { -@@ -2408,7 +2408,7 @@ bool RenderWidgetHostViewAura::NeedsMouseCapture() { +@@ -2415,7 +2415,7 @@ bool RenderWidgetHostViewAura::NeedsMouseCapture() { } 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; -@@ -2585,7 +2585,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -2592,7 +2592,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate = - ui::GetTextEditKeyBindingsDelegate(); +-#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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.h index 4d8514dea5f2..32e4b62bb3aa 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h -@@ -244,7 +244,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -245,7 +245,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__sandbox__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__sandbox__delegate.cc index 4d1785cc3fd5..430519fa0889 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__sandbox__delegate.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__sandbox__delegate.cc @@ -1,42 +1,24 @@ ---- src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc -@@ -62,10 +62,10 @@ UtilitySandboxedProcessLauncherDelegate:: - #if BUILDFLAG(ENABLE_PLUGINS) +@@ -63,10 +63,10 @@ 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_CHROMEOS_ASH) -@@ -75,7 +75,7 @@ UtilitySandboxedProcessLauncherDelegate:: - sandbox_type_ == sandbox::mojom::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) - sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || - #endif - sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -@@ -108,7 +108,7 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate:: +@@ -109,7 +109,7 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate:: // 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_CHROMEOS_ASH) -@@ -122,7 +122,7 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate:: - #if BUILDFLAG(ENABLE_OOP_PRINTING) - sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend || - #endif --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || - #endif - sandbox_type_ == sandbox::mojom::Sandbox::kSpeechRecognition) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_web__contents_web__contents__view__aura.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_web__contents_web__contents__view__aura.cc index 7751ff34eb07..78286805e88a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_web__contents_web__contents__view__aura.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_web__contents_web__contents__view__aura.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc -@@ -159,7 +159,7 @@ class WebDragSourceAura : public content::WebContentsO +@@ -176,7 +176,7 @@ class WebDragSourceAura : public content::WebContentsO raw_ptr window_; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Fill out the OSExchangeData with a file contents, synthesizing a name if // necessary. void PrepareDragForFileContents(const DropData& drop_data, -@@ -242,7 +242,7 @@ void PrepareDragData(const DropData& drop_data, +@@ -259,7 +259,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. -@@ -1333,7 +1333,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1366,7 +1366,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.cc index 50c28dbd544e..b6caefbcabad 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.cc @@ -1,38 +1,38 @@ ---- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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/logging.h" @@ -31,7 +31,7 @@ namespace { 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. -@@ -67,7 +67,7 @@ void WebUIMainFrameObserver::DidFinishNavigation( - web_ui_->DisallowJavascriptOnAllHandlers(); - } +@@ -55,7 +55,7 @@ WebUIMainFrameObserver::~WebUIMainFrameObserver() = de + + 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, -@@ -175,7 +175,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation( +@@ -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/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.h index 6a52a6aa4695..f022dc0e77d6 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.h -@@ -45,7 +45,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W +@@ -44,7 +44,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W // 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) // On official Google builds, capture and report JavaScript error messages on // WebUI surfaces back to Google. This allows us to fix JavaScript errors and // exceptions. -@@ -61,7 +61,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W +@@ -60,7 +60,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W void ReadyToCommitNavigation(NavigationHandle* navigation_handle) override; private: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void MaybeEnableWebUIJavaScriptErrorReporting( NavigationHandle* navigation_handle); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.cc index ddcf9e7a1273..eed42e5dae6b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.cc @@ -1,70 +1,81 @@ ---- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -28,6 +28,7 @@ namespace { +@@ -19,8 +19,10 @@ + #include "build/chromeos_buildflags.h" + #include "content/common/zygote/zygote_commands_linux.h" + #include "content/common/zygote/zygote_communication_linux.h" ++#if !BUILDFLAG(IS_BSD) + #include "content/common/zygote/zygote_handle_impl_linux.h" + #include "content/public/common/zygote/zygote_handle.h" ++#endif + #include "sandbox/linux/services/credentials.h" + #include "sandbox/linux/services/namespace_sandbox.h" + #include "sandbox/linux/suid/client/setuid_sandbox_host.h" +@@ -38,6 +40,7 @@ namespace { namespace { +#if !BUILDFLAG(IS_BSD) // Receive a fixed message on fd and return the sender's PID. // Returns true if the message received matches the expected message. bool ReceiveFixedMessage(int fd, -@@ -49,6 +50,7 @@ bool ReceiveFixedMessage(int fd, +@@ -59,6 +62,7 @@ bool ReceiveFixedMessage(int fd, return false; return true; } +#endif } // namespace -@@ -58,9 +60,13 @@ ZygoteHostImpl::ZygoteHostImpl() +@@ -68,9 +72,13 @@ ZygoteHostImpl::ZygoteHostImpl() } ZygoteHostImpl::ZygoteHostImpl() +#if !BUILDFLAG(IS_BSD) : use_namespace_sandbox_(false), use_suid_sandbox_(false), use_suid_sandbox_for_adj_oom_score_(false), +#else + : +#endif sandbox_binary_(), zygote_pids_lock_(), zygote_pids_() {} -@@ -73,6 +79,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com +@@ -83,6 +91,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com } void ZygoteHostImpl::Init(const base::CommandLine& command_line) { +#if !BUILDFLAG(IS_BSD) if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) { return; } -@@ -123,6 +130,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com +@@ -133,6 +142,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com "you can try using --" << sandbox::policy::switches::kNoSandbox << "."; } +#endif } void ZygoteHostImpl::AddZygotePid(pid_t pid) { -@@ -147,6 +155,7 @@ pid_t ZygoteHostImpl::LaunchZygote( +@@ -157,6 +167,7 @@ pid_t ZygoteHostImpl::LaunchZygote( base::CommandLine* cmd_line, base::ScopedFD* control_fd, base::FileHandleMappingVector additional_remapped_fds) { +#if !BUILDFLAG(IS_BSD) int fds[2]; CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds)); CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); -@@ -214,9 +223,12 @@ pid_t ZygoteHostImpl::LaunchZygote( +@@ -224,9 +235,12 @@ pid_t ZygoteHostImpl::LaunchZygote( AddZygotePid(pid); return pid; +#else + return 0; +#endif } -#if !BUILDFLAG(IS_OPENBSD) +#if !BUILDFLAG(IS_BSD) void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid, int score) { // 1) You can't change the oom_score_adj of a non-dumpable process diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.h index 91cc8dee59e5..8df40557f39d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.h @@ -1,25 +1,29 @@ ---- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.h.orig 2022-06-08 06:40:31 UTC +--- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.h -@@ -42,8 +42,10 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos +@@ -47,12 +47,14 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos base::ScopedFD* control_fd, base::FileHandleMappingVector additional_remapped_fds); -+#if !defined(OS_BSD) ++#if !BUILDFLAG(IS_BSD) void AdjustRendererOOMScore(base::ProcessHandle process_handle, int score) override; + #if BUILDFLAG(IS_CHROMEOS_ASH) + void ReinitializeLogging(uint32_t logging_dest, + base::PlatformFile log_file_fd) override; + #endif +#endif + bool HasZygote() { return !zygote_pids_.empty(); } - private: -@@ -57,9 +59,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos +@@ -67,9 +69,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos int renderer_sandbox_status_; -+#if !defined(OS_BSD) ++#if !BUILDFLAG(IS_BSD) bool use_namespace_sandbox_; bool use_suid_sandbox_; bool use_suid_sandbox_for_adj_oom_score_; +#endif std::string sandbox_binary_; // This lock protects the |zygote_pids_| set. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_BUILD.gn index fb884f15b550..60f91715af3c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_BUILD.gn @@ -1,12 +1,12 @@ ---- src/3rdparty/chromium/content/common/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/common/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/common/BUILD.gn -@@ -420,6 +420,9 @@ if (is_linux || is_chromeos) { +@@ -447,6 +447,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" ] + } } } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_user__agent.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_user__agent.cc index fa90509a1f94..8f25e0f1b6dd 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_user__agent.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_user__agent.cc @@ -1,28 +1,37 @@ ---- src/3rdparty/chromium/content/common/user_agent.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/common/user_agent.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/common/user_agent.cc -@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() { +@@ -41,7 +41,7 @@ std::string GetUserAgentPlatform() { return ""; #elif BUILDFLAG(IS_MAC) return "Macintosh; "; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return "X11; "; // strange, but that's what Firefox uses #elif BUILDFLAG(IS_ANDROID) return "Linux; "; -@@ -260,6 +260,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -63,7 +63,7 @@ std::string GetUnifiedPlatform() { + return "Windows NT 10.0; Win64; x64"; + #elif BUILDFLAG(IS_FUCHSIA) + return "Fuchsia"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "X11; Linux x86_64"; + #else + #error Unsupported platform +@@ -275,6 +275,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons "Android %s", os_version.c_str() #elif BUILDFLAG(IS_FUCHSIA) "Fuchsia" +#elif BUILDFLAG(IS_BSD) +#if defined(__x86_64__) + "Linux x86_64; %s %s", +#elif defined(__aarch64__) + "Linux aarch64; %s %s", +#else + "Linux i686; %s %s", +#endif + unixinfo.sysname, // e.g. Linux + cpu_type.c_str() // e.g. i686 #elif BUILDFLAG(IS_POSIX) "%s %s", unixinfo.sysname, // e.g. Linux diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_zygote_sandbox__support__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_zygote_sandbox__support__linux.cc deleted file mode 100644 index df8236658d70..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_zygote_sandbox__support__linux.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- src/3rdparty/chromium/content/common/zygote/sandbox_support_linux.cc.orig 2022-11-20 10:46:46 UTC -+++ src/3rdparty/chromium/content/common/zygote/sandbox_support_linux.cc -@@ -8,7 +8,11 @@ - #include "base/posix/global_descriptors.h" - #include "base/posix/unix_domain_socket.h" - #include "content/public/common/content_descriptors.h" -+#if defined(OS_BSD) -+#include "sandbox/policy/openbsd/sandbox_openbsd.h" -+#else - #include "sandbox/policy/linux/sandbox_linux.h" -+#endif - - namespace content { - diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc index ca6bee71d1fc..778068f004dc 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc @@ -1,47 +1,47 @@ ---- src/3rdparty/chromium/content/gpu/gpu_main.cc.orig 2022-11-08 21:18:48 UTC +--- src/3rdparty/chromium/content/gpu/gpu_main.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/gpu/gpu_main.cc @@ -87,7 +87,7 @@ #include "sandbox/win/src/sandbox.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/gpu/gpu_sandbox_hook_linux.h" #include "sandbox/policy/linux/sandbox_linux.h" #include "sandbox/policy/sandbox_type.h" @@ -109,7 +109,7 @@ namespace { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread*, const gpu::GPUInfo*, const gpu::GpuPreferences&); @@ -171,7 +171,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread, const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) override { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); #elif BUILDFLAG(IS_WIN) return StartSandboxWindows(sandbox_info_); -@@ -267,7 +267,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -268,7 +268,7 @@ int GpuMain(MainFunctionParams parameters) { std::make_unique( gpu_preferences.message_pump_type); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #error "Unsupported Linux platform." #elif BUILDFLAG(IS_MAC) // Cross-process CoreAnimation requires a CFRunLoop to function at all, and -@@ -410,7 +410,7 @@ namespace { +@@ -403,7 +403,7 @@ namespace { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc index e616a50fcd3c..4b38f3bb7f48 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc @@ -1,70 +1,70 @@ ---- src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_linux.cc -@@ -104,6 +104,7 @@ constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | R - - constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE; +@@ -126,6 +126,7 @@ void AddStandardChromeOsPermissions( + permissions->push_back(BrokerFilePermission::ReadOnly(kAngleGlesPath)); + } +#if !defined(OS_BSD) void AddV4L2GpuPermissions( std::vector* permissions, const sandbox::policy::SandboxSeccompBPF::Options& options) { -@@ -420,8 +421,10 @@ std::vector FilePermissionsForGp +@@ -445,8 +446,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) { -@@ -463,6 +466,7 @@ void LoadArmGpuLibraries() { +@@ -488,6 +491,7 @@ void LoadArmGpuLibraries() { dlopen(driver_paths[i], dlopen_flag); } } +#endif } bool LoadAmdGpuLibraries() { -@@ -528,12 +532,14 @@ void LoadChromecastV4L2Libraries() { +@@ -555,12 +559,14 @@ void LoadChromecastV4L2Libraries() { } 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( -@@ -560,6 +566,7 @@ bool LoadLibrariesForGpu( +@@ -588,6 +594,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; -@@ -582,13 +589,17 @@ bool BrokerProcessPreSandboxHook( +@@ -610,13 +617,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.h index 8791dd503421..d34dc52e4d2d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -1,25 +1,25 @@ ---- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.h @@ -12,7 +12,7 @@ #include "build/build_config.h" #include "content/child/blink_platform_impl.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" #include "third_party/skia/include/core/SkRefCnt.h" #endif -@@ -39,11 +39,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp - blink::WebThemeEngine* ThemeEngine() override; +@@ -38,11 +38,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp + blink::WebString DefaultLocale() override; private: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif -#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/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__plugin__main.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__plugin__main.cc index a7c0857e6d78..69f7e9530ccc 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__plugin__main.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__plugin__main.cc @@ -1,23 +1,23 @@ ---- src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc @@ -53,6 +53,11 @@ #include "gin/v8_initializer.h" #endif +#if BUILDFLAG(IS_OPENBSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#include "sandbox/policy/sandbox_type.h" +#endif + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) #include #endif -@@ -136,7 +141,7 @@ int PpapiPluginMain(MainFunctionParams parameters) { +@@ -146,7 +151,7 @@ int PpapiPluginMain(MainFunctionParams parameters) { gin::V8Initializer::LoadV8Snapshot(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( sandbox::policy::SandboxTypeFromCommandLine(command_line), sandbox::policy::SandboxLinux::PreSandboxHook(), diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_render__process__host.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_render__process__host.h new file mode 100644 index 000000000000..cc3c7d8a00df --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_render__process__host.h @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/content/public/browser/render_process_host.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/content/public/browser/render_process_host.h +@@ -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) + +@@ -620,7 +620,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_zygote__host_zygote__host__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_zygote__host_zygote__host__linux.h index e9e816703857..1be6cf6f4185 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_zygote__host_zygote__host__linux.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_zygote__host_zygote__host__linux.h @@ -1,16 +1,16 @@ ---- src/3rdparty/chromium/content/public/browser/zygote_host/zygote_host_linux.h.orig 2022-06-08 06:40:31 UTC +--- src/3rdparty/chromium/content/public/browser/zygote_host/zygote_host_linux.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/browser/zygote_host/zygote_host_linux.h -@@ -30,11 +30,13 @@ class ZygoteHost { +@@ -35,11 +35,13 @@ class ZygoteHost { // after the first render has been forked. virtual int GetRendererSandboxStatus() = 0; -+#if !defined(OS_BSD) ++#if !BUILDFLAG(IS_BSD) // Adjust the OOM score of the given renderer's PID. The allowed // range for the score is [0, 1000], where higher values are more // likely to be killed by the OOM killer. virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle, int score) = 0; +#endif - }; - } // namespace content + #if BUILDFLAG(IS_CHROMEOS_ASH) + // Reinitialize logging for the Zygote processes. Needed on ChromeOS, which diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h index 17caafe266de..612513bfeddb 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/public/common/common_param_traits_macros.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/public/common/common_param_traits_macros.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/common/common_param_traits_macros.h -@@ -128,7 +128,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences) +@@ -125,7 +125,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences) IPC_STRUCT_TRAITS_MEMBER(accept_languages) IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed) IPC_STRUCT_TRAITS_MEMBER(caret_browsing_enabled) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) IPC_STRUCT_TRAITS_MEMBER(system_font_family_name) #endif #if BUILDFLAG(IS_WIN) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.cc index 45cf50c9124f..187136c364a0 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.cc @@ -1,50 +1,50 @@ ---- src/3rdparty/chromium/content/public/common/content_features.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/public/common/content_features.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/common/content_features.cc -@@ -43,7 +43,7 @@ const base::Feature kAudioServiceOutOfProcess { - "AudioServiceOutOfProcess", +@@ -46,7 +46,7 @@ CONSTINIT const base::Feature kAudioServiceOutOfProces + "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 + base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -55,7 +55,7 @@ const base::Feature kAudioServiceSandbox { +@@ -58,7 +58,7 @@ CONSTINIT const base::Feature kAudioServiceSandbox( // kAudioServiceOutOfProcess feature is enabled. - const base::Feature kAudioServiceSandbox { - "AudioServiceSandbox", + CONSTINIT const 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 + base::FEATURE_ENABLED_BY_DEFAULT #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -1055,7 +1055,7 @@ const base::Feature kWebAssemblyCodeProtection{ - const base::Feature kWebAssemblyCodeProtection{ - "WebAssemblyCodeProtection", base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT +@@ -1236,7 +1236,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. -@@ -1085,7 +1085,7 @@ const base::Feature kWebAssemblyTrapHandler { - const base::Feature kWebAssemblyTrapHandler { - "WebAssemblyTrapHandler", +@@ -1278,7 +1278,7 @@ CONSTINIT const base::Feature kWebAssemblyTrapHandler( + CONSTINIT const 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 -@@ -1166,7 +1166,11 @@ const base::Feature kWebUIReportOnlyTrustedTypes{ + base::FEATURE_ENABLED_BY_DEFAULT +@@ -1353,7 +1353,11 @@ BASE_FEATURE(kWebUIReportOnlyTrustedTypes, // Controls whether the WebUSB API is enabled: // https://wicg.github.io/webusb +#if BUILDFLAG(IS_BSD) -+const base::Feature kWebUsb{"WebUSB", base::FEATURE_DISABLED_BY_DEFAULT}; ++BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT); +#else - const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT}; + BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT); +#endif // Controls whether the WebXR Device API is enabled. - const base::Feature kWebXr{"WebXR", base::FEATURE_ENABLED_BY_DEFAULT}; + BASE_FEATURE(kWebXr, "WebXR", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.h index 46dd3e342882..3858bdd934fa 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/public/common/content_features.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/public/common/content_features.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/common/content_features.h -@@ -264,7 +264,7 @@ CONTENT_EXPORT extern const base::Feature kWebAssembly - CONTENT_EXPORT extern const base::Feature kWebAppWindowControlsOverlay; - CONTENT_EXPORT extern const base::Feature kWebAssemblyBaseline; - CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtection; +@@ -273,7 +273,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodePr + CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAppWindowControlsOverlay); + 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 extern const base::Feature kWebAssemblyCodeProtectionPku; + CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebAssemblyCodeProtectionPku); #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && // defined(ARCH_CPU_X86_64) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.cc index 4bc8645aa857..d41d34162e7d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/public/common/content_switches.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/public/common/content_switches.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/common/content_switches.cc -@@ -370,6 +370,8 @@ const char kEnableLogging[] = "enable- +@@ -367,6 +367,8 @@ const char kEnableLogging[] = "enable- // 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. -@@ -983,7 +985,7 @@ const char kEnableAutomation[] = "enable-automation"; +@@ -996,7 +998,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.h index bf2c064e788c..cf1b4f593902 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.h @@ -1,19 +1,19 @@ ---- src/3rdparty/chromium/content/public/common/content_switches.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/public/common/content_switches.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/public/common/content_switches.h -@@ -117,6 +117,7 @@ CONTENT_EXPORT extern const char kEnableLogging[]; +@@ -118,6 +118,7 @@ CONTENT_EXPORT extern const char kEnableLogging[]; 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[]; -@@ -267,7 +268,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -271,7 +272,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_render__media__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_render__media__client.cc index 6b49c5b69b8c..93ae87847818 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_render__media__client.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_render__media__client.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/renderer/media/render_media_client.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/renderer/media/render_media_client.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/renderer/media/render_media_client.cc -@@ -21,7 +21,7 @@ namespace { - // it asynchronously ahead of time, but can fallback to a blocking call +@@ -22,7 +22,7 @@ namespace { // when it's needed synchronously. - #if BUILDFLAG(ENABLE_PLATFORM_HEVC) && \ -- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) -+ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + #if BUILDFLAG(ENABLE_PLATFORM_HEVC) && \ + (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_MAC)) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) #define NEEDS_PROFILE_UPDATER 1 #else #define NEEDS_PROFILE_UPDATER 0 diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__process__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__process__impl.cc index dd024d7592e0..be57763d1d59 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__process__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__process__impl.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/content/renderer/render_process_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/renderer/render_process_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/renderer/render_process_impl.cc -@@ -47,7 +47,7 @@ +@@ -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 -@@ -146,7 +146,7 @@ RenderProcessImpl::RenderProcessImpl() +@@ -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, -@@ -229,7 +229,7 @@ RenderProcessImpl::RenderProcessImpl() +@@ -228,7 +228,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)) { - if (command_line->HasSwitch(switches::kEnableCrashpad) || - command_line->HasSwitch(switches::kEnableCrashReporter) || + base::CommandLine* const command_line = + base::CommandLine::ForCurrentProcess(); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc index 3153e3ac4e75..f2c1fb4e1831 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc @@ -1,47 +1,38 @@ ---- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/renderer/render_thread_impl.cc -@@ -189,7 +189,7 @@ +@@ -193,7 +193,7 @@ #if BUILDFLAG(IS_MAC) #include -#else +#elif !BUILDFLAG(IS_OPENBSD) #include #endif -@@ -716,7 +716,7 @@ void RenderThreadImpl::Init() { - DCHECK(parsed_num_raster_threads) << string_value; - DCHECK_GT(num_raster_threads, 0); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - categorized_worker_pool_->SetBackgroundingCallback( - main_thread_scheduler_->DefaultTaskRunner(), - base::BindOnce( -@@ -739,7 +739,7 @@ void RenderThreadImpl::Init() { +@@ -658,7 +658,7 @@ void RenderThreadImpl::Init() { base::DiscardableMemoryAllocator::SetInstance( discardable_memory_allocator_.get()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (base::FeatureList::IsEnabled( - blink::features::kBlinkCompositorUseDisplayThreadPriority)) { - render_message_filter()->SetThreadPriority( -@@ -1098,7 +1098,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + render_message_filter()->SetThreadType( + ChildProcess::current()->io_thread_id(), base::ThreadType::kCompositing); + #endif +@@ -1029,7 +1029,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: const bool enable_video_decode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && -@@ -1109,7 +1109,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1040,7 +1040,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: 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) && diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.cc index e4ea7ccc534b..fe5ae23de6cc 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.cc @@ -1,48 +1,47 @@ ---- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc -@@ -109,7 +109,7 @@ +@@ -110,7 +110,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 -@@ -178,7 +178,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -180,7 +180,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()); -@@ -188,7 +188,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -190,7 +190,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(); -@@ -283,7 +283,8 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory( +@@ -261,7 +261,7 @@ RendererBlinkPlatformImpl::WrapURLLoaderFactory( /*terminate_sync_load_event=*/nullptr); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+// pledge -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) - void RendererBlinkPlatformImpl::SetDisplayThreadPriority( - base::PlatformThreadId thread_id) { ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void RendererBlinkPlatformImpl::SetThreadType(base::PlatformThreadId thread_id, + base::ThreadType thread_type) { if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) { -@@ -298,7 +299,7 @@ blink::WebSandboxSupport* RendererBlinkPlatformImpl::G - } +@@ -272,7 +272,7 @@ blink::WebSandboxSupport* RendererBlinkPlatformImpl::G + #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/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.h index 1795deb5753e..5633753e49cd 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.h @@ -1,29 +1,38 @@ ---- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h -@@ -31,7 +31,7 @@ +@@ -30,7 +30,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" - #include "third_party/blink/public/mojom/loader/code_cache.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 -@@ -280,7 +280,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -175,7 +175,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + const blink::WebURL& top_document_web_url) override; + gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; + blink::WebString ConvertIDNToUnicode(const blink::WebString& host) override; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void SetThreadType(base::PlatformThreadId thread_id, + base::ThreadType) override; + #endif +@@ -241,7 +241,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 -@@ -308,7 +308,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -261,7 +261,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn index a6b8e5a8c701..fbcae9772a76 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/shell/BUILD.gn -@@ -882,7 +882,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_app_shell__main__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_app_shell__main__delegate.cc index f51c3385beb3..f46ea0661c09 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_app_shell__main__delegate.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_app_shell__main__delegate.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc -@@ -211,7 +211,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -213,7 +213,7 @@ void ShellMainDelegate::PreSandboxStartup() { // Reporting for sub-processes will be initialized in ZygoteForked. if (process_type != switches::kZygoteProcess) { crash_reporter::InitializeCrashpad(process_type.empty(), process_type); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) crash_reporter::SetFirstChanceExceptionHandler( v8::TryHandleWebAssemblyTrapPosix); #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_utility_shell__content__utility__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_utility_shell__content__utility__client.cc index 54591637bb1e..faaa52d7aef3 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_utility_shell__content__utility__client.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_utility_shell__content__utility__client.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/shell/utility/shell_content_utility_client.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/shell/utility/shell_content_utility_client.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/shell/utility/shell_content_utility_client.cc -@@ -32,7 +32,7 @@ +@@ -33,7 +33,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 -@@ -142,7 +142,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow +@@ -146,7 +146,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow binders->Add( base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver), base::ThreadTaskRunnerHandle::Get()); -#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/qt6-webengine/files/patch-src_3rdparty_chromium_content_test_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_test_BUILD.gn index 20c989ba6d3d..09d34533521a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_test_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_test_BUILD.gn @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/test/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/test/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/test/BUILD.gn -@@ -1969,7 +1969,7 @@ static_library("run_all_unittests") { +@@ -2120,7 +2120,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" ] } } -@@ -3000,7 +3000,7 @@ test("content_unittests") { +@@ -3182,7 +3182,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_services.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_services.cc index 4b3c159cdb70..50bbf0bf81b0 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_services.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_services.cc @@ -1,20 +1,47 @@ ---- src/3rdparty/chromium/content/utility/services.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/utility/services.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/utility/services.cc -@@ -67,7 +67,7 @@ extern sandbox::TargetServices* g_utility_target_servi +@@ -66,7 +66,7 @@ extern sandbox::TargetServices* g_utility_target_servi extern sandbox::TargetServices* g_utility_target_services; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "sandbox/linux/services/libc_interceptor.h" #include "sandbox/policy/mojom/sandbox.mojom.h" #include "sandbox/policy/sandbox_type.h" -@@ -205,7 +205,7 @@ auto RunAudio(mojo::PendingReceiver +@@ -380,7 +380,7 @@ 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)) && diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__main.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__main.cc index e2d5df0b4819..30518135a4a3 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__main.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__main.cc @@ -1,79 +1,78 @@ ---- src/3rdparty/chromium/content/utility/utility_main.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/utility/utility_main.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/utility/utility_main.cc -@@ -32,18 +32,20 @@ +@@ -31,17 +31,19 @@ #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 "components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h" #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" #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 "gpu/config/gpu_info_collector.h" #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h" -@@ -52,6 +54,10 @@ +@@ -50,6 +52,10 @@ #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck #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 "ash/services/ime/ime_sandbox_hook.h" - #include "chromeos/assistant/buildflags.h" -@@ -139,7 +145,7 @@ int UtilityMain(MainFunctionParams parameters) { + #include "chromeos/ash/components/assistant/buildflags.h" +@@ -130,7 +136,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. -@@ -169,7 +175,7 @@ int UtilityMain(MainFunctionParams parameters) { - pre_sandbox_hook = base::BindOnce(&screen_ai::ScreenAIPreSandboxHook); +@@ -162,7 +168,7 @@ int UtilityMain(MainFunctionParams parameters) { #endif 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); -@@ -192,10 +198,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -185,10 +191,11 @@ 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; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) if (sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding) { // The kHardwareVideoDecoding sandbox needs to know the GPU type in order // to select the right policy. -@@ -208,6 +215,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -201,6 +208,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/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__linux.cc index 6cd4191954c6..d1b0f33ac909 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__linux.cc @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/content/zygote/zygote_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/zygote/zygote_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/zygote/zygote_linux.cc @@ -1,6 +1,7 @@ - // Copyright (c) 2012 The Chromium Authors. All rights reserved. + // Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#if 0 #include "content/zygote/zygote_linux.h" -@@ -654,3 +655,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick +@@ -696,3 +697,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi } } // namespace content +#endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__main__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__main__linux.cc index cc069e09bc24..41130f218cc3 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__main__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__main__linux.cc @@ -1,64 +1,64 @@ ---- src/3rdparty/chromium/content/zygote/zygote_main_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/content/zygote/zygote_main_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/content/zygote/zygote_main_linux.cc @@ -11,7 +11,9 @@ #include #include #include +#if !defined(OS_BSD) #include +#endif #include #include #include -@@ -40,7 +42,9 @@ +@@ -41,7 +43,9 @@ #include "sandbox/linux/services/thread_helpers.h" #include "sandbox/linux/suid/client/setuid_sandbox_client.h" #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" +#if !defined(OS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox.h" #include "sandbox/policy/switches.h" #include "third_party/icu/source/i18n/unicode/timezone.h" -@@ -49,6 +53,7 @@ namespace { +@@ -50,6 +54,7 @@ namespace { namespace { +#if !defined(OS_BSD) void CloseFds(const std::vector& fds) { for (const auto& it : fds) { PCHECK(0 == IGNORE_EINTR(close(it))); -@@ -66,9 +71,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo +@@ -67,9 +72,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo }, std::move(one), std::move(two)); } +#endif } // namespace +#if !defined(OS_BSD) // This function triggers the static and lazy construction of objects that need // to be created before imposing the sandbox. static void ZygotePreSandboxInit() { -@@ -175,9 +182,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand +@@ -176,9 +183,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand CHECK(!using_layer1_sandbox); } } +#endif bool ZygoteMain( std::vector> fork_delegates) { +#if !defined(OS_BSD) sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); -@@ -243,6 +252,9 @@ bool ZygoteMain( +@@ -244,6 +253,9 @@ bool ZygoteMain( // This function call can return multiple times, once per fork(). return zygote.ProcessRequests(); +#else + return false; +#endif } } // namespace content diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_messaging_message__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_messaging_message__service.cc new file mode 100644 index 000000000000..ee6fbbb315bd --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_messaging_message__service.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/extensions/browser/api/messaging/message_service.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/api/messaging/message_service.cc +@@ -74,7 +74,7 @@ const char kReceivingEndDoesntExistError[] = + const char kReceivingEndDoesntExistError[] = + "Could not establish connection. Receiving end does not exist."; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kMissingPermissionError[] = + "Access to native messaging requires nativeMessaging permission."; + const char kProhibitedByPoliciesError[] = +@@ -442,7 +442,7 @@ void MessageService::OpenChannelToNativeApp( + return; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool has_permission = extension->permissions_data()->HasAPIPermission( + mojom::APIPermissionID::kNativeMessaging); + if (!has_permission) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_networking__private_networking__private__delegate__factory.cc new file mode 100644 index 000000000000..b93b80ded361 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_networking__private_networking__private__delegate__factory.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/api/networking_private/networking_private_delegate_factory.cc +@@ -14,7 +14,7 @@ + #include "extensions/browser/api/networking_private/networking_private_chromeos.h" + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + #include "extensions/browser/api/networking_private/networking_private_lacros.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "extensions/browser/api/networking_private/networking_private_linux.h" + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + #include "components/wifi/wifi_service.h" +@@ -66,7 +66,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS + delegate = new NetworkingPrivateChromeOS(browser_context); + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + delegate = new NetworkingPrivateLacros(browser_context); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + delegate = new NetworkingPrivateLinux(); + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + std::unique_ptr wifi_service(wifi::WiFiService::Create()); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_browser__context__keyed__service__factories.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..9c1c3f0670d0 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_browser__context__keyed__service__factories.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/browser/browser_context_keyed_service_factories.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/browser_context_keyed_service_factories.cc +@@ -99,7 +99,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + #endif // !defined(TOOLKIT_QT) + ManagementAPI::GetFactoryInstance(); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + NetworkingPrivateEventRouterFactory::GetInstance(); + #endif + OffscreenDocumentManager::GetFactory(); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_extension__prefs.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_extension__prefs.cc new file mode 100644 index 000000000000..cda2bc3a19d8 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_extension__prefs.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/browser/extension_prefs.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/extension_prefs.cc +@@ -2289,7 +2289,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 + registry->RegisterBooleanPref(pref_names::kU2fSecurityKeyApiEnabled, false); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.cc new file mode 100644 index 000000000000..5b8919326279 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/browser/pref_names.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/pref_names.cc +@@ -48,7 +48,7 @@ const char kDeletedComponentExtensions[] = + const char kDeletedComponentExtensions[] = + "extensions.deleted_component_extensions"; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kChromeAppsEnabled[] = "extensions.chrome_apps_enabled"; + #endif + const char kU2fSecurityKeyApiEnabled[] = diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.h new file mode 100644 index 000000000000..db6a2c871ee3 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.h @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/browser/pref_names.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/browser/pref_names.h +@@ -98,7 +98,7 @@ extern const char kDeletedComponentExtensions[]; + extern const char kDeletedComponentExtensions[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // A preference for whether Chrome Apps should be allowed. The default depends + // on the ChromeAppsDeprecation feature flag, and this pref can extend support + // for Chrome Apps by enterprise policy. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api___permission__features.json b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api___permission__features.json new file mode 100644 index 000000000000..d83e7355f3ee --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api___permission__features.json @@ -0,0 +1,29 @@ +--- src/3rdparty/chromium/extensions/common/api/_permission_features.json.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/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 +@@ -433,7 +433,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 +@@ -475,7 +475,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/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api_runtime.json b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api_runtime.json new file mode 100644 index 000000000000..8cc9e3c5abda --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api_runtime.json @@ -0,0 +1,12 @@ +--- src/3rdparty/chromium/extensions/common/api/runtime.json.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/common/api/runtime.json +@@ -86,7 +86,8 @@ + "cros", + "linux", + "openbsd", +- "fuchsia" ++ "fuchsia", ++ "freebsd" + ] + }, + { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc new file mode 100644 index 000000000000..8d1749ea8ffe --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/common/command.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/common/command.cc +@@ -280,7 +280,7 @@ std::string Command::CommandPlatform() { + return values::kKeybindingPlatformMac; + #elif BUILDFLAG(IS_CHROMEOS) + return values::kKeybindingPlatformChromeOs; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return values::kKeybindingPlatformLinux; + #elif BUILDFLAG(IS_FUCHSIA) + // TODO(crbug.com/1312215): Change this once we decide what string should be diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_features_feature.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_features_feature.cc new file mode 100644 index 000000000000..ae39dc90f94f --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_features_feature.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/common/features/feature.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/common/features/feature.cc +@@ -34,6 +34,8 @@ Feature::Platform Feature::GetCurrentPlatform() { + return WIN_PLATFORM; + #elif BUILDFLAG(IS_FUCHSIA) + return FUCHSIA_PLATFORM; ++#elif defined(OS_BSD) ++ return LINUX_PLATFORM; + #else + return UNSPECIFIED_PLATFORM; + #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_api__binding__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_api__binding__util.cc new file mode 100644 index 000000000000..bacd111e5b41 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_api__binding__util.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/renderer/bindings/api_binding_util.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/renderer/bindings/api_binding_util.cc +@@ -132,7 +132,7 @@ std::string GetPlatformString() { + return "lacros"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) + return "chromeos"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "linux"; + #elif BUILDFLAG(IS_MAC) + return "mac"; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_argument__spec.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_argument__spec.cc new file mode 100644 index 000000000000..40e732d5e633 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_renderer_bindings_argument__spec.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/renderer/bindings/argument_spec.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/renderer/bindings/argument_spec.cc +@@ -18,6 +18,8 @@ + #include "gin/data_object_builder.h" + #include "gin/dictionary.h" + ++#include ++ + namespace extensions { + + namespace { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_app_shell__main__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..a3223665bcd1 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_app_shell__main__delegate.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/extensions/shell/app/shell_main_delegate.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/shell/app/shell_main_delegate.cc +@@ -42,7 +42,7 @@ + + #if BUILDFLAG(IS_WIN) + #include "base/base_paths_win.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #elif BUILDFLAG(IS_MAC) + #include "base/base_paths_mac.h" +@@ -61,7 +61,7 @@ base::FilePath GetDataPath() { + return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath); + + base::FilePath data_dir; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::unique_ptr env(base::Environment::Create()); + data_dir = base::nix::GetXDGDirectory( + env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc new file mode 100644 index 000000000000..134fac4ecc86 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc +@@ -45,7 +45,7 @@ bool ShellRuntimeAPIDelegate::GetPlatformInfo(Platform + bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { + #if BUILDFLAG(IS_CHROMEOS_ASH) + info->os = api::runtime::PLATFORM_OS_CROS; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + info->os = api::runtime::PLATFORM_OS_LINUX; + #endif + return true; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__browser__main__parts.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..a688fed8a4bb --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/shell/browser/shell_browser_main_parts.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/shell/browser/shell_browser_main_parts.cc +@@ -150,7 +150,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( + switches::kAppShellAllowRoaming)) { + network_controller_->SetCellularAllowRoaming(true); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // app_shell doesn't need GTK, so the fake input method context can work. + // See crbug.com/381852 and revision fb69f142. + // TODO(michaelpg): Verify this works for target environments. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.cc new file mode 100644 index 000000000000..0b54715f96d5 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/extensions/shell/browser/shell_extensions_api_client.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/shell/browser/shell_extensions_api_client.cc +@@ -58,7 +58,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() + + // 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) + FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { + if (!file_system_delegate_) + file_system_delegate_ = std::make_unique(); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.h new file mode 100644 index 000000000000..8ae5507fbc65 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_shell__extensions__api__client.h @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/extensions/shell/browser/shell_extensions_api_client.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/extensions/shell/browser/shell_extensions_api_client.h +@@ -36,7 +36,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + const override; + // 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) + FileSystemDelegate* GetFileSystemDelegate() override; + #endif + MessagingDelegate* GetMessagingDelegate() override; +@@ -45,7 +45,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + private: + // 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) + std::unique_ptr file_system_delegate_; + #endif + std::unique_ptr messaging_delegate_; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc index 07ef55870733..5181fb9c566c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc -@@ -134,7 +134,7 @@ uint32_t GetPlatformSpecificTextureTarget() { +@@ -144,7 +144,7 @@ uint32_t GetPlatformSpecificTextureTarget() { #if BUILDFLAG(IS_MAC) return macos_specific_texture_target; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return GL_TEXTURE_EXTERNAL_OES; #elif BUILDFLAG(IS_FUCHSIA) return GL_TEXTURE_2D; -@@ -166,7 +166,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu +@@ -176,7 +176,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu gfx::BufferFormat format, gfx::BufferPlane plane) { #if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Always use GL_TEXTURE_2D as the target for RGB textures. // https://crbug.com/916728 if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 || diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc deleted file mode 100644 index c6bfae8b0cbe..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.cc -@@ -30,7 +30,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/external_vk_image_dawn_representation.h" - #endif - -@@ -570,7 +570,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager - MemoryTypeTracker* tracker, - WGPUDevice wgpuDevice, - WGPUBackendType backend_type) { --#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 = viz::ToWGPUFormat(format()); - - if (wgpu_format == WGPUTextureFormat_Undefined) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__factory.cc deleted file mode 100644 index 65db6c5ad394..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__factory.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image_factory.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image_factory.cc -@@ -46,7 +46,7 @@ - #include "ui/ozone/public/ozone_platform.h" - #endif - --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) && \ -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ - BUILDFLAG(ENABLE_VULKAN) - #include "gpu/command_buffer/service/external_vk_image_factory.h" - #elif BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_VULKAN) -@@ -81,7 +81,7 @@ namespace gpu { - - namespace gpu { - --#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ - !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \ - BUILDFLAG(ENABLE_VULKAN) - -@@ -325,7 +325,7 @@ SharedImageFactory::SharedImageFactory( - factories_.push_back(std::move(external_vk_image_factory)); - } - #elif defined(USE_OZONE) --#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ - !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) - // Desktop Linux, not ChromeOS. - if (gr_context_type_ == GrContextType::kVulkan && diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc similarity index 71% rename from www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc rename to www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc index e28a8677b571..340c77aee7cb 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__angle__vulkan.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.cc -@@ -577,7 +577,7 @@ bool SharedImageBackingFactoryAngleVulkan::CanUseAngle +--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc +@@ -94,7 +94,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/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing.cc new file mode 100644 index 000000000000..d693169cc12b --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing.cc +@@ -32,7 +32,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 + +@@ -570,7 +570,7 @@ std::unique_ptr ExternalVkIma + MemoryTypeTracker* tracker, + WGPUDevice wgpuDevice, + WGPUBackendType backend_type) { +-#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 = viz::ToWGPUFormat(format()); + + if (wgpu_format == WGPUTextureFormat_Undefined) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__gl__texture.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc similarity index 71% rename from www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__gl__texture.cc rename to www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc index f0f0baf8fcae..975aac44a50c 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__gl__texture.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_gl_texture.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_gl_texture.cc -@@ -257,7 +257,7 @@ void SharedImageBackingGLTexture::CreateEGLImage() { +--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc +@@ -345,7 +345,7 @@ void GLTextureImageBacking::CreateEGLImage() { } - void SharedImageBackingGLTexture::CreateEGLImage() { + void GLTextureImageBacking::CreateEGLImage() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_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/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc similarity index 75% rename from www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc rename to www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc index d7dcd43690fd..5888e1fac79a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image__backing__factory__gl__texture.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc -@@ -145,7 +145,7 @@ bool SharedImageBackingFactoryGLTexture::IsSupported( +--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc +@@ -164,7 +164,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) || defined(USE_OZONE) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) if (use_webgpu_adapter_ != WebGPUAdapterName::kCompat) { return false; } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc new file mode 100644 index 000000000000..ed4390a2a4fb --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc +@@ -238,7 +238,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/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_webgpu__decoder__impl.cc index 1d6e7c549946..e85cc52aae02 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1536,7 +1536,7 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( +@@ -1199,7 +1199,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) - SendAdapterProperties(request_adapter_serial, -1, nullptr, - "WebGPU on Linux requires command-line flag " - "--enable-features=Vulkan,UseSkiaRenderer"); + callback(WGPURequestAdapterStatus_Unavailable, nullptr, + "WebGPU on Linux requires command-line flag " + "--enable-features=Vulkan", diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__control__list.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__control__list.cc index 51c1889b9e9e..12fdc081ae8a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__control__list.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__control__list.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/gpu/config/gpu_control_list.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/config/gpu_control_list.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/config/gpu_control_list.cc -@@ -261,7 +261,7 @@ GpuControlList::GLType GpuControlList::More::GetDefaul +@@ -302,7 +302,7 @@ GpuControlList::GLType GpuControlList::More::GetDefaul GpuControlList::GLType GpuControlList::More::GetDefaultGLType() { #if BUILDFLAG(IS_CHROMEOS) return kGLTypeGL; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kGLTypeGL; #elif BUILDFLAG(IS_MAC) return kGLTypeGL; -@@ -784,7 +784,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { +@@ -844,7 +844,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { return kOsAndroid; #elif BUILDFLAG(IS_FUCHSIA) return kOsFuchsia; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_MAC) return kOsMacosx; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__finch__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__finch__features.cc new file mode 100644 index 000000000000..f17bcf3a5c1d --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__finch__features.cc @@ -0,0 +1,21 @@ +--- src/3rdparty/chromium/gpu/config/gpu_finch_features.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/config/gpu_finch_features.cc +@@ -57,7 +57,7 @@ CONSTINIT const base::Feature kUseGles2ForOopR( + CONSTINIT const base::Feature kUseGles2ForOopR( + "UseGles2ForOopR", + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT + #else + base::FEATURE_ENABLED_BY_DEFAULT +@@ -135,7 +135,8 @@ CONSTINIT const base::Feature kDefaultEnableGpuRasteri + CONSTINIT const base::Feature kDefaultEnableGpuRasterization( + "DefaultEnableGpuRasterization", + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ ++ BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc index b67ea1e5de6c..c92b383e4005 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc @@ -1,65 +1,83 @@ ---- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc -@@ -317,7 +317,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -355,7 +355,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 -@@ -367,7 +367,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -391,7 +391,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. -@@ -416,7 +416,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -440,7 +440,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; -@@ -449,7 +449,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -491,7 +491,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 -@@ -508,7 +508,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -551,7 +551,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; -@@ -631,7 +631,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -679,7 +679,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. -@@ -861,7 +861,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -731,7 +731,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 +@@ -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 +@@ -936,7 +936,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/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.cc index 5133bbab9a2f..0cce4d8e39e9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc -@@ -85,7 +85,7 @@ bool VulkanDeviceQueue::Initialize( +@@ -89,7 +89,7 @@ bool VulkanDeviceQueue::Initialize( // In dual-CPU cases, we cannot detect the active GPU correctly on Linux, // so don't select GPU device based on the |gpu_info|. -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // If gpu_info is provided, the device should match it. if (gpu_info && (device_properties.vendorID != gpu_info->gpu.vendor_id || device_properties.deviceID != gpu_info->gpu.device_id)) { @@ -229,7 +229,7 @@ bool VulkanDeviceQueue::Initialize( enabled_device_features_2_ = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2}; // Android, Fuchsia, and Linux(VaapiVideoDecoder) need YCbCr sampler support. -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!physical_device_info.feature_sampler_ycbcr_conversion) { LOG(ERROR) << "samplerYcbcrConversion is not supported."; return false; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.h index deff78d5f36d..1765533099f8 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.h -@@ -155,7 +155,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue { +@@ -158,7 +158,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue { bool allow_protected_memory_ = false; -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VkPhysicalDeviceSamplerYcbcrConversionFeatures sampler_ycbcr_conversion_features_{ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES}; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__util.cc new file mode 100644 index 000000000000..d7c5cc07605f --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__util.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/gpu/vulkan/vulkan_util.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/gpu/vulkan/vulkan_util.cc +@@ -195,7 +195,7 @@ bool CheckVulkanCompabilities(const VulkanInfo& vulkan + } + } + +-#if BUILDFLAG(IS_LINUX) && !defined(OZONE_PLATFORM_IS_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(OZONE_PLATFORM_IS_X11) + // Vulkan is only supported with X11 on Linux for now. + return false; + #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn index e7b8de6b4d1d..75ced7794ecf 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn @@ -1,12 +1,12 @@ ---- src/3rdparty/chromium/media/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/BUILD.gn -@@ -78,6 +78,9 @@ config("media_config") { +@@ -86,6 +86,9 @@ config("media_config") { defines += [ "DLOPEN_PULSEAUDIO" ] } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } if (use_cras) { defines += [ "USE_CRAS" ] } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_BUILD.gn index 5ab4cc096214..e765496ad281 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_BUILD.gn @@ -1,24 +1,24 @@ ---- src/3rdparty/chromium/media/audio/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/audio/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/audio/BUILD.gn -@@ -241,9 +241,20 @@ source_set("audio") { +@@ -257,9 +257,20 @@ source_set("audio") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !use_sndio) { sources += [ "linux/audio_manager_linux.cc" ] } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ + "sndio/audio_manager_sndio.cc", + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", + "sndio/sndio_output.h" + ] + } if (use_alsa) { libs += [ "asound" ] diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc deleted file mode 100644 index 438f0dad207e..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/media/audio/audio_features.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/media/audio/audio_features.cc -@@ -19,7 +19,7 @@ const base::Feature kAudioServiceOutOfProcessKillAtHan - const base::Feature kAudioServiceOutOfProcessKillAtHang{ - "AudioServiceOutOfProcessKillAtHang", - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__input__device.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__input__device.cc index a0ddc3373d0b..dbea102e5656 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__input__device.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__input__device.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/audio/audio_input_device.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/audio/audio_input_device.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/audio/audio_input_device.cc -@@ -260,7 +260,7 @@ void AudioInputDevice::OnStreamCreated( +@@ -259,7 +259,7 @@ void AudioInputDevice::OnStreamCreated( // here. See comments in AliveChecker and PowerObserverHelper for details and // todos. if (detect_dead_stream_ == DeadStreamDetection::kEnabled) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const bool stop_at_first_alive_notification = true; const bool pause_check_during_suspend = false; #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_audio__manager__sndio.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_audio__manager__sndio.cc index bfb7bc24b37d..04c631ea436e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_audio__manager__sndio.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_audio__manager__sndio.cc @@ -1,184 +1,184 @@ ---- src/3rdparty/chromium/media/audio/sndio/audio_manager_sndio.cc.orig 2022-11-14 07:13:48 UTC +--- src/3rdparty/chromium/media/audio/sndio/audio_manager_sndio.cc.orig 2023-04-16 16:16:00 UTC +++ src/3rdparty/chromium/media/audio/sndio/audio_manager_sndio.cc @@ -0,0 +1,181 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/command_line.h" +#include "base/metrics/histogram_macros.h" +#include "base/memory/ptr_util.h" + +#include "media/audio/sndio/audio_manager_sndio.h" + +#include "media/audio/audio_device_description.h" +#include "media/audio/audio_output_dispatcher.h" +#if defined(USE_SNDIO) +#include "media/audio/sndio/sndio_input.h" +#include "media/audio/sndio/sndio_output.h" +#endif +#include "media/audio/fake_audio_manager.h" +#include "media/base/limits.h" +#include "media/base/media_switches.h" + +namespace media { + +enum SndioAudioIO { + kPulse, + kSndio, + kAudioIOMax = kSndio +}; + +#if defined(USE_SNDIO) +// Maximum number of output streams that can be open simultaneously. +static const int kMaxOutputStreams = 50; + +// Default sample rate for input and output streams. +static const int kDefaultSampleRate = 48000; + +void AddDefaultDevice(AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + device_names->push_front(AudioDeviceName::CreateDefault()); +} + +bool AudioManagerSndio::HasAudioOutputDevices() { + return true; +} + +bool AudioManagerSndio::HasAudioInputDevices() { + return true; +} + +void AudioManagerSndio::GetAudioInputDeviceNames( + AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + AddDefaultDevice(device_names); +} + +void AudioManagerSndio::GetAudioOutputDeviceNames( + AudioDeviceNames* device_names) { + AddDefaultDevice(device_names); +} + +#if defined(USE_SNDIO) +const char* AudioManagerSndio::GetName() { + return "SNDIO"; +} +#endif + +AudioParameters AudioManagerSndio::GetInputStreamParameters( + const std::string& device_id) { + static const int kDefaultInputBufferSize = 1024; + + int user_buffer_size = GetUserBufferSize(); + int buffer_size = user_buffer_size ? + user_buffer_size : kDefaultInputBufferSize; + + return AudioParameters( -+ AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, ++ AudioParameters::AUDIO_PCM_LOW_LATENCY, ChannelLayoutConfig::Stereo(), + kDefaultSampleRate, buffer_size); +} + +AudioManagerSndio::AudioManagerSndio(std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) + : AudioManagerBase(std::move(audio_thread), + audio_log_factory) { + DLOG(WARNING) << "AudioManagerSndio"; + SetMaxOutputStreamsAllowed(kMaxOutputStreams); +} + +AudioManagerSndio::~AudioManagerSndio() = default; + +AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeOutputStream(params); +} + +AudioOutputStream* AudioManagerSndio::MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeOutputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeInputStream(params); +} + +AudioInputStream* AudioManagerSndio::MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeInputStream(params); +} + +AudioParameters AudioManagerSndio::GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) { + // TODO(tommi): Support |output_device_id|. + DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; + static const int kDefaultOutputBufferSize = 2048; + -+ ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO; ++ ChannelLayoutConfig channel_layout_config = ChannelLayoutConfig::Stereo(); + int sample_rate = kDefaultSampleRate; + int buffer_size = kDefaultOutputBufferSize; + if (input_params.IsValid()) { + sample_rate = input_params.sample_rate(); -+ channel_layout = input_params.channel_layout(); ++ channel_layout_config = input_params.channel_layout_config(); + buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); + } + + int user_buffer_size = GetUserBufferSize(); + if (user_buffer_size) + buffer_size = user_buffer_size; + + return AudioParameters( -+ AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, -+ sample_rate, buffer_size); ++ AudioParameters::AUDIO_PCM_LOW_LATENCY, ++ channel_layout_config, sample_rate, buffer_size); +} + +AudioInputStream* AudioManagerSndio::MakeInputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeInputStream"; + return new SndioAudioInputStream(this, + AudioDeviceDescription::kDefaultDeviceId, params); +} + +AudioOutputStream* AudioManagerSndio::MakeOutputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeOutputStream"; + return new SndioAudioOutputStream(params, this); +} +#endif + +std::unique_ptr CreateAudioManager( + std::unique_ptr audio_thread, + AudioLogFactory* audio_log_factory) { + DLOG(WARNING) << "CreateAudioManager"; + // For testing allow audio output to be disabled. + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioOutput)) { + return std::make_unique(std::move(audio_thread), + audio_log_factory); + } +#if defined(USE_SNDIO) + UMA_HISTOGRAM_ENUMERATION("Media.SndioAudioIO", kSndio, kAudioIOMax + 1); + return std::make_unique(std::move(audio_thread), + audio_log_factory); +#else + return std::make_unique(std::move(audio_thread), + audio_log_factory); +#endif + +} + +} // namespace media diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_audio__latency.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_audio__latency.cc index 9962ed8a3df7..5bf2853c1d8f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_audio__latency.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_audio__latency.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/base/audio_latency.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/audio_latency.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/audio_latency.cc -@@ -135,7 +135,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in +@@ -147,7 +147,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // On Linux, MacOS and Fuchsia, the low level IO implementations on the // browser side supports all buffer size the clients want. We use the native // peer connection buffer size (10ms) to achieve best possible performance. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc index f845c3906848..3aef872fb739 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc @@ -1,47 +1,55 @@ ---- src/3rdparty/chromium/media/base/media_switches.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/media_switches.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/media_switches.cc @@ -10,7 +10,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 -@@ -416,7 +416,7 @@ const base::Feature kGlobalMediaControls { - const base::Feature kGlobalMediaControls { - "GlobalMediaControls", - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS_LACROS) -+ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT +@@ -485,7 +485,7 @@ CONSTINIT const base::Feature kGlobalMediaControls( + // Show toolbar button that opens dialog for controlling media sessions. + CONSTINIT const 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 -@@ -448,7 +448,7 @@ const base::Feature kGlobalMediaControlsPictureInPictu - const base::Feature kGlobalMediaControlsPictureInPicture { - "GlobalMediaControlsPictureInPicture", + base::FEATURE_DISABLED_BY_DEFAULT +@@ -526,7 +526,7 @@ CONSTINIT const base::Feature kGlobalMediaControlsPict + CONSTINIT const base::Feature kGlobalMediaControlsPictureInPicture( + "GlobalMediaControlsPictureInPicture", #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT + base::FEATURE_ENABLED_BY_DEFAULT #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -489,7 +489,7 @@ const base::Feature kUnifiedAutoplay{"UnifiedAutoplay" - const base::Feature kUnifiedAutoplay{"UnifiedAutoplay", - base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT +@@ -570,7 +570,7 @@ BASE_FEATURE(kUnifiedAutoplay, + "UnifiedAutoplay", + base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enable vaapi video decoding on linux. This is already enabled by default on // chromeos, but needs an experiment on linux. - const base::Feature kVaapiVideoDecodeLinux{"VaapiVideoDecoder", -@@ -863,7 +863,7 @@ const base::Feature MEDIA_EXPORT kDeprecateLowUsageCod + BASE_FEATURE(kVaapiVideoDecodeLinux, +@@ -1061,14 +1061,14 @@ const base::Feature MEDIA_EXPORT kDeprecateLowUsageCod "DeprecateLowUsageCodecs", base::FEATURE_ENABLED_BY_DEFAULT}; #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawn utility processes to perform hardware decode acceleration instead of // using the GPU process. const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoDecoding{ + "UseOutOfProcessVideoDecoding", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Spawn utility processes to perform hardware encode acceleration instead of + // using the GPU process. + const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoEncoding{ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.h index 40139bd29a3a..ecc1109cab7a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.h @@ -1,20 +1,25 @@ ---- src/3rdparty/chromium/media/base/media_switches.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/media_switches.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/media_switches.h -@@ -195,7 +195,7 @@ MEDIA_EXPORT extern const base::Feature kUseR16Texture - MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream; - MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore; - MEDIA_EXPORT extern const base::Feature kUseR16Texture; +@@ -214,7 +214,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseR16Texture); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseMediaHistoryStore); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseR16Texture); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - MEDIA_EXPORT extern const base::Feature kVaapiVideoDecodeLinux; - MEDIA_EXPORT extern const base::Feature kVaapiVideoEncodeLinux; - #endif // BUILDFLAG(IS_LINUX) -@@ -278,7 +278,7 @@ MEDIA_EXPORT extern const base::Feature kDeprecateLowU - MEDIA_EXPORT extern const base::Feature kDeprecateLowUsageCodecs; + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinux); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoEncodeLinux); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiIgnoreDriverChecks); +@@ -319,11 +319,11 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kDeprecateLowUsageCo + MEDIA_EXPORT BASE_DECLARE_FEATURE(kDeprecateLowUsageCodecs); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - MEDIA_EXPORT extern const base::Feature kUseOutOfProcessVideoDecoding; + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_supported__types.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_supported__types.cc index 248c3ee643de..346a0b6c5998 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_supported__types.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_supported__types.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/base/supported_types.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/supported_types.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/supported_types.cc -@@ -205,7 +205,7 @@ bool IsHevcProfileSupported(const VideoType& type) { - return false; +@@ -206,7 +206,7 @@ bool IsHevcProfileSupported(const VideoType& type) { #if BUILDFLAG(ENABLE_PLATFORM_HEVC) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return GetSupplementalProfileCache()->IsProfileSupported(type.profile); - #else - return true; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS_LACROS) + // TODO(b/171813538): For Lacros, the supplemental profile cache will be + // asking lacros-gpu, but we will be doing decoding in ash-gpu. Until the diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_vector__math.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_vector__math.cc deleted file mode 100644 index b742496b605f..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_vector__math.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/media/base/vector_math.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/media/base/vector_math.cc -@@ -18,7 +18,7 @@ - // better, which is anywhere clang is used. - // TODO(pcc): Linux currently uses ThinLTO which has broken auto-vectorization - // in clang, so use our intrinsic version for now. http://crbug.com/738085 --#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #define FMAC_FUNC FMAC_SSE - #define FMUL_FUNC FMUL_SSE - #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.cc index 296d14ed0b9b..f5a8ed8b48ff 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.cc @@ -1,74 +1,74 @@ ---- src/3rdparty/chromium/media/base/video_frame.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/video_frame.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/video_frame.cc -@@ -72,7 +72,7 @@ std::string VideoFrame::StorageTypeToString( +@@ -75,7 +75,7 @@ std::string VideoFrame::StorageTypeToString( return "OWNED_MEMORY"; case VideoFrame::STORAGE_SHMEM: return "SHMEM"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case VideoFrame::STORAGE_DMABUFS: return "DMABUFS"; #endif -@@ -89,7 +89,7 @@ bool VideoFrame::IsStorageTypeMappable(VideoFrame::Sto +@@ -90,7 +90,7 @@ bool VideoFrame::IsStorageTypeMappable(VideoFrame::Sto // static bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { return -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // This is not strictly needed but makes explicit that, at VideoFrame // level, DmaBufs are not mappable from userspace. storage_type != VideoFrame::STORAGE_DMABUFS && @@ -285,7 +285,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 -@@ -624,7 +624,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -625,7 +625,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() || -@@ -670,7 +670,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -671,7 +671,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, -@@ -894,7 +894,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( +@@ -888,7 +888,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_; -@@ -1265,7 +1265,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( +@@ -1275,7 +1275,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); -@@ -1377,7 +1377,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, +@@ -1387,7 +1387,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/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.h index 47a80f518cad..81d36499e9b2 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.h @@ -1,47 +1,47 @@ ---- src/3rdparty/chromium/media/base/video_frame.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/base/video_frame.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/base/video_frame.h @@ -41,7 +41,7 @@ #include "base/mac/scoped_cftyperef.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/scoped_file.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -83,7 +83,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -84,7 +84,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers. STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer. - STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory. + STORAGE_SHMEM = 4, // Backed by read-only shared memory. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(mcasas): Consider turning this type into STORAGE_NATIVE // based on the idea of using this same enum value for both DMA // buffers on Linux and CVPixelBuffers on Mac (which currently use -@@ -281,7 +281,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -279,7 +279,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb, base::TimeDelta timestamp); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Wraps provided dmabufs // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will -@@ -540,7 +540,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -548,7 +548,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // mailbox, the caller must wait for the included sync point. const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns a vector containing the backing DmaBufs for this frame. The number // of returned DmaBufs will be equal or less than the number of planes of // the frame. If there are less, this means that the last FD contains the -@@ -744,7 +744,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -755,7 +755,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER. std::unique_ptr gpu_memory_buffer_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) class DmabufHolder; // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.cc index 308bf7e62656..45c07f80bb18 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc -@@ -425,7 +425,7 @@ int FakeV4L2Impl::close(int fd) { +@@ -426,7 +426,7 @@ int FakeV4L2Impl::close(int fd) { return kSuccessReturnValue; } -int FakeV4L2Impl::ioctl(int fd, int request, void* argp) { +int FakeV4L2Impl::ioctl(int fd, unsigned long request, void* argp) { base::AutoLock lock(lock_); auto device_iter = opened_devices_.find(fd); if (device_iter == opened_devices_.end()) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc index e902f61ccb70..36c5fe7e9180 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc @@ -1,44 +1,44 @@ ---- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/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 -@@ -25,10 +27,10 @@ using media::mojom::MeteringMode; +@@ -28,10 +30,10 @@ using media::mojom::MeteringMode; 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. -@@ -660,7 +662,7 @@ V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; +@@ -667,7 +669,7 @@ V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; 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) { -@@ -670,7 +672,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void* +@@ -677,7 +679,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/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.h index e90c66a4ae99..3ecb106388ff 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.h @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h -@@ -85,10 +85,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { +@@ -86,10 +86,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/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__pool__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__pool__impl.cc deleted file mode 100644 index 452c10bc3b4b..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__pool__impl.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/media/capture/video/video_capture_buffer_pool_impl.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/media/capture/video/video_capture_buffer_pool_impl.cc -@@ -74,7 +74,7 @@ VideoCaptureBufferPoolImpl::CreateSharedMemoryViaRawFi - int buffer_id) { - // This requires platforms where base::SharedMemoryHandle is backed by a - // file descriptor. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - base::AutoLock lock(lock_); - - VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__client.cc index c747b19e4001..7921f196e4b7 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__client.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__client.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/capture/video/video_capture_device_client.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/capture/video/video_capture_device_client.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/capture/video/video_capture_device_client.cc -@@ -320,7 +320,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( +@@ -317,7 +317,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. // Windows RGB24 defines blue at lowest byte, // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) fourcc_format = libyuv::FOURCC_RAW; #elif BUILDFLAG(IS_WIN) fourcc_format = libyuv::FOURCC_24BG; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_video__decoder__pipeline.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_video__decoder__pipeline.cc index e288c77b0686..071185233c89 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc -@@ -647,7 +647,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -767,7 +767,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux should always use a custom allocator (to allocate buffers using // libva) and a PlatformVideoFramePool. CHECK(allocator.has_value()); -@@ -669,7 +669,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -789,7 +789,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( #error "Unsupported platform" #endif --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) +-#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 or lacros. + // which isn't an option on linux. CHECK(viable_candidate); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_gpu__video__encode__accelerator__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_gpu__video__encode__accelerator__factory.cc index a59574b145fc..f06c45e21a93 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_gpu__video__encode__accelerator__factory.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_gpu__video__encode__accelerator__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc -@@ -96,7 +96,7 @@ std::vector GetVEAFactoryFunctions +@@ -111,7 +111,7 @@ std::vector GetVEAFactoryFunctions return vea_factory_functions; #if BUILDFLAG(USE_VAAPI) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kVaapiVideoEncodeLinux)) vea_factory_functions.push_back(base::BindRepeating(&CreateVaapiVEA)); #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc index 3b8c3033803a..29cdb49ddab6 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc @@ -1,26 +1,26 @@ ---- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc @@ -14,12 +14,15 @@ #include "media/gpu/vaapi/vaapi_wrapper.h" #endif +#if !BUILDFLAG(IS_BSD) using sandbox::syscall_broker::BrokerFilePermission; +#endif namespace media { bool HardwareVideoDecodingPreSandboxHook( sandbox::policy::SandboxLinux::Options options) { +#if !BUILDFLAG(IS_BSD) sandbox::syscall_broker::BrokerCommandSet command_set; std::vector permissions; -@@ -121,6 +124,7 @@ bool HardwareVideoDecodingPreSandboxHook( +@@ -126,6 +129,7 @@ bool HardwareVideoDecodingPreSandboxHook( dlopen("/usr/lib/libv4l2.so", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); #endif // defined(__aarch64__) #endif // BUILDFLAG(USE_VAAPI) +#endif return true; } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__video__decoder.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__video__decoder.cc index 1be04efbdcef..3911eacbfc64 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc -@@ -772,7 +772,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -767,7 +767,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree const gfx::Size decoder_natural_size = aspect_ratio_.GetNaturalSize(decoder_visible_rect); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) absl::optional allocator = base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); std::vector candidates = { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__wrapper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__wrapper.cc deleted file mode 100644 index 62b5e7e118b3..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__wrapper.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc -@@ -582,7 +582,7 @@ bool VADisplayState::Initialize() { - bool VADisplayState::Initialize() { - base::AutoLock auto_lock(va_lock_); - --#if defined(USE_OZONE) && BUILDFLAG(IS_LINUX) -+#if defined(USE_OZONE) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) - // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on - // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi - // for more details. This will also require revisiting everything that's diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_media__options.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_media__options.gni index 6152ed4a6e5f..825c17b49f3b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_media__options.gni +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_media__options.gni @@ -1,27 +1,30 @@ ---- src/3rdparty/chromium/media/media_options.gni.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/media_options.gni.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/media_options.gni -@@ -133,9 +133,12 @@ declare_args() { +@@ -175,12 +175,15 @@ declare_args() { # Enables runtime selection of ALSA library for audio. use_alsa = false + # Enable runtime selection of sndio(7) + use_sndio = false + - # Alsa should be used on non-Android, non-Mac POSIX systems. - # Alsa should be used on desktop Chromecast and audio-only Chromecast builds. + # Alsa should be used on all non-Android, non-Mac POSIX systems - with the + # exception of CastOS desktop builds. + # + # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting + # desktop Chromecast builds. - if (is_posix && !is_android && !is_mac && + if (is_posix && !is_android && !is_mac && !is_bsd && - (!is_chromecast || is_cast_desktop_build || is_cast_audio_only)) { + (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || + is_cast_audio_only)) { use_alsa = true - -@@ -150,6 +153,10 @@ declare_args() { - if (!use_cras && !is_chromecast && !is_asan && !is_tsan) { +@@ -196,6 +199,10 @@ declare_args() { + if (!use_cras && !is_castos && !is_asan && !is_tsan) { use_pulseaudio = true } + } + if (is_openbsd) { + use_sndio = true + use_pulseaudio = false } } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc index 4180a9205e30..7081ca7369b7 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc @@ -42,7 +42,7 @@ media::stable::mojom::VideoFrameDataPtr MakeVideoFrame gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle = input->GetGpuMemoryBuffer()->CloneHandle(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CHECK_EQ(gpu_memory_buffer_handle.type, gfx::NATIVE_PIXMAP); CHECK(!gpu_memory_buffer_handle.native_pixmap_handle.planes.empty()); #else -@@ -749,7 +749,7 @@ const gfx::GpuMemoryBufferId& StructTraits< +@@ -747,7 +747,7 @@ const gfx::GpuMemoryBufferId& StructTraits< return input.id; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static gfx::NativePixmapHandle StructTraits< media::stable::mojom::NativeGpuMemoryBufferHandleDataView, -@@ -770,7 +770,7 @@ bool StructTraitstype = gfx::NATIVE_PIXMAP; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!data.ReadPlatformHandle(&output->native_pixmap_handle)) return false; return true; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h index 31baa0aee9b8..94bb55d4b74e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h -@@ -620,7 +620,7 @@ struct StructTraitsHasTextures(); -#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 +@@ -1160,7 +1160,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 &= +@@ -1179,7 +1179,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/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter.cc index 98b35e2767f6..2f731a97e7ce 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc -@@ -98,7 +98,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( +@@ -130,7 +130,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 (storage_type == VideoFrame::STORAGE_DMABUFS || - storage_type == VideoFrame::STORAGE_GPU_MEMORY_BUFFER) { - if (is_rgb) -@@ -239,7 +239,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal - auto vea_config = - SetUpVeaConfig(profile_, options_, format, first_frame->storage_type()); + if (format != PIXEL_FORMAT_I420 || + !VideoFrame::IsStorageTypeMappable(storage_type)) { + // ChromeOS/Linux hardware video encoders supports I420 on-memory +@@ -441,7 +441,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal + SetUpVeaConfig(profile_, options_, format, first_frame->storage_type(), + supported_rc_modes_); -#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/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter__test.cc index 3d400efd4352..d36c75ef98ff 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter__test.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter__test.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc -@@ -378,7 +378,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes +@@ -435,7 +435,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes + CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2)); - vea()->SetEncodingCallback(base::BindLambdaForTesting( - [&](BitstreamBuffer&, bool keyframe, scoped_refptr frame) { + VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - EXPECT_EQ(frame->format(), - IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420); - #else + if (pixel_format != PIXEL_FORMAT_I420 || !small_frame->IsMappable()) + expected_input_format = PIXEL_FORMAT_NV12; + #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_audio__processor.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_audio__processor.cc index 80efbf8917d2..93935a42d72e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_audio__processor.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/media/webrtc/audio_processor.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/webrtc/audio_processor.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/webrtc/audio_processor.cc -@@ -466,7 +466,7 @@ absl::optional AudioProcessor::ProcessData( +@@ -487,7 +487,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/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_webrtc__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_webrtc__features.cc index 491b15df3672..1f36939968c9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_webrtc__features.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_webrtc_webrtc__features.cc @@ -1,11 +1,20 @@ ---- src/3rdparty/chromium/media/webrtc/webrtc_features.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/media/webrtc/webrtc_features.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/media/webrtc/webrtc_features.cc @@ -9,7 +9,7 @@ namespace { namespace features { namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr base::FeatureState kWebRtcHybridAgcState = base::FEATURE_ENABLED_BY_DEFAULT; #else +@@ -19,7 +19,7 @@ constexpr base::FeatureState kWebRtcHybridAgcState = + } // namespace + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + constexpr base::FeatureState kWebRtcAnalogAgcClippingControlState = + base::FEATURE_ENABLED_BY_DEFAULT; + #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn index 91b7b7f893cf..f076eb5c7ea3 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn @@ -1,91 +1,83 @@ ---- src/3rdparty/chromium/net/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/BUILD.gn -@@ -108,7 +108,7 @@ net_configs = [ +@@ -107,7 +107,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" ] } -@@ -1092,6 +1092,7 @@ component("net") { - "//net/dns:mdns_client", - "//net/dns/public", - "//net/third_party/quiche", -+ "//sandbox/policy", - ] - - allow_circular_includes_from = [ -@@ -1218,6 +1219,15 @@ component("net") { - ] +@@ -1218,6 +1218,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", -@@ -1348,7 +1358,7 @@ component("net") { +@@ -1352,7 +1361,7 @@ component("net") { } } -- if (is_android || is_chromeos_ash) { -+ if (is_android || is_chromeos_ash || is_bsd) { +- 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", -@@ -1381,7 +1391,7 @@ component("net") { +@@ -1385,7 +1394,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", -@@ -4369,7 +4379,7 @@ test("net_unittests") { +@@ -4397,7 +4406,7 @@ test("net_unittests") { ] } - 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", -@@ -4443,6 +4453,10 @@ test("net_unittests") { +@@ -4473,6 +4482,10 @@ test("net_unittests") { "//url:buildflags", ] + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + - allow_circular_includes_from = [ "//net/third_party/quiche:quiche_tests" ] - if (enable_websockets) { -@@ -4513,7 +4527,7 @@ test("net_unittests") { + deps += [ "//net/server:tests" ] + } +@@ -4540,7 +4553,7 @@ test("net_unittests") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "quic/platform/impl/quic_flags_test.cc", - "tools/quic/quic_http_proxy_backend_stream_test.cc", -@@ -4660,7 +4674,7 @@ test("net_unittests") { + sources += [ "tools/quic/quic_simple_server_test.cc" ] + } + +@@ -4680,7 +4693,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/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc index bd8ed9741162..6a19e9a29a3b 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/base/network_change_notifier.cc -@@ -39,7 +39,7 @@ +@@ -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_ASH) || BUILDFLAG(IS_ANDROID) -+#elif BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) +-#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" -@@ -331,6 +331,9 @@ std::unique_ptr NetworkChangeNo +@@ -321,6 +321,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 NULL; + return nullptr; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__posix.cc index 926794028d0d..74dfb5aa761a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__posix.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/base/network_change_notifier_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/base/network_change_notifier_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/base/network_change_notifier_posix.cc @@ -92,7 +92,7 @@ NetworkChangeNotifierPosix::NetworkChangeCalculatorPar NetworkChangeNotifier::NetworkChangeCalculatorParams NetworkChangeNotifierPosix::NetworkChangeCalculatorParamsPosix() { NetworkChangeCalculatorParams params; --#if BUILDFLAG(IS_CHROMEOS_ASH) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) +-#if BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Delay values arrived at by simple experimentation and adjusted so as to // produce a single signal when switching between network connections. params.ip_address_offline_delay_ = base::Milliseconds(4000); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_unix__domain__client__socket__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_sockaddr__util__posix.cc similarity index 63% rename from www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_unix__domain__client__socket__posix.cc rename to www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_sockaddr__util__posix.cc index 854ea3c723a5..4b8b327217ad 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_unix__domain__client__socket__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_sockaddr__util__posix.cc @@ -1,11 +1,12 @@ ---- src/3rdparty/chromium/net/socket/unix_domain_client_socket_posix.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/socket/unix_domain_client_socket_posix.cc -@@ -60,7 +60,7 @@ bool UnixDomainClientSocket::FillAddress(const std::st +--- src/3rdparty/chromium/net/base/sockaddr_util_posix.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/net/base/sockaddr_util_posix.cc +@@ -41,7 +41,8 @@ bool FillUnixAddress(const std::string& socket_path, return true; } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ++ // XXX ? // Convert the path given into abstract socket name. It must start with // the '\0' character, so we are adding it. |addr_len| must specify the // length of the structure exactly, as potentially the socket name may diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verifier.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verifier.cc index dcf807fd7a4f..a8e5f60dfa0f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verifier.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verifier.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/cert/cert_verifier.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/cert/cert_verifier.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/cert/cert_verifier.cc -@@ -78,7 +78,7 @@ std::unique_ptr CertVerifier::CreateDefa - std::unique_ptr CertVerifier::CreateDefaultWithoutCaching( - scoped_refptr cert_net_fetcher) { - scoped_refptr verify_proc; +@@ -87,7 +87,7 @@ std::unique_ptr CertVerifier::CreateDefa + } + #endif + if (!verify_proc) { -#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - verify_proc = - CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher)); - #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) + verify_proc = + CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher)); + #else diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.cc index b6bf9f2fd23e..1711302d27c0 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/cert/cert_verify_proc.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/cert/cert_verify_proc.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/cert/cert_verify_proc.cc -@@ -552,7 +552,7 @@ base::Value CertVerifyParams(X509Certificate* cert, +@@ -506,7 +506,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/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.h index c10d7b73b457..a202df5dc700 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/cert/cert_verify_proc.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/cert/cert_verify_proc.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/cert/cert_verify_proc.h -@@ -79,7 +79,7 @@ class NET_EXPORT CertVerifyProc +@@ -81,7 +81,7 @@ class NET_EXPORT CertVerifyProc kMaxValue = kOther }; -#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) +#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) // Creates and returns a CertVerifyProc that uses the system verifier. // |cert_net_fetcher| may not be used, depending on the implementation. static scoped_refptr CreateSystemVerifyProc( diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h index 37a419e90fab..9266e4b0d094 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h @@ -1,12 +1,12 @@ ---- src/3rdparty/chromium/net/disk_cache/blockfile/disk_format.h.orig 2022-06-08 06:40:31 UTC +--- src/3rdparty/chromium/net/disk_cache/blockfile/disk_format.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/disk_cache/blockfile/disk_format.h -@@ -149,7 +149,9 @@ struct RankingsNode { +@@ -153,7 +153,9 @@ struct RankingsNode { }; #pragma pack(pop) +#if !defined(OS_BSD) static_assert(sizeof(RankingsNode) == 36, "bad RankingsNode"); +#endif } // namespace disk_cache diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_simple_simple__file__tracker.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_simple_simple__file__tracker.cc index acd7a2044b99..7d11de1a1d73 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_simple_simple__file__tracker.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_simple_simple__file__tracker.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/net/disk_cache/simple/simple_file_tracker.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/disk_cache/simple/simple_file_tracker.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/disk_cache/simple/simple_file_tracker.cc -@@ -28,7 +28,17 @@ SimpleFileTracker::SimpleFileTracker(int file_limit) +@@ -29,7 +29,17 @@ SimpleFileTracker::SimpleFileTracker(int file_limit) } // namespace SimpleFileTracker::SimpleFileTracker(int file_limit) +#if defined(OS_OPENBSD) +{ + // cap the file descriptor limit at 85% of the size of the + // file descriptor table and also substract the amount of + // currently used file descriptors as this should give us + // enough reserve to avoid hitting the limit + file_limit_ = (getdtablesize() * 0.85) - getdtablecount(); +} +#else : file_limit_(file_limit) {} +#endif SimpleFileTracker::~SimpleFileTracker() { DCHECK(lru_.empty()); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn index 7a6f2ae74bd4..7f6c5db13047 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn @@ -1,31 +1,31 @@ ---- src/3rdparty/chromium/net/dns/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/dns/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/dns/BUILD.gn -@@ -112,7 +112,7 @@ source_set("dns") { +@@ -116,7 +116,7 @@ source_set("dns") { "dns_config_service_android.cc", "dns_config_service_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", -@@ -153,6 +153,7 @@ source_set("dns") { +@@ -157,6 +157,7 @@ source_set("dns") { ":host_resolver_manager", ":mdns_client", "//net:net_public_deps", + "//printing/buildflags", ] allow_circular_includes_from = [ -@@ -413,9 +414,9 @@ source_set("tests") { +@@ -418,9 +419,9 @@ source_set("tests") { if (is_android) { sources += [ "dns_config_service_android_unittest.cc" ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux_unittest.cc" ] - } else if (is_posix) { + } else if (is_posix && !is_bsd) { sources += [ "dns_config_service_posix_unittest.cc" ] } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__config__service__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__config__service__posix.cc index a2d6b1fdd7fb..5ef3e9152f98 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__config__service__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__config__service__posix.cc @@ -1,26 +1,26 @@ ---- src/3rdparty/chromium/net/dns/dns_config_service_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/dns/dns_config_service_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/dns/dns_config_service_posix.cc -@@ -33,6 +33,11 @@ +@@ -34,6 +34,11 @@ #include "net/dns/dns_config_watcher_mac.h" #endif +#if BUILDFLAG(IS_BSD) +#include "base/command_line.h" +#include "sandbox/policy/switches.h" +#endif + namespace net { namespace internal { -@@ -129,6 +134,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi +@@ -130,6 +135,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi bool Watch() override { CheckOnCorrectSequence(); + +// pledge + unveil + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) + return false; bool success = true; if (!config_watcher_.Watch(base::BindRepeating(&Watcher::OnConfigChanged, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.h index 8ebc1433e9f8..4cdd254cb2fb 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_dns__reloader.h @@ -1,11 +1,19 @@ ---- src/3rdparty/chromium/net/dns/dns_reloader.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/dns/dns_reloader.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/dns/dns_reloader.h @@ -7,7 +7,7 @@ #include "build/build_config.h" -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) namespace net { // Call on the network thread before calling DnsReloaderMaybeReload() anywhere. +@@ -18,6 +18,6 @@ void DnsReloaderMaybeReload(); + void DnsReloaderMaybeReload(); + + } // namespace net +-#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) ++#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) + + #endif // NET_DNS_DNS_RELOADER_H_ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__manager.cc deleted file mode 100644 index 7b4b3e8345c8..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__manager.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/net/dns/host_resolver_manager.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/dns/host_resolver_manager.cc -@@ -3157,7 +3157,7 @@ HostResolverManager::HostResolverManager( - } - if (system_dns_config_notifier_) - system_dns_config_notifier_->AddObserver(this); --#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \ - !BUILDFLAG(IS_ANDROID) - EnsureDnsReloaderInit(); - #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__proc.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__proc.cc index e5d710d9c5a6..41903d3bf3ef 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__proc.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__proc.cc @@ -1,22 +1,13 @@ ---- src/3rdparty/chromium/net/dns/host_resolver_proc.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/dns/host_resolver_proc.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/dns/host_resolver_proc.cc -@@ -19,10 +19,6 @@ - #include "net/dns/dns_util.h" - #include "net/dns/host_resolver.h" +@@ -15,10 +15,6 @@ + #include "net/base/net_errors.h" + #include "net/dns/host_resolver_system_task.h" -#if BUILDFLAG(IS_OPENBSD) -#define AI_ADDRCONFIG 0 -#endif - namespace net { HostResolverProc* HostResolverProc::default_proc_ = nullptr; -@@ -192,7 +188,7 @@ int SystemHostResolverCall(const std::string& host, - base::BlockingType::WILL_BLOCK); - - #if BUILDFLAG(IS_POSIX) && \ -- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID)) -+ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_ANDROID)) - DnsReloaderMaybeReload(); - #endif - auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__system__task.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__system__task.cc new file mode 100644 index 000000000000..535261422915 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_host__resolver__system__task.cc @@ -0,0 +1,22 @@ +--- src/3rdparty/chromium/net/dns/host_resolver_system_task.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/net/dns/host_resolver_system_task.cc +@@ -310,8 +310,8 @@ void EnsureSystemHostResolverCallReady() { + } + + void EnsureSystemHostResolverCallReady() { +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ +- !BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && \ ++ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + EnsureDnsReloaderInit(); + #elif BUILDFLAG(IS_WIN) + EnsureWinsockInit(); +@@ -397,7 +397,7 @@ int SystemHostResolverCall(const std::string& host, + base::BlockingType::WILL_BLOCK); + + #if BUILDFLAG(IS_POSIX) && \ +- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID)) ++ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + DnsReloaderMaybeReload(); + #endif + auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_public_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_public_BUILD.gn index 3627bd7d4282..403b7b608822 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_public_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_public_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/dns/public/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/dns/public/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/dns/public/BUILD.gn -@@ -74,7 +74,7 @@ source_set("tests") { +@@ -76,7 +76,7 @@ source_set("tests") { "doh_provider_entry_unittest.cc", ] - if (is_posix && !is_android) { + if (is_posix && !is_android && !is_bsd) { sources += [ "resolv_reader_unittest.cc" ] } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.cc index b32721624e6a..1ba24c0c86a2 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.cc @@ -1,14 +1,14 @@ ---- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc -@@ -369,8 +369,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib +@@ -368,8 +368,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib static const char* const kDefaultLibraryNames[] = { #if BUILDFLAG(IS_APPLE) "/System/Library/Frameworks/GSS.framework/GSS" -#elif BUILDFLAG(IS_OPENBSD) - "libgssapi.so" // Heimdal - OpenBSD +#elif BUILDFLAG(IS_BSD) + "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD + "libgssapi.so" // Heimdal - OpenBSD, FreeBSD #else "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian "libgssapi.so.4", // Heimdal - Suse10, MDK diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.h index 4219250951e4..a8acc18ab658 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.h @@ -1,12 +1,12 @@ ---- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/http/http_auth_gssapi_posix.h -@@ -20,6 +20,9 @@ +@@ -21,6 +21,9 @@ #if BUILDFLAG(IS_APPLE) #include #elif BUILDFLAG(IS_FREEBSD) +#ifndef GSS_C_DELEG_POLICY_FLAG +#define GSS_C_DELEG_POLICY_FLAG 32768 +#endif #include #else #include diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service.cc similarity index 60% rename from www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc rename to www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service.cc index cd44ddbddc4d..1c86a83317ae 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service.cc @@ -1,29 +1,35 @@ ---- src/3rdparty/chromium/net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/proxy_resolution/configured_proxy_resolution_service.cc -@@ -53,7 +53,7 @@ +--- src/3rdparty/chromium/net/proxy_resolution/proxy_config_service.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/net/proxy_resolution/proxy_config_service.cc +@@ -18,20 +18,20 @@ + #include "net/proxy_resolution/proxy_config_service_ios.h" #elif BUILDFLAG(IS_MAC) #include "net/proxy_resolution/proxy_config_service_mac.h" - #include "net/proxy_resolution/proxy_resolver_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" -@@ -65,7 +65,7 @@ namespace { + #endif - namespace { +-#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 { -@@ -1423,7 +1423,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon +@@ -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( - new ProxyConfigServiceLinux()); + std::make_unique()); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service__linux.cc index 0e2ed9b59011..bbe230e0940e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service__linux.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service__linux.cc @@ -1,40 +1,40 @@ ---- src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc @@ -6,7 +6,9 @@ #include #include +#if !defined(OS_BSD) #include +#endif #include #include -@@ -506,6 +508,7 @@ bool SettingGetterImplGSettings::CheckVersion( +@@ -502,6 +504,7 @@ bool SettingGetterImplGSettings::CheckVersion( } #endif // defined(USE_GIO) +#if !defined(OS_BSD) // Converts |value| from a decimal string to an int. If there was a failure // parsing, returns |default_value|. int StringToIntOrDefault(base::StringPiece value, int default_value) { -@@ -1007,6 +1010,7 @@ class SettingGetterImplKDE : public ProxyConfigService +@@ -1030,6 +1033,7 @@ class SettingGetterImplKDE : public ProxyConfigService // events on. scoped_refptr file_task_runner_; }; +#endif } // namespace -@@ -1223,9 +1227,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( +@@ -1246,9 +1250,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( case base::nix::DESKTOP_ENVIRONMENT_KDE3: case base::nix::DESKTOP_ENVIRONMENT_KDE4: case base::nix::DESKTOP_ENVIRONMENT_KDE5: +#if !defined(OS_BSD) setting_getter_ = std::make_unique(env_var_getter_.get()); break; +#endif case base::nix::DESKTOP_ENVIRONMENT_XFCE: + case base::nix::DESKTOP_ENVIRONMENT_LXQT: case base::nix::DESKTOP_ENVIRONMENT_OTHER: - break; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_socket__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_socket__posix.cc index c9d478eb6825..86258b032d58 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_socket__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_socket__posix.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/socket/socket_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/socket/socket_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/socket/socket_posix.cc -@@ -519,7 +519,7 @@ int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { +@@ -516,7 +516,7 @@ int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { } int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Disable SIGPIPE for this write. Although Chromium globally disables // SIGPIPE, the net stack may be used in other consumers which do not do // this. MSG_NOSIGNAL is a Linux-only API. On OS X, this is a setsockopt on diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_tcp__socket__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_tcp__socket__posix.cc index 4e4c20292589..f12635a534f0 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_tcp__socket__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_tcp__socket__posix.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/net/socket/tcp_socket_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/socket/tcp_socket_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/socket/tcp_socket_posix.cc -@@ -97,6 +97,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) { - PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd; - return false; - } +@@ -100,6 +100,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) { + PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd; + return false; + } +#elif BUILDFLAG(IS_FREEBSD) + // Set seconds until first TCP keep alive. + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) { + PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd; + return false; + } -+ // Set seconds between TCP keep alives. ++ // Set seconds between TCP keep alives. + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) { + PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd; + return false; + } #endif - return true; - } + } + diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_udp__socket__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_udp__socket__posix.cc index 33506490f28f..15bb82606589 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_udp__socket__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_udp__socket__posix.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/net/socket/udp_socket_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/socket/udp_socket_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/socket/udp_socket_posix.cc -@@ -621,7 +621,7 @@ void UDPSocketPosix::SetMsgConfirm(bool confirm) { +@@ -558,7 +558,7 @@ void UDPSocketPosix::SetMsgConfirm(bool confirm) { } void UDPSocketPosix::SetMsgConfirm(bool confirm) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) if (confirm) { sendto_flags_ |= MSG_CONFIRM; } else { -@@ -642,7 +642,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { +@@ -579,7 +579,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); int value = broadcast ? 1 : 0; int rv; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // SO_REUSEPORT on OSX permits multiple processes to each receive // UDP multicast or broadcast datagrams destined for the bound // port. -@@ -955,7 +955,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) +@@ -892,7 +892,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) #if BUILDFLAG(IS_CHROMEOS_ASH) if (last_error == EINVAL) return ERR_ADDRESS_IN_USE; -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) if (last_error == EADDRNOTAVAIL) return ERR_ADDRESS_IN_USE; #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_third__party_quiche_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_third__party_quiche_BUILD.gn index 26fa095907d0..1487847c8380 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_third__party_quiche_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_third__party_quiche_BUILD.gn @@ -1,33 +1,11 @@ ---- src/3rdparty/chromium/net/third_party/quiche/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/third_party/quiche/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/third_party/quiche/BUILD.gn -@@ -713,7 +713,7 @@ proto_library("net_quic_test_tools_proto") { - extra_configs = [ "//build/config/compiler:wexit_time_destructors" ] - } +@@ -28,7 +28,7 @@ import("//third_party/protobuf/proto_library.gni") + import("//testing/libfuzzer/fuzzer_test.gni") + import("//third_party/protobuf/proto_library.gni") --if (is_linux || is_chromeos) { -+if ((is_linux || is_chromeos) && !is_bsd) { - source_set("epoll_server") { - sources = [ - "overrides/quiche_platform_impl/epoll_bug_impl.h", -@@ -1104,7 +1104,7 @@ source_set("quic_test_tools_core") { - "//third_party/quic_trace:quic_trace_proto", - ] +-build_epoll_based_tools = is_linux || is_chromeos ++build_epoll_based_tools = (is_linux && !is_bsd) || is_chromeos -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "src/quiche/epoll_server/fake_simple_epoll_server.cc", - "src/quiche/epoll_server/fake_simple_epoll_server.h", -@@ -1564,10 +1564,10 @@ source_set("quiche_tests") { - ] - public_deps = [] - -- if (is_linux || is_chromeos_lacros) { -+ if ((is_linux || is_chromeos_lacros) && !is_bsd) { - public_deps += [ ":epoll_quic_tools" ] - } -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "overrides/quiche_platform_impl/quiche_command_line_flags_test.cc", - "src/quiche/epoll_server/simple_epoll_server_test.cc", + config("quiche_internal_config") { + cflags = [] diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__comparision__tool.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__comparision__tool.cc index 2f567ca00e34..10fd90e07a06 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__comparision__tool.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__comparision__tool.cc @@ -1,29 +1,29 @@ ---- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_comparision_tool.cc @@ -35,7 +35,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 -@@ -51,7 +51,7 @@ void SetUpOnNetworkThread( +@@ -55,7 +55,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. // -@@ -123,7 +123,7 @@ std::unique_ptr CreateCertVerifyImplFr +@@ -127,7 +127,7 @@ std::unique_ptr CreateCertVerifyImplFr std::unique_ptr CreateCertVerifyImplFromName( base::StringPiece impl_name, scoped_refptr cert_net_fetcher) { -#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") { return std::make_unique( "CertVerifyProc (system)", net::CertVerifyProc::CreateSystemVerifyProc( diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__tool.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__tool.cc index 8d521b51d33f..8a7a765f2b79 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__tool.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__tool.cc @@ -1,38 +1,38 @@ ---- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc @@ -30,7 +30,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 -@@ -56,7 +56,7 @@ void SetUpOnNetworkThread( +@@ -60,7 +60,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. // -@@ -206,7 +206,7 @@ std::unique_ptr CreateCertVerifyImplFr +@@ -217,7 +217,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 " -@@ -463,7 +463,7 @@ int main(int argc, char** argv) { +@@ -474,7 +474,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/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_quic_quic__http__proxy__backend.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_quic_quic__http__proxy__backend.cc deleted file mode 100644 index 3e9c54b40f78..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_quic_quic__http__proxy__backend.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/net/tools/quic/quic_http_proxy_backend.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/tools/quic/quic_http_proxy_backend.cc -@@ -161,7 +161,7 @@ void QuicHttpProxyBackend::InitializeURLRequestContext - // Enable HTTP2, but disable QUIC on the backend - context_builder.SetSpdyAndQuicEnabled(true /* http2 */, false /* quic */); - --#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. - context_builder.set_proxy_config_service( diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_traffic__annotation_network__traffic__annotation.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_traffic__annotation_network__traffic__annotation.h index d6759f64a79d..d179e5d2a70e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_traffic__annotation_network__traffic__annotation.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_traffic__annotation_network__traffic__annotation.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/net/traffic_annotation/network_traffic_annotation.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/traffic_annotation/network_traffic_annotation.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/traffic_annotation/network_traffic_annotation.h -@@ -371,7 +371,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { +@@ -373,7 +373,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { } // namespace net // Placeholder for unannotated usages. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \ net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.") #endif -@@ -385,7 +385,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { +@@ -387,7 +387,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { // 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)) + !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) #define NO_TRAFFIC_ANNOTATION_YET \ net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.cc deleted file mode 100644 index 0ca86aecfb7d..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/net/url_request/url_fetcher.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/url_request/url_fetcher.cc -@@ -26,7 +26,7 @@ void URLFetcher::SetIgnoreCertificateRequests(bool ign - // 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)) -+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) - // static - std::unique_ptr URLFetcher::Create( - const GURL& url, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.h deleted file mode 100644 index 679bf4a26cd7..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__fetcher.h +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/net/url_request/url_fetcher.h.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/net/url_request/url_fetcher.h -@@ -344,7 +344,7 @@ class NET_EXPORT URLFetcher { - // 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))) || \ -+ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))) || \ - BUILDFLAG(IS_CHROMEOS) - // |url| is the URL to send the request to. It must be valid. - // |request_type| is the type of request to make. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.cc index 63c2aecb4f83..f7b2c74f9b86 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/url_request/url_request_context.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/url_request/url_request_context.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/url_request/url_request_context.cc -@@ -91,7 +91,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge +@@ -110,7 +110,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge // 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)) + !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) std::unique_ptr URLRequestContext::CreateRequest( const GURL& url, RequestPriority priority, diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.h index aab24b57c0c5..738a9a1f2d0e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/url_request/url_request_context.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/url_request/url_request_context.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/url_request/url_request_context.h -@@ -89,7 +89,7 @@ class NET_EXPORT URLRequestContext { +@@ -87,7 +87,7 @@ class NET_EXPORT URLRequestContext final { // 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)) + !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) // This function should not be used in Chromium, please use the version with // NetworkTrafficAnnotationTag in the future. // diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc index 689e1b6393d1..20960ca1a473 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/net/url_request/url_request_context_builder.cc -@@ -498,7 +498,7 @@ std::unique_ptr URLRequestContextBu +@@ -443,7 +443,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 - // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s + // ProxyConfigService::CreateSystemProxyConfigService()'s // signature doesn't suck. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.cc index 621048d4934f..d3d7739b1506 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc -@@ -16,7 +16,7 @@ +@@ -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 -@@ -162,7 +162,7 @@ bool StructTraits< +@@ -147,7 +147,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/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.h index 9b6d5eee5433..3097e1c3f685 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h -@@ -168,7 +168,7 @@ struct StructTraits PrintSettingsFromJobSet +@@ -256,7 +256,7 @@ std::unique_ptr PrintSettingsFromJobSet settings->set_is_modifiable(is_modifiable.value()); } -#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && defined(USE_CUPS)) +#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS)) const base::Value::Dict* advanced_settings = job_settings.FindDict(kSettingAdvancedSettings); if (advanced_settings) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__context__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__context__linux.cc new file mode 100644 index 000000000000..0607527c038b --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__context__linux.cc @@ -0,0 +1,38 @@ +--- src/3rdparty/chromium/printing/printing_context_linux.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/printing/printing_context_linux.cc +@@ -19,7 +19,7 @@ + #include "printing/units.h" + + // Avoid using LinuxUi on Fuchsia. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -68,7 +68,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett + + ResetSettings(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!ui::LinuxUi::instance()) + return mojom::ResultCode::kSuccess; + +@@ -81,7 +81,7 @@ gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceU + } + + gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (ui::LinuxUi::instance()) + return ui::LinuxUi::instance()->GetPdfPaperSize(this); + #endif +@@ -94,7 +94,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS + DCHECK(!printer_settings.show_system_dialog); + DCHECK(!in_print_job_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!ui::LinuxUi::instance()) + return mojom::ResultCode::kSuccess; + diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__features.cc deleted file mode 100644 index ad6dc88d9202..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/printing/printing_features.cc.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/printing/printing_features.cc -@@ -8,7 +8,7 @@ - #include "printing/buildflags/buildflags.h" - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "base/metrics/field_trial_params.h" - #endif - diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_BUILD.gn index e017bd43a166..8d1bacfa2508 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/sandbox/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/BUILD.gn -@@ -36,7 +36,7 @@ group("sandbox") { +@@ -49,7 +49,7 @@ group("sandbox") { "//sandbox/mac:system_services", "//sandbox/mac/mojom", ] - } else if (is_linux || is_chromeos || is_android) { + } else if ((is_linux && !is_bsd) || is_chromeos || is_android) { public_deps = [ "//sandbox/linux:sandbox" ] } } diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_services_libc__interceptor.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_services_libc__interceptor.cc index 576210991328..0578081e9409 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_services_libc__interceptor.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_services_libc__interceptor.cc @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc -@@ -11,7 +11,9 @@ +@@ -12,7 +12,9 @@ #include #include #include +#if !defined(OS_BSD) #include +#endif #include #include #include -@@ -94,7 +96,7 @@ bool ReadTimeStruct(base::PickleIterator* iter, +@@ -161,7 +163,7 @@ bool ReadTimeStruct(base::PickleIterator* iter, } else { base::AutoLock lock(g_timezones_lock.Get()); auto ret_pair = g_timezones.Get().insert(timezone); - output->tm_zone = ret_pair.first->c_str(); + output->tm_zone = (char *)ret_pair.first->c_str(); } return true; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_BUILD.gn index da36531bca38..096bbf1db18d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_BUILD.gn @@ -1,49 +1,49 @@ ---- src/3rdparty/chromium/sandbox/policy/BUILD.gn.orig 2022-11-08 21:18:48 UTC +--- src/3rdparty/chromium/sandbox/policy/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/BUILD.gn @@ -5,6 +5,8 @@ import("//build/config/chromeos/ui_mode.gni") import("//build/buildflag_header.gni") import("//build/config/chromecast_build.gni") import("//build/config/chromeos/ui_mode.gni") -+# Required for QtPDF to get a successful build ++# Import ozone_platform_x11, required for QtPDF to get a successful build +import("//build/config/ozone.gni") import("//build/config/sanitizers/sanitizers.gni") - import("//chromeos/assistant/assistant.gni") - import("//printing/buildflags/buildflags.gni") -@@ -34,7 +36,7 @@ component("policy") { + import("//chromeos/ash/components/assistant/assistant.gni") + import("//components/services/screen_ai/buildflags/features.gni") +@@ -35,7 +37,7 @@ component("policy") { "//sandbox/policy/mojom", ] public_deps = [ "//sandbox:common" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/bpf_audio_policy_linux.cc", "linux/bpf_audio_policy_linux.h", -@@ -89,6 +91,28 @@ component("policy") { +@@ -94,6 +96,28 @@ component("policy") { "//sandbox/linux:sandbox_services", "//sandbox/linux:seccomp_bpf", "//sandbox/linux:suid_sandbox_client", + ] + } + if (is_openbsd) { + sources += [ + "openbsd/sandbox_openbsd.cc", + "openbsd/sandbox_openbsd.h", + ] + deps += [ + "//sandbox:sandbox_buildflags", + "//ui/gfx/x", + ] + libs = [ "util" ] + } -+ # Required to avoid assertion errors during build of QtPDF ++ # The use of ozone_platform_x11 is required to avoid assertion errors during build of QtPDF + if (is_freebsd && ozone_platform_x11) { + sources += [ + "freebsd/sandbox_freebsd.cc", + "freebsd/sandbox_freebsd.h", + ] + deps += [ + "//sandbox:sandbox_buildflags", + "//ui/gfx/x", ] } if (is_chromeos_ash) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_features.cc index 890af8ab2fd3..c06e5c1afb75 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_features.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_features.cc @@ -1,14 +1,14 @@ ---- src/3rdparty/chromium/sandbox/policy/features.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/policy/features.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/features.cc -@@ -14,7 +14,11 @@ const base::Feature kNetworkServiceSandbox{"NetworkSer - // Enables network service sandbox. +@@ -15,7 +15,11 @@ BASE_FEATURE(kNetworkServiceSandbox, // (Only causes an effect when feature kNetworkService is enabled.) - const base::Feature kNetworkServiceSandbox{"NetworkServiceSandbox", + BASE_FEATURE(kNetworkServiceSandbox, + "NetworkServiceSandbox", +#if BUILDFLAG(IS_BSD) -+ base::FEATURE_ENABLED_BY_DEFAULT}; ++ base::FEATURE_ENABLED_BY_DEFAULT); +#else - base::FEATURE_DISABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT); +#endif #endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.h index 643c1b01998d..2a94ace5ef8e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.h @@ -1,281 +1,281 @@ ---- src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-11-07 19:58:12 UTC +--- src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h.orig 2023-04-16 15:58:20 UTC +++ src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h @@ -0,0 +1,278 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ +#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ + +#include +#include +#include + +#include "base/logging.h" +#include "base/posix/global_descriptors.h" +#include "sandbox/policy/export.h" +#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" -+#include "sandbox/policy/sanitizer_buildflags.h" ++#include "base/sanitizer_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +namespace base { +template +struct DefaultSingletonTraits; +class Thread; +} // namespace base + +namespace sandbox { +namespace syscall_broker { +class BrokerProcess; +} // namespace syscall_broker +} // namespace sandbox + +namespace sandbox { +namespace policy { + +// A singleton class to represent and change our sandboxing state for the +// three main Linux sandboxes. +// The sandboxing model allows using two layers of sandboxing. The first layer +// can be implemented either with unprivileged namespaces or with the setuid +// sandbox. This class provides a way to engage the namespace sandbox, but does +// not deal with the legacy setuid sandbox directly. +// The second layer is mainly based on seccomp-bpf and is engaged with +// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" +// the first layer of sandboxing. That is, InitializeSandbox must always be +// called to have any meaningful sandboxing at all. +class SANDBOX_POLICY_EXPORT SandboxLinux { + public: + // This is a list of sandbox IPC methods which the renderer may send to the + // sandbox host. See + // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md + // This isn't the full list, values < 32 are reserved for methods called from + // Skia, and values < 64 are reserved for libc_interceptor.cc. + enum LinuxSandboxIPCMethods { + DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, + DEPRECATED_METHOD_GET_CHILD_WITH_INODE, + DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, + METHOD_MAKE_SHARED_MEMORY_SEGMENT, + DEPRECATED_METHOD_MATCH_WITH_FALLBACK, + }; + + // These form a bitmask which describes the conditions of the Linux sandbox. + // Note: this doesn't strictly give you the current status, it states + // what will be enabled when the relevant processes are initialized. + enum Status { + // SUID sandbox active. + kSUID = 1 << 0, + + // Sandbox is using a new PID namespace. + kPIDNS = 1 << 1, + + // Sandbox is using a new network namespace. + kNetNS = 1 << 2, + + // seccomp-bpf sandbox active. + kSeccompBPF = 1 << 3, + + // The Yama LSM module is present and enforcing. + kYama = 1 << 4, + + // seccomp-bpf sandbox is active and the kernel supports TSYNC. + kSeccompTSYNC = 1 << 5, + + // User namespace sandbox active. + kUserNS = 1 << 6, + + // A flag that denotes an invalid sandbox status. + kInvalid = 1 << 31, + }; + + // SandboxLinux Options are a superset of SandboxSecompBPF Options. + struct Options : public SandboxSeccompBPF::Options { + // When running with a zygote, the namespace sandbox will have already + // been engaged prior to initializing SandboxLinux itself, and need not + // be done so again. Set to true to indicate that there isn't a zygote + // for this process and the step is to be performed here explicitly. + bool engage_namespace_sandbox = false; + + // Allow starting the sandbox with multiple threads already running. This + // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy + // across all running threads. + bool allow_threads_during_sandbox_init = false; + + // Enables the CHECK for open directories. The open directory check is only + // useful for the chroot jail (from the semantic layer of the sandbox), and + // can safely be disabled if we are only enabling the seccomp-BPF layer. + bool check_for_open_directories = true; + }; + + // Callers can provide this hook to run code right before the policy + // is passed to the BPF compiler and the sandbox is engaged. If + // pre_sandbox_hook() returns true, the sandbox will be engaged + // afterwards, otherwise the process is terminated. + using PreSandboxHook = base::OnceCallback; + + // Get our singleton instance. + static SandboxLinux* GetInstance(); + + SandboxLinux(const SandboxLinux&) = delete; + SandboxLinux& operator=(const SandboxLinux&) = delete; + + bool SetPledge(const char *pstring, const char *ppath); + bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); + + // Do some initialization that can only be done before any of the sandboxes + // are enabled. If using the setuid sandbox, this should be called manually + // before the setuid sandbox is engaged. + // Security: When this runs, it is imperative that either InitializeSandbox() + // runs as well or that all file descriptors returned in + // GetFileDescriptorsToClose() get closed. + // Otherwise file descriptors that bypass the security of the setuid sandbox + // would be kept open. One must be particularly careful if a process performs + // a fork(). + void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); + + // Check that the current process is the init process of a new PID + // namespace and then proceed to drop access to the file system by using + // a new unprivileged namespace. This is a layer-1 sandbox. + // In order for this sandbox to be effective, it must be "sealed" by calling + // InitializeSandbox(). + void EngageNamespaceSandbox(bool from_zygote); + + // Return a list of file descriptors to close if PreinitializeSandbox() ran + // but InitializeSandbox() won't. Avoid using. + // TODO(jln): get rid of this hack. + std::vector GetFileDescriptorsToClose(); + + // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with + // an adequate policy depending on the process type and command line + // arguments. + // Currently the layer-2 sandbox is composed of seccomp-bpf and address space + // limitations. + // This function should only be called without any thread running. + bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Stop |thread| in a way that can be trusted by the sandbox. + void StopThread(base::Thread* thread); + + // Returns the status of the renderer, worker and ppapi sandbox. Can only + // be queried after going through PreinitializeSandbox(). This is a bitmask + // and uses the constants defined in "enum Status" above. Since the + // status needs to be provided before the sandboxes are actually started, + // this returns what will actually happen once InitializeSandbox() + // is called from inside these processes. + int GetStatus(); + + static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); + + // Returns true if the current process is single-threaded or if the number + // of threads cannot be determined. + bool IsSingleThreaded() const; + + // Returns true if we started Seccomp BPF. + bool seccomp_bpf_started() const; + + // Check the policy and eventually start the seccomp-bpf sandbox. This should + // never be called with threads started. If we detect that threads have + // started we will crash. + bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Limit the address space of the current process (and its children) to make + // some vulnerabilities harder to exploit. Writes the errno due to setrlimit + // (including 0 if no error) into |error|. + bool LimitAddressSpace(int* error); + + // Returns a file descriptor to proc. The file descriptor is no longer valid + // after the sandbox has been sealed. + int proc_fd() const { + DCHECK_NE(-1, proc_fd_); + return proc_fd_; + } + +#if BUILDFLAG(USING_SANITIZER) + __sanitizer_sandbox_arguments* sanitizer_args() const { + return sanitizer_args_.get(); + }; +#endif + + // A BrokerProcess is a helper that is started before the sandbox is engaged, + // typically from a pre-sandbox hook, that will serve requests to access + // files over an IPC channel. The client of this runs from a SIGSYS handler + // triggered by the seccomp-bpf sandbox. + // |client_sandbox_policy| is the policy being run by the client, and is + // used to derive the equivalent broker-side policy. + // |broker_side_hook| is an alternate pre-sandbox hook to be run before the + // broker itself gets sandboxed, to which the broker side policy and + // |options| are passed. + // Crashes the process if the broker can not be started since continuation + // is impossible (and presumably unsafe). + // This should never be destroyed, as after the sandbox is started it is + // vital to the process. +#if 0 + void StartBrokerProcess( + const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, + std::vector permissions, + PreSandboxHook broker_side_hook, + const Options& options); + + sandbox::syscall_broker::BrokerProcess* broker_process() const { + return broker_process_; + } +#endif + + private: + friend struct base::DefaultSingletonTraits; + + SandboxLinux(); + ~SandboxLinux(); + + // We must have been pre_initialized_ before using these. + bool seccomp_bpf_supported() const; + bool seccomp_bpf_with_tsync_supported() const; + + // Returns true if it can be determined that the current process has open + // directories that are not managed by the SandboxLinux class. This would + // be a vulnerability as it would allow to bypass the setuid sandbox. + bool HasOpenDirectories() const; + + // The last part of the initialization is to make sure any temporary "hole" + // in the sandbox is closed. For now, this consists of closing proc_fd_. + void SealSandbox(); + + // GetStatus() makes promises as to how the sandbox will behave. This + // checks that no promises have been broken. + void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); + + // Stop |thread| and make sure it does not appear in /proc/self/tasks/ + // anymore. + void StopThreadAndEnsureNotCounted(base::Thread* thread) const; + + // A file descriptor to /proc. It's dangerous to have it around as it could + // allow for sandbox bypasses. It needs to be closed before we consider + // ourselves sandboxed. + int proc_fd_; + + bool seccomp_bpf_started_; + // The value returned by GetStatus(). Gets computed once and then cached. + int sandbox_status_flags_; + // Did PreinitializeSandbox() run? + bool pre_initialized_; + bool seccomp_bpf_supported_; // Accurate if pre_initialized_. + bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. + bool yama_is_enforcing_; // Accurate if pre_initialized_. + bool initialize_sandbox_ran_; // InitializeSandbox() was called. +#if BUILDFLAG(USING_SANITIZER) + std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; +#endif + sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. +}; + +} // namespace policy +} // namespace sandbox + +#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.h index 69cd9b21dd2f..dac2d242e687 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.h @@ -1,285 +1,285 @@ ---- src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-11-07 19:53:29 UTC +--- src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.h.orig 2023-04-16 15:58:20 UTC +++ src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.h @@ -0,0 +1,282 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ +#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ + +#include +#include +#include + +#include "base/logging.h" +#include "base/posix/global_descriptors.h" +#include "sandbox/policy/export.h" +#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" -+#include "sandbox/policy/sanitizer_buildflags.h" ++#include "base/sanitizer_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +namespace base { +template +struct DefaultSingletonTraits; +class Thread; +} // namespace base + +namespace sandbox { +namespace syscall_broker { +class BrokerProcess; +} // namespace syscall_broker +} // namespace sandbox + +namespace sandbox { +namespace policy { + +// A singleton class to represent and change our sandboxing state for the +// three main Linux sandboxes. +// The sandboxing model allows using two layers of sandboxing. The first layer +// can be implemented either with unprivileged namespaces or with the setuid +// sandbox. This class provides a way to engage the namespace sandbox, but does +// not deal with the legacy setuid sandbox directly. +// The second layer is mainly based on seccomp-bpf and is engaged with +// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" +// the first layer of sandboxing. That is, InitializeSandbox must always be +// called to have any meaningful sandboxing at all. +class SANDBOX_POLICY_EXPORT SandboxLinux { + public: + // This is a list of sandbox IPC methods which the renderer may send to the + // sandbox host. See + // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md + // This isn't the full list, values < 32 are reserved for methods called from + // Skia, and values < 64 are reserved for libc_interceptor.cc. + enum LinuxSandboxIPCMethods { + DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, + DEPRECATED_METHOD_GET_CHILD_WITH_INODE, + DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, + METHOD_MAKE_SHARED_MEMORY_SEGMENT, + DEPRECATED_METHOD_MATCH_WITH_FALLBACK, + }; + + // These form a bitmask which describes the conditions of the Linux sandbox. + // Note: this doesn't strictly give you the current status, it states + // what will be enabled when the relevant processes are initialized. + enum Status { + // SUID sandbox active. + kSUID = 1 << 0, + + // Sandbox is using a new PID namespace. + kPIDNS = 1 << 1, + + // Sandbox is using a new network namespace. + kNetNS = 1 << 2, + + // seccomp-bpf sandbox active. + kSeccompBPF = 1 << 3, + + // The Yama LSM module is present and enforcing. + kYama = 1 << 4, + + // seccomp-bpf sandbox is active and the kernel supports TSYNC. + kSeccompTSYNC = 1 << 5, + + // User namespace sandbox active. + kUserNS = 1 << 6, + + // A flag that denotes an invalid sandbox status. + kInvalid = 1 << 31, + }; + + // SandboxLinux Options are a superset of SandboxSecompBPF Options. + struct Options : public SandboxSeccompBPF::Options { + // When running with a zygote, the namespace sandbox will have already + // been engaged prior to initializing SandboxLinux itself, and need not + // be done so again. Set to true to indicate that there isn't a zygote + // for this process and the step is to be performed here explicitly. + bool engage_namespace_sandbox = false; + + // Allow starting the sandbox with multiple threads already running. This + // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy + // across all running threads. + bool allow_threads_during_sandbox_init = false; + + // Enables the CHECK for open directories. The open directory check is only + // useful for the chroot jail (from the semantic layer of the sandbox), and + // can safely be disabled if we are only enabling the seccomp-BPF layer. + bool check_for_open_directories = true; + }; + + // Callers can provide this hook to run code right before the policy + // is passed to the BPF compiler and the sandbox is engaged. If + // pre_sandbox_hook() returns true, the sandbox will be engaged + // afterwards, otherwise the process is terminated. + using PreSandboxHook = base::OnceCallback; + + // Get our singleton instance. + static SandboxLinux* GetInstance(); + + SandboxLinux(const SandboxLinux&) = delete; + SandboxLinux& operator=(const SandboxLinux&) = delete; + + bool SetPledge(const char *pstring, const char *ppath); + bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); + + // Do some initialization that can only be done before any of the sandboxes + // are enabled. If using the setuid sandbox, this should be called manually + // before the setuid sandbox is engaged. + // Security: When this runs, it is imperative that either InitializeSandbox() + // runs as well or that all file descriptors returned in + // GetFileDescriptorsToClose() get closed. + // Otherwise file descriptors that bypass the security of the setuid sandbox + // would be kept open. One must be particularly careful if a process performs + // a fork(). + void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); + + // Check that the current process is the init process of a new PID + // namespace and then proceed to drop access to the file system by using + // a new unprivileged namespace. This is a layer-1 sandbox. + // In order for this sandbox to be effective, it must be "sealed" by calling + // InitializeSandbox(). + void EngageNamespaceSandbox(bool from_zygote); + + // Return a list of file descriptors to close if PreinitializeSandbox() ran + // but InitializeSandbox() won't. Avoid using. + // TODO(jln): get rid of this hack. + std::vector GetFileDescriptorsToClose(); + + // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with + // an adequate policy depending on the process type and command line + // arguments. + // Currently the layer-2 sandbox is composed of seccomp-bpf and address space + // limitations. + // This function should only be called without any thread running. + bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Stop |thread| in a way that can be trusted by the sandbox. + void StopThread(base::Thread* thread); + + // Returns the status of the renderer, worker and ppapi sandbox. Can only + // be queried after going through PreinitializeSandbox(). This is a bitmask + // and uses the constants defined in "enum Status" above. Since the + // status needs to be provided before the sandboxes are actually started, + // this returns what will actually happen once InitializeSandbox() + // is called from inside these processes. + int GetStatus(); + + static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); + + // Returns true if the current process is single-threaded or if the number + // of threads cannot be determined. + bool IsSingleThreaded() const; + + // Returns true if we started Seccomp BPF. + bool seccomp_bpf_started() const; + + // Returns true if unveil(2) is used. + bool unveil_initialized() const; + + // Check the policy and eventually start the seccomp-bpf sandbox. This should + // never be called with threads started. If we detect that threads have + // started we will crash. + bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, + PreSandboxHook hook, + const Options& options); + + // Limit the address space of the current process (and its children) to make + // some vulnerabilities harder to exploit. Writes the errno due to setrlimit + // (including 0 if no error) into |error|. + bool LimitAddressSpace(int* error); + + // Returns a file descriptor to proc. The file descriptor is no longer valid + // after the sandbox has been sealed. + int proc_fd() const { + DCHECK_NE(-1, proc_fd_); + return proc_fd_; + } + +#if BUILDFLAG(USING_SANITIZER) + __sanitizer_sandbox_arguments* sanitizer_args() const { + return sanitizer_args_.get(); + }; +#endif + + // A BrokerProcess is a helper that is started before the sandbox is engaged, + // typically from a pre-sandbox hook, that will serve requests to access + // files over an IPC channel. The client of this runs from a SIGSYS handler + // triggered by the seccomp-bpf sandbox. + // |client_sandbox_policy| is the policy being run by the client, and is + // used to derive the equivalent broker-side policy. + // |broker_side_hook| is an alternate pre-sandbox hook to be run before the + // broker itself gets sandboxed, to which the broker side policy and + // |options| are passed. + // Crashes the process if the broker can not be started since continuation + // is impossible (and presumably unsafe). + // This should never be destroyed, as after the sandbox is started it is + // vital to the process. +#if 0 + void StartBrokerProcess( + const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, + std::vector permissions, + PreSandboxHook broker_side_hook, + const Options& options); + + sandbox::syscall_broker::BrokerProcess* broker_process() const { + return broker_process_; + } +#endif + + private: + friend struct base::DefaultSingletonTraits; + + SandboxLinux(); + ~SandboxLinux(); + + // We must have been pre_initialized_ before using these. + bool seccomp_bpf_supported() const; + bool seccomp_bpf_with_tsync_supported() const; + + // Returns true if it can be determined that the current process has open + // directories that are not managed by the SandboxLinux class. This would + // be a vulnerability as it would allow to bypass the setuid sandbox. + bool HasOpenDirectories() const; + + // The last part of the initialization is to make sure any temporary "hole" + // in the sandbox is closed. For now, this consists of closing proc_fd_. + void SealSandbox(); + + // GetStatus() makes promises as to how the sandbox will behave. This + // checks that no promises have been broken. + void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); + + // Stop |thread| and make sure it does not appear in /proc/self/tasks/ + // anymore. + void StopThreadAndEnsureNotCounted(base::Thread* thread) const; + + // A file descriptor to /proc. It's dangerous to have it around as it could + // allow for sandbox bypasses. It needs to be closed before we consider + // ourselves sandboxed. + int proc_fd_; + + bool seccomp_bpf_started_; + bool unveil_initialized_; + // The value returned by GetStatus(). Gets computed once and then cached. + int sandbox_status_flags_; + // Did PreinitializeSandbox() run? + bool pre_initialized_; + bool seccomp_bpf_supported_; // Accurate if pre_initialized_. + bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. + bool yama_is_enforcing_; // Accurate if pre_initialized_. + bool initialize_sandbox_ran_; // InitializeSandbox() was called. +#if BUILDFLAG(USING_SANITIZER) + std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; +#endif + sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. +}; + +} // namespace policy +} // namespace sandbox + +#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.cc index e285a9b7ef04..804129ecd7a9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- src/3rdparty/chromium/sandbox/policy/sandbox.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/policy/sandbox.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/sandbox.cc -@@ -17,6 +17,10 @@ +@@ -18,6 +18,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#endif // BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) #include "sandbox/mac/seatbelt.h" #endif // BUILDFLAG(IS_MAC) -@@ -30,7 +34,7 @@ namespace policy { +@@ -31,7 +35,7 @@ namespace policy { namespace sandbox { namespace policy { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox__type.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox__type.cc index ca051cc58cba..743d8f71b1b1 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox__type.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox__type.cc @@ -1,105 +1,70 @@ ---- src/3rdparty/chromium/sandbox/policy/sandbox_type.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/policy/sandbox_type.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/sandbox_type.cc -@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { +@@ -38,7 +38,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 -@@ -62,7 +62,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { +@@ -61,7 +61,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) -@@ -72,8 +72,10 @@ 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) -+#if !BUILDFLAG(IS_BSD) - case Sandbox::kZygoteIntermediateSandbox: -+#endif - case Sandbox::kScreenAI: - #endif - case Sandbox::kSpeechRecognition: -@@ -125,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -126,7 +126,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) -@@ -136,7 +138,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi +@@ -137,7 +137,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi case Sandbox::kMediaFoundationCdm: case Sandbox::kWindowsSystemProxyResolver: #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_CHROMEOS_ASH) -@@ -149,7 +151,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi - #if BUILDFLAG(IS_MAC) - case Sandbox::kMirroring: - #endif // BUILDFLAG(IS_MAC) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - case Sandbox::kScreenAI: - #endif - case Sandbox::kSpeechRecognition: -@@ -255,7 +257,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -256,7 +256,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 -@@ -265,7 +267,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb - return switches::kServiceSandboxWithJit; - case Sandbox::kSpeechRecognition: - return switches::kSpeechRecognitionSandbox; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - case Sandbox::kScreenAI: - return switches::kScreenAISandbox; - #endif -@@ -285,7 +287,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb +@@ -286,7 +286,7 @@ 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) -@@ -369,15 +371,15 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( - return Sandbox::kAudio; - if (sandbox_string == switches::kSpeechRecognitionSandbox) - return Sandbox::kSpeechRecognition; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +@@ -374,11 +374,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/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.cc index fb9472e363fb..bf2dd097369d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.cc @@ -1,22 +1,22 @@ ---- src/3rdparty/chromium/sandbox/policy/switches.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/policy/switches.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/switches.cc -@@ -52,7 +52,7 @@ const char kMirroringSandbox[] = "mirroring"; +@@ -54,7 +54,7 @@ const char kMirroringSandbox[] = "mirroring"; 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) -@@ -99,7 +99,9 @@ const char kNoSandbox[] = "no-sandbox"; +@@ -101,7 +101,9 @@ const char kNoSandbox[] = "no-sandbox"; // 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/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.h index 90f0efac16cf..2858fcfbc2b4 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.h @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/sandbox/policy/switches.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/sandbox/policy/switches.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/sandbox/policy/switches.h -@@ -53,7 +53,7 @@ SANDBOX_POLICY_EXPORT extern const char kMirroringSand +@@ -56,7 +56,7 @@ SANDBOX_POLICY_EXPORT extern const char kMirroringSand 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) -@@ -75,7 +75,8 @@ SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; +@@ -78,7 +78,8 @@ SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; 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/qt6-webengine/files/patch-src_3rdparty_chromium_services_cert__verifier_cert__verifier__creation.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_cert__verifier_cert__verifier__creation.cc index ae88f9af8384..3945428be32d 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_cert__verifier_cert__verifier__creation.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_cert__verifier_cert__verifier__creation.cc @@ -1,30 +1,28 @@ ---- src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc -@@ -86,7 +86,7 @@ scoped_refptr CreateOldDefaultWit - scoped_refptr CreateOldDefaultWithoutCaching( - scoped_refptr cert_net_fetcher) { - scoped_refptr verify_proc; +@@ -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) - verify_proc = - net::CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher)); + #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 -@@ -104,7 +104,7 @@ scoped_refptr CreateNewDefaultWit - scoped_refptr cert_net_fetcher) { - scoped_refptr verify_proc; - #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) && \ -- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)) -+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) - verify_proc = net::CreateCertVerifyProcBuiltin( - std::move(cert_net_fetcher), net::CreateSslSystemTrustStoreChromeRoot()); - #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) -@@ -122,7 +122,8 @@ bool IsUsingCertNetFetcher() { +@@ -212,6 +212,7 @@ bool IsUsingCertNetFetcher() { + 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(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) -+ BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || \ -+ BUILDFLAG(IS_BSD) + BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) return true; - #else - return false; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc index edc6b237d64c..5980bb3ad6ee 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc @@ -1,65 +1,65 @@ ---- src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc -@@ -52,7 +52,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO +@@ -54,7 +54,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO uint32_t shared_resident_kb) { DCHECK(os_dump.platform_private_footprint); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes; uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes; return (rss_anon_bytes + vm_swap_bytes) / 1024; -@@ -91,7 +91,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl +@@ -82,7 +82,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable; os_dump->private_footprint_kb = CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) os_dump->private_footprint_swap_kb = internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024; #endif -@@ -270,7 +270,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -261,7 +261,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // On most platforms each process can dump data about their own process // so ask each process to do so Linux is special see below. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) request->pending_responses.insert({client_info.pid, ResponseType::kOSDump}); client->RequestOSMemoryDump(request->memory_map_option(), {base::kNullProcessId}, -@@ -285,7 +285,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( +@@ -276,7 +276,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( // In some cases, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector pids; mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = base::kNullProcessId; -@@ -331,7 +331,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion +@@ -322,7 +322,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion const OsCallback& os_callback) { // On Linux, OS stats can only be dumped from a privileged process to // get around to sandboxing/selinux restrictions (see crbug.com/461788). -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojom::ClientProcess* browser_client = nullptr; base::ProcessId browser_client_pid = 0; for (const auto& client_info : clients) { -@@ -382,7 +382,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( +@@ -372,7 +372,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( // each client process provides 1 OS dump, % the case where the client is // disconnected mid dump. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK(results.find(pid) == results.end()); -@@ -444,7 +444,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* +@@ -434,7 +434,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* // crash). In the latter case (OS_LINUX) we expect the full map to come // from the browser process response. OSMemDumpMap& extra_os_dumps = response.second.os_dumps; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) for (const auto& kv : extra_os_dumps) { auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; DCHECK_EQ(pid_to_os_dump[pid], nullptr); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_config.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_config.h index 6c44edbe6cba..388a93a87803 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_config.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_config.h @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/config.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/config.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/config.h -@@ -448,7 +448,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != +@@ -460,7 +460,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != // POSIX.1-2001. #ifdef ABSL_HAVE_SCHED_YIELD #error ABSL_HAVE_SCHED_YIELD cannot be directly set -#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) +#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ + defined(__OpenBSD__) || defined(__FreeBSD__) #define ABSL_HAVE_SCHED_YIELD 1 #endif -@@ -463,7 +464,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != +@@ -475,7 +476,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != // platforms. #ifdef ABSL_HAVE_SEMAPHORE_H #error ABSL_HAVE_SEMAPHORE_H cannot be directly set -#elif defined(__linux__) || defined(__ros__) +#elif defined(__linux__) || defined(__ros__) || defined(__OpenBSD__) || defined(__FreeBSD__) #define ABSL_HAVE_SEMAPHORE_H 1 #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_sysinfo.cc index 2e39cae41890..26cdd5cba645 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_sysinfo.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_sysinfo.cc @@ -1,23 +1,23 @@ ---- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc @@ -30,7 +30,7 @@ #include #endif -#if defined(__APPLE__) || defined(__FreeBSD__) +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) #include #endif -@@ -308,9 +308,11 @@ static double GetNominalCPUFrequency() { +@@ -310,9 +310,11 @@ static double GetNominalCPUFrequency() { // a new mode (turbo mode). Essentially, those frequencies cannot // always be relied upon. The same reasons apply to /proc/cpuinfo as // well. +#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/tsc_freq_khz", &freq)) { return freq * 1e3; // Value is kHz. } +#endif #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) // On these platforms, the TSC frequency is the nominal CPU diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h index 0a49d4a13d26..af41c292182a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h @@ -1,12 +1,11 @@ ---- src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h -@@ -32,7 +32,8 @@ - #endif +@@ -33,7 +33,7 @@ - #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \ -- !defined(__native_client__) && !defined(__asmjs__) && !defined(__wasm__) -+ !defined(__native_client__) && !defined(__asmjs__) && !defined(__wasm__) && \ -+ !defined(__FreeBSD__) + #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \ + !defined(__native_client__) && !defined(__asmjs__) && \ +- !defined(__wasm__) && !defined(__HAIKU__) ++ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__FreeBSD__) #define ABSL_HAVE_ELF_MEM_IMAGE 1 #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc index f7e6d6fc09fc..f67870ae705a 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc @@ -19,7 +19,7 @@ #endif #if defined(HAS_STRPTIME) && HAS_STRPTIME --#if !defined(_XOPEN_SOURCE) +-#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) +#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) && !defined(__FreeBSD__) #define _XOPEN_SOURCE // Definedness suffices for strptime. #endif #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn index ee728b89f622..da8e39441588 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn @@ -1,29 +1,47 @@ ---- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/BUILD.gn -@@ -213,7 +213,6 @@ config("extra_warnings") { +@@ -265,7 +265,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", -@@ -391,7 +390,7 @@ angle_static_library("angle_common") { +@@ -443,7 +442,7 @@ angle_static_library("angle_common") { all_dependent_configs = [ ":angle_disable_pool_alloc" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs = [ "dl" ] } -@@ -512,6 +511,9 @@ angle_static_library("angle_gpu_info_util") { +@@ -574,6 +573,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", ] + if (is_bsd) { + libs += [ "GL" ] + } } + + if (angle_use_wayland && angle_has_build) { +@@ -1094,12 +1096,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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_system__utils__posix.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_system__utils__posix.cpp deleted file mode 100644 index 8dd1d060107c..000000000000 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_system__utils__posix.cpp +++ /dev/null @@ -1,12 +0,0 @@ ---- src/3rdparty/chromium/third_party/angle/src/common/system_utils_posix.cpp.orig 2022-09-26 10:05:50 UTC -+++ src/3rdparty/chromium/third_party/angle/src/common/system_utils_posix.cpp -@@ -201,7 +201,9 @@ void *OpenSystemLibraryWithExtensionAndGetError(const - int extraFlags = 0; - if (searchType == SearchType::AlreadyLoaded) - { -+#if !defined(__OpenBSD__) - extraFlags = RTLD_NOLOAD; -+#endif - } - - std::string fullPath = directory + libraryName; diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_vulkan_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_vulkan_BUILD.gn new file mode 100644 index 000000000000..19c3b7997a88 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_vulkan_BUILD.gn @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/angle/src/common/vulkan/BUILD.gn.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp index 795a672c5df2..519ace30ae35 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp @@ -1,47 +1,47 @@ ---- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp -@@ -55,7 +55,7 @@ +@@ -54,7 +54,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS) # include "libANGLE/renderer/gl/apple/DisplayApple_api.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_GBM) # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h" -@@ -328,7 +328,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -331,7 +331,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateDisplayCGLOrEAGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0) { -@@ -373,7 +373,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -374,7 +374,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di #if defined(ANGLE_ENABLE_OPENGL) # if defined(ANGLE_PLATFORM_WINDOWS) impl = new rx::DisplayWGL(state); -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0 || platformType == EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE) -@@ -424,7 +424,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -425,7 +425,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) - # if defined(ANGLE_USE_X11) - if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable()) + # if defined(ANGLE_USE_GBM) + if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) { -@@ -1932,7 +1932,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2011,7 +2011,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_formatutils.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_formatutils.cpp index 1a13ed134a25..59b9be4805ae 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_formatutils.cpp +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_formatutils.cpp @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp -@@ -1393,7 +1393,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMa +@@ -1466,7 +1466,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMa AddYUVFormat(&map, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported); AddYUVFormat(&map, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported); -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) // From GL_OES_required_internalformat // The |shared| bit shouldn't be 2. But given this hits assertion when bits // are checked, it's fine to have this bit set as 2 as a workaround. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h index 1a055e7b9b83..689450279265 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h -@@ -179,7 +179,7 @@ inline bool IsLinux() +@@ -200,7 +200,7 @@ inline bool IsLinux() 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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h index 4eba9fd1c93e..b7a8469a75c8 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h @@ -23,7 +23,7 @@ DisplayImpl *CreateVulkanWin32Display(const egl::Displ DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state); #endif // defined(ANGLE_PLATFORM_WINDOWS) -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_POSIX) - bool IsVulkanXcbDisplayAvailable(); - DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state); + bool IsVulkanWaylandDisplayAvailable(); + DisplayImpl *CreateVulkanWaylandDisplay(const egl::DisplayState &state); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_third__party_volk_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_third__party_volk_BUILD.gn new file mode 100644 index 000000000000..8882c027c537 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_third__party_volk_BUILD.gn @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/angle/src/third_party/volk/BUILD.gn.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_util_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_util_BUILD.gn index 9bfff5b95763..b1372e7ea709 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_util_BUILD.gn +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_util_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/angle/util/BUILD.gn.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/angle/util/BUILD.gn.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/angle/util/BUILD.gn -@@ -203,7 +203,7 @@ foreach(is_shared_library, +@@ -246,7 +246,7 @@ foreach(is_shared_library, ] libs = [] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs += [ "rt", "dl", diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_privacy__budget_active__sampling.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_privacy__budget_active__sampling.cc new file mode 100644 index 000000000000..f67952920b0a --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_privacy__budget_active__sampling.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/blink/common/privacy_budget/active_sampling.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/third_party/blink/common/privacy_budget/active_sampling.cc +@@ -24,7 +24,7 @@ bool IdentifiabilityActiveSampler::IsFontFamilyAvailab + bool IdentifiabilityActiveSampler::IsFontFamilyAvailable(const char* family, + SkFontMgr* fm) { + base::ScopedAllowBaseSyncPrimitives allow; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return !!fm->legacyMakeTypeface(family, SkFontStyle()); + #else + sk_sp set(fm->matchFamily(family)); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_platform_platform.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_platform_platform.h new file mode 100644 index 000000000000..5a88876f07d4 --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_platform_platform.h @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/blink/public/platform/platform.h.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/third_party/blink/public/platform/platform.h +@@ -349,7 +349,7 @@ class BLINK_PLATFORM_EXPORT Platform { + return nullptr; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // This is called after the thread is created, so the embedder + // can initiate an IPC to change its thread type (on Linux we can't + // increase the nice value, so we need to ask the browser process). This diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc index 3f0884353d26..3283c4703a2e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc @@ -1,35 +1,35 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc -@@ -71,12 +71,12 @@ +@@ -73,12 +73,12 @@ #include "third_party/blink/renderer/controller/oom_intervention_impl.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 -@@ -156,7 +156,7 @@ void InitializeCommon(Platform* platform, mojo::Binder +@@ -173,7 +173,7 @@ void InitializeCommon(Platform* platform, mojo::Binder #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. if (UserLevelMemoryPressureSignalGenerator::Enabled()) UserLevelMemoryPressureSignalGenerator::Instance(); -@@ -227,7 +227,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder - main_thread->GetTaskRunner()); +@@ -244,7 +244,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)), - main_thread->GetTaskRunner()); + binders.Add( + ConvertToBaseRepeatingCallback( + CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc index 8fe1f999c908..744fc9eb5de9 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc @@ -1,21 +1,21 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc -@@ -128,15 +128,17 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File +@@ -129,15 +129,17 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file, base::File status_file) { +#if !BUILDFLAG(IS_BSD) DCHECK(statm_file.IsValid()); DCHECK(status_file.IsValid()); DCHECK_EQ(-1, statm_fd_.get()); DCHECK_EQ(-1, status_fd_.get()); statm_fd_.reset(statm_file.TakePlatformFile()); status_fd_.reset(status_file.TakePlatformFile()); +#endif } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // static void MemoryUsageMonitorPosix::Bind( mojo::PendingReceiver receiver) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_execution__context_navigator__base.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_execution__context_navigator__base.cc new file mode 100644 index 000000000000..73184081789d --- /dev/null +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_execution__context_navigator__base.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2023-03-28 19:45:02 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/core/execution_context/navigator_base.cc +@@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() { + return "Win32"; + #elif BUILDFLAG(IS_FUCHSIA) + return ""; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return "Linux x86_64"; + #else + #error Unsupported platform diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_exported_web__view__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_exported_web__view__impl.cc index cc722a5992a7..3acd798d6018 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_exported_web__view__impl.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -405,7 +405,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( +@@ -408,7 +408,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' -@@ -3168,7 +3168,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3278,7 +3278,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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_frame_web__frame__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_frame_web__frame__test.cc index f9cd1f215aac..43bc3cf53d8e 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_frame_web__frame__test.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_frame_web__frame__test.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6281,7 +6281,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { - EXPECT_EQ(64, ComputeOffset(layout_object, 1000, 1000)); - } - +@@ -6414,7 +6414,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, SelectRangeStaysHorizontallyAlignedWhenMoved) { + TEST_F(WebFrameTest, MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved) { RegisterMockedHttpURLLoad("move_caret.html"); -@@ -6660,7 +6660,7 @@ TEST_F(CompositedSelectionBoundsTest, SVGTextWithFragm - TEST_F(CompositedSelectionBoundsTest, SVGTextWithFragments) { - RunTest("composited_selection_bounds_svg_text_with_fragments.html"); +@@ -6811,7 +6811,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionNo + 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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_inspector_inspector__memory__agent.cc index c7b11b3e875e..5f39573e7d76 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_inspector_inspector__memory__agent.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_inspector_inspector__memory__agent.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc -@@ -186,7 +186,7 @@ Vector InspectorMemoryAgent::Symbolize( +@@ -190,7 +190,7 @@ Vector InspectorMemoryAgent::Symbolize( Vector InspectorMemoryAgent::Symbolize( const WebVector& addresses) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(alph): Move symbolization to the client. Vector addresses_to_symbolize; for (size_t i = 0; i < addresses.size(); i++) { diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_layout__view.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_layout__view.cc index 29022e2e70ab..06cfdde6302f 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_layout__view.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_layout__view.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/layout/layout_view.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/layout/layout_view.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/layout/layout_view.cc -@@ -65,7 +65,7 @@ +@@ -68,7 +68,7 @@ #include "ui/display/screen_info.h" #include "ui/gfx/geometry/quad_f.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -360,7 +360,7 @@ void LayoutView::UpdateLayout() { +@@ -367,7 +367,7 @@ void LayoutView::UpdateLayout() { DCHECK(!layout_state_); LayoutState root_layout_state(*this); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The font code in FontPlatformData does not have a direct connection to the // document, the frame or anything from which we could retrieve the device // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_paint_paint__layer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_paint_paint__layer.cc index f52409381dd0..79e796f786c4 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_paint_paint__layer.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_paint_paint__layer.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc -@@ -108,7 +108,7 @@ namespace { +@@ -112,7 +112,7 @@ namespace { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct SameSizeAsPaintLayer : GarbageCollected, DisplayItemClient { // The bit fields may fit into the machine word of DisplayItemClient which // has only 8-bit data. diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc index 0a23f1e97075..71dad65679ce 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc -@@ -151,7 +151,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const +@@ -155,7 +155,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const // is true for at least GTK and QT apps). // 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) return false; #else return true; -@@ -326,7 +326,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr +@@ -329,7 +329,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr const WebMouseEvent& event) { // 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 (event.button == WebPointerProperties::Button::kMiddle) return true; #endif diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__device__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__device__factory.cc index 9ebae390cd40..9a74f99961ef 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__device__factory.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__device__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_device_factory.cc -@@ -34,7 +34,7 @@ namespace { - namespace { +@@ -35,7 +35,7 @@ AudioDeviceFactory* g_factory_override = nullptr; + AudioDeviceFactory* g_factory_override = nullptr; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) // Due to driver deadlock issues on Windows (http://crbug/422522) there is a // chance device authorization response is never received from the browser side. // In this case we will time out, to avoid renderer hang forever waiting for diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc index bcf5176682c5..d373fc47e553 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc -@@ -678,7 +678,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten +@@ -722,7 +722,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten mixer->get_output_params_for_testing().sample_rate()); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Use 10 ms buffer (441 frames per buffer). EXPECT_EQ(output_sample_rate / 100, mixer->get_output_params_for_testing().frames_per_buffer()); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc index f39e35e78fa1..5128061b5a32 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -288,7 +288,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_VerifyS +@@ -278,7 +278,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/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc index 8df21daa30e7..f2bf2f7eb4ca 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc @@ -379,7 +379,7 @@ class AudioWorkletThreadPriorityTest // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (expected_priority == base::ThreadPriority::REALTIME_AUDIO || - expected_priority == base::ThreadPriority::DISPLAY) { - EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL); + if (expected_priority == base::ThreadPriorityForTest::kRealtimeAudio || + expected_priority == base::ThreadPriorityForTest::kDisplay) { + EXPECT_EQ(actual_priority, base::ThreadPriorityForTest::kNormal); diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 5849e7bc0d5e..8144a1e009b6 100644 --- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2022-09-26 10:05:50 UTC +--- src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-03-28 19:45:02 UTC +++ src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6070,7 +6070,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6165,7 +6165,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