git: 3227b809dd69 - main - www/qt6-webengine: NEW PORT

From: Kai Knoblich <kai_at_FreeBSD.org>
Date: Sat, 14 Jan 2023 12:14:20 UTC
The branch main has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3227b809dd69aa15c0798b4e5ffaa5adc9fe0b98

commit 3227b809dd69aa15c0798b4e5ffaa5adc9fe0b98
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2023-01-14 12:10:38 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2023-01-14 12:10:38 +0000

    www/qt6-webengine: NEW PORT
    
    The Qt WebEngine module provides a web browser engine that makes it easy
    to embed content from the World Wide Web into your Qt application on
    platforms that do not have a native web engine.
    
    Qt WebEngine provides C++ classes and QML types for rendering HTML,
    XHTML, and SVG documents, styled using Cascading Style Sheets (CSS) and
    scripted with JavaScript. HTML documents can be made fully editable by
    the user through the use of the contenteditable attribute on HTML
    elements.
    
    Most of the patches were taken from Chromium 102.0.5005.115
    (6fbdece63f38) and a small portion also from Chromium 105.0.5195.102
    (96b9a69e7010) , which has been required since Qt 6.4.1.
    
    In contrast to www/qt5-webengine, some things have changed in the build
    process:
    
    * Python 3.x is used
    * CMake maintains the whole build process at the top.
    * devel/binutils is no longer required.
    
    At last but not least: Many thanks to madpilot for additional tests and
    hints and to tcberner for the moral support during the last mile!
    
    Reviewed by:    madpilot, tcberner (kde)
    Approved by:    fluffy (kde)
    Differential Revision:  https://reviews.freebsd.org/D37859
---
 Mk/Uses/qt-dist.mk                                 |   4 +-
 Mk/Uses/qt.mk                                      |   6 +-
 www/Makefile                                       |   1 +
 www/qt6-webengine/Makefile                         | 142 +++++++
 www/qt6-webengine/distinfo                         |   3 +
 .../files/extra-patch-i386-compress_files_js       |  14 +
 .../files/extra-patch-no-mempcpy-nasm              |  11 +
 www/qt6-webengine/files/patch-CMakeLists.txt       |  15 +
 .../files/patch-cmake_Functions.cmake              | 104 ++++++
 www/qt6-webengine/files/patch-configure.cmake      |  44 +++
 .../files/patch-src_3rdparty_chromium_BUILD.gn     |  56 +++
 .../patch-src_3rdparty_chromium_base_BUILD.gn      | 148 ++++++++
 ...tion__allocator_address__space__randomization.h |  20 +
 ...llocator_partition__allocator_page__allocator.h |  11 +
 ...rtition__allocator_page__allocator__constants.h |  29 ++
 ...__allocator_page__allocator__internals__posix.h |  16 +
 ...rtition__allocator_partition__address__space.cc |  11 +
 ...ocator_partition__allocator_partition__alloc.cc |  17 +
 ...partition__allocator_partition__alloc__config.h |  29 ++
 ...tition__allocator_partition__alloc__constants.h |  11 +
 ...llocator_partition__allocator_partition__page.h |  29 ++
 ...locator_partition__allocator_partition__root.cc |  38 ++
 ...locator_partition__allocator_spinning__mutex.cc |  47 +++
 ...llocator_partition__allocator_spinning__mutex.h |  20 +
 ...or_partition__allocator_starscan_stack_stack.cc |  50 +++
 .../patch-src_3rdparty_chromium_base_atomicops.h   |  14 +
 ...rc_3rdparty_chromium_base_base__paths__posix.cc |  98 +++++
 ...ch-src_3rdparty_chromium_base_base__switches.cc |  11 +
 ...tch-src_3rdparty_chromium_base_base__switches.h |  11 +
 .../files/patch-src_3rdparty_chromium_base_cpu.h   |  11 +
 ...3rdparty_chromium_base_debug_debugger__posix.cc |  68 ++++
 ...src_3rdparty_chromium_base_debug_elf__reader.cc |  18 +
 ...dparty_chromium_base_debug_proc__maps__linux.cc |  11 +
 ...arty_chromium_base_debug_stack__trace__posix.cc |  38 ++
 ...chromium_base_files_file__path__watcher__bsd.cc |  57 +++
 ...mium_base_files_file__path__watcher__freebsd.cc |  64 ++++
 ...romium_base_files_file__path__watcher__kqueue.h |  10 +
 ...dparty_chromium_base_files_file__util__posix.cc |  52 +++
 ..._base_files_important__file__writer__cleaner.cc |  12 +
 ...rc_3rdparty_chromium_base_files_scoped__file.cc |  11 +
 ...ch-src_3rdparty_chromium_base_i18n_icu__util.cc |  20 +
 ...patch-src_3rdparty_chromium_base_linux__util.cc |  28 ++
 ...rty_chromium_base_memory_discardable__memory.cc |  38 ++
 ...ium_base_memory_discardable__memory__internal.h |  11 +
 ...emory_madv__free__discardable__memory__posix.cc |  21 ++
 ..._base_memory_platform__shared__memory__region.h |  29 ++
 ...mory_platform__shared__memory__region__posix.cc |  29 ++
 ...omium_base_message__loop_message__pump__glib.cc |  28 ++
 ...rdparty_chromium_base_native__library__posix.cc |  11 +
 ...rty_chromium_base_posix_can__lower__nice__to.cc |  16 +
 ...rty_chromium_base_posix_unix__domain__socket.cc |  39 ++
 ...patch-src_3rdparty_chromium_base_process_kill.h |  11 +
 ...c_3rdparty_chromium_base_process_kill__posix.cc |  11 +
 ...tch-src_3rdparty_chromium_base_process_launch.h |  11 +
 ...3rdparty_chromium_base_process_launch__posix.cc |  12 +
 ...ch-src_3rdparty_chromium_base_process_memory.cc |  20 +
 ...dparty_chromium_base_process_process__handle.cc |  11 +
 ...rdparty_chromium_base_process_process__handle.h |  11 +
 ...romium_base_process_process__handle__freebsd.cc |  25 ++
 ...romium_base_process_process__handle__openbsd.cc |  89 +++++
 ...mium_base_process_process__iterator__freebsd.cc |  51 +++
 ...mium_base_process_process__iterator__openbsd.cc |  45 +++
 ...party_chromium_base_process_process__metrics.cc |  47 +++
 ...dparty_chromium_base_process_process__metrics.h | 119 ++++++
 ...omium_base_process_process__metrics__freebsd.cc | 290 ++++++++++++++
 ...omium_base_process_process__metrics__openbsd.cc | 212 +++++++++++
 ...hromium_base_process_process__metrics__posix.cc |  20 +
 ...rdparty_chromium_base_process_process__posix.cc |  93 +++++
 ...ofiler_stack__sampling__profiler__test__util.cc |  11 +
 .../patch-src_3rdparty_chromium_base_rand__util.h  |  11 +
 ...src_3rdparty_chromium_base_rand__util__posix.cc |  52 +++
 ...arty_chromium_base_synchronization_lock__impl.h |  23 ++
 ...h-src_3rdparty_chromium_base_syslog__logging.cc |  20 +
 ...-src_3rdparty_chromium_base_system_sys__info.cc |  11 +
 ...h-src_3rdparty_chromium_base_system_sys__info.h |  20 +
 ...arty_chromium_base_system_sys__info__freebsd.cc | 113 ++++++
 ...arty_chromium_base_system_sys__info__openbsd.cc |  94 +++++
 ...dparty_chromium_base_system_sys__info__posix.cc |  43 +++
 ...y_chromium_base_test_test__file__util__linux.cc |  13 +
 ...y_chromium_base_test_test__file__util__posix.cc |  11 +
 ...rty_chromium_base_third__party_libevent_event.h |  14 +
 ...romium_base_third__party_symbolize_symbolize.cc |  11 +
 ...arty_chromium_base_threading_platform__thread.h |  11 +
 ...omium_base_threading_platform__thread__linux.cc |  77 ++++
 ...omium_base_threading_platform__thread__posix.cc |  21 ++
 ..._base_threading_thread__task__runner__handle.cc |  26 ++
 .../patch-src_3rdparty_chromium_base_time_time.cc  |  11 +
 ...ium_base_trace__event_malloc__dump__provider.cc |  31 ++
 ...mium_base_trace__event_memory__dump__manager.cc |  11 +
 ...mium_base_trace__event_process__memory__dump.cc |  20 +
 ...c_3rdparty_chromium_base_tracing_trace__time.cc |  28 ++
 ...rc_3rdparty_chromium_base_tracing_trace__time.h |  11 +
 ...tch-src_3rdparty_chromium_build_config_BUILD.gn |  22 ++
 ...c_3rdparty_chromium_build_config_BUILDCONFIG.gn |  45 +++
 ...rdparty_chromium_build_config_compiler_BUILD.gn |  94 +++++
 ...arty_chromium_build_config_compiler_pgo_pgo.gni |  11 +
 ...party_chromium_build_config_linux_pkg-config.py |  11 +
 ...ch-src_3rdparty_chromium_build_config_ozone.gni |  19 +
 ...tch-src_3rdparty_chromium_build_config_rust.gni |  11 +
 ...party_chromium_build_config_v8__target__cpu.gni |  13 +
 ...c_3rdparty_chromium_build_detect__host__arch.py |  11 +
 ...-src_3rdparty_chromium_build_gn__run__binary.py |  11 +
 ...ch-src_3rdparty_chromium_build_linux_chrome.map |  13 +
 ...c_3rdparty_chromium_build_linux_libpci_BUILD.gn |  53 +++
 ...3rdparty_chromium_build_linux_strip__binary.gni |  15 +
 ..._3rdparty_chromium_build_linux_strip__binary.py |  10 +
 ...party_chromium_build_linux_unbundle_libevent.gn |  15 +
 ...rdparty_chromium_build_linux_unbundle_libusb.gn |  27 ++
 ...rdparty_chromium_build_linux_unbundle_libxml.gn |  10 +
 ...mium_build_linux_unbundle_replace__gn__files.py |  10 +
 ...hromium_build_toolchain_gcc__solink__wrapper.py |  11 +
 ...rty_chromium_build_toolchain_gcc__toolchain.gni |  35 ++
 ...er_media_webrtc_webrtc__event__log__uploader.cc |  11 +
 ...e_browser_media_webrtc_webrtc__log__uploader.cc |  13 +
 ...ser_media_webrtc_webrtc__logging__controller.cc |  33 ++
 ...wser_media_webrtc_webrtc__logging__controller.h |  20 +
 ...i_webui_chrome__web__ui__controller__factory.cc |  92 +++++
 ...chromium_chrome_common_webui__url__constants.cc |  68 ++++
 ..._chromium_chrome_common_webui__url__constants.h |  57 +++
 ...omium_components_crash_content_browser_BUILD.gn |  29 ++
 ...rty_chromium_components_crash_core_app_BUILD.gn |  52 +++
 ...nts_crash_core_app_chrome__crashpad__handler.cc |  12 +
 ...h_core_browser_crash__upload__list__crashpad.cc |  16 +
 ..._chromium_components_crash_core_common_BUILD.gn |  20 +
 ...ents_metrics_drive__metrics__provider__linux.cc |  16 +
 ...um_components_os__crypt_keyring__util__linux.cc |  17 +
 ..._components_os__crypt_libsecret__util__linux.cc |  18 +
 ...party_chromium_components_os__crypt_os__crypt.h |  47 +++
 ..._ai_sandbox_screen__ai__sandbox__hook__linux.cc |  18 +
 ...__ai_sandbox_screen__ai__sandbox__hook__linux.h |  16 +
 ..._3rdparty_chromium_content_app_content__main.cc |  11 +
 ...mium_content_app_content__main__runner__impl.cc | 123 ++++++
 ...-src_3rdparty_chromium_content_browser_BUILD.gn |  16 +
 ..._browser_browser__child__process__host__impl.cc |  10 +
 ...chromium_content_browser_browser__main__loop.cc |  46 +++
 ...wser_child__process__launcher__helper__linux.cc |  76 ++++
 ..._compositor_viz__process__transport__factory.cc |  11 +
 ...content_browser_compute__pressure_cpu__probe.cc |  10 +
 ...wser_devtools_protocol_system__info__handler.cc |  11 +
 ...ent_browser_download_download__manager__impl.cc |  29 ++
 ...font__access_font__enumeration__data__source.cc |  29 ++
 ...hromium_content_browser_gpu_compositor__util.cc |  20 +
 ...omium_content_browser_gpu_gpu__process__host.cc |  28 ++
 ...ser_media_frameless__media__interface__proxy.cc |  20 +
 ...ontent_browser_media_media__interface__proxy.cc |  20 +
 ...r_media_media__keys__listener__manager__impl.cc |  11 +
 ...i__plugin__process__host__receiver__bindings.cc |  20 +
 ...rowser_renderer__host_delegated__frame__host.cc |  11 +
 ...__host_input_input__device__change__observer.cc |  29 ++
 ...renderer__host_pepper_pepper__file__io__host.cc |  20 +
 ...owser_renderer__host_render__message__filter.cc |  29 ++
 ...rowser_renderer__host_render__message__filter.h |  19 +
 ...r_renderer__host_render__process__host__impl.cc |  37 ++
 ...er_renderer__host_render__process__host__impl.h |  11 +
 ...wser_renderer__host_render__view__host__impl.cc |  11 +
 ...derer__host_render__widget__host__view__aura.cc |  47 +++
 ...nderer__host_render__widget__host__view__aura.h |  11 +
 ...t_render__widget__host__view__event__handler.cc |  11 +
 ...hromium_content_browser_sandbox__host__linux.cc |  18 +
 ...scheduler_responsiveness_jank__monitor__impl.cc |  11 +
 ...duler_responsiveness_native__event__observer.cc |  20 +
 ...eduler_responsiveness_native__event__observer.h |  47 +++
 ...r_utility__process__host__receiver__bindings.cc |  20 +
 ...m_content_browser_utility__sandbox__delegate.cc |  42 +++
 ...chromium_content_browser_v8__snapshot__files.cc |  11 +
 ...wser_web__contents_web__contents__view__aura.cc |  29 ++
 ...browser_webui_web__ui__main__frame__observer.cc |  38 ++
 ..._browser_webui_web__ui__main__frame__observer.h |  20 +
 ...owser_zygote__host_zygote__host__impl__linux.cc |  70 ++++
 ...rowser_zygote__host_zygote__host__impl__linux.h |  25 ++
 ...dparty_chromium_content_child_child__process.cc |  11 +
 ...h-src_3rdparty_chromium_content_common_BUILD.gn |  12 +
 ..._content_common_mojo__core__library__support.cc |  11 +
 ...3rdparty_chromium_content_common_user__agent.cc |  28 ++
 ...ontent_common_zygote_sandbox__support__linux.cc |  14 +
 ...-src_3rdparty_chromium_content_gpu_gpu__main.cc |  47 +++
 ...romium_content_gpu_gpu__sandbox__hook__linux.cc |  70 ++++
 ...t_ppapi__plugin_ppapi__blink__platform__impl.cc |  29 ++
 ...nt_ppapi__plugin_ppapi__blink__platform__impl.h |  25 ++
 ...um_content_ppapi__plugin_ppapi__plugin__main.cc |  23 ++
 ...blic_browser_zygote__host_zygote__host__linux.h |  16 +
 ...t_public_common_common__param__traits__macros.h |  11 +
 ...mium_content_public_common_content__features.cc |  50 +++
 ...omium_content_public_common_content__features.h |  11 +
 ...mium_content_public_common_content__switches.cc |  20 +
 ...omium_content_public_common_content__switches.h |  19 +
 ...omium_content_public_common_zygote_features.gni |   8 +
 ...content_renderer_media_render__media__client.cc |  11 +
 ...omium_content_renderer_render__process__impl.cc |  29 ++
 ...romium_content_renderer_render__thread__impl.cc |  47 +++
 ...ent_renderer_renderer__blink__platform__impl.cc |  48 +++
 ...tent_renderer_renderer__blink__platform__impl.h |  29 ++
 ...er_renderer__main__platform__delegate__linux.cc |  18 +
 ...ch-src_3rdparty_chromium_content_shell_BUILD.gn |  11 +
 ...mium_content_shell_app_shell__main__delegate.cc |  11 +
 ...hell_utility_shell__content__utility__client.cc |  20 +
 ...tch-src_3rdparty_chromium_content_test_BUILD.gn |  20 +
 ...c_3rdparty_chromium_content_utility_services.cc |  20 +
 ...ch_speech__recognition__sandbox__hook__linux.cc |  37 ++
 ...ech_speech__recognition__sandbox__hook__linux.h |  14 +
 ...link__platform__with__sandbox__support__impl.cc |  29 ++
 ...blink__platform__with__sandbox__support__impl.h |  24 ++
 ...party_chromium_content_utility_utility__main.cc |  79 ++++
 ...h-src_3rdparty_chromium_content_zygote_BUILD.gn |  11 +
 ...dparty_chromium_content_zygote_zygote__linux.cc |  15 +
 ..._chromium_content_zygote_zygote__main__linux.cc |  64 ++++
 ...__buffer_common_gpu__memory__buffer__support.cc |  20 +
 ..._buffer_service_external__vk__image__backing.cc |  20 +
 ...ared__image__backing__factory__angle__vulkan.cc |  11 +
 ...shared__image__backing__factory__gl__texture.cc |  11 +
 ..._service_shared__image__backing__gl__texture.cc |  11 +
 ...mmand__buffer_service_shared__image__factory.cc |  29 ++
 ...ommand__buffer_service_webgpu__decoder__impl.cc |  11 +
 ...party_chromium_gpu_config_gpu__control__list.cc |  20 +
 ...dparty_chromium_gpu_config_gpu__test__config.cc |  11 +
 ..._gpu_ipc_common_gpu__memory__buffer__support.cc |  20 +
 ...m_gpu_ipc_common_gpu__memory__buffer__support.h |  11 +
 ..._3rdparty_chromium_gpu_ipc_service_gpu__init.cc |  65 ++++
 ...gpu_ipc_service_gpu__memory__buffer__factory.cc |  20 +
 ...src_3rdparty_chromium_gpu_ipc_service_x__util.h |  16 +
 ...party_chromium_gpu_vulkan_generate__bindings.py |  11 +
 ...ty_chromium_gpu_vulkan_vulkan__device__queue.cc |  20 +
 ...rty_chromium_gpu_vulkan_vulkan__device__queue.h |  11 +
 ...romium_gpu_vulkan_vulkan__function__pointers.cc |  11 +
 ...hromium_gpu_vulkan_vulkan__function__pointers.h |  27 ++
 ...c_3rdparty_chromium_gpu_vulkan_vulkan__image.cc |  11 +
 ...rc_3rdparty_chromium_gpu_vulkan_vulkan__image.h |  20 +
 .../patch-src_3rdparty_chromium_ipc_ipc__channel.h |  11 +
 ...c_3rdparty_chromium_ipc_ipc__channel__common.cc |  11 +
 ...src_3rdparty_chromium_ipc_ipc__channel__mojo.cc |  11 +
 ...rc_3rdparty_chromium_ipc_ipc__message__utils.cc |  11 +
 ...src_3rdparty_chromium_ipc_ipc__message__utils.h |  11 +
 .../patch-src_3rdparty_chromium_media_BUILD.gn     |  12 +
 ...atch-src_3rdparty_chromium_media_audio_BUILD.gn |  24 ++
 ...romium_media_audio_alsa_audio__manager__alsa.cc |  54 +++
 ...rdparty_chromium_media_audio_audio__features.cc |  11 +
 ...ty_chromium_media_audio_audio__input__device.cc |  11 +
 ...mium_media_audio_sndio_audio__manager__sndio.cc | 184 +++++++++
 ...omium_media_audio_sndio_audio__manager__sndio.h |  69 ++++
 ...arty_chromium_media_audio_sndio_sndio__input.cc | 204 ++++++++++
 ...party_chromium_media_audio_sndio_sndio__input.h |  94 +++++
 ...rty_chromium_media_audio_sndio_sndio__output.cc | 190 ++++++++++
 ...arty_chromium_media_audio_sndio_sndio__output.h |  91 +++++
 ..._3rdparty_chromium_media_base_audio__latency.cc |  11 +
 ...3rdparty_chromium_media_base_media__switches.cc |  47 +++
 ..._3rdparty_chromium_media_base_media__switches.h |  20 +
 ...3rdparty_chromium_media_base_scopedfd__helper.h |  11 +
 ...rdparty_chromium_media_base_supported__types.cc |  11 +
 ...rc_3rdparty_chromium_media_base_vector__math.cc |  11 +
 ...rc_3rdparty_chromium_media_base_video__frame.cc |  74 ++++
 ...src_3rdparty_chromium_media_base_video__frame.h |  47 +++
 ...ideo_create__video__capture__device__factory.cc |  20 +
 ..._video_fake__video__capture__device__factory.cc |  11 +
 ..._video_file__video__capture__device__factory.cc |  11 +
 ...m_media_capture_video_linux_fake__v4l2__impl.cc |  11 +
 ...um_media_capture_video_linux_fake__v4l2__impl.h |  25 ++
 ..._capture_video_linux_v4l2__capture__delegate.cc |  44 +++
 ...a_capture_video_linux_v4l2__capture__delegate.h |  15 +
 ...dia_capture_video_linux_v4l2__capture__device.h |  11 +
 ...ture_video_linux_v4l2__capture__device__impl.cc |  11 +
 ...pture_video_linux_v4l2__capture__device__impl.h |  11 +
 ...linux_video__capture__device__factory__linux.cc |  45 +++
 ..._linux_video__capture__device__factory__linux.h |  11 +
 ...ure_video_video__capture__buffer__pool__impl.cc |  11 +
 ...capture_video_video__capture__device__client.cc |  11 +
 ...dparty_chromium_media_gpu_buffer__validation.cc |  29 ++
 ..._media_gpu_chromeos_video__decoder__pipeline.cc |  20 +
 ...gpu_gpu__video__encode__accelerator__factory.cc |  11 +
 ...dware__video__decoding__sandbox__hook__linux.cc |  26 ++
 ...rdware__video__decoding__sandbox__hook__linux.h |  16 +
 ...romium_media_gpu_vaapi_vaapi__video__decoder.cc |  11 +
 ...arty_chromium_media_gpu_vaapi_vaapi__wrapper.cc |  11 +
 ...-src_3rdparty_chromium_media_media__options.gni |  27 ++
 ...stable__video__decoder__types__mojom__traits.cc |  29 ++
 ..._stable__video__decoder__types__mojom__traits.h |  11 +
 ...media_mojo_mojom_video__frame__mojom__traits.cc |  11 +
 ...romium_media_video_fake__gpu__memory__buffer.cc |  38 ++
 ...ideo_gpu__memory__buffer__video__frame__pool.cc |  11 +
 ...ia_video_video__encode__accelerator__adapter.cc |  20 +
 ...eo_video__encode__accelerator__adapter__test.cc |  11 +
 ...party_chromium_media_webrtc_audio__processor.cc |  11 +
 ...party_chromium_media_webrtc_webrtc__features.cc |  11 +
 .../patch-src_3rdparty_chromium_mojo_core_BUILD.gn |  11 +
 ...atch-src_3rdparty_chromium_mojo_core_channel.cc |  14 +
 ...3rdparty_chromium_mojo_core_embedder_features.h |  11 +
 ...rdparty_chromium_mojo_public_c_system_thunks.cc |  38 ++
 ...y_chromium_mojo_public_tools_bindings_mojom.gni |  19 +
 .../files/patch-src_3rdparty_chromium_net_BUILD.gn |  91 +++++
 ..._chromium_net_base_network__change__notifier.cc |  21 ++
 ...um_net_base_network__change__notifier__posix.cc |  11 +
 ..._chromium_net_base_network__interfaces__posix.h |  11 +
 ...rc_3rdparty_chromium_net_cert_cert__verifier.cc |  11 +
 ...rdparty_chromium_net_cert_cert__verify__proc.cc |  11 +
 ...3rdparty_chromium_net_cert_cert__verify__proc.h |  11 +
 ...romium_net_disk__cache_blockfile_disk__format.h |  12 +
 ...net_disk__cache_simple_simple__file__tracker.cc |  20 +
 .../patch-src_3rdparty_chromium_net_dns_BUILD.gn   |  31 ++
 ...arty_chromium_net_dns_address__sorter__posix.cc |  10 +
 ...chromium_net_dns_dns__config__service__posix.cc |  26 ++
 ...-src_3rdparty_chromium_net_dns_dns__reloader.cc |  18 +
 ...h-src_3rdparty_chromium_net_dns_dns__reloader.h |  11 +
 ...atch-src_3rdparty_chromium_net_dns_dns__util.cc |  11 +
 ...rty_chromium_net_dns_host__resolver__manager.cc |  11 +
 ...dparty_chromium_net_dns_host__resolver__proc.cc |  22 ++
 ...h-src_3rdparty_chromium_net_dns_public_BUILD.gn |  11 +
 ...dparty_chromium_net_dns_public_resolv__reader.h |  10 +
 ...ty_chromium_net_dns_public_scoped__res__state.h |  10 +
 ..._chromium_net_http_http__auth__gssapi__posix.cc |  14 +
 ...y_chromium_net_http_http__auth__gssapi__posix.h |  12 +
 ...rty_chromium_net_http_http__network__session.cc |  12 +
 ...ution_configured__proxy__resolution__service.cc |  29 ++
 ...xy__resolution_proxy__config__service__linux.cc |  40 ++
 ...c_3rdparty_chromium_net_socket_socket__posix.cc |  11 +
 ...y_chromium_net_socket_socks5__client__socket.cc |  12 +
 ...party_chromium_net_socket_tcp__socket__posix.cc |  20 +
 ...party_chromium_net_socket_udp__socket__posix.cc |  29 ++
 ...t_socket_unix__domain__client__socket__posix.cc |  11 +
 ...party_chromium_net_third__party_quiche_BUILD.gn |  33 ++
 ...verify__tool_cert__verify__comparision__tool.cc |  29 ++
 ..._tools_cert__verify__tool_cert__verify__tool.cc |  38 ++
 ...um_net_tools_quic_quic__http__proxy__backend.cc |  11 +
 ...ffic__annotation_network__traffic__annotation.h |  20 +
 ...party_chromium_net_url__request_url__fetcher.cc |  11 +
 ...dparty_chromium_net_url__request_url__fetcher.h |  11 +
 ...omium_net_url__request_url__request__context.cc |  11 +
 ...romium_net_url__request_url__request__context.h |  11 +
 ..._url__request_url__request__context__builder.cc |  11 +
 ...nting_mojom_printing__context__mojom__traits.cc |  20 +
 ...inting_mojom_printing__context__mojom__traits.h |  11 +
 ...c_3rdparty_chromium_printing_print__settings.cc |  20 +
 ...rc_3rdparty_chromium_printing_print__settings.h |  38 ++
 ...hromium_printing_print__settings__conversion.cc |  11 +
 ...rdparty_chromium_printing_printing__features.cc |  11 +
 ...sandbox_print__backend__sandbox__hook__linux.cc |  51 +++
 ..._sandbox_print__backend__sandbox__hook__linux.h |  16 +
 .../patch-src_3rdparty_chromium_sandbox_BUILD.gn   |  11 +
 ...atch-src_3rdparty_chromium_sandbox_features.gni |  11 +
 ...ch-src_3rdparty_chromium_sandbox_linux_BUILD.gn |  58 +++
 ...sandbox_linux_services_init__process__reaper.cc |  15 +
 ...ium_sandbox_linux_services_libc__interceptor.cc |  21 ++
 ...h-src_3rdparty_chromium_sandbox_policy_BUILD.gn |  49 +++
 ...rc_3rdparty_chromium_sandbox_policy_features.cc |  14 +
 ...mium_sandbox_policy_freebsd_sandbox__freebsd.cc | 256 +++++++++++++
 ...omium_sandbox_policy_freebsd_sandbox__freebsd.h | 281 ++++++++++++++
 ...rty_chromium_sandbox_policy_mojom_sandbox.mojom |  15 +
 ...mium_sandbox_policy_openbsd_sandbox__openbsd.cc | 416 +++++++++++++++++++++
 ...omium_sandbox_policy_openbsd_sandbox__openbsd.h | 285 ++++++++++++++
 ...src_3rdparty_chromium_sandbox_policy_sandbox.cc |  22 ++
 ...-src_3rdparty_chromium_sandbox_policy_sandbox.h |  22 ++
 ...dparty_chromium_sandbox_policy_sandbox__type.cc | 105 ++++++
 ...rc_3rdparty_chromium_sandbox_policy_switches.cc |  22 ++
 ...src_3rdparty_chromium_sandbox_policy_switches.h |  21 ++
 ...m_services_audio_audio__sandbox__hook__linux.cc |  31 ++
 ...um_services_audio_audio__sandbox__hook__linux.h |  14 +
 ...ices_cert__verifier_cert__verifier__creation.cc |  30 ++
 ...ices_device_geolocation_location__arbitrator.cc |  11 +
 ..._3rdparty_chromium_services_device_usb_BUILD.gn |  11 +
 ...rvices_network_network__sandbox__hook__linux.cc |  26 ++
 ...ervices_network_network__sandbox__hook__linux.h |  14 +
 ..._instrumentation_queued__request__dispatcher.cc |  65 ++++
 ...tor_public_cpp_memory__instrumentation_BUILD.gn |  16 +
 ...ublic_cpp_memory__instrumentation_os__metrics.h |  20 +
 ...cpp_memory__instrumentation_os__metrics__bsd.cc |  61 +++
 ...ty_chromium_skia_ext_SkMemory__new__handler.cpp |  11 +
 ...mium_third__party_abseil-cpp_absl_base_config.h |  21 ++
 ..._party_abseil-cpp_absl_base_internal_sysinfo.cc |  23 ++
 ...l-cpp_absl_debugging_internal_elf__mem__image.h |  12 +
 ...sl_time_internal_cctz_src_time__zone__format.cc |  11 +
 ...c_3rdparty_chromium_third__party_angle_BUILD.gn |  29 ++
 ...romium_third__party_angle_src_common_platform.h |  19 +
 ...party_angle_src_common_system__utils__posix.cpp |  12 +
 ...ngle_src_gpu__info__util_SystemInfo__internal.h |  16 +
 ...ngle_src_gpu__info__util_SystemInfo__libpci.cpp |  90 +++++
 ...angle_src_gpu__info__util_SystemInfo__linux.cpp |  35 ++
 ...y_angle_src_gpu__info__util_SystemInfo__x11.cpp |  60 +++
 ...ium_third__party_angle_src_libANGLE_Display.cpp |  47 +++
 ...third__party_angle_src_libANGLE_formatutils.cpp |  11 +
 ...rty_angle_src_libANGLE_renderer_driver__utils.h |  11 +
 ...e_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp |  15 +
 ...e_src_libANGLE_renderer_vulkan_DisplayVk__api.h |  11 +
 ...party_chromium_third__party_angle_util_BUILD.gn |  11 +
 ...erences_renderer__preferences__mojom__traits.cc |  11 +
 ...n_renderer__preferences_renderer__preferences.h |  11 +
 ...ferences_renderer__preferences__mojom__traits.h |  11 +
 ...hird__party_blink_public_platform_web__vector.h |  11 +
 ...rer_bindings_scripts_bind__gen_style__format.py |  11 +
 ...renderer_build_scripts_run__with__pythonpath.py |  10 +
 ...blink_renderer_controller_blink__initializer.cc |  35 ++
 ...rer_controller_memory__usage__monitor__posix.cc |  21 ++
 ...erer_controller_memory__usage__monitor__posix.h |  47 +++
 ...link_renderer_core_editing_editing__behavior.cc |  11 +
 ...blink_renderer_core_exported_web__view__impl.cc |  20 +
 ...y_blink_renderer_core_frame_web__frame__test.cc |  20 +
 ...ore_html_canvas_canvas__async__blob__creator.cc |  11 +
 ...erer_core_inspector_inspector__memory__agent.cc |  11 +
 ...arty_blink_renderer_core_layout_layout__view.cc |  20 +
 ...party_blink_renderer_core_paint_paint__layer.cc |  11 +
 ..._renderer_core_scroll_scrollbar__theme__aura.cc |  20 +
 ...r_modules_media_audio_audio__device__factory.cc |  11 +
 ..._audio_audio__renderer__mixer__manager__test.cc |  11 +
 ...peerconnection_webrtc__audio__renderer__test.cc |  11 +
 ...odules_webaudio_audio__worklet__thread__test.cc |  11 +
 ...odules_webgl_webgl__rendering__context__base.cc |  11 +
 ...modules_webgl_webgl__webcodecs__video__frame.cc |  11 +
 ...m_third__party_blink_renderer_platform_BUILD.gn |  11 +
 ...ty_blink_renderer_platform_fonts_font__cache.cc |  20 +
 ...rty_blink_renderer_platform_fonts_font__cache.h |  47 +++
 ...nk_renderer_platform_fonts_font__description.cc |  20 +
 ..._blink_renderer_platform_fonts_font__metrics.cc |  29 ++
 ...er_platform_fonts_font__unique__name__lookup.cc |  20 +
 ...nderer_platform_fonts_skia_font__cache__skia.cc |  29 ++
 ...rer_platform_graphics_begin__frame__provider.cc |  14 +
 ...er_platform_graphics_video__frame__submitter.cc |  11 +
 ...derer_platform_runtime__enabled__features.json5 |  62 +++
 ...nk_renderer_platform_scheduler_common_thread.cc |  12 +
 ..._renderer_platform_wtf_container__annotations.h |  11 +
 ...arty_blink_renderer_platform_wtf_math__extras.h |  12 +
 ...arty_blink_renderer_platform_wtf_stack__util.cc |  37 ++
 ...mium_third__party_boringssl_BUILD.generated.gni |  18 +
 ...dparty_chromium_third__party_boringssl_BUILD.gn |  11 +
 ...ty_boringssl_src_crypto_cpu__aarch64__openbsd.c |  60 +++
 ...boringssl_src_crypto_fipsmodule_rand_internal.h |  12 +
 ...y_boringssl_src_crypto_rand__extra_arc4random.c |  36 ++
 ...ird__party_boringssl_src_crypto_refcount__c11.c |  12 +
 ...ird__party_boringssl_src_include_openssl_base.h |  14 +
 ...d__party_boringssl_src_include_openssl_thread.h |  10 +
 ...ashpad_crashpad_build_crashpad__buildconfig.gni |  11 +
 ..._third__party_crashpad_crashpad_client_BUILD.gn |  16 +
 ...hpad_crashpad_client_crashpad__client__posix.cc |  43 +++
 ...ashpad_minidump_minidump__misc__info__writer.cc |  13 +
 ...ty_crashpad_crashpad_util_misc_address__types.h |  20 +
 ..._crashpad_crashpad_util_misc_capture__context.h |  22 ++
 ...d__party_crashpad_crashpad_util_misc_metrics.cc |  11 +
 ...hird__party_crashpad_crashpad_util_misc_uuid.cc |  11 +
 ...crashpad_crashpad_util_posix_close__multiple.cc |  11 +
 ...rashpad_crashpad_util_posix_drop__privileges.cc |  11 +
 ...__party_crashpad_crashpad_util_posix_signals.cc |  33 ++
 ...ashpad_util_posix_symbolic__constants__posix.cc |  20 +
 ...arty_dawn_generator_dawn__version__generator.py |  22 ++
 ..._party_dawn_include_dawn_native_VulkanBackend.h |  11 +
 ...um_third__party_dawn_src_dawn_common_Platform.h |  14 +
 ...party_dawn_src_dawn_native_vulkan_BackendVk.cpp |  11 +
 ..._chromium_third__party_harfbuzz-ng_harfbuzz.gni |  22 ++
 ...um_third__party_libsync_src_include_sync_sync.h |  12 +
 ...dparty_chromium_third__party_libsync_src_sync.c |  25 ++
 ...hromium_third__party_nasm_config_config-linux.h |  29 ++
 ...hird__party_pdfium_core_fxcrt_cfx__datetime.cpp |  11 +
 ...ird__party_pdfium_core_fxge_cfx__fontmapper.cpp |  11 +
 ...arty_pdfium_core_fxge_linux_fx__linux__impl.cpp |  25 ++
 ..._third__party_pdfium_fxjs_fx__date__helpers.cpp |  22 ++
 ...fium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp |  41 ++
 ..._perfetto_include_perfetto_base_build__config.h |  66 ++++
 ..._perfetto_include_perfetto_base_thread__utils.h |  22 ++
 ...rd__party_perfetto_include_perfetto_base_time.h |  20 +
 ..._perfetto_include_perfetto_ext_base_event__fd.h |  11 +
 ...fetto_include_perfetto_ext_base_thread__utils.h |  15 +
 ...ium_third__party_perfetto_src_base_event__fd.cc |  22 ++
 ...hird__party_perfetto_src_base_periodic__task.cc |  20 +
 ...third__party_perfetto_src_base_string__utils.cc |  15 +
 ...d__party_perfetto_src_base_subprocess__posix.cc |  22 ++
 ...party_perfetto_src_base_thread__task__runner.cc |  14 +
 ..._third__party_perfetto_src_base_unix__socket.cc |  26 ++
 ...etto_src_tracing_core_tracing__service__impl.cc |  12 +
 ...y_chromium_third__party_skia_src_core_SkCpu.cpp |  45 +++
 ...third__party_skia_src_ports_SkOSFile__posix.cpp |  11 +
 ...arty_chromium_third__party_wayland_features.gni |  17 +
 ..._3rdparty_chromium_third__party_webrtc_BUILD.gn |  12 +
 ...rd__party_webrtc_modules_audio__device_BUILD.gn |  11 +
 ...__capture_linux_x11_x__server__pixel__buffer.cc |  15 +
 ...chromium_third__party_webrtc_rtc__base_BUILD.gn |  11 +
 ...ium_third__party_webrtc_rtc__base_byte__order.h |  11 +
 ...um_third__party_webrtc_rtc__base_ip__address.cc |  12 +
 ...romium_third__party_webrtc_rtc__base_network.cc |  15 +
 ...ty_webrtc_rtc__base_physical__socket__server.cc |  65 ++++
 ...rty_webrtc_rtc__base_physical__socket__server.h |  11 +
 ...rty_webrtc_rtc__base_platform__thread__types.cc |  40 ++
 ...webrtc_rtc__base_third__party_sigslot_sigslot.h |  23 ++
 ...m_third__party_webrtc_system__wrappers_BUILD.gn |  11 +
 ...-src_3rdparty_chromium_ui_aura_screen__ozone.cc |  11 +
 ...h-src_3rdparty_chromium_ui_aura_screen__ozone.h |  11 +
 ...omium_ui_base_clipboard_clipboard__constants.cc |  11 +
 ...romium_ui_base_clipboard_clipboard__constants.h |  11 +
 ...arty_chromium_ui_base_cursor_cursor__factory.cc |  11 +
 ...party_chromium_ui_base_cursor_cursor__factory.h |  11 +
 ...agdrop_os__exchange__data__provider__factory.cc |  20 +
 ...op_os__exchange__data__provider__non__backed.cc |  11 +
 ...omium_ui_base_ime_dummy__text__input__client.cc |  11 +
 ...romium_ui_base_ime_dummy__text__input__client.h |  11 +
 ...romium_ui_base_ime_fake__text__input__client.cc |  11 +
 ...hromium_ui_base_ime_fake__text__input__client.h |  11 +
 ..._ui_base_ime_init_input__method__initializer.cc |  38 ++
 ...arty_chromium_ui_base_ime_text__input__client.h |  11 +
 ...y_chromium_ui_base_resource_resource__bundle.cc |  11 +
 ...3rdparty_chromium_ui_base_ui__base__features.cc |  20 +
 ...rdparty_chromium_ui_base_webui_web__ui__util.cc |  11 +
 ...party_chromium_ui_base_x_x11__cursor__loader.cc |  14 +
 ...rty_chromium_ui_base_x_x11__shm__image__pool.cc |  53 +++
 ...atch-src_3rdparty_chromium_ui_color_color__id.h |  11 +
 ...arty_chromium_ui_color_native__color__mixers.cc |  17 +
 ...c_3rdparty_chromium_ui_compositor_compositor.cc |  11 +
 ...rc_3rdparty_chromium_ui_compositor_compositor.h |  11 +
 ...y_chromium_ui_compositor_compositor__observer.h |  11 +
 ...atch-src_3rdparty_chromium_ui_display_screen.cc |  11 +
 ...patch-src_3rdparty_chromium_ui_display_screen.h |  29 ++
 ...vents_devices_x11_device__data__manager__x11.cc |  10 +
 .../patch-src_3rdparty_chromium_ui_events_event.cc |  20 +
 ..._3rdparty_chromium_ui_events_event__switches.cc |  11 +
 ...c_3rdparty_chromium_ui_events_event__switches.h |  11 +
 ...um_ui_events_keycodes_dom_keycode__converter.cc |  38 ++
 ...ium_ui_events_keycodes_dom_keycode__converter.h |  11 +
 .../patch-src_3rdparty_chromium_ui_gfx_BUILD.gn    |  11 +
 ...ch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc |  11 +
 ...rc_3rdparty_chromium_ui_gfx_codec_png__codec.cc |  11 +
 ...dparty_chromium_ui_gfx_font__fallback__linux.cc |  11 +
 ...atch-src_3rdparty_chromium_ui_gfx_font__list.cc |  11 +
 ...3rdparty_chromium_ui_gfx_font__render__params.h |  20 +
 ...atch-src_3rdparty_chromium_ui_gfx_font__util.cc |  20 +
 ...3rdparty_chromium_ui_gfx_gpu__memory__buffer.cc |  11 +
 ..._3rdparty_chromium_ui_gfx_gpu__memory__buffer.h |  20 +
 ...hromium_ui_gfx_ipc_gfx__param__traits__macros.h |  44 +++
 ..._ui_gfx_linux_client__native__pixmap__dmabuf.cc |  25 ++
 ...um_ui_gfx_mojom_buffer__types__mojom__traits.cc |  20 +
 ...x_mojom_native__handle__types__mojom__traits.cc |  34 ++
 ...fx_mojom_native__handle__types__mojom__traits.h |  29 ++
 ...party_chromium_ui_gfx_native__pixmap__handle.cc |  58 +++
 ...dparty_chromium_ui_gfx_native__pixmap__handle.h |  38 ++
 ...rdparty_chromium_ui_gfx_native__widget__types.h |  20 +
 ...ty_chromium_ui_gfx_render__text__api__fuzzer.cc |  29 ++
 .../patch-src_3rdparty_chromium_ui_gfx_switches.cc |  11 +
 .../patch-src_3rdparty_chromium_ui_gfx_switches.h  |  11 +
 ...rty_chromium_ui_gfx_x_generated__protos_dri3.cc |  11 +
 ...arty_chromium_ui_gfx_x_generated__protos_shm.cc |  11 +
 ...src_3rdparty_chromium_ui_gfx_x_xlib__support.cc |  21 ++
 .../patch-src_3rdparty_chromium_ui_gl_BUILD.gn     |  35 ++
 ...c_3rdparty_chromium_ui_gl_generate__bindings.py |  12 +
 ...hromium_ui_gl_gl__bindings__api__autogen__glx.h |  10 +
 ...ty_chromium_ui_gl_gl__bindings__autogen__glx.cc |  61 +++
 ...rty_chromium_ui_gl_gl__bindings__autogen__glx.h |  43 +++
 ...atch-src_3rdparty_chromium_ui_gl_gl__context.cc |  11 +
 ...tch-src_3rdparty_chromium_ui_gl_gl__features.cc |  11 +
 ...hromium_ui_gl_gl__image__glx__native__pixmap.cc |  11 +
 ...hromium_ui_gl_sync__control__vsync__provider.cc |  38 ++
 ...chromium_ui_gl_sync__control__vsync__provider.h |  20 +
 ...tch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc |  50 +++
 ..._chromium_ui_gtk_printing_print__dialog__gtk.cc |  11 +
 ...i_message__center_views_message__popup__view.cc |  11 +
 ...party_chromium_ui_native__theme_native__theme.h |  11 +
 ...hromium_ui_native__theme_native__theme__base.cc |  11 +
 ..._3rdparty_chromium_ui_ozone_common_egl__util.cc |  14 +
 ...platform_headless_headless__surface__factory.cc |  20 +
 ..._platform_headless_headless__surface__factory.h |  11 +
 ..._platform_headless_ozone__platform__headless.cc |  11 +
 ..._wayland_gpu_vulkan__implementation__wayland.cc |  14 +
 ...m_ui_ozone_platform_x11_ozone__platform__x11.cc |  11 +
 ...one_platform_x11_vulkan__implementation__x11.cc |  14 +
 ...arty_chromium_ui_ozone_public_ozone__platform.h |  11 +
 ...rm__window_platform__window__init__properties.h |  20 +
 ...y_chromium_ui_strings_app__locale__settings.grd |  11 +
 ...ings_translations_app__locale__settings__bn.xtb |  11 +
 ...ings_translations_app__locale__settings__ja.xtb |  11 +
 ...ings_translations_app__locale__settings__ko.xtb |  11 +
 ...ings_translations_app__locale__settings__ml.xtb |  11 +
 ...ings_translations_app__locale__settings__th.xtb |  11 +
 ...s_translations_app__locale__settings__zh-CN.xtb |  11 +
 ...s_translations_app__locale__settings__zh-TW.xtb |  11 +
 ..._chromium_ui_views_controls_prefix__selector.cc |  11 +
 ...y_chromium_ui_views_controls_prefix__selector.h |  11 +
 ...romium_ui_views_controls_textfield_textfield.cc |  64 ++++
 ...hromium_ui_views_controls_textfield_textfield.h |  11 +
 ...party_chromium_ui_views_corewm_tooltip__aura.cc |  11 +
 ...y_chromium_ui_views_examples_widget__example.cc |  11 +
 ...party_chromium_ui_views_focus_focus__manager.cc |  20 +
 ...dparty_chromium_ui_views_linux__ui_linux__ui.cc |  11 +
 ...rdparty_chromium_ui_views_linux__ui_linux__ui.h |  20 +
 ...arty_chromium_ui_views_style_platform__style.cc |  20 +
 ..._ui__controls__factory__desktop__aura__ozone.cc |  20 +
 ...c_3rdparty_chromium_ui_views_views__delegate.cc |  11 +
 ...rc_3rdparty_chromium_ui_views_views__delegate.h |  11 +
 ..._widget_desktop__aura_desktop__screen__ozone.cc |  11 +
 ...__aura_desktop__window__tree__host__platform.cc |  11 +
 ...hromium_ui_views_widget_native__widget__aura.cc |  29 ++
 ...src_3rdparty_chromium_ui_views_widget_widget.cc |  20 +
 ...chromium_ui_views_window_custom__frame__view.cc |  11 +
 ...ty_chromium_ui_views_window_dialog__delegate.cc |  11 +
 ...y_chromium_ui_views_window_frame__background.cc |  11 +
 ...c_3rdparty_chromium_ui_webui_resources_js_cr.js |  14 +
 .../files/patch-src_3rdparty_chromium_v8_BUILD.gn  |  45 +++
 ...tch-src_3rdparty_chromium_v8_include_v8config.h |  37 ++
 .../patch-src_3rdparty_chromium_v8_src_api_api.cc  |  20 +
 ...h-src_3rdparty_chromium_v8_src_base_atomicops.h |  33 ++
 ...romium_v8_src_base_platform_platform-freebsd.cc |  32 ++
 ...romium_v8_src_base_platform_platform-openbsd.cc |  28 ++
 ...chromium_v8_src_base_platform_platform-posix.cc |  53 +++
 ...h-src_3rdparty_chromium_v8_src_base_sys-info.cc |  11 +
 ...piler_backend_ia32_instruction-selector-ia32.cc |  20 +
 ...rdparty_chromium_v8_src_diagnostics_perf-jit.cc |  11 +
 ...3rdparty_chromium_v8_src_diagnostics_perf-jit.h |  11 +
 ...ium_v8_src_trap-handler_handler-inside-posix.cc |  26 ++
 ...mium_v8_src_trap-handler_handler-inside-posix.h |  11 +
 ...rty_chromium_v8_src_trap-handler_trap-handler.h |  11 +
 ...src_wasm_baseline_ia32_liftoff-assembler-ia32.h | 101 +++++
 .../patch-src_3rdparty_chromium_v8_tools_run.py    |  11 +
 ...c_3rdparty_gn_build_build__linux.ninja.template |  11 +
 .../files/patch-src_3rdparty_gn_build_gen.py       |  34 ++
 ...h-src_3rdparty_gn_src_base_files_file__posix.cc |  11 +
 .../files/patch-src_3rdparty_gn_src_gn_version.h   |  15 +
 .../patch-src_3rdparty_gn_src_util_exe__path.cc    |  90 +++++
 .../files/patch-src_core_CMakeLists.txt            |  37 ++
 .../files/patch-src_core_api_configure.cmake       |  33 ++
 .../files/patch-src_core_api_qt__cmdline.cmake     |  11 +
 .../files/patch-src_core_configure.json            |  56 +++
 .../files/patch-src_host_BUILD.toolchain.gn.in     |  13 +
 .../files/patch-src_pdf_CMakeLists.txt             |  20 +
 www/qt6-webengine/pkg-descr                        |   8 +
 www/qt6-webengine/pkg-plist                        | 411 ++++++++++++++++++++
 615 files changed, 17005 insertions(+), 5 deletions(-)

diff --git a/Mk/Uses/qt-dist.mk b/Mk/Uses/qt-dist.mk
index 61d215ae0fd9..c8cf63ef5bae 100644
--- a/Mk/Uses/qt-dist.mk
+++ b/Mk/Uses/qt-dist.mk
@@ -24,9 +24,9 @@ qmake_ARGS?=	# empty
 _COMMON_DISTS=		3d base charts datavis3d declarative imageformats multimedia \
 			networkauth quick3d quicktimeline remoteobjects scxml sensors \
 			serialbus serialport svg tools translations virtualkeyboard \
-			wayland webchannel websockets
+			wayland webchannel webengine websockets
 _QT5_DISTS=		connectivity gamepad graphicaleffects location quickcontrols \
-			quickcontrols2 script speech webengine webglplugin webview \
+			quickcontrols2 script speech webglplugin webview \
 			x11extras xmlpatterns
 _QT6_DISTS=		5compat doc languageserver lottie positioning shadertools
 
diff --git a/Mk/Uses/qt.mk b/Mk/Uses/qt.mk
index da49ce7bbf4c..79429a8fb583 100644
--- a/Mk/Uses/qt.mk
+++ b/Mk/Uses/qt.mk
@@ -133,7 +133,7 @@ _QT_MK_POST_INCLUDED=	qt.mk
 _USE_QT_COMMON=		3d charts datavis3d declarative doc imageformats multimedia \
 			networkauth quick3d quicktimeline remoteobjects scxml \
 			sensors serialbus serialport svg virtualkeyboard wayland \
-			webchannel websockets
+			webchannel webengine websockets
 
 _USE_QT5_ONLY=		assistant buildtools concurrent connectivity core dbus \
 			declarative-test designer diag examples gamepad \
@@ -142,7 +142,7 @@ _USE_QT5_ONLY=		assistant buildtools concurrent connectivity core dbus \
 			qdbus qdbusviewer qdoc qdoc-data qev qmake quickcontrols \
 			quickcontrols2 script scripttools speech sql sql-mysql sql-odbc \
 			sql-pgsql sql-sqlite2 sql-sqlite3 sql-tds testlib uiplugin \
-			uitools webengine webglplugin webkit websockets-qml webview \
+			uitools webglplugin webkit websockets-qml webview \
 			widgets x11extras xml xmlpatterns
 .  if ${ARCH} == amd64 || ${ARCH} == i386
 _USE_QT5_ONLY+=		sql-ibase
@@ -365,7 +365,7 @@ qt-webchannel_PORT=	www/${_QT_RELNAME}-webchannel
 qt-webchannel_LIB=	libQt${_QT_LIBVER}WebChannel.so
 
 qt-webengine_PORT=	www/${_QT_RELNAME}-webengine
-qt-webengine_LIB=	libQt${_QT_LIBVER}WebEngine.so
+qt-webengine_LIB=	libQt${_QT_LIBVER}WebEngineCore.so
 
 qt-webglplugin_PORT=     www/${_QT_RELNAME}-webglplugin
 qt-webglplugin_PATH=     ${LOCALBASE}/${QT_PLUGINDIR_REL}/platforms/libqwebgl.so
diff --git a/www/Makefile b/www/Makefile
index fe7e8b59e24e..53d93bb8d57d 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1816,6 +1816,7 @@
     SUBDIR += qt5-websockets-qml
     SUBDIR += qt5-webview
     SUBDIR += qt6-webchannel
+    SUBDIR += qt6-webengine
     SUBDIR += qt6-websockets
     SUBDIR += quark
     SUBDIR += qutebrowser
diff --git a/www/qt6-webengine/Makefile b/www/qt6-webengine/Makefile
new file mode 100644
index 000000000000..b9a0e87c6be4
--- /dev/null
+++ b/www/qt6-webengine/Makefile
@@ -0,0 +1,142 @@
+# 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}
+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 \
+		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
+
+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 <bsd.port.pre.mk>
+
+.if ${ARCH} == i386
+EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-i386-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
+
+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 <bsd.port.post.mk>
diff --git a/www/qt6-webengine/distinfo b/www/qt6-webengine/distinfo
new file mode 100644
index 000000000000..f6a54f0fbaf2
--- /dev/null
+++ b/www/qt6-webengine/distinfo
@@ -0,0 +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
diff --git a/www/qt6-webengine/files/extra-patch-i386-compress_files_js b/www/qt6-webengine/files/extra-patch-i386-compress_files_js
new file mode 100644
index 000000000000..80ea9a241cf1
--- /dev/null
+++ b/www/qt6-webengine/files/extra-patch-i386-compress_files_js
@@ -0,0 +1,14 @@
+Reduce Brotli compression on i386 to have more memory available. Otherwise,
+node.js stops with either SIGSEGV or SIGABRT after ~530 processed files.
+
+--- src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/compress_files.js.orig	2023-01-10 09:16:05 UTC
++++ src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/compress_files.js
+@@ -52,7 +52,7 @@ async function brotli(sourceData, compressedFilename) 
+   output.write(Buffer.from(brotliConst));
+   output.write(Buffer.from(sizeHeader));
+   return new Promise((resolve, reject) => {
+-    pipeline(Readable.from(sourceData), zlib.createBrotliCompress(), output, err => {
++    pipeline(Readable.from(sourceData), zlib.createBrotliCompress({ params: { [zlib.constants.BROTLI_PARAM_QUALITY]: 5 } }), output, err => {
+       return err ? reject(err) : resolve();
+     });
+   });
diff --git a/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm b/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm
new file mode 100644
index 000000000000..b9b39c0d846a
--- /dev/null
+++ b/www/qt6-webengine/files/extra-patch-no-mempcpy-nasm
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/nasm/config/config-linux.h.orig	2022-06-08 06:40:31 UTC
++++ src/3rdparty/chromium/third_party/nasm/config/config-linux.h
+@@ -336,7 +336,7 @@
+ #define HAVE_MEMORY_H 1
+ 
+ /* Define to 1 if you have the `mempcpy' function. */
+-#define HAVE_MEMPCPY 1
++/* #undef HAVE_MEMPCPY */
+ 
+ /* Define to 1 if you have a working `mmap' system call. */
+ #define HAVE_MMAP 1
diff --git a/www/qt6-webengine/files/patch-CMakeLists.txt b/www/qt6-webengine/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..bf0b352933df
--- /dev/null
+++ b/www/qt6-webengine/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+Set the actual version of www/qt6-webengine, otherwise the version of qt6-base,
+which is present in the ports tree, would be assumed and used during
+compilation.
+
+--- CMakeLists.txt.orig	2023-01-06 21:06:32 UTC
++++ CMakeLists.txt
+@@ -12,7 +12,7 @@ project(QtWebEngine
+ find_package(Qt6 6.2 CONFIG REQUIRED COMPONENTS BuildInternals Core)
+ 
+ project(QtWebEngine
+-    VERSION ${Qt6Core_VERSION}
++    VERSION %%DISTVERSION%%
+     DESCRIPTION "QtWebEngine and QtPdf modules"
+     HOMEPAGE_URL "https://qt.io/"
+     LANGUAGES CXX C
diff --git a/www/qt6-webengine/files/patch-cmake_Functions.cmake b/www/qt6-webengine/files/patch-cmake_Functions.cmake
new file mode 100644
index 000000000000..a517ad1cb479
--- /dev/null
+++ b/www/qt6-webengine/files/patch-cmake_Functions.cmake
@@ -0,0 +1,104 @@
+--- cmake/Functions.cmake.orig	2022-11-08 21:18:48 UTC
++++ cmake/Functions.cmake
+@@ -429,7 +429,7 @@ function(add_linker_options target buildDir completeSt
+     set(archives_rsp "${buildDir}/${ninjaTarget}_archives.rsp")
+     set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp")
+     set_target_properties(${cmakeTarget} PROPERTIES STATIC_LIBRARY_OPTIONS "@${objects_rsp}")
+-    if(LINUX)
++    if(LINUX OR FREEBSD)
+          get_gn_arch(cpu ${TEST_architecture_arch})
+          if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm" AND ${config} STREQUAL "Debug")
+              target_link_options(${cmakeTarget} PRIVATE "LINKER:--long-plt")
+@@ -667,6 +667,8 @@ function(get_gn_os result)
+         set(${result} "mac" PARENT_SCOPE)
+     elseif(IOS)
+         set(${result} "ios" PARENT_SCOPE)
++    elseif(FREEBSD)
++        set(${result} "freebsd" PARENT_SCOPE)
+     else()
+         message(DEBUG "Unrecognized OS")
+     endif()
+@@ -854,7 +856,7 @@ macro(append_build_type_setup)
+ 
+     extend_gn_list(gnArgArg
+         ARGS enable_precompiled_headers
+-        CONDITION BUILD_WITH_PCH AND NOT LINUX
++	CONDITION BUILD_WITH_PCH AND NOT (LINUX OR FREEBSD)
+     )
+     extend_gn_list(gnArgArg
+         ARGS dcheck_always_on
+@@ -902,7 +904,7 @@ macro(append_compiler_linker_sdk_setup)
+                 use_libcxx=true
+             )
+         endif()
+-        if(DEFINED QT_FEATURE_stdlib_libcpp AND LINUX)
++	if(DEFINED QT_FEATURE_stdlib_libcpp AND (LINUX OR FREEBSD))
+             extend_gn_list(gnArgArg ARGS use_libcxx
+                 CONDITION QT_FEATURE_stdlib_libcpp
+             )
+@@ -930,7 +932,7 @@ macro(append_compiler_linker_sdk_setup)
+         )
+     endif()
+     get_gn_arch(cpu ${TEST_architecture_arch})
+-    if(LINUX AND CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm")
++    if((LINUX OR FREEBSD) AND CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm")
+ 
+         extend_gn_list_cflag(gnArgArg
+             ARG arm_tune
+@@ -997,7 +999,7 @@ macro(append_toolchain_setup)
+ endmacro()
+ 
*** 20400 LINES SKIPPED ***