aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2024-04-30 06:06:40 +0000
committerJason E. Hale <jhale@FreeBSD.org>2024-05-15 18:17:21 +0000
commite9e492928dcabac2ea33440bbedd94380778553f (patch)
tree4c48f8afd78717321640dcae8001dea9f8eaebd6
parent00df0b905b306cae9da68e165eea5e658a2f755f (diff)
downloadports-e9e492928dcabac2ea33440bbedd94380778553f.tar.gz
ports-e9e492928dcabac2ea33440bbedd94380778553f.zip
Qt6: Update to 6.7.0
Qt 6.7 is out with lots of large and small improvements for all of us who like to have fun when building modern applications and user experiences, focusing on the expansion of supported platforms and industry standards. This makes code written with Qt more sustainable and brings more value in Qt as a long-term investment. www/qt6-webengine is now based on Chromium version 118.0.5993.220. Announcement: https://www.qt.io/blog/qt-6.7-released Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.7.0/release-note.md PySide6: Update to 6.7.0 PySide6 and its related components have been updated alongside the Qt release for compatibility. Older versions will not build with Qt 6.7.x. Announcement: https://www.qt.io/blog/qt-for-python-release-6.7 PyQt6: Update to 6.7.0 Minor Makefile cleanups and simplification of MASTER_SITES in pyqt.mk. As with PySide6, older versions of PyQt6 will not build with Qt 6.7.x. Announcement: https://www.riverbankcomputing.com/news/PyQt_v6.7.0_Released PR: 278658 Exp-run by: antoine MFH: 2024Q2 Security: e79cc4e2-12d7-11ef-83d8-4ccc6adda413, c6f03ea6-12de-11ef-83d8-4ccc6adda413 (cherry picked from commit bef8e408ff183386912e86b7c9aee21923d37a6f)
-rw-r--r--Mk/Uses/pyqt.mk56
-rw-r--r--Mk/Uses/qt-dist.mk4
-rw-r--r--Mk/Uses/qt.mk13
-rw-r--r--accessibility/qt6-speech/distinfo6
-rw-r--r--comms/qt6-connectivity/distinfo6
-rw-r--r--comms/qt6-sensors/distinfo6
-rw-r--r--comms/qt6-serialbus/distinfo6
-rw-r--r--comms/qt6-serialport/distinfo6
-rw-r--r--databases/qt6-base_sqldriver/distinfo6
-rw-r--r--devel/py-qt6-pyqt/Makefile7
-rw-r--r--devel/py-qt6-pyqt/distinfo6
-rw-r--r--devel/py-qt6-pyqt/pkg-descr10
-rw-r--r--devel/py-qt6-pyqt/pkg-plist10
-rw-r--r--devel/pyside6-tools/Makefile9
-rw-r--r--devel/pyside6-tools/distinfo6
-rw-r--r--devel/pyside6-tools/pkg-plist3
-rw-r--r--devel/pyside6/Makefile15
-rw-r--r--devel/pyside6/distinfo8
-rw-r--r--devel/pyside6/files/patch-sources_pyside6_cmake_Macros_PySideModules.cmake (renamed from devel/pyside6/files/patch-cmake_Macros_PySideModules.cmake)4
-rw-r--r--devel/pyside6/pkg-plist11
-rw-r--r--devel/qt6-5compat/distinfo6
-rw-r--r--devel/qt6-base/Makefile4
-rw-r--r--devel/qt6-base/distinfo8
-rw-r--r--devel/qt6-base/files/patch-cmake_QtBuildPathsHelpers.cmake2
-rw-r--r--devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake4
-rw-r--r--devel/qt6-base/files/patch-src_corelib_global_qcompare.h37
-rw-r--r--devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h49
-rw-r--r--devel/qt6-base/files/patch-src_corelib_global_qcompilerdetection.h18
-rw-r--r--devel/qt6-base/files/patch-src_corelib_tools_qspan.h15
-rw-r--r--devel/qt6-base/files/patch-src_platformsupport_input_evdevtouch_qevdevtouchhandler.cpp4
-rw-r--r--devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslcontext__openssl.cpp6
-rw-r--r--devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslsocket__openssl__symbols__p.h10
-rw-r--r--devel/qt6-base/pkg-plist48
-rw-r--r--devel/qt6-languageserver/distinfo6
-rw-r--r--devel/qt6-location/distinfo6
-rw-r--r--devel/qt6-location/pkg-plist1
-rw-r--r--devel/qt6-positioning/distinfo6
-rw-r--r--devel/qt6-remoteobjects/distinfo6
-rw-r--r--devel/qt6-scxml/distinfo6
-rw-r--r--devel/qt6-tools/distinfo6
-rw-r--r--devel/qt6-tools/pkg-plist43
-rw-r--r--devel/qt6-translations/distinfo6
-rw-r--r--devel/shiboken6/Makefile16
-rw-r--r--devel/shiboken6/distinfo6
-rw-r--r--devel/shiboken6/files/patch-cmake_ShibokenHelpers.cmake4
-rw-r--r--devel/shiboken6/files/patch-data_shiboken6.pc.in4
-rw-r--r--devel/shiboken6/files/patch-libshiboken_signature_signature__globals.cpp29
-rw-r--r--devel/shiboken6/pkg-plist4
-rw-r--r--graphics/py-qt6-3d/Makefile3
-rw-r--r--graphics/py-qt6-3d/distinfo6
-rw-r--r--graphics/qt6-3d/distinfo6
-rw-r--r--graphics/qt6-imageformats/distinfo6
-rw-r--r--graphics/qt6-lottie/distinfo6
-rw-r--r--graphics/qt6-quickeffectmaker/distinfo6
-rw-r--r--graphics/qt6-svg/distinfo6
-rw-r--r--graphics/qt6-svg/pkg-plist3
-rw-r--r--graphics/qt6-wayland/distinfo6
-rw-r--r--graphics/qt6-wayland/pkg-plist17
-rw-r--r--misc/qt6-doc/distinfo6
-rw-r--r--misc/qt6-doc/pkg-plist14
-rw-r--r--misc/qt6-examples/Makefile2
-rw-r--r--misc/qt6-examples/distinfo6
-rw-r--r--misc/qt6-examples/pkg-plist1465
-rw-r--r--multimedia/qt6-multimedia/Makefile3
-rw-r--r--multimedia/qt6-multimedia/distinfo8
-rw-r--r--multimedia/qt6-multimedia/pkg-plist6
-rw-r--r--net/py-qt6-networkauth/Makefile5
-rw-r--r--net/py-qt6-networkauth/distinfo6
-rw-r--r--net/qt6-coap/distinfo6
-rw-r--r--net/qt6-networkauth/distinfo6
-rw-r--r--science/qt6-quick3dphysics/distinfo6
-rw-r--r--www/py-qt6-webengine/Makefile2
-rw-r--r--www/py-qt6-webengine/distinfo6
-rw-r--r--www/py-qt6-webengine/pkg-plist2
-rw-r--r--www/qt6-httpserver/distinfo6
-rw-r--r--www/qt6-webchannel/distinfo6
-rw-r--r--www/qt6-webengine/Makefile20
-rw-r--r--www/qt6-webengine/distinfo6
-rw-r--r--www/qt6-webengine/files/patch-cmake_Functions.cmake27
-rw-r--r--www/qt6-webengine/files/patch-configure.cmake14
-rw-r--r--www/qt6-webengine/files/patch-security-rollup6033
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn63
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn103
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_dispatcher_tls.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_address__space__randomization.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__constants.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_page__allocator__internals__posix.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__address__space.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.gni14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h32
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_debug_stack__trace__posix.cc34
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__config.h8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__constants.h15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__forward.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page__constants.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__root.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_spinning__mutex.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_starscan_stack_stack.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_base__switches.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_compiler__specific.h35
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc52
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_files_file__util__posix.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_madv__free__discardable__memory__posix.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_platform__shared__memory__region.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_launch.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__openbsd.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__metrics__posix.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_process_process__posix.cc33
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_module__cache.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__sampling__profiler__test__util.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_rand__util.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info__posix.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_test_test__file__util__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_hang__watcher.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__bsd.cc34
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__internal__posix.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc84
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__posix.cc28
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_trace__log.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILD.gn25
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILDCONFIG.gn2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn49
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_BUILD.gn19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_freetype_freetype.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_pkg-config.py4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_ozone.gni4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_toolchain.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_base_features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_app__management__strings.grdp11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd38
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd92
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd38
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_profiles__strings.grdp11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_settings__strings.grdp35
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_chrome__unscaled__resources.grd29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_theme__resources.grd59
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_BUILD.gn16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_BUILD.gn13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc38
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_settings__private_prefs__util.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_tabs_tabs__api.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webstore__private_webstore__private__api.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_gcm__profile__service__factory.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_router_discovery_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_capture__policy__utils.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_chrome__screen__enumerator.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__event__log__uploader.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__log__uploader.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.cc115
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_browser__prefs.cc69
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_pref__service__incognito__allowlist.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_print__backend__service__manager.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_printer__query.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_sandbox__internals_sandbox__internals.ts29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_signin__shared.css11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_about__ui.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_app__home_app__home__page__handler.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc92
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.cc53
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.h37
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_ntp_app__launcher__handler.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_realbox_realbox__handler.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_appearance__handler.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc65
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info.h18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info__posix.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.cc83
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.h45
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc84
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths__internal.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.cc19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.h17
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_extensions_permissions_chrome__permission__message__rules.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__host__file__path.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__registration.cc52
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_component__widevine__cdm__hint__file__linux.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_pref__names.h82
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_webui__url__constants.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_renderer_chrome__render__frame__observer.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome__launcher.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome_chrome__finder.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill__payments__strings.grdp4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_contact__info__sync__util.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_personal__data__manager.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_webdata_autofill__sync__bridge__util.cc22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__payments__features.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__util.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_commerce__strings.grdp11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__chromium__strings.grd4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__google__chrome__strings.grd4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_BUILD.gn10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_chrome__crashpad__handler.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc26
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_common_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_mock__signals__aggregator.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_system__signals_platform__delegate.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_embedder__support_user__agent__utils.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__configurations.cc21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.cc21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.h21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.cc21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.h40
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_proto_v2_wire_version.proto13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_v2_proto__util.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_flags__ui_flags__state.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_guarded__page__allocator__posix.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_gwp__asan.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_crash__handler_crash__analyzer.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_management__strings.grdp11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_media__router_common_providers_cast_channel_cast__message__util.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_drive__metrics__provider__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_metrics__log.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_network__session__configurator_browser_network__session__configurator.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_optimization__guide__util.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_tflite__model__executor.h62
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_keyring__util__linux.cc17
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_sync_libsecret__util__linux.cc27
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_sync_os__crypt.h (renamed from www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h)4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_browser_paint__preview__client.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_player_player__compositor__delegate.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_features_password__features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_sync_password__sync__bridge.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.h21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_performance__manager_public_features.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_permissions_prediction__service_prediction__common.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_browser_policy__pref__mapping__test.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__client.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__util.cc55
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__loader__common.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__paths.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_tools_generate__policy__source.py14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_energy__metrics__provider.cc21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_content_resources_gen__file__type__proto.py20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_screen__ai__library__wrapper.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_startup__metric__utils_common_startup__metric__utils.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_storage__monitor_BUILD.gn2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.cc39
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.h21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_supervised__user__service.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util__linux.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_update__client_update__query__params.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_url__formatter_spoof__checks_idn__spoof__checker.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_user__education_views_help__bubble__view.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_google__groups__updater__service.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_variations__service.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_common_gpu_dawn__context__provider.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_host_renderer__settings__creation.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl__on__gpu.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display_skia__renderer.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_app_content__main__runner__impl.cc83
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__child__process__host__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_devtools_protocol_system__info__handler.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_file__system__access_file__system__access__local__path__watcher.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__memory__buffer__manager__singleton.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__process__host.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__keys__listener__manager__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_network__service__instance__impl.cc19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_back__forward__cache__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_delegated__frame__host.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_media_service__video__capture__device__launcher.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.cc39
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__process__host__impl.h31
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__view__host__impl.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__aura.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__event__handler.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_sandbox__host__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_scheduler_responsiveness_jank__monitor__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_service__worker_service__worker__context__wrapper.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc56
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__sandbox__delegate.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_web__contents_web__contents__view__aura.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_web__ui__main__frame__observer.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_zygote__host_zygote__host__impl__linux.cc27
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_child_child__process.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_BUILD.gn6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_zygote_sandbox__support__linux.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__main.cc37
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.cc72
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.h19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc70
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.h18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__plugin__main.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_render__process__host.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__features.h8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__switches.h8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__process__impl.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.cc17
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__blink__platform__impl.h22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_shell_app_shell__main__delegate.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_test_BUILD.gn6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_services.cc28
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_speech_speech__recognition__sandbox__hook__linux.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.h17
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__main.cc40
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_content_zygote_zygote__main__linux.cc28
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_bluetooth__adapter.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_api__browser__context__keyed__service__factories.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_messaging_message__service.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_networking__private_networking__private__delegate__factory.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_extension__prefs.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api___permission__features.json12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_api_runtime.json16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_features_feature.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_google__apis_gcm_engine_heartbeat__manager.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_dawn__context__provider.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_gles2__cmd__decoder.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__factory.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__manager.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_webgpu__decoder__impl.cc23
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__control__list.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_config_gpu__finch__features.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc33
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_generate__bindings.py4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_semaphore__handle.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__device__queue.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__image.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__util.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__browser__main__parts__posix.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__web__contents__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__message__utils.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__input__device.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_sndio__input.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_cdm__promise__adapter.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc46
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.h22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_video__frame.h14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_fake__video__capture__device__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.cc123
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2__capture__delegate.h40
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__factory__v4l2.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__tracker__factory__impl.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__device__client.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_cdm_library__cdm_cdm__paths.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_buffer__validation.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_video__decoder__pipeline.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_gpu__video__encode__accelerator__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__video__decoder.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__wrapper.cc56
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_media__options.gni6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_gpu__memory__buffer__video__frame__pool.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_video__encode__accelerator__adapter__test.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_embedder_features.h8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_public_tools_bindings_mojom.gni4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn31
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__passive.cc (renamed from www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier__posix.cc)8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verifier.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_cert__verify__proc.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_pki_general__names.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__info.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__gssapi__posix.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__handler__negotiate.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__config__service__linux.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_tcp__socket__posix.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_socket_udp__socket__posix.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__comparision__tool.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_tools_cert__verify__tool_cert__verify__tool.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_pdf_pdfium_pdfium__engine.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__helper.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__ipp__helper.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.cc19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_mojom_printing__context__mojom__traits.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.h23
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings__conversion.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_printing__context__linux.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_BUILD.gn2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_services_libc__interceptor.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_features.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.h2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_mojom_sandbox.mojom8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.cc157
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox__type.cc26
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_switches.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_cert__verifier_cert__verifier__creation.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_compute__pressure_cpu__probe.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_geolocation_location__arbitrator.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_hid_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_cpp_generic__sensor_sensor__reading.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_mojom_BUILD.gn6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__device__enumerator.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__io__handler__posix.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_time__zone__monitor_time__zone__monitor__linux.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_usb_BUILD.gn8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.cc45
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_mojom_BUILD.gn25
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_shared__dictionary_shared__dictionary__writer__in__memory.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.cc38
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.h29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_SkMemory__new__handler.cpp4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_skcolorspace__trfn.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_config.h18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_raw__logging.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_sysinfo.cc61
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_platform__helpers.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_vulkan_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_gpu__info__util_SystemInfo__internal.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_formatutils.cpp4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_third__party_volk_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_util_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_privacy__budget_active__sampling.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_platform_platform.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_exported_web__view__impl.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_frame_web__frame__test.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_inspector_inspector__memory__agent.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_ng_layout__ng__view.cc (renamed from www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_layout_layout__view.cc)14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_paint_paint__layer.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_canvas_canvas2d_canvas__style.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_features.gni12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgpu_gpu__queue.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.h14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__description.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__palette.h28
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__platform__data.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_palette__interpolation.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_begin__frame__provider.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json525
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_scheduler_common_thread.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_video__capture_video__capture__impl.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.generated.gni18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.gn11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_chacha_asm_chacha-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_aes128gcmsiv-x86__64.pl19
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_chacha20__poly1305__x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c60
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_aesni-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_vpaes-x86__64.pl10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_bn_asm_x86__64-mont5.pl16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_ec_asm_p256-x86__64-asm.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-ssse3-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_rand_internal.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha1-x86__64.pl18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha512-x86__64.pl30
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_rand__extra_arc4random.c36
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_refcount__c11.c12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_base.h14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_thread.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_util_generate__build__files.py10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_cpuinfo_cpuinfo.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_build_crashpad__buildconfig.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_BUILD.gn16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_crashpad__client__posix.cc43
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_address__types.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_capture__context.h22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_metrics.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_uuid.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_close__multiple.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_drop__privileges.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_signals.cc33
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_BUILD.gn10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_build__ffmpeg.py121
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_robo__lib_config.py53
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_configure10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_cabac.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_fft.asm108
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_cpu.c14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_random__seed.c14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_x86_x86inc.asm23
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_include_config.h89
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_src_src_fccompat.c13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c39
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libsync_src_sync.c12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_BUILD.gn52
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_core.c11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_os_threads__posix.c24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_linux_config.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_src_dict.c41
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_lzma__sdk_C_CpuArch.c44
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_BUILD.gn13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc32
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc29
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_material__color__utilities_src_cpp_palettes_tones.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_node_node.py11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_cfx__fontmapper.cpp2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_pdfium.gni14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_compiler__specific.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h (renamed from www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_track__event__legacy.h)6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_ipc_memfd.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_track.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_core_SkCpu.cpp69
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_sqlite_src_amalgamation_sqlite3.c6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Reactor_Debug.cpp11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Configurator.cpp12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Linux_MemFd.cpp37
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_WSI_libXCB.cpp20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_BUILD.gn15
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_fontconfig__util__linux.cc27
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h (renamed from www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h)12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan__memory__allocator_include_vk__mem__alloc.h2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_wayland_BUILD.gn14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_audio__device_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_net__test__helpers.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.h14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_widevine_cdm_widevine.gni11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c50
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_json__schema__compiler_feature__compiler.py4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_licenses_licenses.py4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_protoc__wrapper_protoc__wrapper.py4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_clipboard_clipboard__constants.h2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__factory.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_text__input__client.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_resource__bundle.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.h16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_webui_web__ui__util.cc13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__loader.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_color_color__id.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_devices_x11_device__data__manager__x11.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_event.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_gesture__detection_motion__event__generic.h10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_BUILD.gn4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_png__codec.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_font__list.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_client__native__pixmap__dmabuf.cc25
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_dmabuf__uapi.h36
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__pixmap__handle.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__widget__types.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_x_xlib__support.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_BUILD.gn10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__context.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__fence.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__implementation.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__switches.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__ui.cc22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_printing_print__dialog__gtk.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme__base.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_common_features.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_headless_vulkan__implementation__headless.cc22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.cc44
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.h33
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_ozone__platform__wayland.cc24
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_ozone__platform__x11.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_ozone__platform.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_corewm_tooltip__aura.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_focus_focus__manager.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc2
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc10
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_dialog__delegate.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_frame__background.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_BUILD.gn21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_include_v8-internal.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_api_api.cc8
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_atomicops.h4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-openbsd.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-posix.cc18
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_baseline_x64_baseline-assembler-x64-inl.h13
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_builtins_x64_builtins-x64.cc46
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.cc42
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.h21
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.h20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_ia32_instruction-selector-ia32.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_x64_code-generator-x64.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_deoptimizer_x64_deoptimizer-x64.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_diagnostics_perf-jit.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_execution_isolate.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_flags_flags.cc36
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64-inl.h14
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64.cc16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.cc22
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.h12
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc4
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_handler-inside-posix.cc6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h6
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h30
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.cc51
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.h16
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_browser__main__parts__impl.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.h11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_system__network__context__manager.cc11
-rw-r--r--www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_common_weblayer__paths.cc20
-rw-r--r--www/qt6-webengine/files/patch-src_core_CMakeLists.txt12
-rw-r--r--www/qt6-webengine/files/patch-src_core_api_configure.cmake10
-rw-r--r--www/qt6-webengine/files/patch-src_pdf_CMakeLists.txt10
-rw-r--r--www/qt6-webengine/pkg-plist9
-rw-r--r--www/qt6-websockets/distinfo6
-rw-r--r--www/qt6-webview/distinfo6
-rw-r--r--x11-toolkits/py-qt6-chart/Makefile7
-rw-r--r--x11-toolkits/py-qt6-chart/distinfo6
-rw-r--r--x11-toolkits/py-qt6-datavis3d/Makefile3
-rw-r--r--x11-toolkits/py-qt6-datavis3d/distinfo6
-rw-r--r--x11-toolkits/qt6-charts/distinfo6
-rw-r--r--x11-toolkits/qt6-datavis3d/distinfo6
-rw-r--r--x11-toolkits/qt6-declarative/distinfo6
-rw-r--r--x11-toolkits/qt6-declarative/files/patch-src_qml_configure.cmake14
-rw-r--r--x11-toolkits/qt6-declarative/pkg-plist106
-rw-r--r--x11-toolkits/qt6-graphs/distinfo6
-rw-r--r--x11-toolkits/qt6-graphs/pkg-plist98
-rw-r--r--x11-toolkits/qt6-quick3d/distinfo6
-rw-r--r--x11-toolkits/qt6-quick3d/pkg-plist20
-rw-r--r--x11-toolkits/qt6-quicktimeline/distinfo6
-rw-r--r--x11-toolkits/qt6-quicktimeline/pkg-plist37
-rw-r--r--x11-toolkits/qt6-shadertools/distinfo6
-rw-r--r--x11-toolkits/qt6-virtualkeyboard/distinfo6
823 files changed, 16191 insertions, 3788 deletions
diff --git a/Mk/Uses/pyqt.mk b/Mk/Uses/pyqt.mk
index b197f1ffcfb5..c7f813075d74 100644
--- a/Mk/Uses/pyqt.mk
+++ b/Mk/Uses/pyqt.mk
@@ -50,28 +50,35 @@ _PYQT_VERSION= 0
PYQT_MAINTAINER= kde@FreeBSD.org
MASTER_SITE_RIVERBANK= https://www.riverbankcomputing.com/static/Downloads/%SUBDIR%/
+MASTER_SITE_RBDEV= https://www.riverbankcomputing.com/pypi/packages/%SUBDIR%/
-MASTER_SITES_SIP= https://pypi.python.org/packages/source/s/sip/
-MASTER_SITES_PYQT5= https://pypi.python.org/packages/source/P/PyQt5/
-MASTER_SITES_PYQT6= https://pypi.python.org/packages/source/P/PyQt6/
+MASTER_SITES_SIP= PYPI/source/s/sip
+MASTER_SITES_PYQT5= PYPI/source/P/PyQt5
+MASTER_SITES_PYQT6= PYPI/source/P/PyQt6 \
+ RBDEV/PyQt6
MASTER_SITES_PYQT= ${MASTER_SITES_PYQT${_PYQT_VERSION}}
-MASTER_SITES_PYQT5SIP= https://pypi.python.org/packages/source/P/PyQt5-sip/
-MASTER_SITES_PYQT6SIP= https://pypi.python.org/packages/source/P/PyQt6-sip/
+MASTER_SITES_PYQT5SIP= PYPI/source/P/PyQt5-sip
+MASTER_SITES_PYQT6SIP= PYPI/source/P/PyQt6-sip
MASTER_SITES_PYQTSIP= ${MASTER_SITES_PYQT${_PYQT_VERSION}SIP}
-MASTER_SITES_PYQT63D= https://pypi.python.org/packages/source/P/PyQt6-3D/
+MASTER_SITES_PYQT63D= PYPI/source/P/PyQt6-3D \
+ RBDEV/PyQt6-3D
MASTER_SITES_PYQT3D= ${MASTER_SITES_PYQT${_PYQT_VERSION}3D}
-MASTER_SITES_PYQT5CHART= https://pypi.python.org/packages/source/P/PyQtChart/
-MASTER_SITES_PYQT6CHART= https://pypi.python.org/packages/source/P/PyQt6-Charts/
+MASTER_SITES_PYQT5CHART= PYPI/source/P/PyQtChart
+MASTER_SITES_PYQT6CHART= PYPI/source/P/PyQt6-Charts \
+ RBDEV/PyQt6-Charts
MASTER_SITES_PYQTCHART= ${MASTER_SITES_PYQT${_PYQT_VERSION}CHART}
-MASTER_SITES_PYQT6DATAVIS3D= https://pypi.python.org/packages/source/P/PyQt6-DataVisualization/
+MASTER_SITES_PYQT6DATAVIS3D= PYPI/source/P/PyQt6-DataVisualization \
+ RBDEV/PyQt6-DataVisualization
MASTER_SITES_PYQTDATAVIS3D= ${MASTER_SITES_PYQT${_PYQT_VERSION}DATAVIS3D}
-MASTER_SITES_PYQT5NETWORKAUTH= https://pypi.python.org/packages/source/P/PyQtNetworkAuth/
-MASTER_SITES_PYQT6NETWORKAUTH= https://pypi.python.org/packages/source/P/PyQt6-NetworkAuth/
-MASTER_SITES_PYQTNETWORKAUTH= ${MASTER_SITES_PYQT${_PYQT_VERSION}NETWORKAUTH}
-MASTER_SITES_PYQTBUILDER= https://pypi.io/packages/source/P/PyQt-builder/
-MASTER_SITES_PYQT5WEBENGINE= https://pypi.python.org/packages/source/P/PyQtWebEngine/
-MASTER_SITES_PYQT6WEBENGINE= https://pypi.python.org/packages/source/P/PyQt6-WebEngine/
-MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
+MASTER_SITES_PYQT5NETWORKAUTH= PYPI/source/P/PyQtNetworkAuth
+MASTER_SITES_PYQT6NETWORKAUTH= PYPI/source/P/PyQt6-NetworkAuth \
+ RBDEV/PyQt6-NetworkAuth
+MASTER_SITES_PYQTNETWORKAUTH= ${MASTER_SITES_PYQT${_PYQT_VERSION}NETWORKAUTH}
+MASTER_SITES_PYQTBUILDER= PYPI/source/P/PyQt-builder
+MASTER_SITES_PYQT5WEBENGINE= PYPI/source/P/PyQtWebEngine
+MASTER_SITES_PYQT6WEBENGINE= PYPI/source/P/PyQt6-WebEngine \
+ RBDEV/PyQt6-WebEngine
+MASTER_SITES_PYQTWEBENGINE= ${MASTER_SITES_PYQT${_PYQT_VERSION}WEBENGINE}
#https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz
MASTER_SITES_QSCI2= RIVERBANK/QScintilla/${PORTVERSION} \
SF/pyqt/QScintilla2/QScintilla-${PORTVERSION} \
@@ -89,17 +96,19 @@ SIP_VERSION= 6.8.3 # ,1
SIP4_VERSION= 4.19.25
QSCI2_VERSION= 2.14.1
PYQT5_VERSION= 5.15.10
-PYQT6_VERSION= 6.6.1
-PYQT63D_VERSION= 6.6.0
+PYQT6_VERSION= 6.7.0
+PYQT63D_VERSION= 6.7.0
PYQT5CHART_VERSION= 5.15.6
-PYQT6CHART_VERSION= 6.6.0
-PYQT6DATAVIS3D_VERSION= 6.6.0
+PYQT6CHART_VERSION= 6.7.0
+PYQT6DATAVIS3D_VERSION= 6.7.0
PYQT5NETWORKAUTH_VERSION=5.15.5
-PYQT6NETWORKAUTH_VERSION=6.6.0
+PYQT6NETWORKAUTH_VERSION=6.7.0
PYQT5WEBENGINE_VERSION= 5.15.6
-PYQT6WEBENGINE_VERSION= 6.6.0
+PYQT6WEBENGINE_VERSION= 6.7.0
PYQT5SIP_VERSION= 12.13.0
PYQT6SIP_VERSION= 13.6.0
+# PyQt-builder >= 1.16.0 requires setuptools >= 64
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270358
PYQTBUILDER_VERSION= 1.15.4
SIP4_DISTNAME= sip-${SIP4_VERSION}
@@ -160,10 +169,9 @@ py-webengine_PATH= ${PYQT_PY_RELNAME}-webengine>=${PYQTWEBENGINE_VERSION}
# PORT
py-sip_PORT= devel/py-sip
-py-qtbuilder_PORT= devel/py-qtbuilder
py-pysip_PORT= devel/${PYQT_RELNAME}-sip
py-qscintilla2_PORT= devel/${PYQT_RELNAME}-qscintilla2
-py-positioning_PORT= devel/${PYQT_RELNAME}-positioning
+py-qtbuilder_PORT= devel/py-qtbuilder
py-pyqt5_PORT= devel/${PYQT_RELNAME}-pyqt
py-pyqt6_PORT= devel/${PYQT_RELNAME}-pyqt
py-3d_PORT= graphics/${PYQT_RELNAME}-3d
diff --git a/Mk/Uses/qt-dist.mk b/Mk/Uses/qt-dist.mk
index 9b0b4d5ee08e..8dd0f24fca47 100644
--- a/Mk/Uses/qt-dist.mk
+++ b/Mk/Uses/qt-dist.mk
@@ -83,8 +83,8 @@ _QT5_MASTER_SITES= ${MASTER_SITE_QT}
_QT5_MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
# Qt6 specific master sites
_QT6_MASTER_SITES= ${MASTER_SITE_QT}
-_QT6_MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules \
- official_releases/additional_libraries/${_QT_VERSION:R}/${_QT_VERSION}/
+_QT6_MASTER_SITE_SUBDIR= ${_QT6_RELEASE_TYPE}_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules
+
# Qt5 specific distnames
. if ${_QT_DIST} == webengine
_QT5_DISTNAME= ${_QT_DIST:S,^,qt,:S,$,-everywhere-opensource-src-${DISTVERSION},}
diff --git a/Mk/Uses/qt.mk b/Mk/Uses/qt.mk
index 1a6178b62d1b..42fb1dbba3df 100644
--- a/Mk/Uses/qt.mk
+++ b/Mk/Uses/qt.mk
@@ -23,8 +23,17 @@ _QT_MK_INCLUDED= qt.mk
# Qt versions currently supported by the framework.
_QT_SUPPORTED?= 5 6
QT5_VERSION?= 5.15.13
-QT6_VERSION?= 6.6.3
-PYSIDE6_VERSION?= 6.6.2
+QT6_VERSION?= 6.7.0
+PYSIDE6_VERSION?= 6.7.0
+
+# Support for intermediate Qt6 releases. This partially defines
+# _QT6_MASTER_SITE_SUBDIR and would probably be better in qt-dist.mk,
+# but misc/qt6-examples needs this too.
+. if ${QT6_VERSION:M*beta*} || ${QT6_VERSION:M*rc*}
+_QT6_RELEASE_TYPE= development
+. else
+_QT6_RELEASE_TYPE= official
+. endif
# We accept the Qt version to be passed by either or all of the three mk files.
. if empty(qt_ARGS) && empty(qmake_ARGS) && empty(qt-dist_ARGS)
diff --git a/accessibility/qt6-speech/distinfo b/accessibility/qt6-speech/distinfo
index ee62d89d1ec3..17cd21daf010 100644
--- a/accessibility/qt6-speech/distinfo
+++ b/accessibility/qt6-speech/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660905
-SHA256 (KDE/Qt/6.6.3/qtspeech-everywhere-src-6.6.3.tar.xz) = e628f746efb17155f89c72a34f62b0c69c21b8d8d14c7ff493933fb87ec903fa
-SIZE (KDE/Qt/6.6.3/qtspeech-everywhere-src-6.6.3.tar.xz) = 261976
+TIMESTAMP = 1712112642
+SHA256 (KDE/Qt/6.7.0/qtspeech-everywhere-src-6.7.0.tar.xz) = 44768eba837d48c2233ef12aab562acf2d3c531b489f4ec70124e2bb313d1f11
+SIZE (KDE/Qt/6.7.0/qtspeech-everywhere-src-6.7.0.tar.xz) = 261732
diff --git a/comms/qt6-connectivity/distinfo b/comms/qt6-connectivity/distinfo
index a3da86f980dc..4188bd25b5c7 100644
--- a/comms/qt6-connectivity/distinfo
+++ b/comms/qt6-connectivity/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660910
-SHA256 (KDE/Qt/6.6.3/qtconnectivity-everywhere-src-6.6.3.tar.xz) = 091aba91a0ab4081bad880b1adfd97d38b7a6ba87ba1cce3e63e20651a71d518
-SIZE (KDE/Qt/6.6.3/qtconnectivity-everywhere-src-6.6.3.tar.xz) = 1060952
+TIMESTAMP = 1712112647
+SHA256 (KDE/Qt/6.7.0/qtconnectivity-everywhere-src-6.7.0.tar.xz) = 07afd6aac19ff73c8ba1471057f43d4ef2737d6a8a772393ec907988dd71244c
+SIZE (KDE/Qt/6.7.0/qtconnectivity-everywhere-src-6.7.0.tar.xz) = 1060904
diff --git a/comms/qt6-sensors/distinfo b/comms/qt6-sensors/distinfo
index 341d4929c245..6a17740fe87b 100644
--- a/comms/qt6-sensors/distinfo
+++ b/comms/qt6-sensors/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660915
-SHA256 (KDE/Qt/6.6.3/qtsensors-everywhere-src-6.6.3.tar.xz) = b235af8042250a4212a6df400c4b7899fc2905897126bc9388f2a6122a1d3765
-SIZE (KDE/Qt/6.6.3/qtsensors-everywhere-src-6.6.3.tar.xz) = 1494016
+TIMESTAMP = 1712112654
+SHA256 (KDE/Qt/6.7.0/qtsensors-everywhere-src-6.7.0.tar.xz) = 1c3015200a30a64f760818e40794df719e068fc25179e96e88993dff38f7bcab
+SIZE (KDE/Qt/6.7.0/qtsensors-everywhere-src-6.7.0.tar.xz) = 1494212
diff --git a/comms/qt6-serialbus/distinfo b/comms/qt6-serialbus/distinfo
index 102600809de7..ee7aaa2966d0 100644
--- a/comms/qt6-serialbus/distinfo
+++ b/comms/qt6-serialbus/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660918
-SHA256 (KDE/Qt/6.6.3/qtserialbus-everywhere-src-6.6.3.tar.xz) = 143e5afcb81a2e2a92d5c0f16679295349d0b8e1ee398230a391ca5be00ad0fb
-SIZE (KDE/Qt/6.6.3/qtserialbus-everywhere-src-6.6.3.tar.xz) = 545820
+TIMESTAMP = 1712112659
+SHA256 (KDE/Qt/6.7.0/qtserialbus-everywhere-src-6.7.0.tar.xz) = 498193a9860664f8a55f676656c45af179ac13d48184af43fc58ddf795bb76dd
+SIZE (KDE/Qt/6.7.0/qtserialbus-everywhere-src-6.7.0.tar.xz) = 546788
diff --git a/comms/qt6-serialport/distinfo b/comms/qt6-serialport/distinfo
index 06ef26fbc2c0..f4f5afe8a382 100644
--- a/comms/qt6-serialport/distinfo
+++ b/comms/qt6-serialport/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660920
-SHA256 (KDE/Qt/6.6.3/qtserialport-everywhere-src-6.6.3.tar.xz) = e1656579e555da61cb81cbbb5ee6d31835cea110b3a5dd9e14b16fa71e55dc37
-SIZE (KDE/Qt/6.6.3/qtserialport-everywhere-src-6.6.3.tar.xz) = 270704
+TIMESTAMP = 1712112663
+SHA256 (KDE/Qt/6.7.0/qtserialport-everywhere-src-6.7.0.tar.xz) = b1f02a3d8c9cc8ba2ffa7cca3749f1f147d327e8dfc633fd4ec3cb770d7981c9
+SIZE (KDE/Qt/6.7.0/qtserialport-everywhere-src-6.7.0.tar.xz) = 270604
diff --git a/databases/qt6-base_sqldriver/distinfo b/databases/qt6-base_sqldriver/distinfo
index bc3c99a06a93..3000c6da2c25 100644
--- a/databases/qt6-base_sqldriver/distinfo
+++ b/databases/qt6-base_sqldriver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711660995
-SHA256 (KDE/Qt/6.6.3/qtbase-everywhere-src-6.6.3.tar.xz) = 0493fd0b380c4edf8872f011a7f26d245aa4cdd75b349904ef340a22dedf7462
-SIZE (KDE/Qt/6.6.3/qtbase-everywhere-src-6.6.3.tar.xz) = 48784716
+TIMESTAMP = 1712112752
+SHA256 (KDE/Qt/6.7.0/qtbase-everywhere-src-6.7.0.tar.xz) = 11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254
+SIZE (KDE/Qt/6.7.0/qtbase-everywhere-src-6.7.0.tar.xz) = 49314276
diff --git a/devel/py-qt6-pyqt/Makefile b/devel/py-qt6-pyqt/Makefile
index 86be00ae82a6..4df559c4e5e9 100644
--- a/devel/py-qt6-pyqt/Makefile
+++ b/devel/py-qt6-pyqt/Makefile
@@ -1,12 +1,12 @@
PORTNAME= pyqt
-PORTVERSION= ${PYQT_VERSION}
+DISTVERSION= ${PYQT_VERSION}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITES_PYQT}
PKGNAMEPREFIX= ${PYQT_PY_RELNAME}-
DISTNAME= ${PYQT_DISTNAME}
MAINTAINER= kde@FreeBSD.org
-COMMENT= Python bindings for the Qt6 toolkit, QtCore module
+COMMENT= Python bindings for the Qt6 toolkit
WWW= https://riverbankcomputing.com/software/pyqt
PYQT_DIST= yes
@@ -17,8 +17,7 @@ BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dbus>1:devel/py-dbus@${PY_FLAVOR}
USES= gl pkgconfig python pyqt:6 qt:6
-USE_GL+= gl opengl
-USE_LOCALE= C.UTF-8
+USE_GL= opengl
USE_PYTHON= concurrent flavors
USE_PYQT= pysip qtbuilder sip
USE_QT= base connectivity declarative imageformats multimedia \
diff --git a/devel/py-qt6-pyqt/distinfo b/devel/py-qt6-pyqt/distinfo
index 1d1e78af0bb2..d03553ac245f 100644
--- a/devel/py-qt6-pyqt/distinfo
+++ b/devel/py-qt6-pyqt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1701802289
-SHA256 (PyQt6-6.6.1.tar.gz) = 9f158aa29d205142c56f0f35d07784b8df0be28378d20a97bcda8bd64ffd0379
-SIZE (PyQt6-6.6.1.tar.gz) = 1043203
+TIMESTAMP = 1714270793
+SHA256 (PyQt6-6.7.0.tar.gz) = 3d31b2c59dc378ee26e16586d9469842483588142fc377280aad22aaf2fa6235
+SIZE (PyQt6-6.7.0.tar.gz) = 1050408
diff --git a/devel/py-qt6-pyqt/pkg-descr b/devel/py-qt6-pyqt/pkg-descr
index e94deea7a2c0..f9bc7673c880 100644
--- a/devel/py-qt6-pyqt/pkg-descr
+++ b/devel/py-qt6-pyqt/pkg-descr
@@ -1,2 +1,8 @@
-PyQt6 is a set of Python bindings for Qt6 application framework.
-This package provides the QtCore module.
+PyQt6 is a comprehensive set of Python bindings for Qt6. It is
+implemented as more than 35 extension modules and enables Python
+to be used as an alternative application development language to
+C++ on all supported platforms.
+
+PyQt6 may also be embedded in C++ based applications to allow users
+of those applications to configure or enhance the functionality of
+those applications.
diff --git a/devel/py-qt6-pyqt/pkg-plist b/devel/py-qt6-pyqt/pkg-plist
index 1b92e9fe76e6..741bedcd9a28 100644
--- a/devel/py-qt6-pyqt/pkg-plist
+++ b/devel/py-qt6-pyqt/pkg-plist
@@ -154,6 +154,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qlist.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qmap.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_qset.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_std_optional.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_std_pair.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qpycore_virtual_error_handler.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qrandom.sip
@@ -195,6 +196,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qtranslator.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qtransposeproxymodel.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qtversion.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qtyperevision.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qtypes.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qurl.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qurlquery.sip
@@ -205,6 +207,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qwaitcondition.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qwineventnotifier.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qxmlstream.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtCore/qyieldcpu.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtDBus/QtDBus.toml
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtDBus/QtDBusmod.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtDBus/qdbusabstractadaptor.sip
@@ -378,6 +381,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qpymultimedia_qlist.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qscreencapture.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qsoundeffect.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qtvideo.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qvideoframe.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qvideoframeformat.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtMultimedia/qvideosink.sip
@@ -397,6 +401,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qhstspolicy.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qhttp1configuration.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qhttp2configuration.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qhttpheaders.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qhttpmultipart.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qlocalserver.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtNetwork/qlocalsocket.sip
@@ -563,6 +568,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgrendernode.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgsimplerectnode.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgsimpletexturenode.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgtextnode.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgtexture.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgtexture_platform.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtQuick/qsgtexturematerial.sip
@@ -634,6 +640,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvg/QtSvgmod.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvg/qsvggenerator.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvg/qsvgrenderer.sip
+%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvg/qtsvgglobal.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvgWidgets/QtSvgWidgets.toml
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvgWidgets/QtSvgWidgetsmod.sip
%%PYTHON_SITELIBDIR%%/PyQt6/bindings/QtSvgWidgets/qgraphicssvgitem.sip
@@ -878,6 +885,8 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qscintilla%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtcharts%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtcharts%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtopenglwidgets%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtopenglwidgets%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtprintsupport%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtprintsupport%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/__pycache__/qtquickwidgets%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -887,6 +896,7 @@ bin/pyuic6
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qaxcontainer.py
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qscintilla.py
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qtcharts.py
+%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qtopenglwidgets.py
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qtprintsupport.py
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qtquickwidgets.py
%%PYTHON_SITELIBDIR%%/PyQt6/uic/widget-plugins/qtwebenginewidgets.py
diff --git a/devel/pyside6-tools/Makefile b/devel/pyside6-tools/Makefile
index d291d6e57606..ebcf57f007e9 100644
--- a/devel/pyside6-tools/Makefile
+++ b/devel/pyside6-tools/Makefile
@@ -18,15 +18,15 @@ LIB_DEPENDS= libshiboken6.abi${PYTHON_MAJOR_VER}.so:devel/shiboken6@${PY_FLAVOR}
libxkbcommon.so:x11/libxkbcommon \
libzstd.so:archivers/zstd
-USES= cmake gl llvm:lib python qt:6 shebangfix tar:xz
-USE_GL= gl
+USES= cmake gl llvm:lib,noexport python qt:6 shebangfix tar:xz
+USE_GL= opengl
USE_PYTHON= flavors
USE_QT= base declarative languageserver tools
SHEBANG_FILES= pyside_tool.py qtpy2cpp_lib/tests/baseline/basic_test.py
PLIST_SUB= PYSIDE_BINDIR_REL=${PYSIDE_BINDIR_REL}
-WRKSRC= ${WRKDIR}/pyside-setup-everywhere-src-${PYSIDE6_VERSION}/sources/pyside-tools
+WRKSRC_SUBDIR= sources/pyside-tools
PYSIDE_RELNAME= ${PORTNAME}
PYSIDE_BINDIR_REL?= bin/${PYSIDE_RELNAME}
@@ -41,6 +41,7 @@ post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}
@${MV} ${STAGEDIR}${PREFIX}/${PYSIDE_RELNAME} ${STAGEDIR}${PREFIX}/bin
# These directories contain templates that should not be byte-compiled.
+# Temporarily relocate them to avoid errors.
@${MV} ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/deploy_lib/android/recipes ${WRKDIR}
.for d in deploy_lib project qtpy2cpp_lib
@@ -52,6 +53,8 @@ post-install:
${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/${d}
.endfor
+# Move the aforementioned templates back into STAGEDIR after the byte-compiling
+# operation has finished.
@${MV} ${WRKDIR}/recipes ${STAGEDIR}${PREFIX}/${PYSIDE_BINDIR_REL}/deploy_lib/android
.include <bsd.port.mk>
diff --git a/devel/pyside6-tools/distinfo b/devel/pyside6-tools/distinfo
index 6db1494a2bdd..4698008effb1 100644
--- a/devel/pyside6-tools/distinfo
+++ b/devel/pyside6-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708228813
-SHA256 (pyside-setup-everywhere-src-6.6.2.tar.xz) = 14620b694d7af4c978443016292d3d2108ba5dc105f4170e3b71eadcaf04c9f0
-SIZE (pyside-setup-everywhere-src-6.6.2.tar.xz) = 13975896
+TIMESTAMP = 1714321552
+SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f
+SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456
diff --git a/devel/pyside6-tools/pkg-plist b/devel/pyside6-tools/pkg-plist
index 3588c387efa4..11d945b6bae8 100644
--- a/devel/pyside6-tools/pkg-plist
+++ b/devel/pyside6-tools/pkg-plist
@@ -8,6 +8,8 @@
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/commands%%PYTHON_EXT_SUFFIX%%.pyc
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/dependency_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/dependency_util%%PYTHON_EXT_SUFFIX%%.pyc
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/deploy_util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/deploy_util%%PYTHON_EXT_SUFFIX%%.pyc
%%PYSIDE_BINDIR_REL%%/deploy_lib/__pycache__/nuitka_helper%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -31,6 +33,7 @@
%%PYSIDE_BINDIR_REL%%/deploy_lib/commands.py
%%PYSIDE_BINDIR_REL%%/deploy_lib/config.py
%%PYSIDE_BINDIR_REL%%/deploy_lib/default.spec
+%%PYSIDE_BINDIR_REL%%/deploy_lib/dependency_util.py
%%PYSIDE_BINDIR_REL%%/deploy_lib/deploy_util.py
%%PYSIDE_BINDIR_REL%%/deploy_lib/nuitka_helper.py
%%PYSIDE_BINDIR_REL%%/deploy_lib/pyside_icon.icns
diff --git a/devel/pyside6/Makefile b/devel/pyside6/Makefile
index 232d6cd0cabe..28c40a7c11ec 100644
--- a/devel/pyside6/Makefile
+++ b/devel/pyside6/Makefile
@@ -5,28 +5,33 @@ MASTER_SITES= QT/official_releases/QtForPython/shiboken6/PySide6-${DISTVERSION}-
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= pyside-setup-everywhere-src-${DISTVERSION}
+PATCH_SITES= https://github.com/qtproject/pyside-pyside-setup/commit/
+PATCHFILES+= 3b2ad15ec75b082699dbde6c695c19b467eb0008.patch:-p1 # Adapt to revert of QAudio->QtAudio namespace renaming
+
MAINTAINER= kde@FreeBSD.org
COMMENT= Python Qt bindings for Qt 6
WWW= https://wiki.qt.io/Qt_for_Python
LICENSE= LGPL3
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
LIB_DEPENDS= libshiboken6.abi${PYTHON_MAJOR_VER}.so:devel/shiboken6@${PY_FLAVOR} \
libxkbcommon.so:x11/libxkbcommon
-USES= cmake gl llvm:lib python qt:6 tar:xz
-USE_GL= gl
+USES= cmake gl llvm:lib,noexport python qt:6 tar:xz
+USE_GL= opengl
USE_LDCONFIG= yes
USE_PYTHON= flavors
USE_QT= 3d base charts connectivity datavis3d declarative doc graphs \
httpserver imageformats location multimedia networkauth pdf \
positioning quick3d quicktimeline remoteobjects scxml sensors \
serialbus serialport shadertools speech svg tools translations \
- wayland webchannel websockets
+ webchannel websockets
-CMAKE_ARGS= -DPYTHON_EXECUTABLE=${PYTHON_CMD}
+CONFIGURE_ENV= LLVM_INSTALL_DIR="${LLVM_PREFIX}/lib/cmake/llvm"
-WRKSRC= ${WRKDIR}/pyside-setup-everywhere-src-${PYSIDE6_VERSION}/sources/pyside6
+PATCH_WRKSRC= ${WRKSRC:H:H}
+WRKSRC_SUBDIR= sources/pyside6
PLIST_SUB= DISTVERSION=${DISTVERSION}
.include <bsd.port.pre.mk>
diff --git a/devel/pyside6/distinfo b/devel/pyside6/distinfo
index 52d7922c624b..5c3bcc4bb142 100644
--- a/devel/pyside6/distinfo
+++ b/devel/pyside6/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1708228795
-SHA256 (pyside-setup-everywhere-src-6.6.2.tar.xz) = 14620b694d7af4c978443016292d3d2108ba5dc105f4170e3b71eadcaf04c9f0
-SIZE (pyside-setup-everywhere-src-6.6.2.tar.xz) = 13975896
+TIMESTAMP = 1714344956
+SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f
+SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456
+SHA256 (3b2ad15ec75b082699dbde6c695c19b467eb0008.patch) = 9fe5ce2d8e8fa1d90069dc9c9ccf86ef40e2fbf393c348822eea9afe697b2ec6
+SIZE (3b2ad15ec75b082699dbde6c695c19b467eb0008.patch) = 10764
diff --git a/devel/pyside6/files/patch-cmake_Macros_PySideModules.cmake b/devel/pyside6/files/patch-sources_pyside6_cmake_Macros_PySideModules.cmake
index beb57e5a20cf..ae379547d829 100644
--- a/devel/pyside6/files/patch-cmake_Macros_PySideModules.cmake
+++ b/devel/pyside6/files/patch-sources_pyside6_cmake_Macros_PySideModules.cmake
@@ -1,5 +1,5 @@
---- cmake/Macros/PySideModules.cmake.orig 2023-11-27 12:04:49 UTC
-+++ cmake/Macros/PySideModules.cmake
+--- sources/pyside6/cmake/Macros/PySideModules.cmake.orig 2023-11-27 12:04:49 UTC
++++ sources/pyside6/cmake/Macros/PySideModules.cmake
@@ -107,7 +107,7 @@ macro(create_pyside_module)
get_target_property(qt_core_includes Qt${QT_MAJOR_VERSION}::Core
INTERFACE_INCLUDE_DIRECTORIES)
diff --git a/devel/pyside6/pkg-plist b/devel/pyside6/pkg-plist
index 1d610064f5d5..7cd3b16bd011 100644
--- a/devel/pyside6/pkg-plist
+++ b/devel/pyside6/pkg-plist
@@ -8,6 +8,7 @@ include/PySide6/QtBluetooth/pyside6_qtbluetooth_python.h
include/PySide6/QtCharts/pyside6_qtcharts_python.h
include/PySide6/QtConcurrent/pyside6_qtconcurrent_python.h
include/PySide6/QtCore/pyside6_qtcore_python.h
+include/PySide6/QtCore/qiopipe.h
include/PySide6/QtCore/qtcorehelper.h
include/PySide6/QtDBus/pyside6_qtdbus_python.h
include/PySide6/QtDBus/qtdbushelper.h
@@ -38,6 +39,7 @@ include/PySide6/QtQml/pyside6_qtqml_python.h
include/PySide6/QtQuick/pyside6_qtquick_python.h
include/PySide6/QtQuick3D/pyside6_qtquick3d_python.h
include/PySide6/QtQuickControls2/pyside6_qtquickcontrols2_python.h
+include/PySide6/QtQuickTest/pyside6_qtquicktest_python.h
include/PySide6/QtQuickWidgets/pyside6_qtquickwidgets_python.h
include/PySide6/QtRemoteObjects/pyside6_qtremoteobjects_python.h
include/PySide6/QtScxml/pyside6_qtscxml_python.h
@@ -117,10 +119,10 @@ lib/cmake/PySide6Qml/PySide6QmlConfigVersion.cmake
lib/cmake/PySide6Qml/PySide6QmlTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/PySide6Qml/PySide6QmlTargets.cmake
lib/libpyside6.abi3.so
-lib/libpyside6.abi3.so.6.6
+lib/libpyside6.abi3.so.6.7
lib/libpyside6.abi3.so.%%DISTVERSION%%
lib/libpyside6qml.abi3.so
-lib/libpyside6qml.abi3.so.6.6
+lib/libpyside6qml.abi3.so.6.7
lib/libpyside6qml.abi3.so.%%DISTVERSION%%
%%PYTHON_SITELIBDIR%%/PySide6/Qt3DAnimation.abi3.so
%%PYTHON_SITELIBDIR%%/PySide6/Qt3DAnimation.pyi
@@ -201,6 +203,8 @@ lib/libpyside6qml.abi3.so.%%DISTVERSION%%
%%PYTHON_SITELIBDIR%%/PySide6/QtQuick3D.pyi
%%PYTHON_SITELIBDIR%%/PySide6/QtQuickControls2.abi3.so
%%PYTHON_SITELIBDIR%%/PySide6/QtQuickControls2.pyi
+%%PYTHON_SITELIBDIR%%/PySide6/QtQuickTest.abi3.so
+%%PYTHON_SITELIBDIR%%/PySide6/QtQuickTest.pyi
%%PYTHON_SITELIBDIR%%/PySide6/QtQuickWidgets.abi3.so
%%PYTHON_SITELIBDIR%%/PySide6/QtQuickWidgets.pyi
%%PYTHON_SITELIBDIR%%/PySide6/QtRemoteObjects.abi3.so
@@ -273,9 +277,11 @@ share/PySide6/glue/qtmultimedia.cpp
share/PySide6/glue/qtnetwork.cpp
share/PySide6/glue/qtnetworkauth.cpp
share/PySide6/glue/qtopengl.cpp
+share/PySide6/glue/qtpositioning.cpp
share/PySide6/glue/qtprintsupport.cpp
share/PySide6/glue/qtqml.cpp
share/PySide6/glue/qtquick.cpp
+share/PySide6/glue/qtquicktest.cpp
share/PySide6/glue/qtserialbus.cpp
share/PySide6/glue/qtsql.cpp
share/PySide6/glue/qtstatemachine.cpp
@@ -360,6 +366,7 @@ share/PySide6/typesystems/typesystem_qml.xml
share/PySide6/typesystems/typesystem_quick.xml
share/PySide6/typesystems/typesystem_quick3d.xml
share/PySide6/typesystems/typesystem_quickcontrols2.xml
+share/PySide6/typesystems/typesystem_quicktest.xml
share/PySide6/typesystems/typesystem_quickwidgets.xml
share/PySide6/typesystems/typesystem_remoteobjects.xml
share/PySide6/typesystems/typesystem_scxml.xml
diff --git a/devel/qt6-5compat/distinfo b/devel/qt6-5compat/distinfo
index 55282398ffde..06a74a6ace18 100644
--- a/devel/qt6-5compat/distinfo
+++ b/devel/qt6-5compat/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661020
-SHA256 (KDE/Qt/6.6.3/qt5compat-everywhere-src-6.6.3.tar.xz) = 68c2cf4e5eabfea27626fe40d088cb0dbb2c0414d3961ef132b7e06c60ceec0b
-SIZE (KDE/Qt/6.6.3/qt5compat-everywhere-src-6.6.3.tar.xz) = 14634848
+TIMESTAMP = 1712112788
+SHA256 (KDE/Qt/6.7.0/qt5compat-everywhere-src-6.7.0.tar.xz) = 9d49d4fd8345d8a40b63e0b65cd49c1d8286e33a7f1409bf1316763f654e19f5
+SIZE (KDE/Qt/6.7.0/qt5compat-everywhere-src-6.7.0.tar.xz) = 14629204
diff --git a/devel/qt6-base/Makefile b/devel/qt6-base/Makefile
index 048dc7a6f13c..d1ac58883186 100644
--- a/devel/qt6-base/Makefile
+++ b/devel/qt6-base/Makefile
@@ -3,6 +3,9 @@ DISTVERSION= ${QT6_VERSION}
CATEGORIES= devel
PKGNAMEPREFIX= qt6-
+PATCH_SITES= https://github.com/qt/qtbase/commit/
+PATCHFILES+= 7c4e1357e49baebdd2d20710fccb5604cbb36c0d.patch:-p1 # CVE-2024-33861
+
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt base (core, gui, widgets, network,...)
@@ -55,7 +58,6 @@ CMAKE_OFF+= FEATURE_sql_mysql \
SHEBANG_FILES= ${WRKSRC}/mkspecs/features/uikit/device_destinations.sh \
${WRKSRC}/mkspecs/features/uikit/devices.py \
${WRKSRC}/mkspecs/features/data/mac/objc_namespace.sh \
- ${WRKSRC}/util/android/android_emulator_launcher.sh \
${WRKSRC}/util/testrunner/qt-testrunner.py \
${WRKSRC}/util/testrunner/sanitizer-testrunner.py
USE_LDCONFIG= ${PREFIX}/${QT_LIBDIR_REL}
diff --git a/devel/qt6-base/distinfo b/devel/qt6-base/distinfo
index 356bc1c3352b..8fc9397acc46 100644
--- a/devel/qt6-base/distinfo
+++ b/devel/qt6-base/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1711661021
-SHA256 (KDE/Qt/6.6.3/qtbase-everywhere-src-6.6.3.tar.xz) = 0493fd0b380c4edf8872f011a7f26d245aa4cdd75b349904ef340a22dedf7462
-SIZE (KDE/Qt/6.6.3/qtbase-everywhere-src-6.6.3.tar.xz) = 48784716
+TIMESTAMP = 1715748396
+SHA256 (KDE/Qt/6.7.0/qtbase-everywhere-src-6.7.0.tar.xz) = 11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254
+SIZE (KDE/Qt/6.7.0/qtbase-everywhere-src-6.7.0.tar.xz) = 49314276
+SHA256 (KDE/Qt/6.7.0/7c4e1357e49baebdd2d20710fccb5604cbb36c0d.patch) = fa921cb0eb73ed23a0a5c6cfaf10da2116511b60f2e49c8c406eef516363d228
+SIZE (KDE/Qt/6.7.0/7c4e1357e49baebdd2d20710fccb5604cbb36c0d.patch) = 6164
diff --git a/devel/qt6-base/files/patch-cmake_QtBuildPathsHelpers.cmake b/devel/qt6-base/files/patch-cmake_QtBuildPathsHelpers.cmake
index 8df0968ae885..d1c33877dc66 100644
--- a/devel/qt6-base/files/patch-cmake_QtBuildPathsHelpers.cmake
+++ b/devel/qt6-base/files/patch-cmake_QtBuildPathsHelpers.cmake
@@ -1,4 +1,4 @@
---- cmake/QtBuildPathsHelpers.cmake.orig 2024-02-08 16:01:05 UTC
+--- cmake/QtBuildPathsHelpers.cmake.orig 2023-09-15 10:20:51 UTC
+++ cmake/QtBuildPathsHelpers.cmake
@@ -100,7 +100,7 @@ function(qt_internal_setup_build_and_install_paths)
if(QT_CONFIG_INSTALL_DIR)
diff --git a/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake b/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake
index a1e02bb2b362..39f338bc0a6a 100644
--- a/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake
+++ b/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake
@@ -1,6 +1,6 @@
---- cmake/QtFlagHandlingHelpers.cmake.orig 2023-11-15 13:58:42 UTC
+--- cmake/QtFlagHandlingHelpers.cmake.orig 2023-09-15 10:20:51 UTC
+++ cmake/QtFlagHandlingHelpers.cmake
-@@ -132,6 +132,10 @@ function(qt_internal_add_link_flags_no_undefined targe
+@@ -167,6 +167,10 @@ function(qt_internal_add_link_flags_no_undefined targe
set(no_undefined_flag "-Wl,--no-undefined")
endif()
diff --git a/devel/qt6-base/files/patch-src_corelib_global_qcompare.h b/devel/qt6-base/files/patch-src_corelib_global_qcompare.h
new file mode 100644
index 000000000000..dca740aacab1
--- /dev/null
+++ b/devel/qt6-base/files/patch-src_corelib_global_qcompare.h
@@ -0,0 +1,37 @@
+Also disable spurious zero as null pointer constant warnings for Clang which
+are errors in www/dooble due to -Werror being passed.
+
+--- src/corelib/global/qcompare.h.orig 2024-01-22 10:20:09 UTC
++++ src/corelib/global/qcompare.h
+@@ -195,6 +195,7 @@ class partial_ordering (private)
+
+ QT_WARNING_PUSH
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100903
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant")
+ QT_WARNING_DISABLE_GCC("-Wzero-as-null-pointer-constant")
+ friend constexpr bool is_eq (partial_ordering o) noexcept { return o == 0; }
+ friend constexpr bool is_neq (partial_ordering o) noexcept { return o != 0; }
+@@ -380,6 +381,7 @@ class weak_ordering (private)
+
+ QT_WARNING_PUSH
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100903
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant")
+ QT_WARNING_DISABLE_GCC("-Wzero-as-null-pointer-constant")
+ friend constexpr bool is_eq (weak_ordering o) noexcept { return o == 0; }
+ friend constexpr bool is_neq (weak_ordering o) noexcept { return o != 0; }
+@@ -575,6 +577,7 @@ class strong_ordering (public)
+
+ QT_WARNING_PUSH
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100903
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant")
+ QT_WARNING_DISABLE_GCC("-Wzero-as-null-pointer-constant")
+ friend constexpr bool is_eq (strong_ordering o) noexcept { return o == 0; }
+ friend constexpr bool is_neq (strong_ordering o) noexcept { return o != 0; }
+@@ -859,6 +862,7 @@ class QPartialOrdering (private)
+
+ QT_WARNING_PUSH
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100903
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant")
+ QT_WARNING_DISABLE_GCC("-Wzero-as-null-pointer-constant")
+ friend constexpr bool is_eq (QPartialOrdering o) noexcept { return o == 0; }
+ friend constexpr bool is_neq (QPartialOrdering o) noexcept { return o != 0; }
diff --git a/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h b/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h
new file mode 100644
index 000000000000..f28c5a926a13
--- /dev/null
+++ b/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h
@@ -0,0 +1,49 @@
+Suppress spurious zero as null pointer constant warnings which cause errors
+in www/dooble due to -Werror being passed. This is the same problem as in
+qcompare.h that upstream suppresses for GCC.
+
+/usr/local/include/qt6/QtCore/qfloat16.h:209:5: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
+...
+/usr/local/include/qt6/QtCore/qcomparehelpers.h:211:43: note: expanded from macro 'QT_DECLARE_ORDERING_HELPER_TEMPLATE'
+ 211 | { return compareThreeWay(lhs, rhs) >= 0; }
+
+--- src/corelib/global/qcomparehelpers.h.orig 2024-01-22 10:20:09 UTC
++++ src/corelib/global/qcomparehelpers.h
+@@ -197,6 +197,8 @@ template <typename In> constexpr auto to_Qt(In in) noe
+ { return !comparesEqual(rhs, lhs); }
+
+ #define QT_DECLARE_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr) \
++ QT_WARNING_PUSH \
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant") \
+ friend Constexpr bool operator<(LeftType const &lhs, RightType const &rhs) \
+ noexcept(noexcept(compareThreeWay(lhs, rhs))) \
+ { return compareThreeWay(lhs, rhs) < 0; } \
+@@ -208,7 +210,8 @@ template <typename In> constexpr auto to_Qt(In in) noe
+ { return compareThreeWay(lhs, rhs) <= 0; } \
+ friend Constexpr bool operator>=(LeftType const &lhs, RightType const &rhs) \
+ noexcept(noexcept(compareThreeWay(lhs, rhs))) \
+- { return compareThreeWay(lhs, rhs) >= 0; }
++ { return compareThreeWay(lhs, rhs) >= 0; } \
++ QT_WARNING_POP
+
+ #define QT_DECLARE_ORDERING_HELPER_PARTIAL(LeftType, RightType, Constexpr) \
+ QT_DECLARE_ORDERING_HELPER_TEMPLATE(Qt::partial_ordering, LeftType, RightType, Constexpr)
+@@ -225,6 +228,8 @@ template <typename In> constexpr auto to_Qt(In in) noe
+
+ // Helpers for reversed ordering, using the existing compareThreeWay() function.
+ #define QT_DECLARE_REVERSED_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr) \
++ QT_WARNING_PUSH \
++ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant") \
+ friend Constexpr bool operator<(RightType const &lhs, LeftType const &rhs) \
+ noexcept(noexcept(compareThreeWay(rhs, lhs))) \
+ { return compareThreeWay(rhs, lhs) > 0; } \
+@@ -236,7 +241,8 @@ template <typename In> constexpr auto to_Qt(In in) noe
+ { return compareThreeWay(rhs, lhs) >= 0; } \
+ friend Constexpr bool operator>=(RightType const &lhs, LeftType const &rhs) \
+ noexcept(noexcept(compareThreeWay(rhs, lhs))) \
+- { return compareThreeWay(rhs, lhs) <= 0; }
++ { return compareThreeWay(rhs, lhs) <= 0; } \
++ QT_WARNING_POP
+
+ #define QT_DECLARE_REVERSED_ORDERING_HELPER_PARTIAL(LeftType, RightType, Constexpr) \
+ QT_DECLARE_REVERSED_ORDERING_HELPER_TEMPLATE(Qt::partial_ordering, LeftType, RightType, Constexpr)
diff --git a/devel/qt6-base/files/patch-src_corelib_global_qcompilerdetection.h b/devel/qt6-base/files/patch-src_corelib_global_qcompilerdetection.h
new file mode 100644
index 000000000000..6766a7584185
--- /dev/null
+++ b/devel/qt6-base/files/patch-src_corelib_global_qcompilerdetection.h
@@ -0,0 +1,18 @@
+Suppress warnings when -pedantic is passed and using std < c++20, which could
+also be errors if -Werror is also passed as is the case with www/dooble.
+
+error: use of the 'nodiscard' attribute is a C++20 extension
+
+https://github.com/llvm/llvm-project/issues/32865
+
+--- src/corelib/global/qcompilerdetection.h.orig 2024-01-22 10:20:09 UTC
++++ src/corelib/global/qcompilerdetection.h
+@@ -964,7 +964,7 @@
+ # define Q_REQUIRED_RESULT [[nodiscard]]
+ #endif
+
+-#if __has_cpp_attribute(nodiscard) >= 201907L /* used for both P1771 and P1301... */
++#if __has_cpp_attribute(nodiscard) >= 201907L && (!defined(Q_CC_CLANG) || __cplusplus >= 201907L) /* used for both P1771 and P1301... */
+ // [[nodiscard]] constructor (P1771)
+ # ifndef Q_NODISCARD_CTOR
+ # define Q_NODISCARD_CTOR [[nodiscard]]
diff --git a/devel/qt6-base/files/patch-src_corelib_tools_qspan.h b/devel/qt6-base/files/patch-src_corelib_tools_qspan.h
new file mode 100644
index 000000000000..287d7ae418f0
--- /dev/null
+++ b/devel/qt6-base/files/patch-src_corelib_tools_qspan.h
@@ -0,0 +1,15 @@
+Fix warning which causes error in www/dooble due to -Werror being set.
+
+/usr/local/include/qt6/QtCore/qspan.h:278:5: error: '__cpp_lib_span' is not defined, evaluates to 0
+
+--- src/corelib/tools/qspan.h.orig 2024-01-22 10:20:09 UTC
++++ src/corelib/tools/qspan.h
+@@ -275,7 +275,7 @@ class QSpanBase<T, q20::dynamic_extent> : protected QS
+ : QSpanBase(other.data(), other.size())
+ {}
+
+-#if __cpp_lib_span
++#ifdef __cpp_lib_span
+ template <typename S, size_t N, if_qualification_conversion<S> = true>
+ Q_IMPLICIT constexpr QSpanBase(std::span<S, N> other) noexcept
+ : QSpanBase(other.data(), other.size())
diff --git a/devel/qt6-base/files/patch-src_platformsupport_input_evdevtouch_qevdevtouchhandler.cpp b/devel/qt6-base/files/patch-src_platformsupport_input_evdevtouch_qevdevtouchhandler.cpp
index 15331f44334e..1fae16c7af55 100644
--- a/devel/qt6-base/files/patch-src_platformsupport_input_evdevtouch_qevdevtouchhandler.cpp
+++ b/devel/qt6-base/files/patch-src_platformsupport_input_evdevtouch_qevdevtouchhandler.cpp
@@ -1,6 +1,6 @@
---- src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp.orig 2023-09-21 19:24:26 UTC
+--- src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp.orig 2023-09-15 10:20:51 UTC
+++ src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp
-@@ -17,11 +17,7 @@
+@@ -19,11 +19,7 @@
#include <mutex>
diff --git a/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslcontext__openssl.cpp b/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslcontext__openssl.cpp
index 3f0e8a5a8dc0..3f65f6206cf6 100644
--- a/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslcontext__openssl.cpp
+++ b/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslcontext__openssl.cpp
@@ -1,4 +1,4 @@
---- src/plugins/tls/openssl/qsslcontext_openssl.cpp.orig 2023-09-21 19:24:26 UTC
+--- src/plugins/tls/openssl/qsslcontext_openssl.cpp.orig 2023-09-15 10:20:51 UTC
+++ src/plugins/tls/openssl/qsslcontext_openssl.cpp
@@ -49,9 +49,9 @@ extern "C" int q_verify_cookie_callback(SSL *ssl, cons
}
@@ -41,7 +41,7 @@
#if QT_CONFIG(dtls)
// DTLS cookies:
-@@ -758,6 +760,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslC
+@@ -760,6 +762,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslC
}
#endif // ocsp
@@ -49,7 +49,7 @@
QSharedPointer<SSL_CONF_CTX> cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free);
if (cctx) {
q_SSL_CONF_CTX_set_ssl_ctx(cctx.data(), sslContext->ctx);
-@@ -804,7 +807,9 @@ void QSslContext::applyBackendConfig(QSslContext *sslC
+@@ -806,7 +809,9 @@ void QSslContext::applyBackendConfig(QSslContext *sslC
sslContext->errorStr = msgErrorSettingBackendConfig(QSslSocket::tr("SSL_CONF_finish() failed"));
sslContext->errorCode = QSslError::UnspecifiedError;
}
diff --git a/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslsocket__openssl__symbols__p.h b/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslsocket__openssl__symbols__p.h
index 911ffd8d9f99..565d27f71f8f 100644
--- a/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslsocket__openssl__symbols__p.h
+++ b/devel/qt6-base/files/patch-src_plugins_tls_openssl_qsslsocket__openssl__symbols__p.h
@@ -1,4 +1,4 @@
---- src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h.orig 2023-09-13 16:02:48 UTC
+--- src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h.orig 2023-09-15 10:20:51 UTC
+++ src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h
@@ -46,6 +46,13 @@ QT_BEGIN_NAMESPACE
@@ -78,7 +78,7 @@
void q_SSL_free(SSL *a);
STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(const SSL *a);
const SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
-@@ -536,14 +568,26 @@ void q_PKCS12_free(PKCS12 *pkcs12);
+@@ -537,14 +569,26 @@ void q_PKCS12_free(PKCS12 *pkcs12);
#define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
#define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
#define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
@@ -105,7 +105,7 @@
#define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
#define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
-@@ -645,7 +689,11 @@ int q_OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash
+@@ -646,7 +690,11 @@ int q_OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash
int q_OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, ASN1_OCTET_STRING **pikeyHash,
ASN1_INTEGER **pserial, OCSP_CERTID *cid);
@@ -117,7 +117,7 @@
OCSP_CERTID *q_OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer);
void q_OCSP_CERTID_free(OCSP_CERTID *cid);
int q_OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b);
-@@ -664,8 +712,15 @@ void *q_CRYPTO_malloc(size_t num, const char *file, in
+@@ -665,8 +713,15 @@ void *q_CRYPTO_malloc(size_t num, const char *file, in
void *q_CRYPTO_malloc(size_t num, const char *file, int line);
#define q_OPENSSL_malloc(num) q_CRYPTO_malloc(num, "", 0)
@@ -133,7 +133,7 @@
int q_CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len);
void q_SSL_set_info_callback(SSL *ssl, void (*cb) (const SSL *ssl, int type, int val));
-@@ -729,7 +784,11 @@ int q_RSA_bits(RSA *a);
+@@ -730,7 +785,11 @@ int q_RSA_bits(RSA *a);
int q_DH_bits(DH *dh);
int q_RSA_bits(RSA *a);
diff --git a/devel/qt6-base/pkg-plist b/devel/qt6-base/pkg-plist
index f9441889733f..4f219c9874f8 100644
--- a/devel/qt6-base/pkg-plist
+++ b/devel/qt6-base/pkg-plist
@@ -30,7 +30,6 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qabstractitemmodel_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qabstractproxymodel_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qanimationgroup_p.h
-%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qatomicscopedvaluerollback_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qbytearray_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qbytedata_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qcalendarbackend_p.h
@@ -42,6 +41,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qcore_unix_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qcoreapplication_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qcorecmdlineargs_p.h
+%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qcoreevent_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qdatastream_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qdataurl_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qdatetime_p.h
@@ -72,6 +72,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfsfileengine_iterator_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfsfileengine_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfunctions_p.h
+%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfutex_freebsd_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfutex_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfutureinterface_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qfuturewatcher_p.h
@@ -144,6 +145,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qsharedmemory_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qsimd_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qsimd_x86_p.h
+%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qsingleshottimer_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qspan_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qstorageinfo_p.h
%%QT_INCDIR%%/QtCore/%%FULLVER%%/QtCore/private/qstringalgorithms_p.h
@@ -200,6 +202,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/QAtomicInt
%%QT_INCDIR%%/QtCore/QAtomicInteger
%%QT_INCDIR%%/QtCore/QAtomicPointer
+%%QT_INCDIR%%/QtCore/QAtomicScopedValueRollback
%%QT_INCDIR%%/QtCore/QBEInteger
%%QT_INCDIR%%/QtCore/QBaseIterator
%%QT_INCDIR%%/QtCore/QBasicMutex
@@ -252,7 +255,6 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/QDeadlineTimer
%%QT_INCDIR%%/QtCore/QDebug
%%QT_INCDIR%%/QtCore/QDebugStateSaver
-%%QT_INCDIR%%/QtCore/QDeferredDeleteEvent
%%QT_INCDIR%%/QtCore/QDir
%%QT_INCDIR%%/QtCore/QDirIterator
%%QT_INCDIR%%/QtCore/QDynamicPropertyChangeEvent
@@ -461,11 +463,13 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/QSocketDescriptor
%%QT_INCDIR%%/QtCore/QSocketNotifier
%%QT_INCDIR%%/QtCore/QSortFilterProxyModel
+%%QT_INCDIR%%/QtCore/QSpan
%%QT_INCDIR%%/QtCore/QSpecialInteger
%%QT_INCDIR%%/QtCore/QStack
%%QT_INCDIR%%/QtCore/QStandardPaths
%%QT_INCDIR%%/QtCore/QStaticByteArrayMatcher
%%QT_INCDIR%%/QtCore/QStaticByteArrayMatcherBase
+%%QT_INCDIR%%/QtCore/QStaticLatin1StringMatcher
%%QT_INCDIR%%/QtCore/QStaticPlugin
%%QT_INCDIR%%/QtCore/QStorageInfo
%%QT_INCDIR%%/QtCore/QString
@@ -487,6 +491,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/QSystemSemaphore
%%QT_INCDIR%%/QtCore/QTaggedIterator
%%QT_INCDIR%%/QtCore/QTaggedPointer
+%%QT_INCDIR%%/QtCore/QTemplatedMetaMethodReturnArgument
%%QT_INCDIR%%/QtCore/QTemporaryDir
%%QT_INCDIR%%/QtCore/QTemporaryFile
%%QT_INCDIR%%/QtCore/QTextBoundaryFinder
@@ -589,8 +594,10 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/q20chrono.h
%%QT_INCDIR%%/QtCore/q20functional.h
%%QT_INCDIR%%/QtCore/q20iterator.h
+%%QT_INCDIR%%/QtCore/q20map.h
%%QT_INCDIR%%/QtCore/q20memory.h
%%QT_INCDIR%%/QtCore/q20type_traits.h
+%%QT_INCDIR%%/QtCore/q20vector.h
%%QT_INCDIR%%/QtCore/q23functional.h
%%QT_INCDIR%%/QtCore/q23utility.h
%%QT_INCDIR%%/QtCore/qabstractanimation.h
@@ -609,6 +616,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/qassociativeiterable.h
%%QT_INCDIR%%/QtCore/qatomic.h
%%QT_INCDIR%%/QtCore/qatomic_cxx11.h
+%%QT_INCDIR%%/QtCore/qatomicscopedvaluerollback.h
%%QT_INCDIR%%/QtCore/qbasicatomic.h
%%QT_INCDIR%%/QtCore/qbasictimer.h
%%QT_INCDIR%%/QtCore/qbindingstorage.h
@@ -634,6 +642,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/qcommandlineparser.h
%%QT_INCDIR%%/QtCore/qcompare.h
%%QT_INCDIR%%/QtCore/qcompare_impl.h
+%%QT_INCDIR%%/QtCore/qcomparehelpers.h
%%QT_INCDIR%%/QtCore/qcompilerdetection.h
%%QT_INCDIR%%/QtCore/qconcatenatetablesproxymodel.h
%%QT_INCDIR%%/QtCore/qconfig.h
@@ -765,8 +774,10 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/qsize.h
%%QT_INCDIR%%/QtCore/qsocketnotifier.h
%%QT_INCDIR%%/QtCore/qsortfilterproxymodel.h
+%%QT_INCDIR%%/QtCore/qspan.h
%%QT_INCDIR%%/QtCore/qstack.h
%%QT_INCDIR%%/QtCore/qstandardpaths.h
+%%QT_INCDIR%%/QtCore/qstaticlatin1stringmatcher.h
%%QT_INCDIR%%/QtCore/qstorageinfo.h
%%QT_INCDIR%%/QtCore/qstring.h
%%QT_INCDIR%%/QtCore/qstringalgorithms.h
@@ -813,6 +824,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/qtransposeproxymodel.h
%%QT_INCDIR%%/QtCore/qtresource.h
%%QT_INCDIR%%/QtCore/qtsan_impl.h
+%%QT_INCDIR%%/QtCore/qtsymbolmacros.h
%%QT_INCDIR%%/QtCore/qttranslation.h
%%QT_INCDIR%%/QtCore/qttypetraits.h
%%QT_INCDIR%%/QtCore/qtversion.h
@@ -838,6 +850,7 @@ bin/qmake6
%%QT_INCDIR%%/QtCore/qxmlstream.h
%%QT_INCDIR%%/QtCore/qxpfunctional.h
%%QT_INCDIR%%/QtCore/qxptype_traits.h
+%%QT_INCDIR%%/QtCore/qyieldcpu.h
%%QT_INCDIR%%/QtDBus/%%FULLVER%%/QtDBus/private/dbus_minimal_p.h
%%QT_INCDIR%%/QtDBus/%%FULLVER%%/QtDBus/private/qdbus_symbols_p.h
%%QT_INCDIR%%/QtDBus/%%FULLVER%%/QtDBus/private/qdbusabstractadaptor_p.h
@@ -892,7 +905,6 @@ bin/qmake6
%%QT_INCDIR%%/QtDBus/qdbuserror.h
%%QT_INCDIR%%/QtDBus/qdbusextratypes.h
%%QT_INCDIR%%/QtDBus/qdbusinterface.h
-%%QT_INCDIR%%/QtDBus/qdbusmacros.h
%%QT_INCDIR%%/QtDBus/qdbusmessage.h
%%QT_INCDIR%%/QtDBus/qdbusmetatype.h
%%QT_INCDIR%%/QtDBus/qdbuspendingcall.h
@@ -1129,6 +1141,7 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformintegration.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformintegrationfactory_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformintegrationplugin.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformkeymapper.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformmenu.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformmenu_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/qpa/qplatformnativeinterface.h
@@ -1192,6 +1205,7 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/QBrush
%%QT_INCDIR%%/QtGui/QBrushData
%%QT_INCDIR%%/QtGui/QBrushDataPointerDeleter
+%%QT_INCDIR%%/QtGui/QChildWindowEvent
%%QT_INCDIR%%/QtGui/QClipboard
%%QT_INCDIR%%/QtGui/QCloseEvent
%%QT_INCDIR%%/QtGui/QColor
@@ -1462,6 +1476,7 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/qrgba64.h
%%QT_INCDIR%%/QtGui/qrgbafloat.h
%%QT_INCDIR%%/QtGui/qscreen.h
+%%QT_INCDIR%%/QtGui/qscreen_platform.h
%%QT_INCDIR%%/QtGui/qsessionmanager.h
%%QT_INCDIR%%/QtGui/qshortcut.h
%%QT_INCDIR%%/QtGui/qstandarditemmodel.h
@@ -1544,6 +1559,7 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhostinfo_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhsts_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhstsstore_p.h
+%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhttp2connection_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhttp2protocolhandler_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhttpheaderparser_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qhttpmultipart_p.h
@@ -1581,8 +1597,11 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qnetworkreplyhttpimpl_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qnetworkreplyimpl_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qnetworkrequest_p.h
+%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qnetworkrequestfactory_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qocsp_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qocspresponse_p.h
+%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qrestaccessmanager_p.h
+%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qrestreply_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qsocks5socketengine_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qssl_p.h
%%QT_INCDIR%%/QtNetwork/%%FULLVER%%/QtNetwork/private/qsslcertificate_p.h
@@ -1612,6 +1631,7 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/QDnsTextRecord
%%DTLS%%%%QT_INCDIR%%/QtNetwork/QDtls
%%DTLS%%%%QT_INCDIR%%/QtNetwork/QDtlsClientVerifier
+%%QT_INCDIR%%/QtNetwork/QHttpHeaders
%%QT_INCDIR%%/QtNetwork/QHostAddress
%%QT_INCDIR%%/QtNetwork/QHostInfo
%%QT_INCDIR%%/QtNetwork/QHstsPolicy
@@ -1636,8 +1656,10 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/QNetworkProxyQuery
%%QT_INCDIR%%/QtNetwork/QNetworkReply
%%QT_INCDIR%%/QtNetwork/QNetworkRequest
+%%QT_INCDIR%%/QtNetwork/QNetworkRequestFactory
%%QT_INCDIR%%/QtNetwork/QOcspResponse
%%QT_INCDIR%%/QtNetwork/QPasswordDigestor
+%%QT_INCDIR%%/QtNetwork/QRestReply
%%QT_INCDIR%%/QtNetwork/QSsl
%%QT_INCDIR%%/QtNetwork/QSslCertificate
%%QT_INCDIR%%/QtNetwork/QSslCertificateExtension
@@ -1667,6 +1689,7 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/qhstspolicy.h
%%QT_INCDIR%%/QtNetwork/qhttp1configuration.h
%%QT_INCDIR%%/QtNetwork/qhttp2configuration.h
+%%QT_INCDIR%%/QtNetwork/qhttpheaders.h
%%QT_INCDIR%%/QtNetwork/qhttpmultipart.h
%%QT_INCDIR%%/QtNetwork/qlocalserver.h
%%QT_INCDIR%%/QtNetwork/qlocalsocket.h
@@ -1680,8 +1703,11 @@ bin/qmake6
%%QT_INCDIR%%/QtNetwork/qnetworkproxy.h
%%QT_INCDIR%%/QtNetwork/qnetworkreply.h
%%QT_INCDIR%%/QtNetwork/qnetworkrequest.h
+%%QT_INCDIR%%/QtNetwork/qnetworkrequestfactory.h
%%QT_INCDIR%%/QtNetwork/qocspresponse.h
%%QT_INCDIR%%/QtNetwork/qpassworddigestor.h
+%%QT_INCDIR%%/QtNetwork/qrestaccessmanager.h
+%%QT_INCDIR%%/QtNetwork/qrestreply.h
%%QT_INCDIR%%/QtNetwork/qssl.h
%%QT_INCDIR%%/QtNetwork/qsslcertificate.h
%%QT_INCDIR%%/QtNetwork/qsslcertificateextension.h
@@ -1887,7 +1913,6 @@ bin/qmake6
%%QT_INCDIR%%/QtSql/QtSql
%%QT_INCDIR%%/QtSql/QtSqlDepends
%%QT_INCDIR%%/QtSql/QtSqlVersion
-%%QT_INCDIR%%/QtSql/qsql.h
%%QT_INCDIR%%/QtSql/qsqldatabase.h
%%QT_INCDIR%%/QtSql/qsqldriver.h
%%QT_INCDIR%%/QtSql/qsqldriverplugin.h
@@ -1913,6 +1938,7 @@ bin/qmake6
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qbenchmarkmetric_p.h
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qbenchmarkperfevents_p.h
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qbenchmarktimemeasurers_p.h
+%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qcomparisontesthelper_p.h
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qcsvbenchmarklogger_p.h
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qemulationdetector_p.h
%%QT_INCDIR%%/QtTest/%%FULLVER%%/QtTest/private/qjunittestlogger_p.h
@@ -1959,7 +1985,6 @@ bin/qmake6
%%QT_INCDIR%%/QtTest/qbenchmarkmetric.h
%%QT_INCDIR%%/QtTest/qsignalspy.h
%%QT_INCDIR%%/QtTest/qtest.h
-%%QT_INCDIR%%/QtTest/qtest_global.h
%%QT_INCDIR%%/QtTest/qtest_gui.h
%%QT_INCDIR%%/QtTest/qtest_network.h
%%QT_INCDIR%%/QtTest/qtest_widgets.h
@@ -2052,6 +2077,7 @@ bin/qmake6
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qplaintextedit_p.h
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qproxystyle_p.h
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qpushbutton_p.h
+%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qrhiwidget_p.h
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qscrollarea_p.h
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qscrollbar_p.h
%%QT_INCDIR%%/QtWidgets/%%FULLVER%%/QtWidgets/private/qscroller_p.h
@@ -2205,6 +2231,7 @@ bin/qmake6
%%QT_INCDIR%%/QtWidgets/QProxyStyle
%%QT_INCDIR%%/QtWidgets/QPushButton
%%QT_INCDIR%%/QtWidgets/QRadioButton
+%%QT_INCDIR%%/QtWidgets/QRhiWidget
%%QT_INCDIR%%/QtWidgets/QRubberBand
%%QT_INCDIR%%/QtWidgets/QScrollArea
%%QT_INCDIR%%/QtWidgets/QScrollBar
@@ -2369,6 +2396,7 @@ bin/qmake6
%%QT_INCDIR%%/QtWidgets/qproxystyle.h
%%QT_INCDIR%%/QtWidgets/qpushbutton.h
%%QT_INCDIR%%/QtWidgets/qradiobutton.h
+%%QT_INCDIR%%/QtWidgets/qrhiwidget.h
%%QT_INCDIR%%/QtWidgets/qrubberband.h
%%QT_INCDIR%%/QtWidgets/qscrollarea.h
%%QT_INCDIR%%/QtWidgets/qscrollbar.h
@@ -2478,6 +2506,7 @@ lib/cmake/Qt6/FindMySQL.cmake
lib/cmake/Qt6/FindOracle.cmake
lib/cmake/Qt6/FindPPS.cmake
lib/cmake/Qt6/FindPostgreSQL.cmake
+lib/cmake/Qt6/FindRenderDoc.cmake
lib/cmake/Qt6/FindSlog2.cmake
lib/cmake/Qt6/FindTslib.cmake
lib/cmake/Qt6/FindWrapAtomic.cmake
@@ -2667,6 +2696,7 @@ lib/cmake/Qt6Core/Qt6CoreConfigureFileTemplate.in
lib/cmake/Qt6Core/Qt6CoreDependencies.cmake
lib/cmake/Qt6Core/Qt6CoreDeploySupport.cmake
lib/cmake/Qt6Core/Qt6CoreMacros.cmake
+lib/cmake/Qt6Core/Qt6CoreResourceInit.in.cpp
lib/cmake/Qt6Core/Qt6CoreTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qt6Core/Qt6CoreTargets.cmake
lib/cmake/Qt6Core/Qt6CoreVersionlessTargets.cmake
@@ -3074,8 +3104,8 @@ lib/cmake/Qt6Xml/Qt6XmlVersionlessTargets.cmake
%%QT_LIBDIR%%/metatypes/qt6widgets_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%X11%%%%QT_LIBDIR%%/metatypes/qt6xcbqpaprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6xml_%%CMAKE_BUILD_TYPE%%_metatypes.json
-%%DEBUG%%%%QT_LIBDIR%%/objects-Debug/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons.cpp.o
-%%NO_DEBUG%%%%QT_LIBDIR%%/objects-Release/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons.cpp.o
+%%DEBUG%%%%QT_LIBDIR%%/objects-Debug/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons_init.cpp.o
+%%NO_DEBUG%%%%QT_LIBDIR%%/objects-Release/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons_init.cpp.o
%%QT_MKSPECDIR%%/aix-g++-64/qmake.conf
%%QT_MKSPECDIR%%/aix-g++-64/qplatformdefs.h
%%QT_MKSPECDIR%%/aix-g++/qmake.conf
@@ -3132,6 +3162,7 @@ lib/cmake/Qt6Xml/Qt6XmlVersionlessTargets.cmake
%%QT_MKSPECDIR%%/common/uikit/clang.conf
%%QT_MKSPECDIR%%/common/uikit/qmake.conf
%%QT_MKSPECDIR%%/common/unix.conf
+%%QT_MKSPECDIR%%/common/vxworks/qplatformdefs.h
%%QT_MKSPECDIR%%/common/wasm/qplatformdefs.h
%%QT_MKSPECDIR%%/common/wasm/wasm.conf
%%QT_MKSPECDIR%%/common/watchos.conf
@@ -3527,6 +3558,7 @@ lib/cmake/Qt6Xml/Qt6XmlVersionlessTargets.cmake
%%QT_MKSPECDIR%%/unsupported/vxworks-simpentium-dcc/qplatformdefs.h
%%QT_MKSPECDIR%%/unsupported/vxworks-simpentium-g++/qmake.conf
%%QT_MKSPECDIR%%/unsupported/vxworks-simpentium-g++/qplatformdefs.h
+%%QT_MKSPECDIR%%/vxworks-clang/qplatformdefs.h
%%QT_MKSPECDIR%%/wasm-emscripten-64/qmake.conf
%%QT_MKSPECDIR%%/wasm-emscripten-64/qplatformdefs.h
%%QT_MKSPECDIR%%/wasm-emscripten/qmake.conf
@@ -3582,7 +3614,6 @@ libdata/pkgconfig/Qt6Sql.pc
libdata/pkgconfig/Qt6Test.pc
libdata/pkgconfig/Qt6Widgets.pc
libdata/pkgconfig/Qt6Xml.pc
-%%QT_TOOLDIR%%/android_emulator_launcher.sh
%%QT_TOOLDIR%%/cmake_automoc_parser
%%QT_TOOLDIR%%/ensure_pro_file.cmake
%%QT_TOOLDIR%%/moc
@@ -3726,6 +3757,7 @@ libdata/pkgconfig/Qt6Xml.pc
%%QT_DOCDIR%%/global/template/style/online.css
%%QT_DOCDIR%%/global/template/style/tech_preview.svg
%%QT_DOCDIR%%/global/template/style/theqtcompany.png
+%%QT_DOCDIR%%/global/warninglimit.qdocconf
%%QT_DATADIR%%/modules/Concurrent.json
%%QT_DATADIR%%/modules/Core.json
%%QT_DATADIR%%/modules/DBus.json
diff --git a/devel/qt6-languageserver/distinfo b/devel/qt6-languageserver/distinfo
index f4089cb0c0f8..7ae1f34fbcd7 100644
--- a/devel/qt6-languageserver/distinfo
+++ b/devel/qt6-languageserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661023
-SHA256 (KDE/Qt/6.6.3/qtlanguageserver-everywhere-src-6.6.3.tar.xz) = 1021b4b9024bd23bef86292f4b6c15cc7db620b6c47be8cb6e539bfae7f6cf8c
-SIZE (KDE/Qt/6.6.3/qtlanguageserver-everywhere-src-6.6.3.tar.xz) = 145420
+TIMESTAMP = 1712112792
+SHA256 (KDE/Qt/6.7.0/qtlanguageserver-everywhere-src-6.7.0.tar.xz) = a99ecb342abdf7b7ac24804c89830a7991de95f9402f45a1e337ae851f76c9fc
+SIZE (KDE/Qt/6.7.0/qtlanguageserver-everywhere-src-6.7.0.tar.xz) = 145140
diff --git a/devel/qt6-location/distinfo b/devel/qt6-location/distinfo
index 3b4044add279..a363028bbebd 100644
--- a/devel/qt6-location/distinfo
+++ b/devel/qt6-location/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661029
-SHA256 (KDE/Qt/6.6.3/qtlocation-everywhere-src-6.6.3.tar.xz) = d7b42920f30a6a3fc4edffae541332fceaa6f5f7a4776c6809e0fd80fff801d1
-SIZE (KDE/Qt/6.6.3/qtlocation-everywhere-src-6.6.3.tar.xz) = 3028756
+TIMESTAMP = 1712112799
+SHA256 (KDE/Qt/6.7.0/qtlocation-everywhere-src-6.7.0.tar.xz) = bb044d66bc17db98f526ec1b52d8e94810e046310f288561380774e5903ad46a
+SIZE (KDE/Qt/6.7.0/qtlocation-everywhere-src-6.7.0.tar.xz) = 3165588
diff --git a/devel/qt6-location/pkg-plist b/devel/qt6-location/pkg-plist
index 4d37c40560a6..fdcc8e074803 100644
--- a/devel/qt6-location/pkg-plist
+++ b/devel/qt6-location/pkg-plist
@@ -6,6 +6,7 @@
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativecirclemapitem_p_p.h
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativecontactdetails_p.h
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativegeocodemodel_p.h
+%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativegeojsondata_p.h
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativegeomap_p.h
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativegeomapcopyrightsnotice_p.h
%%QT_INCDIR%%/QtLocation/%%FULLVER%%/QtLocation/private/qdeclarativegeomapitembase_p.h
diff --git a/devel/qt6-positioning/distinfo b/devel/qt6-positioning/distinfo
index 3c664af6107a..1f0ecbd8b816 100644
--- a/devel/qt6-positioning/distinfo
+++ b/devel/qt6-positioning/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661032
-SHA256 (KDE/Qt/6.6.3/qtpositioning-everywhere-src-6.6.3.tar.xz) = 9a37b6502aa00f6caf6701d3d0ed95f6de13a8d0934ec8348e6631ad9bfd3fbb
-SIZE (KDE/Qt/6.6.3/qtpositioning-everywhere-src-6.6.3.tar.xz) = 1505028
+TIMESTAMP = 1712112802
+SHA256 (KDE/Qt/6.7.0/qtpositioning-everywhere-src-6.7.0.tar.xz) = 1d601ba43c26c8a01db81eeaaeea5943c015da98caa59d7905b86e0e9d609ddf
+SIZE (KDE/Qt/6.7.0/qtpositioning-everywhere-src-6.7.0.tar.xz) = 658368
diff --git a/devel/qt6-remoteobjects/distinfo b/devel/qt6-remoteobjects/distinfo
index 243c822553c7..f06927cb6b8d 100644
--- a/devel/qt6-remoteobjects/distinfo
+++ b/devel/qt6-remoteobjects/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661034
-SHA256 (KDE/Qt/6.6.3/qtremoteobjects-everywhere-src-6.6.3.tar.xz) = 5f7e573f64aeb0b9edf4c19ea2064663430435bcf0e283c0fcf43b3fda276d99
-SIZE (KDE/Qt/6.6.3/qtremoteobjects-everywhere-src-6.6.3.tar.xz) = 534172
+TIMESTAMP = 1712112805
+SHA256 (KDE/Qt/6.7.0/qtremoteobjects-everywhere-src-6.7.0.tar.xz) = a0ba60d625c9713fc8396b8db1e283df863bfaa06664d46496bd16fab5e4c695
+SIZE (KDE/Qt/6.7.0/qtremoteobjects-everywhere-src-6.7.0.tar.xz) = 536264
diff --git a/devel/qt6-scxml/distinfo b/devel/qt6-scxml/distinfo
index fb549b237938..842029d3e219 100644
--- a/devel/qt6-scxml/distinfo
+++ b/devel/qt6-scxml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661037
-SHA256 (KDE/Qt/6.6.3/qtscxml-everywhere-src-6.6.3.tar.xz) = 0f1b6a4db03d30b8770bc1c0eb11280acb41bfaf91b577928bb9686d31e16cb5
-SIZE (KDE/Qt/6.6.3/qtscxml-everywhere-src-6.6.3.tar.xz) = 1167484
+TIMESTAMP = 1712112809
+SHA256 (KDE/Qt/6.7.0/qtscxml-everywhere-src-6.7.0.tar.xz) = 725b97bbb8766df733d7588488acd92375c218eeb376a95525572b4268a9257c
+SIZE (KDE/Qt/6.7.0/qtscxml-everywhere-src-6.7.0.tar.xz) = 1167668
diff --git a/devel/qt6-tools/distinfo b/devel/qt6-tools/distinfo
index a6b6b9a440b9..54c942e02bfc 100644
--- a/devel/qt6-tools/distinfo
+++ b/devel/qt6-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661051
-SHA256 (KDE/Qt/6.6.3/qttools-everywhere-src-6.6.3.tar.xz) = aa6d4c822d8cb74066ef30ab42283ac24e5cc702f33e6d78a9ebef5b0df91bc0
-SIZE (KDE/Qt/6.6.3/qttools-everywhere-src-6.6.3.tar.xz) = 8596272
+TIMESTAMP = 1712112826
+SHA256 (KDE/Qt/6.7.0/qttools-everywhere-src-6.7.0.tar.xz) = c8da6b239e82fe1e23465cbf0936c0da5a334438d3fb433e19c503cbb1abee7b
+SIZE (KDE/Qt/6.7.0/qttools-everywhere-src-6.7.0.tar.xz) = 9012572
diff --git a/devel/qt6-tools/pkg-plist b/devel/qt6-tools/pkg-plist
index 4f94015b3e5f..ed028d34a528 100644
--- a/devel/qt6-tools/pkg-plist
+++ b/devel/qt6-tools/pkg-plist
@@ -229,23 +229,23 @@ bin/qtplugininfo6
%%QT_INCDIR%%/QtHelp/qthelpversion.h
%%QT_INCDIR%%/QtQDocCatch/QtQDocCatchDepends
%%QT_INCDIR%%/QtQDocCatch/catch/catch.hpp
-%%QT_INCDIR%%/QtQDocCatchConversionsPrivate/QtQDocCatchConversionsPrivateDepends
-%%QT_INCDIR%%/QtQDocCatchConversionsPrivate/catch_conversions/qdoc_catch_conversions.h
-%%QT_INCDIR%%/QtQDocCatchConversionsPrivate/catch_conversions/qt_catch_conversions.h
-%%QT_INCDIR%%/QtQDocCatchConversionsPrivate/catch_conversions/std_catch_conversions.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/QtQDocCatchGeneratorsPrivateDepends
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/combinators/cycle_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/combinators/oneof_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/k_partition_of_r_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/path_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/qchar_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/generators/qstring_generator.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/namespaces.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/utilities/semantics/copy_value.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/utilities/semantics/generator_handler.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/utilities/semantics/move_into_vector.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/utilities/statistics/distribution.h
-%%QT_INCDIR%%/QtQDocCatchGeneratorsPrivate/catch_generators/utilities/statistics/percentages.h
+%%QT_INCDIR%%/QtQDocCatchConversions/QtQDocCatchConversionsDepends
+%%QT_INCDIR%%/QtQDocCatchConversions/catch_conversions/qdoc_catch_conversions.h
+%%QT_INCDIR%%/QtQDocCatchConversions/catch_conversions/qt_catch_conversions.h
+%%QT_INCDIR%%/QtQDocCatchConversions/catch_conversions/std_catch_conversions.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/QtQDocCatchGeneratorsDepends
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/combinators/cycle_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/combinators/oneof_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/k_partition_of_r_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/path_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/qchar_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/generators/qstring_generator.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/namespaces.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/utilities/semantics/copy_value.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/utilities/semantics/generator_handler.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/utilities/semantics/move_into_vector.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/utilities/statistics/distribution.h
+%%QT_INCDIR%%/QtQDocCatchGenerators/catch_generators/utilities/statistics/percentages.h
%%QT_INCDIR%%/QtTools/%%FULLVER%%/QtTools/private/qttools-config_p.h
%%QT_INCDIR%%/QtTools/QtTools
%%QT_INCDIR%%/QtTools/QtToolsDepends
@@ -407,12 +407,9 @@ lib/cmake/Qt6UiTools/Qt6UiToolsVersionlessTargets.cmake
%%QT_MKSPECDIR%%/modules/qt_lib_help.pri
%%QT_MKSPECDIR%%/modules/qt_lib_help_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_linguist.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_linguist_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatch_private.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchconversionsprivate.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchconversionsprivate_private.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchgeneratorsprivate.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchgeneratorsprivate_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchconversions_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qdoccatchgenerators_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_tools_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_uiplugin.pri
%%QT_MKSPECDIR%%/modules/qt_lib_uitools.pri
@@ -421,8 +418,6 @@ lib/cmake/Qt6UiTools/Qt6UiToolsVersionlessTargets.cmake
libdata/pkgconfig/Qt6Designer.pc
libdata/pkgconfig/Qt6Help.pc
libdata/pkgconfig/Qt6Linguist.pc
-libdata/pkgconfig/Qt6QDocCatchConversionsPrivate.pc
-libdata/pkgconfig/Qt6QDocCatchGeneratorsPrivate.pc
libdata/pkgconfig/Qt6UiPlugin.pc
libdata/pkgconfig/Qt6UiTools.pc
%%QT_TOOLDIR%%/lprodump
diff --git a/devel/qt6-translations/distinfo b/devel/qt6-translations/distinfo
index 5f809613ae4a..9c9b6208e8c7 100644
--- a/devel/qt6-translations/distinfo
+++ b/devel/qt6-translations/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661068
-SHA256 (KDE/Qt/6.6.3/qttranslations-everywhere-src-6.6.3.tar.xz) = 12e35f2ac9a262e41827d95f168d4de6eb85c166bdaf7e5b3291f8f516cf73cf
-SIZE (KDE/Qt/6.6.3/qttranslations-everywhere-src-6.6.3.tar.xz) = 1472412
+TIMESTAMP = 1712112830
+SHA256 (KDE/Qt/6.7.0/qttranslations-everywhere-src-6.7.0.tar.xz) = 26fc8047062ca4bacd1bd953be86fd39c6e0a5f5e9920c72ba9d40876cea4b56
+SIZE (KDE/Qt/6.7.0/qttranslations-everywhere-src-6.7.0.tar.xz) = 1475980
diff --git a/devel/shiboken6/Makefile b/devel/shiboken6/Makefile
index 2e6cad8d62d9..cc180355b098 100644
--- a/devel/shiboken6/Makefile
+++ b/devel/shiboken6/Makefile
@@ -14,25 +14,25 @@ LICENSE_COMB= multi
LIB_DEPENDS= libxslt.so:textproc/libxslt
-USES= cmake compiler:c++17-lang gnome llvm:lib pathfix python qt:6 \
- tar:xz
+USES= cmake compiler:c++17-lang gnome llvm:lib,noexport pathfix \
+ python qt:6 tar:xz
USE_GNOME= libxml2
USE_LDCONFIG= yes
USE_PYTHON= flavors
USE_QT= base
+CONFIGURE_ENV= LLVM_INSTALL_DIR="${LLVM_PREFIX}/lib/cmake/llvm"
CMAKE_ARGS= -DClang_DIR:PATH="${LLVM_PREFIX}/lib/cmake/clang" \
-DLLVM_DIR:PATH="${LLVM_PREFIX}/lib/cmake/llvm" \
- -DCMAKE_CXX_FLAGS=-lexecinfo \
- -DCMAKE_STANDARD_LIBRARIES=-lexecinfo \
-DCMAKE_CXX_STANDARD_LIBRARIES=-lexecinfo \
-DUSE_PYTHON_VERSION=${PYTHON_VER} \
-DBUILD_TESTS:BOOL=false
-WRKSRC= ${WRKDIR}/pyside-setup-everywhere-src-${PYSIDE6_VERSION}/sources/shiboken6
+WRKSRC_SUBDIR= sources/shiboken6
PLIST_SUB= DISTVERSION=${DISTVERSION}
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS NUMPY
+OPTIONS_DEFAULT= NUMPY
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}furo>0:textproc/py-furo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}myst-parser>0:textproc/py-myst-parser@${PY_FLAVOR} \
@@ -42,6 +42,10 @@ DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}furo>0:textproc/py-furo@${PY_FLAVOR}
DOCS_ALL_TARGET= all doc
DOCS_PORTDOCS= *
+NUMPY_BUILD_DEPENDS= ${PYNUMPY}
+NUMPY_RUN_DEPENDS= ${PYNUMPY}
+NUMPY_CMAKE_ON= -DNUMPY_INCLUDE_DIR:PATH="${PYTHON_SITELIBDIR}/numpy/core/include"
+
post-install:
${RM} ${STAGEDIR}${PREFIX}/bin/shiboken_tool.py
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
diff --git a/devel/shiboken6/distinfo b/devel/shiboken6/distinfo
index 1e9558b3237e..cc2142b76825 100644
--- a/devel/shiboken6/distinfo
+++ b/devel/shiboken6/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708228666
-SHA256 (pyside-setup-everywhere-src-6.6.2.tar.xz) = 14620b694d7af4c978443016292d3d2108ba5dc105f4170e3b71eadcaf04c9f0
-SIZE (pyside-setup-everywhere-src-6.6.2.tar.xz) = 13975896
+TIMESTAMP = 1714321386
+SHA256 (pyside-setup-everywhere-src-6.7.0.tar.xz) = 82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f
+SIZE (pyside-setup-everywhere-src-6.7.0.tar.xz) = 14382456
diff --git a/devel/shiboken6/files/patch-cmake_ShibokenHelpers.cmake b/devel/shiboken6/files/patch-cmake_ShibokenHelpers.cmake
index 4f4be866326a..1bf82a17406c 100644
--- a/devel/shiboken6/files/patch-cmake_ShibokenHelpers.cmake
+++ b/devel/shiboken6/files/patch-cmake_ShibokenHelpers.cmake
@@ -1,8 +1,8 @@
We don't need bash for a simple export command.
---- cmake/ShibokenHelpers.cmake.orig 2023-10-14 09:37:51 UTC
+--- cmake/ShibokenHelpers.cmake.orig 2024-04-05 12:14:13 UTC
+++ cmake/ShibokenHelpers.cmake
-@@ -772,7 +772,7 @@ $@")
+@@ -769,7 +769,7 @@ $@")
$@")
else()
string(REPLACE ";" ":" path_dirs_native "${path_dirs_native}")
diff --git a/devel/shiboken6/files/patch-data_shiboken6.pc.in b/devel/shiboken6/files/patch-data_shiboken6.pc.in
index 2830d8e58633..6079806aa457 100644
--- a/devel/shiboken6/files/patch-data_shiboken6.pc.in
+++ b/devel/shiboken6/files/patch-data_shiboken6.pc.in
@@ -1,4 +1,4 @@
---- data/shiboken6.pc.in.orig 2023-10-14 09:37:51 UTC
+--- data/shiboken6.pc.in.orig 2024-04-05 12:14:13 UTC
+++ data/shiboken6.pc.in
@@ -8,5 +8,5 @@ Version: @shiboken6_VERSION@
Name: shiboken6
@@ -6,4 +6,4 @@
Version: @shiboken6_VERSION@
-Libs: @SHIBOKEN_PYTHON_LIBRARIES@ -L${libdir} -lshiboken6@shiboken6_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@
+Libs: @SHIBOKEN_PYTHON_LIBRARIES@ -L${libdir} -lshiboken6@shiboken6_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@ -lexecinfo
- Cflags: -I@PYTHON_INCLUDE_DIRS@ -I${includedir}/@shiboken6_SUFFIX@@SBK_PKG_CONFIG_PY_DEBUG_DEFINITION@
+ Cflags: -I@Python_INCLUDE_DIRS@ -I${includedir}/@shiboken6_SUFFIX@@SBK_PKG_CONFIG_PY_DEBUG_DEFINITION@
diff --git a/devel/shiboken6/files/patch-libshiboken_signature_signature__globals.cpp b/devel/shiboken6/files/patch-libshiboken_signature_signature__globals.cpp
new file mode 100644
index 000000000000..0dae95aec43f
--- /dev/null
+++ b/devel/shiboken6/files/patch-libshiboken_signature_signature__globals.cpp
@@ -0,0 +1,29 @@
+--- libshiboken/signature/signature_globals.cpp.orig 2024-04-29 02:02:21 UTC
++++ libshiboken/signature/signature_globals.cpp
+@@ -210,7 +210,7 @@ static int init_phase_2(safe_globals_struc *p, PyMetho
+ ////////////////////////////////////////////////////////////////////////////
+ // a stack trace for linux-like platforms
+ #include <cstdio>
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__FreeBSD__)
+ # include <execinfo.h>
+ #endif
+ #include <signal.h>
+@@ -218,7 +218,7 @@ static void handler(int sig) {
+ #include <unistd.h>
+
+ static void handler(int sig) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__FreeBSD__)
+ void *array[30];
+ size_t size;
+
+@@ -228,7 +228,7 @@ static void handler(int sig) {
+ // print out all the frames to stderr
+ #endif
+ std::fprintf(stderr, "Error: signal %d:\n", sig);
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__FreeBSD__)
+ backtrace_symbols_fd(array, size, STDERR_FILENO);
+ #endif
+ exit(1);
diff --git a/devel/shiboken6/pkg-plist b/devel/shiboken6/pkg-plist
index cbc90f9f6ac1..579d15768358 100644
--- a/devel/shiboken6/pkg-plist
+++ b/devel/shiboken6/pkg-plist
@@ -6,7 +6,9 @@ include/shiboken6/bindingmanager.h
include/shiboken6/bufferprocs_py37.h
include/shiboken6/gilstate.h
include/shiboken6/helper.h
+include/shiboken6/pep384ext.h
include/shiboken6/pep384impl.h
+include/shiboken6/pyobjectholder.h
include/shiboken6/sbkarrayconverter.h
include/shiboken6/sbkcontainer.h
include/shiboken6/sbkconverter.h
@@ -43,7 +45,7 @@ lib/cmake/Shiboken6Tools/Shiboken6ToolsConfigVersion.cmake
lib/cmake/Shiboken6Tools/Shiboken6ToolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Shiboken6Tools/Shiboken6ToolsTargets.cmake
lib/libshiboken6.abi3.so
-lib/libshiboken6.abi3.so.6.6
+lib/libshiboken6.abi3.so.6.7
lib/libshiboken6.abi3.so.%%DISTVERSION%%
%%PYTHON_SITELIBDIR%%/shiboken6/Shiboken.abi3.so
%%PYTHON_SITELIBDIR%%/shiboken6/Shiboken.pyi
diff --git a/graphics/py-qt6-3d/Makefile b/graphics/py-qt6-3d/Makefile
index 2f07d6714e78..506ec253c2c1 100644
--- a/graphics/py-qt6-3d/Makefile
+++ b/graphics/py-qt6-3d/Makefile
@@ -12,8 +12,7 @@ COMMENT= Python bindings for the Qt6 3D framework
WWW= https://www.riverbankcomputing.com/software/pyqt3d/
USES= gl pyqt:6 python qt:6
-USE_GL= gl
-USE_LOCALE= C.UTF-8
+USE_GL= opengl
USE_PYQT= sip:build pyqt6 qtbuilder:build
USE_PYTHON= concurrent flavors
USE_QT= 3d base
diff --git a/graphics/py-qt6-3d/distinfo b/graphics/py-qt6-3d/distinfo
index f1658c3d4b99..bd44753804ba 100644
--- a/graphics/py-qt6-3d/distinfo
+++ b/graphics/py-qt6-3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698896095
-SHA256 (PyQt6_3D-6.6.0.tar.gz) = 372b206eb8185f2b6ff048629d3296cb137c9e5901b113119ffa46a317726988
-SIZE (PyQt6_3D-6.6.0.tar.gz) = 7469031
+TIMESTAMP = 1714271985
+SHA256 (PyQt6_3D-6.7.0.tar.gz) = 3e99bfc801918ab4758dd2660b2d2358e0057c943eb2bd9f8d0ddf156ea5ccd7
+SIZE (PyQt6_3D-6.7.0.tar.gz) = 7469641
diff --git a/graphics/qt6-3d/distinfo b/graphics/qt6-3d/distinfo
index 51d2e618b592..729c6c0cddc2 100644
--- a/graphics/qt6-3d/distinfo
+++ b/graphics/qt6-3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661369
-SHA256 (KDE/Qt/6.6.3/qt3d-everywhere-src-6.6.3.tar.xz) = a549747f0071542b4a12519e4ae755d2b054922566bc7aa48de4939c78bedf6c
-SIZE (KDE/Qt/6.6.3/qt3d-everywhere-src-6.6.3.tar.xz) = 141571616
+TIMESTAMP = 1712113036
+SHA256 (KDE/Qt/6.7.0/qt3d-everywhere-src-6.7.0.tar.xz) = 803b82a8be8632b79f4fc717b236edba716100ab274a54349add439056896424
+SIZE (KDE/Qt/6.7.0/qt3d-everywhere-src-6.7.0.tar.xz) = 141570596
diff --git a/graphics/qt6-imageformats/distinfo b/graphics/qt6-imageformats/distinfo
index f264978f66fe..0d69cf675afd 100644
--- a/graphics/qt6-imageformats/distinfo
+++ b/graphics/qt6-imageformats/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661377
-SHA256 (KDE/Qt/6.6.3/qtimageformats-everywhere-src-6.6.3.tar.xz) = 3ca5ea60176603ce6ffc1bff59a4dcea139375233ce8e5e86c38f4e84c44627c
-SIZE (KDE/Qt/6.6.3/qtimageformats-everywhere-src-6.6.3.tar.xz) = 1964752
+TIMESTAMP = 1712113041
+SHA256 (KDE/Qt/6.7.0/qtimageformats-everywhere-src-6.7.0.tar.xz) = 516ce07ec8dd5a11c59816fe33ddb71d4f691d0ebbc1798ac338f23b86c029a7
+SIZE (KDE/Qt/6.7.0/qtimageformats-everywhere-src-6.7.0.tar.xz) = 1968344
diff --git a/graphics/qt6-lottie/distinfo b/graphics/qt6-lottie/distinfo
index 3c14f7641833..b459793011d5 100644
--- a/graphics/qt6-lottie/distinfo
+++ b/graphics/qt6-lottie/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661379
-SHA256 (KDE/Qt/6.6.3/qtlottie-everywhere-src-6.6.3.tar.xz) = 9891fad0aef6fbc2f458f6d664698d9180b20255fc83e2c269960304c0920eb4
-SIZE (KDE/Qt/6.6.3/qtlottie-everywhere-src-6.6.3.tar.xz) = 83332
+TIMESTAMP = 1712113044
+SHA256 (KDE/Qt/6.7.0/qtlottie-everywhere-src-6.7.0.tar.xz) = 9c0ffbde3c99e006bd13c844a1d691e275c02db1c3db44d05154c939d23ba2ed
+SIZE (KDE/Qt/6.7.0/qtlottie-everywhere-src-6.7.0.tar.xz) = 83008
diff --git a/graphics/qt6-quickeffectmaker/distinfo b/graphics/qt6-quickeffectmaker/distinfo
index f358d2a2995b..8394bf0acb0d 100644
--- a/graphics/qt6-quickeffectmaker/distinfo
+++ b/graphics/qt6-quickeffectmaker/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661390
-SHA256 (KDE/Qt/6.6.3/qtquickeffectmaker-everywhere-src-6.6.3.tar.xz) = bc242a13c9ab2ef4cbe6b739e63d7b8d116058f9056f451179e4c89918282357
-SIZE (KDE/Qt/6.6.3/qtquickeffectmaker-everywhere-src-6.6.3.tar.xz) = 4358424
+TIMESTAMP = 1712113053
+SHA256 (KDE/Qt/6.7.0/qtquickeffectmaker-everywhere-src-6.7.0.tar.xz) = 3d0fec664061ca35cc69162c8eb9ae3bc49628eb417ca9def5fb8946b8bc04d5
+SIZE (KDE/Qt/6.7.0/qtquickeffectmaker-everywhere-src-6.7.0.tar.xz) = 4358300
diff --git a/graphics/qt6-svg/distinfo b/graphics/qt6-svg/distinfo
index aded8c1880c1..b5f58f467651 100644
--- a/graphics/qt6-svg/distinfo
+++ b/graphics/qt6-svg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661401
-SHA256 (KDE/Qt/6.6.3/qtsvg-everywhere-src-6.6.3.tar.xz) = 4acb1e576eca55e955cf2b0d15c914a200df290e737accd7c1901fa1e33a25c7
-SIZE (KDE/Qt/6.6.3/qtsvg-everywhere-src-6.6.3.tar.xz) = 1643424
+TIMESTAMP = 1712113058
+SHA256 (KDE/Qt/6.7.0/qtsvg-everywhere-src-6.7.0.tar.xz) = 1518f40e08ff5e6153a6e26e5b95b033413ac143b70795dc1317e7f73ebf922d
+SIZE (KDE/Qt/6.7.0/qtsvg-everywhere-src-6.7.0.tar.xz) = 1790244
diff --git a/graphics/qt6-svg/pkg-plist b/graphics/qt6-svg/pkg-plist
index 1dd398947c9f..1860fea0b599 100644
--- a/graphics/qt6-svg/pkg-plist
+++ b/graphics/qt6-svg/pkg-plist
@@ -1,10 +1,13 @@
+%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgfilter_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgfont_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvggraphics_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvghandler_p.h
+%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvghelper_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgnode_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgstructure_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgstyle_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgtinydocument_p.h
+%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qsvgvisitor_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qtsvgexports_p.h
%%QT_INCDIR%%/QtSvg/%%FULLVER%%/QtSvg/private/qtsvgglobal_p.h
%%QT_INCDIR%%/QtSvg/QSvgGenerator
diff --git a/graphics/qt6-wayland/distinfo b/graphics/qt6-wayland/distinfo
index 971f48dac553..2d5d8f905c6b 100644
--- a/graphics/qt6-wayland/distinfo
+++ b/graphics/qt6-wayland/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661408
-SHA256 (KDE/Qt/6.6.3/qtwayland-everywhere-src-6.6.3.tar.xz) = a96ecc0fecc05f9e18cfb7806fe5ebd7416be94e8f51ebeca75c80412f66553d
-SIZE (KDE/Qt/6.6.3/qtwayland-everywhere-src-6.6.3.tar.xz) = 1120056
+TIMESTAMP = 1712113061
+SHA256 (KDE/Qt/6.7.0/qtwayland-everywhere-src-6.7.0.tar.xz) = d73470e4217da388d8cd2a517ee8bb373853f33c569306e80f04397845157aea
+SIZE (KDE/Qt/6.7.0/qtwayland-everywhere-src-6.7.0.tar.xz) = 1121748
diff --git a/graphics/qt6-wayland/pkg-plist b/graphics/qt6-wayland/pkg-plist
index 2dd0c39bc719..80cf5b266fdf 100644
--- a/graphics/qt6-wayland/pkg-plist
+++ b/graphics/qt6-wayland/pkg-plist
@@ -12,7 +12,7 @@
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-tablet-unstable-v2.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-text-input-unstable-v1.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-text-input-unstable-v2.h
-%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-text-input-unstable-v4-wip.h
+%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-text-input-unstable-v3.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-touch-extension.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-viewporter.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwayland-wayland.h
@@ -68,6 +68,7 @@
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandtextinputinterface_p.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandtextinputv1_p.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandtextinputv2_p.h
+%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandtextinputv3_p.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandtouch_p.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandviewport_p.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/qwaylandvulkaninstance_p.h
@@ -86,7 +87,7 @@
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-tablet-unstable-v2-client-protocol.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-text-input-unstable-v1-client-protocol.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-text-input-unstable-v2-client-protocol.h
-%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-text-input-unstable-v4-wip-client-protocol.h
+%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-text-input-unstable-v3-client-protocol.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-touch-extension-client-protocol.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-viewporter-client-protocol.h
%%QT_INCDIR%%/QtWaylandClient/%%FULLVER%%/QtWaylandClient/private/wayland-wayland-client-protocol.h
@@ -103,7 +104,6 @@
%%QT_INCDIR%%/QtWaylandClient/qtwaylandclientexports.h
%%QT_INCDIR%%/QtWaylandClient/qtwaylandclientglobal.h
%%QT_INCDIR%%/QtWaylandClient/qtwaylandclientversion.h
-%%QT_INCDIR%%/QtWaylandClient/qwaylandclientexport.h
%%QT_INCDIR%%/QtWaylandClient/qwaylandclientextension.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qtwaylandcompositor-config_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qtwaylandcompositorglobal_p.h
@@ -118,7 +118,7 @@
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-scaler.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-server-buffer-extension.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-text-input-unstable-v2.h
-%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-text-input-unstable-v4-wip.h
+%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-text-input-unstable-v3.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-touch-extension.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-viewporter.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwayland-server-wayland.h
@@ -154,6 +154,8 @@
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandsurface_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandtextinput_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandtextinputmanager_p.h
+%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandtextinputmanagerv3_p.h
+%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandtextinputv3_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandtouch_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandutils_p.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/qwaylandview_p.h
@@ -196,7 +198,7 @@
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-scaler-server-protocol.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-server-buffer-extension-server-protocol.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-text-input-unstable-v2-server-protocol.h
-%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-text-input-unstable-v4-wip-server-protocol.h
+%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-text-input-unstable-v3-server-protocol.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-touch-extension-server-protocol.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-viewporter-server-protocol.h
%%QT_INCDIR%%/QtWaylandCompositor/%%FULLVER%%/QtWaylandCompositor/private/wayland-wayland-server-protocol.h
@@ -242,6 +244,8 @@
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandSurfaceRole
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandTextInput
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandTextInputManager
+%%QT_INCDIR%%/QtWaylandCompositor/QWaylandTextInputManagerV3
+%%QT_INCDIR%%/QtWaylandCompositor/QWaylandTextInputV3
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandTouch
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandView
%%QT_INCDIR%%/QtWaylandCompositor/QWaylandViewporter
@@ -268,7 +272,6 @@
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandcompositorextension.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylanddestroylistener.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylanddrag.h
-%%QT_INCDIR%%/QtWaylandCompositor/qwaylandexport.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandidleinhibitv1.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandinputmethodcontrol.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandiviapplication.h
@@ -298,6 +301,8 @@
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandsurfacegrabber.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandtextinput.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandtextinputmanager.h
+%%QT_INCDIR%%/QtWaylandCompositor/qwaylandtextinputmanagerv3.h
+%%QT_INCDIR%%/QtWaylandCompositor/qwaylandtextinputv3.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandtouch.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandview.h
%%QT_INCDIR%%/QtWaylandCompositor/qwaylandviewporter.h
diff --git a/misc/qt6-doc/distinfo b/misc/qt6-doc/distinfo
index d651634dca43..6afacbe9135b 100644
--- a/misc/qt6-doc/distinfo
+++ b/misc/qt6-doc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711661445
-SHA256 (KDE/Qt/6.6.3/qtdoc-everywhere-src-6.6.3.tar.xz) = 08850585ea4cae04909a38bcb1318487c546fa6a0c350afda21ab0f356e3eac8
-SIZE (KDE/Qt/6.6.3/qtdoc-everywhere-src-6.6.3.tar.xz) = 13238476
+TIMESTAMP = 1712113085
+SHA256 (KDE/Qt/6.7.0/qtdoc-everywhere-src-6.7.0.tar.xz) = 991e5e10c04de4b5cc14577adaad69375dd092ee95a1577c0ce377c4b2019c40
+SIZE (KDE/Qt/6.7.0/qtdoc-everywhere-src-6.7.0.tar.xz) = 13974180
diff --git a/misc/qt6-doc/pkg-plist b/misc/qt6-doc/pkg-plist
index 1e946c46b5c7..373bde1aa6d6 100644
--- a/misc/qt6-doc/pkg-plist
+++ b/misc/qt6-doc/pkg-plist
@@ -37,7 +37,7 @@
%%QT_DOCDIR%%/qtdoc/activeqt-testcon.html
%%QT_DOCDIR%%/qtdoc/android-3rdparty-libs.html
%%QT_DOCDIR%%/qtdoc/android-build-environment-variables.html
-%%QT_DOCDIR%%/qtdoc/android-building-user-projects.html
+%%QT_DOCDIR%%/qtdoc/android-building-projects-from-commandline.html
%%QT_DOCDIR%%/qtdoc/android-building.html
%%QT_DOCDIR%%/qtdoc/android-emojis.html
%%QT_DOCDIR%%/qtdoc/android-environment-variables.html
@@ -116,12 +116,14 @@
%%QT_DOCDIR%%/qtdoc/images/btn_prev.png
%%QT_DOCDIR%%/qtdoc/images/bullet_dn.png
%%QT_DOCDIR%%/qtdoc/images/bullet_sq.png
+%%QT_DOCDIR%%/qtdoc/images/car_configurator_overview.png
%%QT_DOCDIR%%/qtdoc/images/coffee_machine_modify.png
%%QT_DOCDIR%%/qtdoc/images/coffee_machine_overview.png
%%QT_DOCDIR%%/qtdoc/images/coffee_machine_selection.png
%%QT_DOCDIR%%/qtdoc/images/colorpalette_editing.png
%%QT_DOCDIR%%/qtdoc/images/colorpalette_listing.png
%%QT_DOCDIR%%/qtdoc/images/colorpalette_urlselection.png
+%%QT_DOCDIR%%/qtdoc/images/colorpalette_userlisting.png
%%QT_DOCDIR%%/qtdoc/images/controls.png
%%QT_DOCDIR%%/qtdoc/images/deployment-mac-application.png
%%QT_DOCDIR%%/qtdoc/images/deployment-mac-bundlestructure.png
@@ -147,6 +149,7 @@
%%QT_DOCDIR%%/qtdoc/images/icon_Tools.png
%%QT_DOCDIR%%/qtdoc/images/integrity-os.png
%%QT_DOCDIR%%/qtdoc/images/layout-examples.png
+%%QT_DOCDIR%%/qtdoc/images/lightningviewer.jpg
%%QT_DOCDIR%%/qtdoc/images/logo.png
%%QT_DOCDIR%%/qtdoc/images/mainscreen.png
%%QT_DOCDIR%%/qtdoc/images/maintenancetool.png
@@ -156,6 +159,7 @@
%%QT_DOCDIR%%/qtdoc/images/nmvurCcsWos.jpg
%%QT_DOCDIR%%/qtdoc/images/ok.png
%%QT_DOCDIR%%/qtdoc/images/open-project.png
+%%QT_DOCDIR%%/qtdoc/images/osmbuildings.jpg
%%QT_DOCDIR%%/qtdoc/images/piemenu.gif
%%QT_DOCDIR%%/qtdoc/images/project-structure.png
%%QT_DOCDIR%%/qtdoc/images/project_structure.png
@@ -170,6 +174,7 @@
%%QT_DOCDIR%%/qtdoc/images/qml-uses-visual-opacity.png
%%QT_DOCDIR%%/qtdoc/images/qml-uses-visual-rectangles.png
%%QT_DOCDIR%%/qtdoc/images/qml-uses-visual-transforms.png
+%%QT_DOCDIR%%/qtdoc/images/qt-android-architecture.drawio.svg
%%QT_DOCDIR%%/qtdoc/images/qt-codesample.png
%%QT_DOCDIR%%/qtdoc/images/qt-edu-apply.png
%%QT_DOCDIR%%/qtdoc/images/qt-edu-browse-qbsp.png
@@ -192,7 +197,6 @@
%%QT_DOCDIR%%/qtdoc/images/qt-edu-qbsp-download.png
%%QT_DOCDIR%%/qtdoc/images/qt-edu-qbsp.png
%%QT_DOCDIR%%/qtdoc/images/qt-embedded-fontfeatures.png
-%%QT_DOCDIR%%/qtdoc/images/qt_android_architecture.png
%%QT_DOCDIR%%/qtdoc/images/qtcreator-clazy-checks-for-porting-to-qt6.png
%%QT_DOCDIR%%/qtdoc/images/qtcreator-create-templates.png
%%QT_DOCDIR%%/qtdoc/images/qtcreator-qt-quick-editors.png
@@ -279,6 +283,7 @@
%%QT_DOCDIR%%/qtdoc/newclasses64.html
%%QT_DOCDIR%%/qtdoc/newclasses65.html
%%QT_DOCDIR%%/qtdoc/newclasses66.html
+%%QT_DOCDIR%%/qtdoc/newclasses67.html
%%QT_DOCDIR%%/qtdoc/obsoleteclasses.html
%%QT_DOCDIR%%/qtdoc/obsoleteqmltypes.html
%%QT_DOCDIR%%/qtdoc/overviews-main.html
@@ -325,6 +330,7 @@
%%QT_DOCDIR%%/qtdoc/qtdoc-attribution-thermostatexample-phosphoricons.html
%%QT_DOCDIR%%/qtdoc/qtdoc-attribution-todolistexample-materialicons.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-calqlatr-example.html
+%%QT_DOCDIR%%/qtdoc/qtdoc-demos-car-configurator-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-clocks-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-coffee-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-colorpaletteclient-example.html
@@ -333,7 +339,9 @@
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-documentviewer-plugins-txtviewer-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-fx-material-showroom-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-hangman-example.html
+%%QT_DOCDIR%%/qtdoc/qtdoc-demos-lightningviewer-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-mediaplayer-example.html
+%%QT_DOCDIR%%/qtdoc/qtdoc-demos-osmbuildings-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-photosurface-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-robotarm-example.html
%%QT_DOCDIR%%/qtdoc/qtdoc-demos-rssnews-example.html
@@ -406,6 +414,7 @@
%%QT_DOCDIR%%/qtdoc/uic.html
%%QT_DOCDIR%%/qtdoc/unicode.html
%%QT_DOCDIR%%/qtdoc/unix-signals.html
+%%QT_DOCDIR%%/qtdoc/vxworks.html
%%QT_DOCDIR%%/qtdoc/wasm.html
%%QT_DOCDIR%%/qtdoc/wayland-and-qt.html
%%QT_DOCDIR%%/qtdoc/webos.html
@@ -416,6 +425,7 @@
%%QT_DOCDIR%%/qtdoc/whatsnew64.html
%%QT_DOCDIR%%/qtdoc/whatsnew65.html
%%QT_DOCDIR%%/qtdoc/whatsnew66.html
+%%QT_DOCDIR%%/qtdoc/whatsnew67.html
%%QT_DOCDIR%%/qtdoc/whatsnewqt6.html
%%QT_DOCDIR%%/qtdoc/why-moc.html
%%QT_DOCDIR%%/qtdoc/windows-building.html
diff --git a/misc/qt6-examples/Makefile b/misc/qt6-examples/Makefile
index 36d10bdbfd27..6fb8ea33badb 100644
--- a/misc/qt6-examples/Makefile
+++ b/misc/qt6-examples/Makefile
@@ -1,7 +1,7 @@
PORTNAME= examples
DISTVERSION= ${QT6_VERSION}
CATEGORIES= misc
-MASTER_SITES= QT/official_releases/qt/${QT6_VERSION:R}/${QT6_VERSION}/single
+MASTER_SITES= QT/${_QT6_RELEASE_TYPE}_releases/qt/${QT6_VERSION:R}/${QT6_VERSION}/single
PKGNAMEPREFIX= qt6-
DISTNAME= qt-everywhere-src-${QT6_VERSION}
DIST_SUBDIR= KDE/Qt/${QT6_VERSION}
diff --git a/misc/qt6-examples/distinfo b/misc/qt6-examples/distinfo
index 5210a2ca11f0..22a0b03984a9 100644
--- a/misc/qt6-examples/distinfo
+++ b/misc/qt6-examples/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663435
-SHA256 (KDE/Qt/6.6.3/qt-everywhere-src-6.6.3.tar.xz) = 69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104
-SIZE (KDE/Qt/6.6.3/qt-everywhere-src-6.6.3.tar.xz) = 801192112
+TIMESTAMP = 1712114556
+SHA256 (KDE/Qt/6.7.0/qt-everywhere-src-6.7.0.tar.xz) = bf5089912364f99cf9baf6c109de76a3172eec6267f148c69800575c47f90087
+SIZE (KDE/Qt/6.7.0/qt-everywhere-src-6.7.0.tar.xz) = 934507900
diff --git a/misc/qt6-examples/pkg-plist b/misc/qt6-examples/pkg-plist
index f61e820cbe6f..0921e2a98d94 100644
--- a/misc/qt6-examples/pkg-plist
+++ b/misc/qt6-examples/pkg-plist
@@ -27,14 +27,6 @@
%%QT_EXAMPLEDIR%%/activeqt/simple/simple.inf
%%QT_EXAMPLEDIR%%/activeqt/simple/simple.pro
%%QT_EXAMPLEDIR%%/activeqt/simple/simple.rc
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/main.cpp
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/main.qml
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/simpleqml.def
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/simpleqml.ico
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/simpleqml.pro
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/simpleqml.qrc
-%%QT_EXAMPLEDIR%%/activeqt/simpleqml/simpleqml.rc
%%QT_EXAMPLEDIR%%/activeqt/wrapper/CMakeLists.txt
%%QT_EXAMPLEDIR%%/activeqt/wrapper/doc/src/wrapper.qdoc
%%QT_EXAMPLEDIR%%/activeqt/wrapper/main.cpp
@@ -832,11 +824,17 @@
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/car/main.cpp
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/common/car.xml
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/connected.svg
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/connecting.svg
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/controller.cpp
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/controller.h
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/controller.pro
-%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/controller.ui
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/down.svg
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/icons.qrc
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/left.svg
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/main.cpp
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/right.svg
+%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/controller/up.svg
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/doc/images/remotecontrolledcar-car-example.webp
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/doc/src/dbus-remotecontrolledcar.qdoc
%%QT_EXAMPLEDIR%%/dbus/remotecontrolledcar/remotecontrolledcar.pro
@@ -981,6 +979,7 @@
%%QT_EXAMPLEDIR%%/demos/FX_Material_Showroom/src/import_qml_plugins.h
%%QT_EXAMPLEDIR%%/demos/FX_Material_Showroom/src/main.cpp
%%QT_EXAMPLEDIR%%/demos/calqlatr/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/calqlatr/Main.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/android/AndroidManifest.xml
%%QT_EXAMPLEDIR%%/demos/calqlatr/android/res/drawable-hdpi/icon.png
%%QT_EXAMPLEDIR%%/demos/calqlatr/android/res/drawable-ldpi/icon.png
@@ -989,21 +988,105 @@
%%QT_EXAMPLEDIR%%/demos/calqlatr/android/res/drawable-xxhdpi/icon.png
%%QT_EXAMPLEDIR%%/demos/calqlatr/android/res/drawable-xxxhdpi/icon.png
%%QT_EXAMPLEDIR%%/demos/calqlatr/calqlatr.pro
-%%QT_EXAMPLEDIR%%/demos/calqlatr/calqlatr.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/calqlatr.qmlproject
%%QT_EXAMPLEDIR%%/demos/calqlatr/calqlatr.qrc
+%%QT_EXAMPLEDIR%%/demos/calqlatr/content/BackspaceButton.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/content/CalculatorButton.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/content/Display.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/content/NumberPad.qml
%%QT_EXAMPLEDIR%%/demos/calqlatr/content/calculator.js
-%%QT_EXAMPLEDIR%%/demos/calqlatr/content/images/paper-edge-left.png
-%%QT_EXAMPLEDIR%%/demos/calqlatr/content/images/paper-edge-right.png
-%%QT_EXAMPLEDIR%%/demos/calqlatr/content/images/paper-grip.png
+%%QT_EXAMPLEDIR%%/demos/calqlatr/content/images/backspace.svg
+%%QT_EXAMPLEDIR%%/demos/calqlatr/content/images/backspace_fill.svg
%%QT_EXAMPLEDIR%%/demos/calqlatr/doc/images/qtquick-demo-calqlatr.png
%%QT_EXAMPLEDIR%%/demos/calqlatr/doc/src/calqlatr.qdoc
%%QT_EXAMPLEDIR%%/demos/calqlatr/ios/Assets.xcassets/AppIcon.appiconset/AppleIconCalqlatr.png
%%QT_EXAMPLEDIR%%/demos/calqlatr/ios/Assets.xcassets/AppIcon.appiconset/Contents.json
%%QT_EXAMPLEDIR%%/demos/calqlatr/main.cpp
+%%QT_EXAMPLEDIR%%/demos/car-configurator/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/CarRendering.qmlproject
+%%QT_EXAMPLEDIR%%/demos/car-configurator/CarRendering.qmlproject.qtds
+%%QT_EXAMPLEDIR%%/demos/car-configurator/CarRendering.qrc
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/_asset_ref.json
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/designer/carpaint.metainfo
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/EV_SportsCar_low/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/EV_SportsCar_low/Ev_SportsCar_low.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/EV_SportsCar_low/Ev_SportsCar_low.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/EV_SportsCar_low/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/Uk5ofde_LOD0.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/Uk5ofde_LOD0.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/_icons/Uk5ofde_LOD0_libicon
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/_icons/Uk5ofde_LOD0_libicon@2x
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5ofde_LOD0/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/Uk5pebv_LOD0.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/Uk5pebv_LOD0.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/_icons/Uk5pebv_LOD0_libicon
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/_icons/Uk5pebv_LOD0_libicon@2x
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Uk5pebv_LOD0/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/Ulbrbdt_LOD0.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/Ulbrbdt_LOD0.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/_icons/Ulbrbdt_LOD0_libicon
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/_icons/Ulbrbdt_LOD0_libicon@2x
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ulbrbdt_LOD0/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/Venodhb_LOD0.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/Venodhb_LOD0.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/_icons/Venodhb_LOD0_libicon
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/_icons/Venodhb_LOD0_libicon@2x
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Venodhb_LOD0/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/Ventdee_LOD0.hints
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/Ventdee_LOD0.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/_icons/Ventdee_LOD0_libicon
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/_icons/Ventdee_LOD0_libicon@2x
+%%QT_EXAMPLEDIR%%/demos/car-configurator/asset_imports/Quick3DAssets/Ventdee_LOD0/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/assets/assets_download.json
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/App.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/CameraReset.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/DebugBox.ui.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/FigmaExportCarConfig/Icons.ui.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/FigmaExportCarConfig/Logo.ui.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/FigmaExportCarConfig/SvgPathItem.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/Headlights.ui.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/KissButton.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/KissButtonSeparator.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/MouseRotatorAndWASD.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/PinchWidget.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/ScreenPrimary.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/WallEffect1/WallEffect1.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/WallEffect2/WallEffect2.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/WallEffect3/WallEffect3.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/content/images/builtWithQt.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/doc/images/car_configurator_overview.png
+%%QT_EXAMPLEDIR%%/demos/car-configurator/doc/src/car_configurator.qdoc
+%%QT_EXAMPLEDIR%%/demos/car-configurator/hdr.qrc
+%%QT_EXAMPLEDIR%%/demos/car-configurator/hdr_low.qrc
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CarRendering/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CarRendering/Constants.qml
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CarRendering/assetdownloader.cpp
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CarRendering/assetdownloader.h
+%%QT_EXAMPLEDIR%%/demos/car-configurator/imports/CarRendering/qmldir
+%%QT_EXAMPLEDIR%%/demos/car-configurator/qmlmodules.cmake
+%%QT_EXAMPLEDIR%%/demos/car-configurator/qtquickcontrols2.conf
+%%QT_EXAMPLEDIR%%/demos/car-configurator/src/app_environment.h
+%%QT_EXAMPLEDIR%%/demos/car-configurator/src/import_qml_components_plugins.h
+%%QT_EXAMPLEDIR%%/demos/car-configurator/src/import_qml_plugins.h
+%%QT_EXAMPLEDIR%%/demos/car-configurator/src/main.cpp
%%QT_EXAMPLEDIR%%/demos/clocks/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/clocks/clocks.pro
%%QT_EXAMPLEDIR%%/demos/clocks/clocks.qml
@@ -1026,18 +1109,50 @@
%%QT_EXAMPLEDIR%%/demos/coffee/ApplicationFlowForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/coffee/ChoosingCoffee.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/ChoosingCoffeeForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/CoffeeCard.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/CoffeeCardForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Colors.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Cup.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/Cup.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/CustomButton.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/CustomButtonForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/CustomSlider.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/CustomSliderForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/CustomToolBar.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/CustomToolBarForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Home.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/HomeForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Insert.qml
-%%QT_EXAMPLEDIR%%/demos/coffee/LICENSE.txt
+%%QT_EXAMPLEDIR%%/demos/coffee/InsertForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Progress.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/ProgressForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Ready.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/ReadyForm.ui.qml
%%QT_EXAMPLEDIR%%/demos/coffee/Settings.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/SettingsForm.ui.qml
+%%QT_EXAMPLEDIR%%/demos/coffee/android/AndroidManifest.xml
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-anydpi-v26/ic_launcher.xml
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-hdpi/ic_launcher.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-hdpi/ic_launcher_background.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-hdpi/ic_launcher_foreground.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-hdpi/ic_launcher_monochrome.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-mdpi/ic_launcher.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-mdpi/ic_launcher_background.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-mdpi/ic_launcher_foreground.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-mdpi/ic_launcher_monochrome.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xhdpi/ic_launcher.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xhdpi/ic_launcher_background.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xhdpi/ic_launcher_foreground.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xhdpi/ic_launcher_monochrome.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxhdpi/ic_launcher.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxhdpi/ic_launcher_background.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxhdpi/ic_launcher_foreground.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxxhdpi/ic_launcher.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxxhdpi/ic_launcher_background.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxxhdpi/ic_launcher_foreground.png
+%%QT_EXAMPLEDIR%%/demos/coffee/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
%%QT_EXAMPLEDIR%%/demos/coffee/coffee.pro
%%QT_EXAMPLEDIR%%/demos/coffee/coffeemachine.qrc
%%QT_EXAMPLEDIR%%/demos/coffee/doc/images/coffee_machine_emptycup.png
@@ -1067,60 +1182,55 @@
%%QT_EXAMPLEDIR%%/demos/coffee/images/icons/keyboard_backspace_white_left.svg
%%QT_EXAMPLEDIR%%/demos/coffee/images/icons/keyboard_backspace_white_right.svg
%%QT_EXAMPLEDIR%%/demos/coffee/images/icons/light_mode_black_24dp.svg
+%%QT_EXAMPLEDIR%%/demos/coffee/ios/Assets.xcassets/AppIcon.appiconset/App Icon-Coffee.png
+%%QT_EXAMPLEDIR%%/demos/coffee/ios/Assets.xcassets/AppIcon.appiconset/Contents.json
%%QT_EXAMPLEDIR%%/demos/coffee/main.cpp
%%QT_EXAMPLEDIR%%/demos/coffee/main.qml
%%QT_EXAMPLEDIR%%/demos/coffee/qmldir
%%QT_EXAMPLEDIR%%/demos/coffee/qtquickcontrols2.conf
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/MainWindow.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/ColorDialogDelete.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/ColorDialogEditor.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/ColorView.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/Main.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/ServerSelection.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/UserMenu.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/ColorPalette/qmldir
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/Button.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/Popup.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/TextField.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/UIStyle.qml
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/QtExampleStyle/qmldir
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/abstractresource.h
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/basiclogin.cpp
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/basiclogin.h
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/colorpalette.qrc
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/colorpaletteclient.pro
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/doc/images/colorpalette_editing.png
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/doc/images/colorpalette_listing.png
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/doc/images/colorpalette_urlselection.png
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/doc/images/colorpalette_userlisting.png
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/doc/src/colorpaletteclient.qdoc
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/add.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/delete.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/edit.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/file_upload.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/login.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/logout.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20/refresh.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/add.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/delete.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/edit.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/file_upload.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/login.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/logout.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@2/refresh.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/add.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/delete.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/edit.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/file_upload.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/login.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/logout.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@3/refresh.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/add.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/delete.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/edit.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/file_upload.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/login.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/logout.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/20x20@4/refresh.png
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/index.theme
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/colorpaletteclient/qt_attribution.json
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/close.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/delete.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/dots.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/edit.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/login.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/logout.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/ok.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/plus.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/qt.png
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/qt_attribution.json
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/testserver.png
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/update.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/user.svg
+%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/icons/userMask.svg
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/main.cpp
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/paginatedresource.cpp
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/paginatedresource.h
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/qmldir
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/restaccessmanager.cpp
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/restaccessmanager.h
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/restservice.cpp
%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/restservice.h
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/util.cpp
-%%QT_EXAMPLEDIR%%/demos/colorpaletteclient/util.h
%%QT_EXAMPLEDIR%%/demos/demos.pro
%%QT_EXAMPLEDIR%%/demos/dice/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/dice/Carpet.qml
@@ -1229,6 +1339,12 @@
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/pdfviewer/pdfviewer.json
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/pdfviewer/zoomselector.cpp
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/pdfviewer/zoomselector.h
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/q3dviewer.cpp
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/q3dviewer.h
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/q3dviewer.json
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/q3dviewer.qml
+%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/q3dviewer/queryMimeTypes.qml
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/txtviewer/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/txtviewer/txtviewer.cpp
%%QT_EXAMPLEDIR%%/demos/documentviewer/plugins/txtviewer/txtviewer.h
@@ -1295,6 +1411,141 @@
%%QT_EXAMPLEDIR%%/demos/hangman/qml/StoreView.qml
%%QT_EXAMPLEDIR%%/demos/hangman/qml/Word.qml
%%QT_EXAMPLEDIR%%/demos/hangman/resources.qrc
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/Info.plist
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/ActionsLayer.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/DistanceTimeLayer.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/LightningMapLayer.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/LightningView.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/LightningViewConfig.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/Main.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/MapLayersDrawer.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/MapLayersItem.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/MapType.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/MapView.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/SwitchMap.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/controller.cpp
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/controller.h
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/distance.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/globe.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/lightning-layer.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/lightning-strike.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/map-layers.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/map.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/recenter.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/icons/user-location.svg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/laststrikeinfo.h
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningitemdata.cpp
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningitemdata.h
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningitemmodel.cpp
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningitemmodel.h
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningprovider.cpp
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewer/lightningprovider.h
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/Button.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/Config.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/RoundButton.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/StyleImage.qml
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/button-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/flatbutton-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/dark/images/roundbutton-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/button-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/flatbutton-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-checked@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-disabled.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-disabled@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-hovered.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-hovered@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-pressed.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background-pressed@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/LightningViewerStyle/light/images/roundbutton-background@2x.png
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/doc/images/lightningviewer.jpg
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/doc/src/lightningviewer.qdoc
+%%QT_EXAMPLEDIR%%/demos/lightningviewer/main.cpp
%%QT_EXAMPLEDIR%%/demos/maroon/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/maroon/content/BuildButton.qml
%%QT_EXAMPLEDIR%%/demos/maroon/content/GameCanvas.qml
@@ -1457,6 +1708,23 @@
%%QT_EXAMPLEDIR%%/demos/mediaplayer/main.cpp
%%QT_EXAMPLEDIR%%/demos/mediaplayer/mediaplayer.py
%%QT_EXAMPLEDIR%%/demos/mediaplayer/mediaplayer.pyproject
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/3rdparty/mapbox/earcut.h
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/Main.qml
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/OSMCameraController.qml
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/customshaderbuildings.frag
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/customshaderbuildings.vert
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/customshadertiles.frag
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/doc/images/osmbuildings.jpg
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/doc/src/osmbuildings.qdoc
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/geometry.cpp
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/geometry.h
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/main.cpp
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/manager.cpp
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/manager.h
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/qml.qrc
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/request.cpp
+%%QT_EXAMPLEDIR%%/demos/osmbuildings/request.h
%%QT_EXAMPLEDIR%%/demos/photosurface/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/photosurface/doc/images/qtquick-demo-photosurface-small.png
%%QT_EXAMPLEDIR%%/demos/photosurface/doc/src/photosurface.qdoc
@@ -1620,6 +1888,7 @@
%%QT_EXAMPLEDIR%%/demos/samegame/samegame.qml
%%QT_EXAMPLEDIR%%/demos/samegame/samegame.qmlproject
%%QT_EXAMPLEDIR%%/demos/samegame/samegame.qrc
+%%QT_EXAMPLEDIR%%/demos/shared/QtBundleQmlModuleForMacOS.cmake
%%QT_EXAMPLEDIR%%/demos/stocqt/CMakeLists.txt
%%QT_EXAMPLEDIR%%/demos/stocqt/Main.qml
%%QT_EXAMPLEDIR%%/demos/stocqt/content/CMakeLists.txt
@@ -2130,33 +2399,6 @@
%%QT_EXAMPLEDIR%%/demos/todolist/src/app_environment.h
%%QT_EXAMPLEDIR%%/demos/todolist/src/import_qml_plugins.h
%%QT_EXAMPLEDIR%%/demos/todolist/src/main.cpp
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/FlipBar.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/LineInput.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/ListFooter.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/ListHeader.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/SearchDelegate.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/TweetDelegate.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/TweetsModel.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/anonymous.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/bird-anim-sprites.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/icon-clear.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/icon-loading.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/icon-refresh.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/resources/icon-search.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/shaders/compile.bat
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/shaders/effect.frag
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/shaders/effect.frag.qsb
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/shaders/effect.vert
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/shaders/effect.vert.qsb
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/content/tweetsearch.mjs
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/doc/images/qtquick-demo-tweetsearch-med-1.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/doc/images/qtquick-demo-tweetsearch-med-2.png
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/doc/src/tweetsearch.qdoc
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/main.cpp
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/tweetsearch.pro
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/tweetsearch.qml
-%%QT_EXAMPLEDIR%%/demos/tweetsearch/tweetsearch.qmlproject
%%QT_EXAMPLEDIR%%/designer/CMakeLists.txt
%%QT_EXAMPLEDIR%%/designer/README
%%QT_EXAMPLEDIR%%/designer/calculatorbuilder/CMakeLists.txt
@@ -2219,159 +2461,134 @@
%%QT_EXAMPLEDIR%%/designer/taskmenuextension/tictactoeplugin.h
%%QT_EXAMPLEDIR%%/designer/taskmenuextension/tictactoetaskmenu.cpp
%%QT_EXAMPLEDIR%%/designer/taskmenuextension/tictactoetaskmenu.h
-%%QT_EXAMPLEDIR%%/embedded/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/digiflip/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/digiflip/digiflip.cpp
-%%QT_EXAMPLEDIR%%/embedded/digiflip/digiflip.pro
-%%QT_EXAMPLEDIR%%/embedded/embedded.pro
-%%QT_EXAMPLEDIR%%/embedded/flickable/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/flickable/flickable.cpp
-%%QT_EXAMPLEDIR%%/embedded/flickable/flickable.h
-%%QT_EXAMPLEDIR%%/embedded/flickable/flickable.pro
-%%QT_EXAMPLEDIR%%/embedded/flickable/main.cpp
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/aircraft.png
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/flightinfo.cpp
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/flightinfo.pro
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/flightinfo.qrc
-%%QT_EXAMPLEDIR%%/embedded/flightinfo/form.ui
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/lightmaps.cpp
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/lightmaps.h
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/lightmaps.pro
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/main.cpp
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/mapzoom.cpp
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/mapzoom.h
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/slippymap.cpp
-%%QT_EXAMPLEDIR%%/embedded/lightmaps/slippymap.h
-%%QT_EXAMPLEDIR%%/embedded/raycasting/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/raycasting/raycasting.cpp
-%%QT_EXAMPLEDIR%%/embedded/raycasting/raycasting.pro
-%%QT_EXAMPLEDIR%%/embedded/raycasting/raycasting.qrc
-%%QT_EXAMPLEDIR%%/embedded/raycasting/textures.png
-%%QT_EXAMPLEDIR%%/embedded/styleexample/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/add.png
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/application.qss
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/blue.qss
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/khaki.qss
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/nature_1.jpg
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/nostyle.qss
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/remove.png
-%%QT_EXAMPLEDIR%%/embedded/styleexample/files/transparent.qss
-%%QT_EXAMPLEDIR%%/embedded/styleexample/main.cpp
-%%QT_EXAMPLEDIR%%/embedded/styleexample/styleexample.pro
-%%QT_EXAMPLEDIR%%/embedded/styleexample/styleexample.qrc
-%%QT_EXAMPLEDIR%%/embedded/styleexample/stylewidget.cpp
-%%QT_EXAMPLEDIR%%/embedded/styleexample/stylewidget.h
-%%QT_EXAMPLEDIR%%/embedded/styleexample/stylewidget.ui
%%QT_EXAMPLEDIR%%/examples.pro
-%%QT_EXAMPLEDIR%%/graphs/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/axishandling/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/axishandling/axishandling.pro
-%%QT_EXAMPLEDIR%%/graphs/axishandling/axishandling.qrc
-%%QT_EXAMPLEDIR%%/graphs/axishandling/customformatter.cpp
-%%QT_EXAMPLEDIR%%/graphs/axishandling/customformatter.h
-%%QT_EXAMPLEDIR%%/graphs/axishandling/doc/images/axishandling-example.png
-%%QT_EXAMPLEDIR%%/graphs/axishandling/doc/src/axishandling.qdoc
-%%QT_EXAMPLEDIR%%/graphs/axishandling/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/AxisDragging.qml
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/AxisFormatting.qml
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/Data.qml
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/cube.mesh
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/cubetexture.png
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qml/axishandling/main.qml
-%%QT_EXAMPLEDIR%%/graphs/axishandling/qmldir
-%%QT_EXAMPLEDIR%%/graphs/bars/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/bars/bars.pro
-%%QT_EXAMPLEDIR%%/graphs/bars/bars.qrc
-%%QT_EXAMPLEDIR%%/graphs/bars/doc/images/bars-example.png
-%%QT_EXAMPLEDIR%%/graphs/bars/doc/src/bars.qdoc
-%%QT_EXAMPLEDIR%%/graphs/bars/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/bars/qml/bars/Axes.qml
-%%QT_EXAMPLEDIR%%/graphs/bars/qml/bars/Data.qml
-%%QT_EXAMPLEDIR%%/graphs/bars/qml/bars/main.qml
-%%QT_EXAMPLEDIR%%/graphs/examples.pri
-%%QT_EXAMPLEDIR%%/graphs/graphs.pro
-%%QT_EXAMPLEDIR%%/graphs/scatter/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/scatter/doc/images/scatter-example.png
-%%QT_EXAMPLEDIR%%/graphs/scatter/doc/src/scatter.qdoc
-%%QT_EXAMPLEDIR%%/graphs/scatter/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/scatter/qml/scatter/Data.qml
-%%QT_EXAMPLEDIR%%/graphs/scatter/qml/scatter/main.qml
-%%QT_EXAMPLEDIR%%/graphs/scatter/scatter.pro
-%%QT_EXAMPLEDIR%%/graphs/scatter/scatter.qrc
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/datasource.cpp
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/datasource.h
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/doc/images/surfacegallery-example.png
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/doc/src/surfacegallery.qdoc
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/SpectrogramData.qml
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/SurfaceHeightMap.qml
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/SurfaceOscilloscope.qml
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/SurfaceSpectrogram.qml
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/heightmap.png
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/heightmap.readme
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/qml/surfacegallery/main.qml
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/surfacegallery.pro
-%%QT_EXAMPLEDIR%%/graphs/surfacegallery/surfacegallery.qrc
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/axesinputhandler.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/axesinputhandler.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/bargraph.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/bargraph.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/custominputhandler.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/custominputhandler.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/layer_1.png
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/layer_2.png
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/layer_3.png
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/license.txt
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/maptexture.jpg
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/narrowarrow.mesh
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/oilrig.mesh
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/pipe.mesh
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/raindata.txt
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/refinery.mesh
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/refinery.obj
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/data/topography.png
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/doc/images/widgetgraphgallery-example.png
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/doc/src/widgetgraphgallery.qdoc
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/graphmodifier.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/graphmodifier.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/highlightseries.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/highlightseries.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/rainfalldata.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/rainfalldata.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/scatterdatamodifier.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/scatterdatamodifier.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/scattergraph.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/scattergraph.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/surfacegraph.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/surfacegraph.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/surfacegraphmodifier.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/surfacegraphmodifier.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/topographicseries.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/topographicseries.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantbardatamapping.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantbardatamapping.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantbardataproxy.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantbardataproxy.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantdataset.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/variantdataset.h
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/widgetgraphgallery.pro
-%%QT_EXAMPLEDIR%%/graphs/widgetgraphgallery/widgetgraphgallery.qrc
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/doc/images/widgetvolumetric-example.png
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/doc/src/widgetvolumetric.qdoc
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/layer_ground.png
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/layer_magma.png
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/layer_water.png
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/main.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/volumetric.cpp
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/volumetric.h
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/widgetvolumetric.pro
-%%QT_EXAMPLEDIR%%/graphs/widgetvolumetric/widgetvolumetric.qrc
+%%QT_EXAMPLEDIR%%/graphs/2d/2d.pro
+%%QT_EXAMPLEDIR%%/graphs/2d/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/2d/examples.pri
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/doc/images/hellographs-example.png
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/doc/src/hellographs.qdoc
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/hellographs.pro
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/hellographs.qrc
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/2d/hellographs/qml/hellographs/main.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/3d.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/axishandling.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/axishandling.qrc
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/customformatter.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/customformatter.h
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/doc/images/axishandling-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/doc/src/axishandling.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/AxisDragging.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/AxisFormatting.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/Data.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/cube.mesh
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/cubetexture.png
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qml/axishandling/main.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/axishandling/qmldir
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/bars.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/bars.qrc
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/doc/images/bars-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/doc/src/bars.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/qml/bars/Axes.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/qml/bars/Data.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/bars/qml/bars/main.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/examples.pri
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/doc/images/scatter-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/doc/src/scatter.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/background.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/background_hide.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/camera.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/camera2.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/flatten.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/shadow.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/shadow_hide.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/smooth_curve.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/images/theme.svg
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/qml/scatter/Data.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/qml/scatter/Graph.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/qml/scatter/main.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/scatter.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/scatter/scatter.qrc
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/datasource.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/datasource.h
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/doc/images/surfacegallery-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/doc/src/surfacegallery.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/SpectrogramData.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/SurfaceHeightMap.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/SurfaceOscilloscope.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/SurfaceSpectrogram.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/heightmap.png
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/heightmap.readme
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/qml/surfacegallery/main.qml
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/surfacegallery.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/surfacegallery/surfacegallery.qrc
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/axesinputhandler.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/axesinputhandler.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/bargraph.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/bargraph.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/custominputhandler.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/custominputhandler.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/layer_1.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/layer_2.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/layer_3.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/license.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/maptexture.jpg
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/narrowarrow.mesh
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/oilrig.mesh
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/pipe.mesh
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/raindata.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/refinery.mesh
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/refinery.obj
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/data/topography.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/doc/images/widgetgraphgallery-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/doc/src/widgetgraphgallery.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/graphmodifier.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/graphmodifier.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/highlightseries.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/highlightseries.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/rainfalldata.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/rainfalldata.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/scatterdatamodifier.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/scatterdatamodifier.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/scattergraph.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/scattergraph.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/surfacegraph.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/surfacegraph.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/surfacegraphmodifier.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/surfacegraphmodifier.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/topographicseries.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/topographicseries.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantbardatamapping.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantbardatamapping.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantbardataproxy.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantbardataproxy.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantdataset.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/variantdataset.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/widgetgraphgallery.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetgraphgallery/widgetgraphgallery.qrc
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/doc/images/widgetvolumetric-example.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/doc/src/widgetvolumetric.qdoc
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/layer_ground.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/layer_magma.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/layer_water.png
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/main.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/volumetric.cpp
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/volumetric.h
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/widgetvolumetric.pro
+%%QT_EXAMPLEDIR%%/graphs/3d/widgetvolumetric/widgetvolumetric.qrc
%%QT_EXAMPLEDIR%%/gui/CMakeLists.txt
%%QT_EXAMPLEDIR%%/gui/doc/images/rhiwindow_example.jpg
%%QT_EXAMPLEDIR%%/gui/doc/src/rasterwindow.qdoc
@@ -2819,63 +3036,69 @@
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/doc/src/qmlvideo.qdoc
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitor.cpp
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitor.h
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitor/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitor/FrequencyItem.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitor/qmldir
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/images/folder.png
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/images/leaves.jpg
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/images/up.png
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/main.cpp
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitor.cpp
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitor.h
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitor/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitor/PerformanceItem.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitor/qmldir
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitordeclarative.cpp
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/performancemonitordeclarative.h
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/frequencymonitor/FrequencyItem.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/performancemonitor/PerformanceItem.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/Button.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraBasic.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraDrag.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraDummy.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraFullScreen.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraFullScreenInverted.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraItem.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraMove.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraOverlay.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraResize.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraRotate.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/CameraSpin.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/Content.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/ErrorDialog.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/Scene.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneBasic.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneDrag.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneFullScreen.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneFullScreenInverted.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneMove.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneMulti.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneOverlay.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneResize.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneRotate.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneSelectionPanel.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SceneSpin.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/SeekControl.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoDrag.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoDummy.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoFillMode.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoFullScreen.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoFullScreenInverted.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoItem.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoMetadata.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoMove.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoOverlay.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoPlaybackRate.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoResize.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoRotate.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoSeek.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/VideoSpin.qml
-%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qml/qmlvideo/main.qml
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo.png
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo.pro
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo.svg
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/Button.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraBasic.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraDrag.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraDummy.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraFullScreen.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraFullScreenInverted.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraItem.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraMove.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraOverlay.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraResize.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraRotate.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/CameraSpin.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/Content.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/ErrorDialog.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/Main.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/Scene.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneBasic.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneDrag.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneFullScreen.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneFullScreenInverted.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneMove.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneMulti.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneOverlay.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneResize.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneRotate.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneSelectionPanel.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SceneSpin.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/SeekControl.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoBasic.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoDrag.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoDummy.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoFillMode.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoFullScreen.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoFullScreenInverted.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoItem.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoMetadata.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoMove.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoOverlay.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoPlaybackRate.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoResize.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoRotate.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoSeek.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/VideoSpin.qml
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/images/folder.png
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/images/leaves.jpg
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/images/up.png
+%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/qmlvideo/qmldir
%%QT_EXAMPLEDIR%%/multimedia/video/qmlvideo/trace.h
%%QT_EXAMPLEDIR%%/multimedia/video/recorder/AudioInputSelect.qml
%%QT_EXAMPLEDIR%%/multimedia/video/recorder/CMakeLists.txt
@@ -2940,15 +3163,17 @@
%%QT_EXAMPLEDIR%%/network/doc/images/blockingfortuneclient-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/broadcastreceiver-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/broadcastsender-example.png
+%%QT_EXAMPLEDIR%%/network/doc/images/dnslookup-example.webp
%%QT_EXAMPLEDIR%%/network/doc/images/fortuneclient-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/fortuneserver-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/http-example.webp
+%%QT_EXAMPLEDIR%%/network/doc/images/multi-stream-client-example.webp
+%%QT_EXAMPLEDIR%%/network/doc/images/multi-stream-server-example.webp
%%QT_EXAMPLEDIR%%/network/doc/images/multicastreceiver-example.webp
%%QT_EXAMPLEDIR%%/network/doc/images/multicastsender-example.webp
-%%QT_EXAMPLEDIR%%/network/doc/images/network-chat-example.png
+%%QT_EXAMPLEDIR%%/network/doc/images/network-chat-example.webp
%%QT_EXAMPLEDIR%%/network/doc/images/rsslisting.png
-%%QT_EXAMPLEDIR%%/network/doc/images/securesocketclient.png
-%%QT_EXAMPLEDIR%%/network/doc/images/securesocketclient2.png
+%%QT_EXAMPLEDIR%%/network/doc/images/securesocketclient-example.webp
%%QT_EXAMPLEDIR%%/network/doc/images/secureudpclient-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/secureudpserver-example.png
%%QT_EXAMPLEDIR%%/network/doc/images/threadedfortuneserver-example.png
@@ -2956,11 +3181,14 @@
%%QT_EXAMPLEDIR%%/network/doc/src/blockingfortuneclient.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/broadcastreceiver.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/broadcastsender.qdoc
+%%QT_EXAMPLEDIR%%/network/doc/src/dnslookup.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/fortuneclient.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/fortuneserver.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/http.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/multicastreceiver.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/multicastsender.qdoc
+%%QT_EXAMPLEDIR%%/network/doc/src/multistreamclient.qdoc
+%%QT_EXAMPLEDIR%%/network/doc/src/multistreamserver.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/network-chat.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/rsslisting.qdoc
%%QT_EXAMPLEDIR%%/network/doc/src/securesocketclient.qdoc
@@ -3094,17 +3322,17 @@
%%QT_EXAMPLEDIR%%/network/torrent/filemanager.cpp
%%QT_EXAMPLEDIR%%/network/torrent/filemanager.h
%%QT_EXAMPLEDIR%%/network/torrent/icons.qrc
-%%QT_EXAMPLEDIR%%/network/torrent/icons/1downarrow.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/1uparrow.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/bottom.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/edit_add.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/edit_remove.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/exit.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/peertopeer.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/player_pause.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/player_play.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/player_stop.png
-%%QT_EXAMPLEDIR%%/network/torrent/icons/stop.png
+%%QT_EXAMPLEDIR%%/network/torrent/icons/1downarrow.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/1uparrow.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/about.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/bottom.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/edit_add.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/edit_remove.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/exit.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/peertopeer.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/player_pause.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/player_play.svg
+%%QT_EXAMPLEDIR%%/network/torrent/icons/player_stop.svg
%%QT_EXAMPLEDIR%%/network/torrent/main.cpp
%%QT_EXAMPLEDIR%%/network/torrent/mainwindow.cpp
%%QT_EXAMPLEDIR%%/network/torrent/mainwindow.h
@@ -3216,6 +3444,7 @@
%%QT_EXAMPLEDIR%%/opcua/opcuaviewer/treeitem.h
%%QT_EXAMPLEDIR%%/opcua/waterpump/CMakeLists.txt
%%QT_EXAMPLEDIR%%/opcua/waterpump/simulationserver/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/opcua/waterpump/simulationserver/doc/simulationserver.qdoc
%%QT_EXAMPLEDIR%%/opcua/waterpump/simulationserver/main.cpp
%%QT_EXAMPLEDIR%%/opcua/waterpump/simulationserver/simulationserver.cpp
%%QT_EXAMPLEDIR%%/opcua/waterpump/simulationserver/simulationserver.h
@@ -3244,7 +3473,7 @@
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/Tank2Unit.qml
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/TankSimulation.qml
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/ValueDisplay.qml
-%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/doc/images/tankexample.jpg
+%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/doc/images/tankexample.png
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/doc/waterpump-qmlcpp.qdoc
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/main.cpp
%%QT_EXAMPLEDIR%%/opcua/waterpump/waterpump-qmlcpp/main.qml
@@ -3270,13 +3499,6 @@
%%QT_EXAMPLEDIR%%/opengl/2dpainting/window.h
%%QT_EXAMPLEDIR%%/opengl/CMakeLists.txt
%%QT_EXAMPLEDIR%%/opengl/README
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/contextinfo.pro
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/main.cpp
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/renderwindow.cpp
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/renderwindow.h
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/widget.cpp
-%%QT_EXAMPLEDIR%%/opengl/contextinfo/widget.h
%%QT_EXAMPLEDIR%%/opengl/cube/CMakeLists.txt
%%QT_EXAMPLEDIR%%/opengl/cube/cube.png
%%QT_EXAMPLEDIR%%/opengl/cube/cube.pro
@@ -3380,27 +3602,28 @@
%%QT_EXAMPLEDIR%%/pdf/multipage/viewer.qml
%%QT_EXAMPLEDIR%%/pdf/multipage/viewer.qrc
%%QT_EXAMPLEDIR%%/pdf/pdf.pro
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/main.cpp
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/pdfviewer.pro
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/document-open.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/edit-clear.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/edit-copy.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/edit-select-all.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/go-down-search.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/go-next-view-page.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/go-previous-view-page.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/go-up-search.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/rotate-left.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/rotate-right.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/test.pdf
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/zoom-fit-best.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/zoom-fit-width.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/zoom-in.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/zoom-original.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/resources/zoom-out.svg
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/viewer.qml
-%%QT_EXAMPLEDIR%%/pdf/pdfviewer/viewer.qrc
+%%QT_EXAMPLEDIR%%/pdf/singlepage/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/pdf/singlepage/doc/src/singlepage.qdoc
+%%QT_EXAMPLEDIR%%/pdf/singlepage/main.cpp
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/document-open.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/edit-clear.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/edit-copy.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/edit-select-all.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/go-down-search.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/go-next-view-page.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/go-previous-view-page.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/go-up-search.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/rotate-left.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/rotate-right.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/test.pdf
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/zoom-fit-best.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/zoom-fit-width.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/zoom-in.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/zoom-original.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/resources/zoom-out.svg
+%%QT_EXAMPLEDIR%%/pdf/singlepage/singlepage.pro
+%%QT_EXAMPLEDIR%%/pdf/singlepage/viewer.qml
+%%QT_EXAMPLEDIR%%/pdf/singlepage/viewer.qrc
%%QT_EXAMPLEDIR%%/pdfwidgets/CMakeLists.txt
%%QT_EXAMPLEDIR%%/pdfwidgets/pdfviewer/CMakeLists.txt
%%QT_EXAMPLEDIR%%/pdfwidgets/pdfviewer/doc/src/pdfviewer.qdoc
@@ -3503,21 +3726,20 @@
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/appmodel.h
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/doc/images/example-weatherinfo.png
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/doc/src/weatherinfo.qdoc
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/README.txt
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/qt_attribution.json
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-few-clouds.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-fog.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-haze.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-icy.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-overcast.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-showers-scattered.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-showers.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sleet.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-snow.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-storm.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sunny.png
-%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-thundershower.png
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/waypoint.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-few-clouds.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-fog.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-haze.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-icy.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-overcast.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-showers-scattered.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-showers.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sleet.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-snow.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-storm.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sunny-very-few-clouds.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-sunny.svg
+%%QT_EXAMPLEDIR%%/positioning/weatherinfo/icons/weather-thundershower.svg
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/main.cpp
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/openmeteobackend.cpp
%%QT_EXAMPLEDIR%%/positioning/weatherinfo/openmeteobackend.h
@@ -3544,28 +3766,6 @@
%%QT_EXAMPLEDIR%%/qmake/tutorial/hellowin.cpp
%%QT_EXAMPLEDIR%%/qmake/tutorial/main.cpp
%%QT_EXAMPLEDIR%%/qml/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/GenericSceneItem.qml
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/PaletteItem.qml
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/PerspectiveItem.qml
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/Sun.qml
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/doc/images/qml-dynamicscene-example.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/doc/src/dynamicscene.qdoc
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/dynamicscene.pro
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/dynamicscene.qml
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/dynamicscene.qmlproject
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/dynamicscene.qrc
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/NOTE
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/face-smile.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/moon.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/rabbit_brown.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/rabbit_bw.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/star.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/sun.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/images/tree_s.png
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/itemCreation.js
-%%QT_EXAMPLEDIR%%/qml/dynamicscene/main.cpp
-%%QT_EXAMPLEDIR%%/qml/locale/locale.qml
%%QT_EXAMPLEDIR%%/qml/qml-i18n/CMakeLists.txt
%%QT_EXAMPLEDIR%%/qml/qml-i18n/doc/images/qml-i18n-example.png
%%QT_EXAMPLEDIR%%/qml/qml-i18n/doc/src/i18n.qdoc
@@ -3579,8 +3779,6 @@
%%QT_EXAMPLEDIR%%/qml/qml-i18n/qml-i18n.qmlproject
%%QT_EXAMPLEDIR%%/qml/qml-i18n/qml-i18n.qrc
%%QT_EXAMPLEDIR%%/qml/qml.pro
-%%QT_EXAMPLEDIR%%/qml/qmldom/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/qml/qmldom/qmldomloadeditwrite.cpp
%%QT_EXAMPLEDIR%%/qml/tutorials/CMakeLists.txt
%%QT_EXAMPLEDIR%%/qml/tutorials/extending-qml-advanced/CMakeLists.txt
%%QT_EXAMPLEDIR%%/qml/tutorials/extending-qml-advanced/advanced1-Base-project/CMakeLists.txt
@@ -3735,13 +3933,6 @@
%%QT_EXAMPLEDIR%%/qmlcompiler/tutorials/helloworld/chapter3/helloplugin.h
%%QT_EXAMPLEDIR%%/qmlcompiler/tutorials/helloworld/chapter3/plugin.json
%%QT_EXAMPLEDIR%%/qmlcompiler/tutorials/helloworld/chapter3/test.qml
-%%QT_EXAMPLEDIR%%/qmltest/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/qmltest/qmltest.pro
-%%QT_EXAMPLEDIR%%/qmltest/qmltest/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/qmltest/qmltest/qmltest.pro
-%%QT_EXAMPLEDIR%%/qmltest/qmltest/tst_basic.qml
-%%QT_EXAMPLEDIR%%/qmltest/qmltest/tst_item.qml
-%%QT_EXAMPLEDIR%%/qmltest/qmltest/tst_qmltest.cpp
%%QT_EXAMPLEDIR%%/qt3d/3d-text/3d-text.pro
%%QT_EXAMPLEDIR%%/qt3d/3d-text/CMakeLists.txt
%%QT_EXAMPLEDIR%%/qt3d/3d-text/main.cpp
@@ -4014,17 +4205,6 @@
%%QT_EXAMPLEDIR%%/quick/customitems/flipable/flipable.qmlproject
%%QT_EXAMPLEDIR%%/quick/customitems/flipable/flipable.qrc
%%QT_EXAMPLEDIR%%/quick/customitems/flipable/main.cpp
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/images/cloud_1.png
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/images/cloud_2.png
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/images/moon.png
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/main.cpp
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.cpp
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.h
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.pro
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.qml
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.qmlproject
-%%QT_EXAMPLEDIR%%/quick/customitems/maskedmousearea/maskedmousearea.qrc
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/TextBalloon/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/TextBalloon/plugin.h
@@ -4040,11 +4220,6 @@
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/painteditem.qrc
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/textballoons.qml
%%QT_EXAMPLEDIR%%/quick/customitems/painteditem/textballoonuser.pro
-%%QT_EXAMPLEDIR%%/quick/delegatechooser/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/quick/delegatechooser/delegatechooser.pro
-%%QT_EXAMPLEDIR%%/quick/delegatechooser/delegatechooser.qml
-%%QT_EXAMPLEDIR%%/quick/delegatechooser/main.cpp
-%%QT_EXAMPLEDIR%%/quick/delegatechooser/qml.qrc
%%QT_EXAMPLEDIR%%/quick/draganddrop/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/draganddrop/doc/images/qml-draganddrop-example.png
%%QT_EXAMPLEDIR%%/quick/draganddrop/doc/src/draganddrop.qdoc
@@ -4060,12 +4235,12 @@
%%QT_EXAMPLEDIR%%/quick/draganddrop/views/Icon.qml
%%QT_EXAMPLEDIR%%/quick/draganddrop/views/gridview.qml
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/Main.qml
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/doc/images/qml-embeddedinwidgets-example.jpg
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/doc/src/embeddedinwidgets.qdoc
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/embeddedinwidgets.pro
-%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/embeddedinwidgets.qrc
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/main.cpp
-%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/main.qml
+%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/qmldir
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/reflect.frag
%%QT_EXAMPLEDIR%%/quick/embeddedinwidgets/reflect.frag.qsb
%%QT_EXAMPLEDIR%%/quick/imageelements/BorderImageSelector.qml
@@ -4330,14 +4505,6 @@
%%QT_EXAMPLEDIR%%/quick/particles/imageparticle/rotation.qml
%%QT_EXAMPLEDIR%%/quick/particles/imageparticle/sharing.qml
%%QT_EXAMPLEDIR%%/quick/particles/imageparticle/sprites.qml
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/delegates.qml
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/images/rocket.png
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/itemparticle.pro
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/itemparticle.qml
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/itemparticle.qrc
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/main.cpp
-%%QT_EXAMPLEDIR%%/quick/particles/itemparticle/script.js
%%QT_EXAMPLEDIR%%/quick/particles/particles.pro
%%QT_EXAMPLEDIR%%/quick/particles/system/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/particles/system/doc/images/qml-system-example.png
@@ -4443,6 +4610,91 @@
%%QT_EXAMPLEDIR%%/quick/quick-accessibility/main.cpp
%%QT_EXAMPLEDIR%%/quick/quick-accessibility/quick-accessibility.pro
%%QT_EXAMPLEDIR%%/quick/quick.pro
+%%QT_EXAMPLEDIR%%/quick/quickshapes/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/quickshapes.pro
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/arcDirection.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/arcRotation.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/capStyles.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/clippedtigers.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/cubicCurve.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/dashPattern.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/doc/images/qml-shapes-example.png
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/doc/src/shapes.qdoc
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/ellipticalArcs.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/fillRules.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/gradientSpreadModes.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/interactive.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/joinStyles.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/largeOrSmallArc.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/linearGradient.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/main.cpp
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/main.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/quadraticCurve.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/radialGradient.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/sampling.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/shapegallery.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/shapes.pro
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/shapes.qrc
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/strokeOrFill.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/tapableTriangle.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/text.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/tiger.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/tigerLoader.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/shapes/zoomtiger.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/BouncyShape.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Cloud.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithLightning.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithLightningAndRain_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithLightning_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithRain.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithRain_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithSnow.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/CloudWithSnow_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Cloud_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/DemoShape.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Europe.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Europe_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Gear.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Gear_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/MapLabel.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SettingsDrawer.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Sun.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindCloud.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindCloud_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindLargeCloud_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindRainCloud.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindRainCloud_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindSmallCloud.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/SunBehindSmallCloud_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/Sun_generated.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/Europe.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/OFL.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/WorkSans-Regular.ttf
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/apache.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/attribution.txt
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/cloud-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/cloud-with-lightning-and-rain-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/cloud-with-lightning-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/cloud-with-rain-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/cloud-with-snow-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/gear-alt-stroke.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/sun-behind-cloud-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/sun-behind-large-cloud-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/sun-behind-rain-cloud-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/sun-behind-small-cloud-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/assets/sun-svgrepo-com.svg
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/doc/images/qml-weatherforecast-example.png
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/doc/images/settings.png
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/doc/images/zoomed.png
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/doc/src/weatherforecast.qdoc
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/main.cpp
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/main.qml
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/qt_attribution.json
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/qtquickcontrols2.conf
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/weatherforecast.pro
+%%QT_EXAMPLEDIR%%/quick/quickshapes/weatherforecast/weatherforecast.qrc
%%QT_EXAMPLEDIR%%/quick/quickwidgets/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/quickwidgets/qquickwidgetversuswindow_opengl/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/quickwidgets/qquickwidgetversuswindow_opengl/doc/images/qquickwidgetversuswindow-opengl-example.jpg
@@ -4496,9 +4748,19 @@
%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_opengl/rendercontrol_opengl.pro
%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_opengl/window_singlethreaded.cpp
%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_opengl/window_singlethreaded.h
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/demo.qml
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/doc/images/rendercontrol-rhi-example.jpg
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/doc/src/rendercontrol_rhi.qdoc
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/main.cpp
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/rendercontrol_rhi.pro
+%%QT_EXAMPLEDIR%%/quick/rendercontrol/rendercontrol_rhi/rendercontrol_rhi.qrc
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/doc/images/qtquicklayouts-example-responsivelayouts.png
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/doc/src/qtquickresponsiveLayouts-examples.qdoc
+%%QT_EXAMPLEDIR%%/quick/responsivelayouts/icons/grid.svg
+%%QT_EXAMPLEDIR%%/quick/responsivelayouts/icons/settings.svg
+%%QT_EXAMPLEDIR%%/quick/responsivelayouts/icons/text.svg
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/main.cpp
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/responsivelayouts.pro
%%QT_EXAMPLEDIR%%/quick/responsivelayouts/responsivelayouts.qml
@@ -4602,20 +4864,25 @@
%%QT_EXAMPLEDIR%%/quick/scenegraph/openglunderqml/squircle.cpp
%%QT_EXAMPLEDIR%%/quick/scenegraph/openglunderqml/squircle.h
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/SettingsDrawer.qml
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/doc/images/rhitextureitem-example.jpg
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/doc/src/rhitextureitem.qdoc
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/icon_settings.png
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/icon_settings@2x.png
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/icon_settings@3x.png
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/icon_settings@4x.png
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/main.cpp
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/main.qml
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/prebuilts_for_qmake/checker.frag.qsb
-%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/prebuilts_for_qmake/logo.frag.qsb
-%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/prebuilts_for_qmake/logo.vert.qsb
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/prebuilts_for_qmake/color.frag.qsb
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/prebuilts_for_qmake/color.vert.qsb
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/rhitextureitem.cpp
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/rhitextureitem.h
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/rhitextureitem.pro
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/rhitextureitem.qrc
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/shaders/checker.frag
-%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/shaders/logo.frag
-%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/shaders/logo.vert
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/shaders/color.frag
+%%QT_EXAMPLEDIR%%/quick/scenegraph/rhitextureitem/shaders/color.vert
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhiunderqml/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhiunderqml/doc/images/rhiunderqml-example.jpg
%%QT_EXAMPLEDIR%%/quick/scenegraph/rhiunderqml/doc/src/rhiunderqml.qdoc
@@ -4631,6 +4898,8 @@
%%QT_EXAMPLEDIR%%/quick/scenegraph/shared/squircle_rhi.frag
%%QT_EXAMPLEDIR%%/quick/scenegraph/shared/squircle_rhi.vert
%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/doc/images/threadedanimation-example.jpg
+%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/doc/src/threadedanimation.qdoc
%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/main.cpp
%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/main.qml
%%QT_EXAMPLEDIR%%/quick/scenegraph/threadedanimation/spinner.cpp
@@ -4697,40 +4966,9 @@
%%QT_EXAMPLEDIR%%/quick/shadereffects/shadereffects.qml
%%QT_EXAMPLEDIR%%/quick/shadereffects/shadereffects.qmlproject
%%QT_EXAMPLEDIR%%/quick/shadereffects/shadereffects.qrc
-%%QT_EXAMPLEDIR%%/quick/shapes/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/quick/shapes/arcDirection.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/arcRotation.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/capStyles.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/clippedtigers.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/cubicCurve.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/dashPattern.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/doc/images/qml-shapes-example.png
-%%QT_EXAMPLEDIR%%/quick/shapes/doc/src/shapes.qdoc
-%%QT_EXAMPLEDIR%%/quick/shapes/ellipticalArcs.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/fillRules.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/gradientSpreadModes.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/interactive.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/joinStyles.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/largeOrSmallArc.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/linearGradient.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/main.cpp
-%%QT_EXAMPLEDIR%%/quick/shapes/main.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/quadraticCurve.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/radialGradient.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/sampling.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/shapegallery.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/shapes.pro
-%%QT_EXAMPLEDIR%%/quick/shapes/shapes.qrc
-%%QT_EXAMPLEDIR%%/quick/shapes/strokeOrFill.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/tapableTriangle.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/text.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/tiger.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/tigerLoader.qml
-%%QT_EXAMPLEDIR%%/quick/shapes/zoomtiger.qml
%%QT_EXAMPLEDIR%%/quick/shared/Button.qml
%%QT_EXAMPLEDIR%%/quick/shared/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick/shared/CheckBox.qml
-%%QT_EXAMPLEDIR%%/quick/shared/FlickrRssModel.qml
%%QT_EXAMPLEDIR%%/quick/shared/Images.qml
%%QT_EXAMPLEDIR%%/quick/shared/Label.qml
%%QT_EXAMPLEDIR%%/quick/shared/LauncherList.qml
@@ -4886,12 +5124,7 @@
%%QT_EXAMPLEDIR%%/quick/tutorials/samegame/samegame4/samegame4.qrc
%%QT_EXAMPLEDIR%%/quick/tutorials/tutorials.pro
%%QT_EXAMPLEDIR%%/quick/views/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/delegatemodel.qmlproject
%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/dragselection.qml
-%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/flipable.pro
-%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/flipable.qrc
-%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/main.cpp
-%%QT_EXAMPLEDIR%%/quick/views/delegatemodel/slideshow.qml
%%QT_EXAMPLEDIR%%/quick/views/doc/images/qml-modelviews-example.png
%%QT_EXAMPLEDIR%%/quick/views/doc/src/views.qdoc
%%QT_EXAMPLEDIR%%/quick/views/gridview/gridview-example.qml
@@ -5059,6 +5292,26 @@
%%QT_EXAMPLEDIR%%/quick3d/dynamiccreation/main.qml
%%QT_EXAMPLEDIR%%/quick3d/dynamiccreation/qml.qrc
%%QT_EXAMPLEDIR%%/quick3d/dynamiccreation/weirdShape.mesh
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/ColorPicker.qml
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/Main.qml
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/SectionLayout.qml
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/doc/images/stencil_outline.jpg
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/doc/src/qtquick3d-examples-outline_extension.qdoc
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeExpanded.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeExpanded@2x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeExpanded@3x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeExpanded@4x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeUnexpanded.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeUnexpanded@2x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeUnexpanded@3x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/TreeUnexpanded@4x.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/images/grid_8x8.png
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/main.cpp
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/models/suzanne.mesh
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/outlinerenderextension.cpp
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/outlinerenderextension.h
+%%QT_EXAMPLEDIR%%/quick3d/extensions/stenciloutline/shaders/huesaturation.frag
%%QT_EXAMPLEDIR%%/quick3d/hellocube/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick3d/hellocube/doc/images/hellocube.png
%%QT_EXAMPLEDIR%%/quick3d/hellocube/doc/src/hellocube.qdoc
@@ -5140,6 +5393,8 @@
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/CMakeLists.txt
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/MaterialRed.qml
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/MaterialRedExtended.qml
+%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/doc/images/offlineshaders-example.jpg
+%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/doc/src/qtquick3d-examples-offlineshaders.qdoc
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/main.cpp
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/main.qml
%%QT_EXAMPLEDIR%%/quick3d/offlineshaders/maps/metallic/basecolor.jpg
@@ -6004,8 +6259,6 @@
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/doc/images/qtquickcontrols-texteditor-desktop.jpg
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/doc/images/qtquickcontrols-texteditor-touch.jpg
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/doc/src/qtquickcontrols-texteditor.qdoc
-%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/documenthandler.cpp
-%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/documenthandler.h
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/einstein.png
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/example.md
%%QT_EXAMPLEDIR%%/quickcontrols/texteditor/fonts/fontello.ttf
@@ -6026,8 +6279,11 @@
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/DemoModeIndicator.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/FitnessPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/LauncherPage.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/ListHeaderItem.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/ListItem.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/Main.qml
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/NaviButton.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/MenuHeader.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/NavigationFallbackPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/NavigationPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/NotificationsPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/RouteElement.qml
@@ -6035,147 +6291,101 @@
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/SwipeViewPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/WeatherPage.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/WorldClockPage.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/fallbackroute.json
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/fitness.js
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/alarms.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/fitness.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/navigation.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/notifications.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/settings.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/weather.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36/worldclock.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/alarms.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/fitness.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/navigation.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/notifications.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/settings.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/weather.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/36x36@2/worldclock.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wearable/index.theme
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/back.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/back@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/back@3x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/back@4x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/background-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/background-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/home.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/home@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/home@3x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/home@4x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-end.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-end@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-leftturn-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-leftturn-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-leftturn-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-leftturn-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-marker.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-rightturn-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-rightturn-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-rightturn-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-rightturn-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-start.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-start@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-straight-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-straight-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-straight-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-straight-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-uturn.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/navigation-uturn@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarf-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarf-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarf-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarf-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarm-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarm-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarm-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-avatarm-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-missedcall-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-missedcall-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-missedcall-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/notifications-missedcall-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-bluetooth-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-bluetooth-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-bluetooth-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-bluetooth-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-brightness-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-brightness-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-brightness-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-brightness-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-white.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode-white@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-demo-mode.svg
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-theme-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-theme-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-theme-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-theme-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-theme.svg
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-wifi-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-wifi-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-wifi-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/settings-wifi-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-humidity-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-humidity-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-humidity-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-humidity-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-pressure-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-pressure-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-pressure-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-pressure-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunrise-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunrise-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunrise-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunrise-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunset-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunset-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunset-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-sunset-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-temperature-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-temperature-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-temperature-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-temperature-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-wind-dark.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-wind-dark@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-wind-light.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/weather-wind-light@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-center.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-center@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-clock-night.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-clock-night@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-clock.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-second.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-second@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdaydial.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdaydial@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdayhour.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdayhour@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdayminute.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissdayminute@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnightdial.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnightdial@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnighthour.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnighthour@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnightminute.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissnightminute@2x.png
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/world-clock-swissseconds.png
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/back-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/back-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bearleft-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bearleft-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bearright-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bearright-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bell-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bell-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bluetooth-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/bluetooth-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/clock-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/clock-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/darkmode-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/darkmode-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/demomode-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/demomode-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/drop-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/drop-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/forward-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/forward-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/hearth-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/hearth-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/left-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/left-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/lightleft-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/lightleft-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/lightright-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/lightright-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/maps-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/maps-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/notification-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/notification-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/plus-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/plus-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/pressure-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/pressure-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/right-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/right-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/settings-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/settings-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sun-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sun-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sunrise-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sunrise-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sunset-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/sunset-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/thermometer-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/thermometer-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/uturnleft-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/uturnleft-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/uturnright-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/uturnright-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-few-clouds-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-few-clouds-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-fog-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-fog-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-haze-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-haze-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-icy-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-icy-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-overcast-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-overcast-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-showers-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-showers-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-showers-scattered-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-showers-scattered-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sleet-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sleet-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-snow-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-snow-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-storm-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-storm-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sunny-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sunny-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sunny-very-few-clouds-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-sunny-very-few-clouds-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-thundershower-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/weather-thundershower-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wifi-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wifi-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wind-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/wind-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/icons/yellowsun.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fallbackmap.png
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-running-light.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-dark.svg
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/images/fitness-man-walking-light.svg
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/navigation.js
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/notifications.js
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/qmldir
-%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/walk_route.json
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/weather.js
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/Wearable/weather.json
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableSettings/CMakeLists.txt
@@ -6186,6 +6396,10 @@
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/Slider.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/Switch.qml
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/UIStyle.qml
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/fonts/OFL.txt
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/fonts/TitilliumWeb-Bold.ttf
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/fonts/TitilliumWeb-Regular.ttf
+%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/fonts/TitilliumWeb-SemiBold.ttf
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/WearableStyle/qmldir
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/doc/images/qtquickcontrols-wearable.png
%%QT_EXAMPLEDIR%%/quickcontrols/wearable/doc/src/qtquickcontrols-wearable.qdoc
@@ -6825,6 +7039,7 @@
%%QT_EXAMPLEDIR%%/svg/textobject/textobject.pro
%%QT_EXAMPLEDIR%%/svg/textobject/window.cpp
%%QT_EXAMPLEDIR%%/svg/textobject/window.h
+%%QT_EXAMPLEDIR%%/tutorials/CMakeLists.txt
%%QT_EXAMPLEDIR%%/tutorials/alarms/AlarmDelegate.qml
%%QT_EXAMPLEDIR%%/tutorials/alarms/AlarmDialog.qml
%%QT_EXAMPLEDIR%%/tutorials/alarms/AlarmModel.qml
@@ -6836,6 +7051,7 @@
%%QT_EXAMPLEDIR%%/tutorials/alarms/main.qml
%%QT_EXAMPLEDIR%%/tutorials/alarms/qml.qrc
%%QT_EXAMPLEDIR%%/tutorials/alarms/qtquickcontrols2.conf
+%%QT_EXAMPLEDIR%%/tutorials/tutorials.pro
%%QT_EXAMPLEDIR%%/uitools/CMakeLists.txt
%%QT_EXAMPLEDIR%%/uitools/doc/images/textfinder-example-userinterface.webp
%%QT_EXAMPLEDIR%%/uitools/doc/src/textfinder.qdoc
@@ -7124,6 +7340,7 @@
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/FindBar.qml
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/FullScreenNotification.qml
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/Info.cmake.macos.plist
+%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/WebAuthDialog.qml
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/doc/images/quicknanobrowser-demo.jpg
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/doc/src/quicknanobrowser.qdoc
%%QT_EXAMPLEDIR%%/webenginequick/quicknanobrowser/icons/3rdparty/COPYING
@@ -7303,6 +7520,9 @@
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/simplebrowser.pro
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/tabwidget.cpp
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/tabwidget.h
+%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webauthdialog.cpp
+%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webauthdialog.h
+%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webauthdialog.ui
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webpage.cpp
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webpage.h
%%QT_EXAMPLEDIR%%/webenginewidgets/simplebrowser/webpopupwindow.cpp
@@ -7488,8 +7708,6 @@
%%QT_EXAMPLEDIR%%/widgets/doc/images/completer-example-word.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/completer-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/dropsite-example.png
-%%QT_EXAMPLEDIR%%/widgets/doc/images/echoplugin.png
-%%QT_EXAMPLEDIR%%/widgets/doc/images/echopluginexample.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/geometry.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/graphicssimpleanchorlayout-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/icons_monkey.png
@@ -7501,7 +7719,7 @@
%%QT_EXAMPLEDIR%%/widgets/doc/images/icons_qt_extended_48x48.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/icons_qt_extended_64x64.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/icons_qt_extended_8x8.png
-%%QT_EXAMPLEDIR%%/widgets/doc/images/imagegestures-example.jpg
+%%QT_EXAMPLEDIR%%/widgets/doc/images/imagegestures-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/itemviews-editabletreemodel-indexes.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/itemviews-editabletreemodel-items.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/itemviews-editabletreemodel-model.png
@@ -7518,10 +7736,8 @@
%%QT_EXAMPLEDIR%%/widgets/doc/images/orderform-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/regexp-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/regularexpression-example.png
-%%QT_EXAMPLEDIR%%/widgets/doc/images/settingseditor-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/sipdialog-closed.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/sipdialog-opened.png
-%%QT_EXAMPLEDIR%%/widgets/doc/images/stylepluginexample.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/systemtray-editor.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/systemtray-example.png
%%QT_EXAMPLEDIR%%/widgets/doc/images/treemodel-structure.png
@@ -7534,7 +7750,6 @@
%%QT_EXAMPLEDIR%%/widgets/doc/src/basicgraphicslayouts.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/basiclayouts.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/basicsortfiltermodel.qdoc
-%%QT_EXAMPLEDIR%%/widgets/doc/src/blurpicker.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/calculator.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/calendarwidget.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/chip.qdoc
@@ -7543,6 +7758,7 @@
%%QT_EXAMPLEDIR%%/widgets/doc/src/combowidgetmapper.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/completer.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/composition.qdoc
+%%QT_EXAMPLEDIR%%/widgets/doc/src/cuberhiwidget.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/customsortfiltermodel.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/deform.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/diagramscene.qdoc
@@ -7550,7 +7766,6 @@
%%QT_EXAMPLEDIR%%/widgets/doc/src/draggableicons.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/draggabletext.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/easing.qdoc
-%%QT_EXAMPLEDIR%%/widgets/doc/src/echoplugin.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/editabletreemodel.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/elasticnodes.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/fetchmore.qdoc
@@ -7570,17 +7785,15 @@
%%QT_EXAMPLEDIR%%/widgets/doc/src/regularexpression.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/screenshot.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/scribble.qdoc
-%%QT_EXAMPLEDIR%%/widgets/doc/src/settingseditor.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/shapedclock.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/shortcuteditor.qdoc
+%%QT_EXAMPLEDIR%%/widgets/doc/src/simplerhiwidget.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/simpletreemodel.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/sliders.qdoc
-%%QT_EXAMPLEDIR%%/widgets/doc/src/spinboxdelegate.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/spinboxes.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/spreadsheet.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/standarddialogs.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/stardelegate.qdoc
-%%QT_EXAMPLEDIR%%/widgets/doc/src/styleplugin.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/syntaxhighlighter.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/tabdialog.qdoc
%%QT_EXAMPLEDIR%%/widgets/doc/src/tablet.qdoc
@@ -7615,24 +7828,6 @@
%%QT_EXAMPLEDIR%%/widgets/draganddrop/dropsite/dropsitewindow.cpp
%%QT_EXAMPLEDIR%%/widgets/draganddrop/dropsite/dropsitewindow.h
%%QT_EXAMPLEDIR%%/widgets/draganddrop/dropsite/main.cpp
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blureffect.cpp
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blureffect.h
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blurpicker.cpp
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blurpicker.h
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blurpicker.pro
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/blurpicker.qrc
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/README.txt
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/accessories-calculator.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/accessories-text-editor.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/background.jpg
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/help-browser.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/internet-group-chat.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/internet-mail.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/internet-web-browser.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/office-calendar.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/images/system-users.png
-%%QT_EXAMPLEDIR%%/widgets/effects/blurpicker/main.cpp
%%QT_EXAMPLEDIR%%/widgets/gallery/CMakeLists.txt
%%QT_EXAMPLEDIR%%/widgets/gallery/gallery.pro
%%QT_EXAMPLEDIR%%/widgets/gallery/main.cpp
@@ -7814,11 +8009,6 @@
%%QT_EXAMPLEDIR%%/widgets/itemviews/simpletreemodel/treeitem.h
%%QT_EXAMPLEDIR%%/widgets/itemviews/simpletreemodel/treemodel.cpp
%%QT_EXAMPLEDIR%%/widgets/itemviews/simpletreemodel/treemodel.h
-%%QT_EXAMPLEDIR%%/widgets/itemviews/spinboxdelegate/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/itemviews/spinboxdelegate/delegate.cpp
-%%QT_EXAMPLEDIR%%/widgets/itemviews/spinboxdelegate/delegate.h
-%%QT_EXAMPLEDIR%%/widgets/itemviews/spinboxdelegate/main.cpp
-%%QT_EXAMPLEDIR%%/widgets/itemviews/spinboxdelegate/spinboxdelegate.pro
%%QT_EXAMPLEDIR%%/widgets/itemviews/spreadsheet/CMakeLists.txt
%%QT_EXAMPLEDIR%%/widgets/itemviews/spreadsheet/images/interview.png
%%QT_EXAMPLEDIR%%/widgets/itemviews/spreadsheet/main.cpp
@@ -7937,8 +8127,6 @@
%%QT_EXAMPLEDIR%%/widgets/painting/shared/arthurstyle.h
%%QT_EXAMPLEDIR%%/widgets/painting/shared/arthurwidgets.cpp
%%QT_EXAMPLEDIR%%/widgets/painting/shared/arthurwidgets.h
-%%QT_EXAMPLEDIR%%/widgets/painting/shared/fbopaintdevice.cpp
-%%QT_EXAMPLEDIR%%/widgets/painting/shared/fbopaintdevice.h
%%QT_EXAMPLEDIR%%/widgets/painting/shared/hoverpoints.cpp
%%QT_EXAMPLEDIR%%/widgets/painting/shared/hoverpoints.h
%%QT_EXAMPLEDIR%%/widgets/painting/shared/images/bg_pattern.png
@@ -7994,6 +8182,29 @@
%%QT_EXAMPLEDIR%%/widgets/qnx/foreignwindows/collector.h
%%QT_EXAMPLEDIR%%/widgets/qnx/foreignwindows/foreignwindows.pro
%%QT_EXAMPLEDIR%%/widgets/qnx/foreignwindows/main.cpp
+%%QT_EXAMPLEDIR%%/widgets/rhi/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/cube.h
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/cuberhiwidget.pro
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/cuberhiwidget.qrc
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/examplewidget.cpp
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/examplewidget.h
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/main.cpp
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/shader_assets/texture.frag.qsb
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/shader_assets/texture.vert.qsb
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/shaders/texture.frag
+%%QT_EXAMPLEDIR%%/widgets/rhi/cuberhiwidget/shaders/texture.vert
+%%QT_EXAMPLEDIR%%/widgets/rhi/rhi.pro
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/CMakeLists.txt
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/examplewidget.cpp
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/examplewidget.h
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/main.cpp
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/shader_assets/color.frag.qsb
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/shader_assets/color.vert.qsb
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/shaders/color.frag
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/shaders/color.vert
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/simplerhiwidget.pro
+%%QT_EXAMPLEDIR%%/widgets/rhi/simplerhiwidget/simplerhiwidget.qrc
%%QT_EXAMPLEDIR%%/widgets/richtext/CMakeLists.txt
%%QT_EXAMPLEDIR%%/widgets/richtext/README
%%QT_EXAMPLEDIR%%/widgets/richtext/orderform/CMakeLists.txt
@@ -8032,19 +8243,6 @@
%%QT_EXAMPLEDIR%%/widgets/tools/customcompleter/resources/wordlist.txt
%%QT_EXAMPLEDIR%%/widgets/tools/customcompleter/textedit.cpp
%%QT_EXAMPLEDIR%%/widgets/tools/customcompleter/textedit.h
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echoplugin.pro
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/echointerface.h
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/echowindow.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/echowindow.h
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/echowindow.pro
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/echowindow/main.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/plugin/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/plugin/echoplugin.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/plugin/echoplugin.h
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/plugin/echoplugin.json
-%%QT_EXAMPLEDIR%%/widgets/tools/echoplugin/plugin/plugin.pro
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/CMakeLists.txt
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/images/copy.png
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/main.cpp
@@ -8052,33 +8250,6 @@
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/regularexpression.qrc
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/regularexpressiondialog.cpp
%%QT_EXAMPLEDIR%%/widgets/tools/regularexpression/regularexpressiondialog.h
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/inifiles/licensepage.ini
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/inifiles/qsa.ini
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/locationdialog.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/locationdialog.h
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/main.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/mainwindow.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/mainwindow.h
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/settingseditor.pro
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/settingstree.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/settingstree.h
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/variantdelegate.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/settingseditor/variantdelegate.h
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/plugin.pro
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/simplestyle.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/simplestyle.h
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/simplestyle.json
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/simplestyleplugin.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/plugin/simplestyleplugin.h
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/styleplugin.pro
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/stylewindow/CMakeLists.txt
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/stylewindow/main.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/stylewindow/stylewindow.cpp
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/stylewindow/stylewindow.h
-%%QT_EXAMPLEDIR%%/widgets/tools/styleplugin/stylewindow/stylewindow.pro
%%QT_EXAMPLEDIR%%/widgets/tools/tools.pro
%%QT_EXAMPLEDIR%%/widgets/tools/treemodelcompleter/CMakeLists.txt
%%QT_EXAMPLEDIR%%/widgets/tools/treemodelcompleter/main.cpp
diff --git a/multimedia/qt6-multimedia/Makefile b/multimedia/qt6-multimedia/Makefile
index 08660da6d670..88c6f844cb8e 100644
--- a/multimedia/qt6-multimedia/Makefile
+++ b/multimedia/qt6-multimedia/Makefile
@@ -3,6 +3,9 @@ DISTVERSION= ${QT6_VERSION}
CATEGORIES= multimedia
PKGNAMEPREFIX= qt6-
+PATCH_SITES= https://github.com/qt/qtmultimedia/commit/
+PATCHFILES+= 7fcea568c9c64f3bcebda21f0df02aa0107dfd0c.patch:-p1
+
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt audio, video, radio and camera support module
diff --git a/multimedia/qt6-multimedia/distinfo b/multimedia/qt6-multimedia/distinfo
index 5becbb32f2b0..58d29a34a088 100644
--- a/multimedia/qt6-multimedia/distinfo
+++ b/multimedia/qt6-multimedia/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1711663460
-SHA256 (KDE/Qt/6.6.3/qtmultimedia-everywhere-src-6.6.3.tar.xz) = be00f830d2b14c9a12f3b6812ba3a23fdaaceb2dd9c1c6394c329c8bf6e53ab2
-SIZE (KDE/Qt/6.6.3/qtmultimedia-everywhere-src-6.6.3.tar.xz) = 8266612
+TIMESTAMP = 1712784204
+SHA256 (KDE/Qt/6.7.0/qtmultimedia-everywhere-src-6.7.0.tar.xz) = f394bae49e3d4ee6a3b0c9e1e5e31bb870cc04a4b44f4cda3615baf7bd078c70
+SIZE (KDE/Qt/6.7.0/qtmultimedia-everywhere-src-6.7.0.tar.xz) = 8315312
+SHA256 (KDE/Qt/6.7.0/7fcea568c9c64f3bcebda21f0df02aa0107dfd0c.patch) = ccaf3db6425e43ae19354ae797dbff66176e63a7c31238bbeb90dd10cf940e03
+SIZE (KDE/Qt/6.7.0/7fcea568c9c64f3bcebda21f0df02aa0107dfd0c.patch) = 8797
diff --git a/multimedia/qt6-multimedia/pkg-plist b/multimedia/qt6-multimedia/pkg-plist
index 6e320bc0920e..01459b6f8ff3 100644
--- a/multimedia/qt6-multimedia/pkg-plist
+++ b/multimedia/qt6-multimedia/pkg-plist
@@ -45,7 +45,6 @@
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qsamplecache_p.h
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtmultimedia-config_p.h
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtmultimediaglobal_p.h
-%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtvideo_p.h
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframe_p.h
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframeconversionhelper_p.h
%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframeconverter_p.h
@@ -81,6 +80,7 @@
%%QT_INCDIR%%/QtMultimedia/QVideoSink
%%QT_INCDIR%%/QtMultimedia/QWaveDecoder
%%QT_INCDIR%%/QtMultimedia/QWindowCapture
+%%QT_INCDIR%%/QtMultimedia/QtAudio
%%QT_INCDIR%%/QtMultimedia/QtMultimedia
%%QT_INCDIR%%/QtMultimedia/QtMultimediaDepends
%%QT_INCDIR%%/QtMultimedia/QtMultimediaVersion
@@ -107,11 +107,12 @@
%%QT_INCDIR%%/QtMultimedia/qmediatimerange.h
%%QT_INCDIR%%/QtMultimedia/qscreencapture.h
%%QT_INCDIR%%/QtMultimedia/qsoundeffect.h
+%%QT_INCDIR%%/QtMultimedia/qtaudio.h
%%QT_INCDIR%%/QtMultimedia/qtmultimedia-config.h
-%%QT_INCDIR%%/QtMultimedia/qtmultimediadefs.h
%%QT_INCDIR%%/QtMultimedia/qtmultimediaexports.h
%%QT_INCDIR%%/QtMultimedia/qtmultimediaglobal.h
%%QT_INCDIR%%/QtMultimedia/qtmultimediaversion.h
+%%QT_INCDIR%%/QtMultimedia/qtvideo.h
%%QT_INCDIR%%/QtMultimedia/qvideoframe.h
%%QT_INCDIR%%/QtMultimedia/qvideoframeformat.h
%%QT_INCDIR%%/QtMultimedia/qvideosink.h
@@ -139,7 +140,6 @@
%%QT_INCDIR%%/QtMultimediaWidgets/QtMultimediaWidgetsDepends
%%QT_INCDIR%%/QtMultimediaWidgets/QtMultimediaWidgetsVersion
%%QT_INCDIR%%/QtMultimediaWidgets/qgraphicsvideoitem.h
-%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetdefs.h
%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsexports.h
%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsglobal.h
%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsversion.h
diff --git a/net/py-qt6-networkauth/Makefile b/net/py-qt6-networkauth/Makefile
index f9c25118f7f1..ad5d0e107f92 100644
--- a/net/py-qt6-networkauth/Makefile
+++ b/net/py-qt6-networkauth/Makefile
@@ -11,11 +11,8 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= Python bindings for the Qt6 toolkit, QtNetworkAuth module
WWW= https://riverbankcomputing.com/software/pyqt
-LIB_DEPENDS= libqscintilla2_qt6.so:devel/qscintilla2-qt6
-
USES= gl pyqt:6 python qt:6
-USE_GL= gl
-USE_LOCALE= C.UTF-8
+USE_GL= opengl
USE_PYQT= sip:build pyqt6 qtbuilder
USE_PYTHON= concurrent flavors
USE_QT= base networkauth
diff --git a/net/py-qt6-networkauth/distinfo b/net/py-qt6-networkauth/distinfo
index a7675b2301fe..e7358e253955 100644
--- a/net/py-qt6-networkauth/distinfo
+++ b/net/py-qt6-networkauth/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698901185
-SHA256 (PyQt6_NetworkAuth-6.6.0.tar.gz) = cdfc0bfaea16a9e09f075bdafefb996aa9fdec392052ba4fb3cbac233c1958fb
-SIZE (PyQt6_NetworkAuth-6.6.0.tar.gz) = 20114
+TIMESTAMP = 1714272075
+SHA256 (PyQt6_NetworkAuth-6.7.0.tar.gz) = 974983525437633a0f016c0ffa0dc311847089f253dfe6840b0ec8ce21dc8685
+SIZE (PyQt6_NetworkAuth-6.7.0.tar.gz) = 20275
diff --git a/net/qt6-coap/distinfo b/net/qt6-coap/distinfo
index 7a0dc440ea7e..4dba11e699fb 100644
--- a/net/qt6-coap/distinfo
+++ b/net/qt6-coap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663462
-SHA256 (KDE/Qt/6.6.3/qt-qtcoap-v6.6.3_GH0.tar.gz) = ae5b67fc48f13da0a2353527fb0c6e6ac9f56374f0d17a66208116c3f3e1ae71
-SIZE (KDE/Qt/6.6.3/qt-qtcoap-v6.6.3_GH0.tar.gz) = 183074
+TIMESTAMP = 1712114578
+SHA256 (KDE/Qt/6.7.0/qt-qtcoap-v6.7.0_GH0.tar.gz) = fb3c8b7b49a642139840130a603c05f9d8413e963d644b0c897de863baad118e
+SIZE (KDE/Qt/6.7.0/qt-qtcoap-v6.7.0_GH0.tar.gz) = 183108
diff --git a/net/qt6-networkauth/distinfo b/net/qt6-networkauth/distinfo
index 6e823a89607c..81e9b9b96490 100644
--- a/net/qt6-networkauth/distinfo
+++ b/net/qt6-networkauth/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663464
-SHA256 (KDE/Qt/6.6.3/qtnetworkauth-everywhere-src-6.6.3.tar.xz) = 5db9a30b42d7ff22ce1a0048474c36b3b84e1e55f3af991ba3cc8e0dc9bb7594
-SIZE (KDE/Qt/6.6.3/qtnetworkauth-everywhere-src-6.6.3.tar.xz) = 143676
+TIMESTAMP = 1712114580
+SHA256 (KDE/Qt/6.7.0/qtnetworkauth-everywhere-src-6.7.0.tar.xz) = 993105616ff0223d3d826e2a497440035721c6e1acdae232935fae3bcfa74a45
+SIZE (KDE/Qt/6.7.0/qtnetworkauth-everywhere-src-6.7.0.tar.xz) = 143660
diff --git a/science/qt6-quick3dphysics/distinfo b/science/qt6-quick3dphysics/distinfo
index f124b0eca149..593b62984e53 100644
--- a/science/qt6-quick3dphysics/distinfo
+++ b/science/qt6-quick3dphysics/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663491
-SHA256 (KDE/Qt/6.6.3/qtquick3dphysics-everywhere-src-6.6.3.tar.xz) = 67e19b482ea1ac8ba14afda8f804e90e0a68ff68e7da58b454deffda3051f546
-SIZE (KDE/Qt/6.6.3/qtquick3dphysics-everywhere-src-6.6.3.tar.xz) = 4692928
+TIMESTAMP = 1712114589
+SHA256 (KDE/Qt/6.7.0/qtquick3dphysics-everywhere-src-6.7.0.tar.xz) = 80045f261109f3f3807c0b405d056e935210a36499c3a9aff78296d8940e04e6
+SIZE (KDE/Qt/6.7.0/qtquick3dphysics-everywhere-src-6.7.0.tar.xz) = 4702492
diff --git a/www/py-qt6-webengine/Makefile b/www/py-qt6-webengine/Makefile
index ba2317eff1da..8a6e942bdb93 100644
--- a/www/py-qt6-webengine/Makefile
+++ b/www/py-qt6-webengine/Makefile
@@ -12,7 +12,7 @@ COMMENT= Python bindings for the Qt6 toolkit, QtWebEngine module
WWW= https://riverbankcomputing.com/software/pyqt
USES= gl python pyqt:6 qt:6
-USE_GL= gl
+USE_GL= opengl
USE_PYQT= sip:build pyqt6
USE_PYTHON= concurrent flavors
USE_QT= base declarative positioning webchannel webengine
diff --git a/www/py-qt6-webengine/distinfo b/www/py-qt6-webengine/distinfo
index a47e084a2044..4e4a1ee59e1d 100644
--- a/www/py-qt6-webengine/distinfo
+++ b/www/py-qt6-webengine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698900348
-SHA256 (PyQt6_WebEngine-6.6.0.tar.gz) = d50b984c3f85e409e692b156132721522d4e8cf9b6c25e0cf927eea2dfb39487
-SIZE (PyQt6_WebEngine-6.6.0.tar.gz) = 31817
+TIMESTAMP = 1714272046
+SHA256 (PyQt6_WebEngine-6.7.0.tar.gz) = 68edc7adb6d9e275f5de956881e79cca0d71fad439abeaa10d823bff5ac55001
+SIZE (PyQt6_WebEngine-6.7.0.tar.gz) = 32593
diff --git a/www/py-qt6-webengine/pkg-plist b/www/py-qt6-webengine/pkg-plist
index c223a7b9147b..d569bcec7b29 100644
--- a/www/py-qt6-webengine/pkg-plist
+++ b/www/py-qt6-webengine/pkg-plist
@@ -7,6 +7,7 @@
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebengineclientcertificatestore.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginecontextmenurequest.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginecookiestore.sip
+%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginedesktopmediarequest.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginedownloadrequest.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginefilesystemaccessrequest.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginefindtextresult.sip
@@ -30,6 +31,7 @@
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebengineurlrequestjob.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebengineurlscheme.sip
%%PYQT_SIPDIR%%/QtWebEngineCore/qwebengineurlschemehandler.sip
+%%PYQT_SIPDIR%%/QtWebEngineCore/qwebenginewebauthuxrequest.sip
%%PYQT_SIPDIR%%/QtWebEngineQuick/QtWebEngineQuick.toml
%%PYQT_SIPDIR%%/QtWebEngineQuick/QtWebEngineQuickmod.sip
%%PYQT_SIPDIR%%/QtWebEngineQuick/qquickwebengineprofile.sip
diff --git a/www/qt6-httpserver/distinfo b/www/qt6-httpserver/distinfo
index f14fe9dc69fc..3034098790ec 100644
--- a/www/qt6-httpserver/distinfo
+++ b/www/qt6-httpserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663494
-SHA256 (KDE/Qt/6.6.3/qthttpserver-everywhere-src-6.6.3.tar.xz) = 41ac78d745d00eef1c3866dda5119d3649a64fa08d44d72d89b83aeecde87835
-SIZE (KDE/Qt/6.6.3/qthttpserver-everywhere-src-6.6.3.tar.xz) = 162228
+TIMESTAMP = 1712114591
+SHA256 (KDE/Qt/6.7.0/qthttpserver-everywhere-src-6.7.0.tar.xz) = c2e2e38b2b21537eeef20d097bb5f216081462c44b78d63045e60d6fd9f89bfa
+SIZE (KDE/Qt/6.7.0/qthttpserver-everywhere-src-6.7.0.tar.xz) = 163044
diff --git a/www/qt6-webchannel/distinfo b/www/qt6-webchannel/distinfo
index f0fb96133280..efd443f28aec 100644
--- a/www/qt6-webchannel/distinfo
+++ b/www/qt6-webchannel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711663498
-SHA256 (KDE/Qt/6.6.3/qtwebchannel-everywhere-src-6.6.3.tar.xz) = 7c7b2ae5d1b496f76a7ece3ac5728a8d209af4ac7853207dbc01a4982f718c33
-SIZE (KDE/Qt/6.6.3/qtwebchannel-everywhere-src-6.6.3.tar.xz) = 206396
+TIMESTAMP = 1712114594
+SHA256 (KDE/Qt/6.7.0/qtwebchannel-everywhere-src-6.7.0.tar.xz) = 26bfbd404e0c82bfbeeaef81796eb7a7cf931c5c1a5e942a315ca7126322efff
+SIZE (KDE/Qt/6.7.0/qtwebchannel-everywhere-src-6.7.0.tar.xz) = 206600
diff --git a/www/qt6-webengine/Makefile b/www/qt6-webengine/Makefile
index e78bd490a6a5..b6f2d157f127 100644
--- a/www/qt6-webengine/Makefile
+++ b/www/qt6-webengine/Makefile
@@ -101,10 +101,11 @@ DO_MAKE_BUILD= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} -j1 $
BINARY_ALIAS= python3=${PYTHON_CMD}
.if !defined(BUILD_QTPDF)
-OPTIONS_DEFINE= CUPS
-OPTIONS_DEFAULT= ALSA CUPS
+OPTIONS_DEFINE= CUPS DRIVER
+OPTIONS_DEFAULT= ALSA CUPS DRIVER
OPTIONS_SINGLE= AUDIO
OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO SNDIO
+OPTIONS_SUB= yes
AUDIO_DESC= Audio backend
@@ -122,6 +123,10 @@ CUPS_LIB_DEPENDS= libcups.so:print/cups \
CUPS_CMAKE_ON= -DQT_FEATURE_webengine_printing_and_pdf:BOOL=ON
CUPS_CMAKE_OFF= -DQT_FEATURE_webengine_printing_and_pdf:BOOL=OFF
+DRIVER_DESC= Install WebEngineDriver
+DRIVER_CMAKE_ON= -DQT_FEATURE_webenginedriver:BOOL=ON
+DRIVER_CMAKE_OFF= -DQT_FEATURE_webenginedriver: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
@@ -165,4 +170,15 @@ pre-configure:
./build/linux/unbundle/replace_gn_files.py --system-libraries \
${SYS_LIBS} || ${FALSE}
+.if !defined(BUILD_QTPDF)
+post-install:
+# Fix for deskutils/calibre, perhaps others, where this empty directory
+# is created during build causing a fs-violation.
+ ${MKDIR} ${STAGEDIR}${QT_DATADIR}/resources/locales
+
+post-install-DRIVER-on:
+ ${STRIP_CMD} ${STAGEDIR}${QT_TOOLDIR}/webenginedriver
+
+.endif
+
.include <bsd.port.post.mk>
diff --git a/www/qt6-webengine/distinfo b/www/qt6-webengine/distinfo
index f963466e7f5c..a6a5a71622f1 100644
--- a/www/qt6-webengine/distinfo
+++ b/www/qt6-webengine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664649
-SHA256 (KDE/Qt/6.6.3/qtwebengine-everywhere-src-6.6.3.tar.xz) = 7c2bdc83b21b82a179a7bf098df47ebf66ba7693d67ebda55a4a28d9eadad804
-SIZE (KDE/Qt/6.6.3/qtwebengine-everywhere-src-6.6.3.tar.xz) = 421076320
+TIMESTAMP = 1712115499
+SHA256 (KDE/Qt/6.7.0/qtwebengine-everywhere-src-6.7.0.tar.xz) = 1a5ba443635dc1f439ab802ac6d761b8def5ebb24e5219bb7289288e72c147de
+SIZE (KDE/Qt/6.7.0/qtwebengine-everywhere-src-6.7.0.tar.xz) = 550907592
diff --git a/www/qt6-webengine/files/patch-cmake_Functions.cmake b/www/qt6-webengine/files/patch-cmake_Functions.cmake
index 7dcc0eee40f7..e4c938996ef3 100644
--- a/www/qt6-webengine/files/patch-cmake_Functions.cmake
+++ b/www/qt6-webengine/files/patch-cmake_Functions.cmake
@@ -1,4 +1,4 @@
---- cmake/Functions.cmake.orig 2024-02-10 00:23:21 UTC
+--- cmake/Functions.cmake.orig 2024-02-10 00:27:53 UTC
+++ cmake/Functions.cmake
@@ -416,7 +416,7 @@ function(add_linker_options target buildDir completeSt
set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp")
@@ -9,7 +9,7 @@
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")
-@@ -673,6 +673,8 @@ function(get_gn_os result)
+@@ -675,6 +675,8 @@ function(get_gn_os result)
set(${result} "mac" PARENT_SCOPE)
elseif(IOS)
set(${result} "ios" PARENT_SCOPE)
@@ -18,7 +18,7 @@
else()
message(DEBUG "Unrecognized OS")
endif()
-@@ -865,7 +867,7 @@ macro(append_build_type_setup)
+@@ -878,7 +880,7 @@ macro(append_build_type_setup)
extend_gn_list(gnArgArg
ARGS enable_precompiled_headers
@@ -27,7 +27,7 @@
)
extend_gn_list(gnArgArg
ARGS dcheck_always_on
-@@ -917,7 +919,7 @@ macro(append_compiler_linker_sdk_setup)
+@@ -932,7 +934,7 @@ macro(append_compiler_linker_sdk_setup)
use_libcxx=true
)
endif()
@@ -36,7 +36,7 @@
extend_gn_list(gnArgArg ARGS use_libcxx
CONDITION QT_FEATURE_stdlib_libcpp
)
-@@ -955,7 +957,7 @@ macro(append_compiler_linker_sdk_setup)
+@@ -970,7 +972,7 @@ macro(append_compiler_linker_sdk_setup)
)
endif()
get_gn_arch(cpu ${TEST_architecture_arch})
@@ -45,7 +45,7 @@
extend_gn_list_cflag(gnArgArg
ARG arm_tune
-@@ -1040,7 +1042,7 @@ macro(append_toolchain_setup)
+@@ -1060,7 +1062,7 @@ macro(append_toolchain_setup)
host_cpu="${cpu}"
)
endif()
@@ -54,16 +54,7 @@
get_gn_arch(cpu ${TEST_architecture_arch})
list(APPEND gnArgArg
custom_toolchain="${buildDir}/target_toolchain:target"
-@@ -1073,7 +1075,7 @@ macro(append_pkg_config_setup)
-
-
- macro(append_pkg_config_setup)
-- if(LINUX)
-+ if(LINUX OR FREEBSD)
- list(APPEND gnArgArg
- pkg_config="${PKG_CONFIG_EXECUTABLE}"
- host_pkg_config="${PKG_CONFIG_HOST_EXECUTABLE}"
-@@ -1166,6 +1168,20 @@ function(add_gn_build_artifacts_to_target)
+@@ -1198,6 +1200,20 @@ function(add_gn_build_artifacts_to_target)
set_target_properties(${arg_CMAKE_TARGET} PROPERTIES
LINK_DEPENDS ${arg_BUILDDIR}/${config}/${arch}/${arg_NINJA_STAMP}
)
@@ -84,7 +75,7 @@
if(QT_IS_MACOS_UNIVERSAL)
add_intermediate_archive(${target} ${arg_BUILDDIR}/${config}/${arch} ${arg_COMPLETE_STATIC})
elseif(IOS)
-@@ -1283,7 +1299,7 @@ function(check_for_ulimit)
+@@ -1313,7 +1329,7 @@ function(check_for_ulimit)
function(check_for_ulimit)
message("-- Checking 'ulimit -n'")
@@ -93,7 +84,7 @@
OUTPUT_VARIABLE ulimitOutput
)
string(REGEX MATCHALL "[0-9]+" limit "${ulimitOutput}")
-@@ -1292,7 +1308,7 @@ function(check_for_ulimit)
+@@ -1322,7 +1338,7 @@ function(check_for_ulimit)
if(NOT ${CMAKE_VERSION} VERSION_LESS "3.21.0")
message(" -- Creating linker launcher")
file(GENERATE OUTPUT ${PROJECT_BINARY_DIR}/linker_ulimit.sh
diff --git a/www/qt6-webengine/files/patch-configure.cmake b/www/qt6-webengine/files/patch-configure.cmake
index ff2e426fbc47..7fdd8b60d800 100644
--- a/www/qt6-webengine/files/patch-configure.cmake
+++ b/www/qt6-webengine/files/patch-configure.cmake
@@ -1,6 +1,6 @@
---- configure.cmake.orig 2024-02-10 00:23:21 UTC
+--- configure.cmake.orig 2023-12-12 22:08:45 UTC
+++ configure.cmake
-@@ -67,7 +67,7 @@ endif()
+@@ -68,7 +68,7 @@ endif()
endif()
#### Tests
@@ -9,7 +9,7 @@
check_for_ulimit()
endif()
-@@ -427,7 +427,7 @@ qt_feature("webengine-ozone-x11" PRIVATE
+@@ -428,7 +428,7 @@ qt_feature("webengine-ozone-x11" PRIVATE
qt_feature("webengine-ozone-x11" PRIVATE
LABEL "Support GLX on qpa-xcb"
@@ -18,7 +18,7 @@
AND TARGET Qt::Gui
AND QT_FEATURE_xcb
AND X11_FOUND
-@@ -464,12 +464,12 @@ add_check_for_support(
+@@ -465,12 +465,12 @@ add_check_for_support(
)
add_check_for_support(
MODULES QtWebEngine
@@ -28,9 +28,9 @@
)
add_check_for_support(
MODULES QtPdf
-- CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS OR (ANDROID AND NOT CMAKE_HOST_WIN32)
-+ CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS OR (ANDROID AND NOT CMAKE_HOST_WIN32) OR FREEBSD
- MESSAGE "Build can be done only on Linux, Windows, macO, iOS and Android(on non-Windows hosts only)."
+- CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS OR ANDROID
++ CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS OR ANDROID OR FREEBSD
+ MESSAGE "Build can be done only on Linux, Windows, macO, iOS and Android."
)
if(LINUX AND CMAKE_CROSSCOMPILING)
@@ -492,13 +492,6 @@ add_check_for_support(
diff --git a/www/qt6-webengine/files/patch-security-rollup b/www/qt6-webengine/files/patch-security-rollup
index cc5eefd44e79..a3d1a6bc69d2 100644
--- a/www/qt6-webengine/files/patch-security-rollup
+++ b/www/qt6-webengine/files/patch-security-rollup
@@ -3,6 +3,34 @@ Add security patches to this file.
Addresses the following security issues:
- CVE-2023-7104
+- CVE-2024-2625
+- CVE-2024-2626
+- Security bug 40066823
+- Security bug 41495984
+- CVE-2024-2885
+- CVE-2024-2887
+- Security bug 329674887
+- Security bug 327183408
+- CVE-2024-3159
+- Security bug 326349405
+- CVE-2024-3157
+- CVE-2024-3516
+- Security bug 326521449
+- CVE-2024-3839
+- CVE-2024-3837
+- Security bug 327698060
+- Security bug 40940917
+- CVE-2024-3914
+- Security bug 326498393
+- CVE-2024-3840
+- Security bug 323898565
+- CVE-2024-4058
+- CVE-2024-4060
+- Security bug 332724843
+- CVE-2024-4331
+- CVE-2024-4368
+- CVE-2024-4671
+- Security bug 339458194
From b8c9622b71d032a48412e342cff91fc0f3f5e3d9 Mon Sep 17 00:00:00 2001
From: Michal Klocek <michal.klocek@qt.io>
@@ -56,3 +84,6008 @@ index b353aa88348..a0feb5d200c 100644
}
}
}
+From a907a6cbc18a04d791b0c97918a558d49f696cd4 Mon Sep 17 00:00:00 2001
+From: Shu-yu Guo <syg@chromium.org>
+Date: Thu, 7 Mar 2024 14:55:28 -0800
+Subject: [PATCH] [Backport] CVE-2024-2625: Object lifecycle issue in V8
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/v8/v8/+/5350482:
+Fix home object proxy to work off-thread
+
+Because the home object has special scope lookup rules due to class
+heritage position, VariableProxies of the home object are currently
+directly created on the correct scope during parsing. However, during
+off-thread parsing the main thread is parked, and the correct scope
+may try to dereference a main-thread Handle.
+
+This CL moves the logic into ResolveVariable instead, which happens
+during postprocessing, with the main thread unparked.
+
+Fixed: chromium:327740539
+Change-Id: I3a123d5e37b6764067e58255dd5a67c07e648d02
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5350482
+Reviewed-by: Marja Hölttä <marja@chromium.org>
+Commit-Queue: Marja Hölttä <marja@chromium.org>
+Auto-Submit: Shu-yu Guo <syg@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#92722}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/551089
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ chromium/v8/src/ast/ast.h | 10 +++-
+ chromium/v8/src/ast/scopes.cc | 78 ++++++++++++---------------
+ chromium/v8/src/ast/scopes.h | 7 +--
+ chromium/v8/src/parsing/parser-base.h | 4 +-
+ chromium/v8/src/parsing/parser.cc | 11 ++--
+ chromium/v8/src/parsing/parser.h | 2 +-
+ chromium/v8/src/parsing/preparser.h | 3 +-
+ 7 files changed, 52 insertions(+), 63 deletions(-)
+
+diff --git a/chromium/v8/src/ast/ast.h b/chromium/v8/src/ast/ast.h
+index cf9d52eeed6..7bb30723607 100644
+--- src/3rdparty/chromium/v8/src/ast/ast.h
++++ src/3rdparty/chromium/v8/src/ast/ast.h
+@@ -1534,6 +1534,12 @@ class VariableProxy final : public Expression {
+ bit_field_ = IsRemovedFromUnresolvedField::update(bit_field_, true);
+ }
+
++ bool is_home_object() const { return IsHomeObjectField::decode(bit_field_); }
++
++ void set_is_home_object() {
++ bit_field_ = IsHomeObjectField::update(bit_field_, true);
++ }
++
+ // Provides filtered access to the unresolved variable proxy threaded list.
+ struct UnresolvedNext {
+ static VariableProxy** filter(VariableProxy** t) {
+@@ -1565,6 +1571,7 @@ class VariableProxy final : public Expression {
+ bit_field_ |= IsAssignedField::encode(false) |
+ IsResolvedField::encode(false) |
+ IsRemovedFromUnresolvedField::encode(false) |
++ IsHomeObjectField::encode(false) |
+ HoleCheckModeField::encode(HoleCheckMode::kElided);
+ }
+
+@@ -1574,7 +1581,8 @@ class VariableProxy final : public Expression {
+ using IsResolvedField = IsAssignedField::Next<bool, 1>;
+ using IsRemovedFromUnresolvedField = IsResolvedField::Next<bool, 1>;
+ using IsNewTargetField = IsRemovedFromUnresolvedField::Next<bool, 1>;
+- using HoleCheckModeField = IsNewTargetField::Next<HoleCheckMode, 1>;
++ using IsHomeObjectField = IsNewTargetField::Next<bool, 1>;
++ using HoleCheckModeField = IsHomeObjectField::Next<HoleCheckMode, 1>;
+
+ union {
+ const AstRawString* raw_name_; // if !is_resolved_
+diff --git a/chromium/v8/src/ast/scopes.cc b/chromium/v8/src/ast/scopes.cc
+index 003bd0f2736..34415941556 100644
+--- src/3rdparty/chromium/v8/src/ast/scopes.cc
++++ src/3rdparty/chromium/v8/src/ast/scopes.cc
+@@ -491,7 +491,6 @@ Scope* Scope::DeserializeScopeChain(IsolateT* isolate, Zone* zone,
+ if (cache_scope_found) {
+ outer_scope->set_deserialized_scope_uses_external_cache();
+ } else {
+- DCHECK(!cache_scope_found);
+ cache_scope_found =
+ outer_scope->is_declaration_scope() && !outer_scope->is_eval_scope();
+ }
+@@ -970,9 +969,14 @@ Variable* Scope::LookupInScopeInfo(const AstRawString* name, Scope* cache) {
+ DCHECK(!cache->deserialized_scope_uses_external_cache());
+ // The case where where the cache can be another scope is when the cache scope
+ // is the last scope that doesn't use an external cache.
++ //
++ // The one exception to this is when looking up the home object, which may
++ // skip multiple scopes that don't use an external cache (e.g., several arrow
++ // functions).
+ DCHECK_IMPLIES(
+ cache != this,
+- cache->outer_scope()->deserialized_scope_uses_external_cache());
++ cache->outer_scope()->deserialized_scope_uses_external_cache() ||
++ cache->GetHomeObjectScope() == this);
+ DCHECK_NULL(cache->variables_.Lookup(name));
+ DisallowGarbageCollection no_gc;
+
+@@ -2282,7 +2286,33 @@ Variable* Scope::LookupSloppyEval(VariableProxy* proxy, Scope* scope,
+
+ void Scope::ResolveVariable(VariableProxy* proxy) {
+ DCHECK(!proxy->is_resolved());
+- Variable* var = Lookup<kParsedScope>(proxy, this, nullptr);
++ Variable* var;
++ if (V8_UNLIKELY(proxy->is_home_object())) {
++ // VariableProxies of the home object cannot be resolved like a normal
++ // variable. Consider the case of a super.property usage in heritage
++ // position:
++ //
++ // class C extends super.foo { m() { super.bar(); } }
++ //
++ // The super.foo property access is logically nested under C's class scope,
++ // which also has a home object due to its own method m's usage of
++ // super.bar(). However, super.foo must resolve super in C's outer scope.
++ //
++ // Because of the above, start resolving home objects directly at the home
++ // object scope instead of the current scope.
++ Scope* scope = GetDeclarationScope()->GetHomeObjectScope();
++ DCHECK_NOT_NULL(scope);
++ if (scope->scope_info_.is_null()) {
++ var = Lookup<kParsedScope>(proxy, scope, nullptr);
++ } else {
++ Scope* entry_cache = scope->deserialized_scope_uses_external_cache()
++ ? GetNonEvalDeclarationScope()
++ : scope;
++ var = Lookup<kDeserializedScope>(proxy, scope, nullptr, entry_cache);
++ }
++ } else {
++ var = Lookup<kParsedScope>(proxy, this, nullptr);
++ }
+ DCHECK_NOT_NULL(var);
+ ResolveTo(proxy, var);
+ }
+@@ -2752,48 +2782,6 @@ int Scope::ContextLocalCount() const {
+ (is_function_var_in_context ? 1 : 0);
+ }
+
+-VariableProxy* Scope::NewHomeObjectVariableProxy(AstNodeFactory* factory,
+- const AstRawString* name,
+- int start_pos) {
+- // VariableProxies of the home object cannot be resolved like a normal
+- // variable. Consider the case of a super.property usage in heritage position:
+- //
+- // class C extends super.foo { m() { super.bar(); } }
+- //
+- // The super.foo property access is logically nested under C's class scope,
+- // which also has a home object due to its own method m's usage of
+- // super.bar(). However, super.foo must resolve super in C's outer scope.
+- //
+- // Because of the above, home object VariableProxies are always made directly
+- // on the Scope that needs the home object instead of the innermost scope.
+- DCHECK(needs_home_object());
+- if (!scope_info_.is_null()) {
+- // This is a lazy compile, so the home object's context slot is already
+- // known.
+- Variable* home_object = variables_.Lookup(name);
+- if (home_object == nullptr) {
+- VariableLookupResult lookup_result;
+- int index = scope_info_->ContextSlotIndex(name->string(), &lookup_result);
+- DCHECK_GE(index, 0);
+- bool was_added;
+- home_object = variables_.Declare(zone(), this, name, lookup_result.mode,
+- NORMAL_VARIABLE, lookup_result.init_flag,
+- lookup_result.maybe_assigned_flag,
+- IsStaticFlag::kNotStatic, &was_added);
+- DCHECK(was_added);
+- home_object->AllocateTo(VariableLocation::CONTEXT, index);
+- }
+- return factory->NewVariableProxy(home_object, start_pos);
+- }
+- // This is not a lazy compile. Add the unresolved home object VariableProxy to
+- // the unresolved list of the home object scope, which is not necessarily the
+- // innermost scope.
+- VariableProxy* proxy =
+- factory->NewVariableProxy(name, NORMAL_VARIABLE, start_pos);
+- AddUnresolved(proxy);
+- return proxy;
+-}
+-
+ bool IsComplementaryAccessorPair(VariableMode a, VariableMode b) {
+ switch (a) {
+ case VariableMode::kPrivateGetterOnly:
+diff --git a/chromium/v8/src/ast/scopes.h b/chromium/v8/src/ast/scopes.h
+index b4c2e8b2136..751aaee3d11 100644
+--- src/3rdparty/chromium/v8/src/ast/scopes.h
++++ src/3rdparty/chromium/v8/src/ast/scopes.h
+@@ -603,10 +603,6 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
+ needs_home_object_ = true;
+ }
+
+- VariableProxy* NewHomeObjectVariableProxy(AstNodeFactory* factory,
+- const AstRawString* name,
+- int start_pos);
+-
+ bool RemoveInnerScope(Scope* inner_scope) {
+ DCHECK_NOT_NULL(inner_scope);
+ if (inner_scope == inner_scope_) {
+@@ -865,7 +861,7 @@ class V8_EXPORT_PRIVATE DeclarationScope : public Scope {
+ FunctionKind function_kind() const { return function_kind_; }
+
+ // Inform the scope that the corresponding code uses "super".
+- Scope* RecordSuperPropertyUsage() {
++ void RecordSuperPropertyUsage() {
+ DCHECK(IsConciseMethod(function_kind()) ||
+ IsAccessorFunction(function_kind()) ||
+ IsClassConstructor(function_kind()));
+@@ -873,7 +869,6 @@ class V8_EXPORT_PRIVATE DeclarationScope : public Scope {
+ Scope* home_object_scope = GetHomeObjectScope();
+ DCHECK_NOT_NULL(home_object_scope);
+ home_object_scope->set_needs_home_object();
+- return home_object_scope;
+ }
+
+ bool uses_super_property() const { return uses_super_property_; }
+diff --git a/chromium/v8/src/parsing/parser-base.h b/chromium/v8/src/parsing/parser-base.h
+index 66e531dfe78..714406f6aa5 100644
+--- src/3rdparty/chromium/v8/src/parsing/parser-base.h
++++ src/3rdparty/chromium/v8/src/parsing/parser-base.h
+@@ -3800,9 +3800,9 @@ ParserBase<Impl>::ParseSuperExpression() {
+ impl()->ReportMessage(MessageTemplate::kOptionalChainingNoSuper);
+ return impl()->FailureExpression();
+ }
+- Scope* home_object_scope = scope->RecordSuperPropertyUsage();
++ scope->RecordSuperPropertyUsage();
+ UseThis();
+- return impl()->NewSuperPropertyReference(home_object_scope, pos);
++ return impl()->NewSuperPropertyReference(pos);
+ }
+ // super() is only allowed in derived constructor. new super() is never
+ // allowed; it's reported as an error by
+diff --git a/chromium/v8/src/parsing/parser.cc b/chromium/v8/src/parsing/parser.cc
+index da16f85234d..5e4b2d0461a 100644
+--- src/3rdparty/chromium/v8/src/parsing/parser.cc
++++ src/3rdparty/chromium/v8/src/parsing/parser.cc
+@@ -300,18 +300,17 @@ Expression* Parser::NewThrowError(Runtime::FunctionId id,
+ return factory()->NewThrow(call_constructor, pos);
+ }
+
+-Expression* Parser::NewSuperPropertyReference(Scope* home_object_scope,
+- int pos) {
++Expression* Parser::NewSuperPropertyReference(int pos) {
+ const AstRawString* home_object_name;
+ if (IsStatic(scope()->GetReceiverScope()->function_kind())) {
+ home_object_name = ast_value_factory_->dot_static_home_object_string();
+ } else {
+ home_object_name = ast_value_factory_->dot_home_object_string();
+ }
+- return factory()->NewSuperPropertyReference(
+- home_object_scope->NewHomeObjectVariableProxy(factory(), home_object_name,
+- pos),
+- pos);
++
++ VariableProxy* proxy = NewUnresolved(home_object_name, pos);
++ proxy->set_is_home_object();
++ return factory()->NewSuperPropertyReference(proxy, pos);
+ }
+
+ Expression* Parser::NewSuperCallReference(int pos) {
+diff --git a/chromium/v8/src/parsing/parser.h b/chromium/v8/src/parsing/parser.h
+index 8aede5d6a2c..0e92f0350b5 100644
+--- src/3rdparty/chromium/v8/src/parsing/parser.h
++++ src/3rdparty/chromium/v8/src/parsing/parser.h
+@@ -798,7 +798,7 @@ class V8_EXPORT_PRIVATE Parser : public NON_EXPORTED_BASE(ParserBase<Parser>) {
+ return factory()->NewThisExpression(pos);
+ }
+
+- Expression* NewSuperPropertyReference(Scope* home_object_scope, int pos);
++ Expression* NewSuperPropertyReference(int pos);
+ Expression* NewSuperCallReference(int pos);
+ Expression* NewTargetExpression(int pos);
+ Expression* ImportMetaExpression(int pos);
+diff --git a/chromium/v8/src/parsing/preparser.h b/chromium/v8/src/parsing/preparser.h
+index 6c4996bd06b..2ca6b9ac407 100644
+--- src/3rdparty/chromium/v8/src/parsing/preparser.h
++++ src/3rdparty/chromium/v8/src/parsing/preparser.h
+@@ -1536,8 +1536,7 @@ class PreParser : public ParserBase<PreParser> {
+ return PreParserExpression::This();
+ }
+
+- V8_INLINE PreParserExpression
+- NewSuperPropertyReference(Scope* home_object_scope, int pos) {
++ V8_INLINE PreParserExpression NewSuperPropertyReference(int pos) {
+ return PreParserExpression::Default();
+ }
+
+From c4661dc646e45d06961cda71d00814ce878dbd97 Mon Sep 17 00:00:00 2001
+From: Shahbaz Youssefi <syoussefi@google.com>
+Date: Fri, 19 Jan 2024 15:36:25 -0500
+Subject: [PATCH] [Backport] CVE-2024-2626: Out of bounds read in Swiftshader
+ (1/2)
+
+Cherry-pick of patch originally reviewed on
+https://swiftshader-review.googlesource.com/c/SwiftShader/+/72948:
+Clamp LOD during image Fetch for robustness
+
+Bug: chromium:1504556
+Change-Id: Ie110fe4e1b065a815c09986ab91b1336ef4761ad
+Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/72948
+Presubmit-Ready: Shahbaz Youssefi <syoussefi@google.com>
+Kokoro-Result: kokoro <noreply+kokoro@google.com>
+Reviewed-by: Ben Clayton <bclayton@google.com>
+Commit-Queue: Ben Clayton <bclayton@google.com>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/551090
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../third_party/swiftshader/src/Pipeline/SamplerCore.cpp | 1 +
+ .../swiftshader/src/Pipeline/SpirvShaderSampling.cpp | 5 +++++
+ chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp | 6 ++++--
+ chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp | 3 +++
+ 4 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp b/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
+index 403ed3bdd560..d62936273fa3 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
+@@ -133,6 +133,7 @@ Vector4f SamplerCore::sampleTexture128(Pointer<Byte> &texture, Float4 uvwa[4], c
+ {
+ // TODO: Eliminate int-float-int conversion.
+ lod = Float(As<Int>(lodOrBias));
++ lod = Min(lod, state.maxLod);
+ }
+ else if(function == Base || function == Gather)
+ {
+diff --git a/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp b/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
+index 5225a79f3ba6..777f73e43786 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
+@@ -108,6 +108,11 @@ SpirvEmitter::ImageSampler *SpirvEmitter::getImageSampler(const vk::Device *devi
+ samplerState.minLod = 0.0f;
+ samplerState.maxLod = 0.0f;
+ }
++ // Otherwise make sure LOD is clamped for robustness
++ else
++ {
++ samplerState.maxLod = imageViewState.maxLod;
++ }
+ }
+ else if(samplerMethod == Write)
+ {
+diff --git a/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp b/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
+index 511c02cbbed9..26b69aef79b3 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
+@@ -89,13 +89,13 @@ Identifier::Identifier(const VkImageViewCreateInfo *pCreateInfo)
+ const Image *sampledImage = image->getSampledImage(viewFormat);
+
+ vk::Format samplingFormat = (image == sampledImage) ? viewFormat : sampledImage->getFormat().getAspectFormat(subresource.aspectMask);
+- pack({ pCreateInfo->viewType, samplingFormat, ResolveComponentMapping(pCreateInfo->components, viewFormat), subresource.levelCount <= 1u });
++ pack({ pCreateInfo->viewType, samplingFormat, ResolveComponentMapping(pCreateInfo->components, viewFormat), static_cast<uint8_t>(subresource.baseMipLevel + subresource.levelCount), subresource.levelCount <= 1u });
+ }
+
+ Identifier::Identifier(VkFormat bufferFormat)
+ {
+ constexpr VkComponentMapping identityMapping = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A };
+- pack({ VK_IMAGE_VIEW_TYPE_1D, bufferFormat, ResolveComponentMapping(identityMapping, bufferFormat), true });
++ pack({ VK_IMAGE_VIEW_TYPE_1D, bufferFormat, ResolveComponentMapping(identityMapping, bufferFormat), 1, true });
+ }
+
+ void Identifier::pack(const State &state)
+@@ -106,6 +106,7 @@ void Identifier::pack(const State &state)
+ g = static_cast<uint32_t>(state.mapping.g);
+ b = static_cast<uint32_t>(state.mapping.b);
+ a = static_cast<uint32_t>(state.mapping.a);
++ maxLod = state.maxLod;
+ singleMipLevel = state.singleMipLevel;
+ }
+
+@@ -117,6 +118,7 @@ Identifier::State Identifier::getState() const
+ static_cast<VkComponentSwizzle>(g),
+ static_cast<VkComponentSwizzle>(b),
+ static_cast<VkComponentSwizzle>(a) },
++ static_cast<uint8_t>(maxLod),
+ static_cast<bool>(singleMipLevel) };
+ }
+
+diff --git a/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp b/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
+index bf4d666a425d..5acb89639c12 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
+@@ -53,6 +53,7 @@ union Identifier
+ VkImageViewType imageViewType;
+ VkFormat format;
+ VkComponentMapping mapping;
++ uint8_t maxLod;
+ bool singleMipLevel;
+ };
+ State getState() const;
+@@ -61,6 +62,7 @@ union Identifier
+ void pack(const State &data);
+
+ // Identifier is a union of this struct and the integer below.
++ static_assert(sw::MIPMAP_LEVELS <= 15);
+ struct
+ {
+ uint32_t imageViewType : 3;
+@@ -69,6 +71,7 @@ union Identifier
+ uint32_t g : 3;
+ uint32_t b : 3;
+ uint32_t a : 3;
++ uint32_t maxLod : 4;
+ uint32_t singleMipLevel : 1;
+ };
+
+From a58826b55d30045bed8793dbcd20dc32a73716e2 Mon Sep 17 00:00:00 2001
+From: Shahbaz Youssefi <syoussefi@google.com>
+Date: Mon, 22 Jan 2024 09:49:16 -0500
+Subject: [PATCH] [Backport] CVE-2024-2626: Out of bounds read in Swiftshader
+ (2/2)
+
+Cherry-pick of patch originally reviewed on
+https://swiftshader-review.googlesource.com/c/SwiftShader/+/72968:
+Clamp min LOD during image Fetch for robustness
+
+The previous change clamped max LOD only, but min LOD also needs
+clamping because texelFetch takes an `int` as LOD instead of `uint`.
+
+Bug: chromium:1504556
+Change-Id: Ibae8250a877b3e04b71fac45a40b77c78756d6c8
+Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/72968
+Kokoro-Result: kokoro <noreply+kokoro@google.com>
+Reviewed-by: Ben Clayton <bclayton@google.com>
+Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
+Presubmit-Ready: Shahbaz Youssefi <syoussefi@google.com>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/551091
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../third_party/swiftshader/src/Pipeline/SamplerCore.cpp | 1 +
+ .../swiftshader/src/Pipeline/SpirvShaderSampling.cpp | 1 +
+ .../third_party/swiftshader/src/Vulkan/VkImageView.cpp | 8 ++++++--
+ .../third_party/swiftshader/src/Vulkan/VkImageView.hpp | 2 ++
+ 4 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp b/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
+index d62936273fa..ab55c036a3f 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SamplerCore.cpp
+@@ -133,6 +133,7 @@ Vector4f SamplerCore::sampleTexture128(Pointer<Byte> &texture, Float4 uvwa[4], c
+ {
+ // TODO: Eliminate int-float-int conversion.
+ lod = Float(As<Int>(lodOrBias));
++ lod = Max(lod, state.minLod);
+ lod = Min(lod, state.maxLod);
+ }
+ else if(function == Base || function == Gather)
+diff --git a/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp b/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
+index 777f73e4378..fa88a192ab5 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp
+@@ -111,6 +111,7 @@ SpirvEmitter::ImageSampler *SpirvEmitter::getImageSampler(const vk::Device *devi
+ // Otherwise make sure LOD is clamped for robustness
+ else
+ {
++ samplerState.minLod = imageViewState.minLod;
+ samplerState.maxLod = imageViewState.maxLod;
+ }
+ }
+diff --git a/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp b/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
+index 26b69aef79b..1b25544a57b 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.cpp
+@@ -89,13 +89,15 @@ Identifier::Identifier(const VkImageViewCreateInfo *pCreateInfo)
+ const Image *sampledImage = image->getSampledImage(viewFormat);
+
+ vk::Format samplingFormat = (image == sampledImage) ? viewFormat : sampledImage->getFormat().getAspectFormat(subresource.aspectMask);
+- pack({ pCreateInfo->viewType, samplingFormat, ResolveComponentMapping(pCreateInfo->components, viewFormat), static_cast<uint8_t>(subresource.baseMipLevel + subresource.levelCount), subresource.levelCount <= 1u });
++ pack({ pCreateInfo->viewType, samplingFormat, ResolveComponentMapping(pCreateInfo->components, viewFormat),
++ static_cast<uint8_t>(subresource.baseMipLevel),
++ static_cast<uint8_t>(subresource.baseMipLevel + subresource.levelCount), subresource.levelCount <= 1u });
+ }
+
+ Identifier::Identifier(VkFormat bufferFormat)
+ {
+ constexpr VkComponentMapping identityMapping = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A };
+- pack({ VK_IMAGE_VIEW_TYPE_1D, bufferFormat, ResolveComponentMapping(identityMapping, bufferFormat), 1, true });
++ pack({ VK_IMAGE_VIEW_TYPE_1D, bufferFormat, ResolveComponentMapping(identityMapping, bufferFormat), 0, 1, true });
+ }
+
+ void Identifier::pack(const State &state)
+@@ -106,6 +108,7 @@ void Identifier::pack(const State &state)
+ g = static_cast<uint32_t>(state.mapping.g);
+ b = static_cast<uint32_t>(state.mapping.b);
+ a = static_cast<uint32_t>(state.mapping.a);
++ minLod = state.minLod;
+ maxLod = state.maxLod;
+ singleMipLevel = state.singleMipLevel;
+ }
+@@ -118,6 +121,7 @@ Identifier::State Identifier::getState() const
+ static_cast<VkComponentSwizzle>(g),
+ static_cast<VkComponentSwizzle>(b),
+ static_cast<VkComponentSwizzle>(a) },
++ static_cast<uint8_t>(minLod),
+ static_cast<uint8_t>(maxLod),
+ static_cast<bool>(singleMipLevel) };
+ }
+diff --git a/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp b/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
+index 5acb89639c1..25feebc9e7e 100644
+--- src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
++++ src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkImageView.hpp
+@@ -53,6 +53,7 @@ union Identifier
+ VkImageViewType imageViewType;
+ VkFormat format;
+ VkComponentMapping mapping;
++ uint8_t minLod;
+ uint8_t maxLod;
+ bool singleMipLevel;
+ };
+@@ -71,6 +72,7 @@ union Identifier
+ uint32_t g : 3;
+ uint32_t b : 3;
+ uint32_t a : 3;
++ uint32_t minLod : 4;
+ uint32_t maxLod : 4;
+ uint32_t singleMipLevel : 1;
+ };
+From 336b5c4a31f9f976434adb2ecf1697c764f097cf Mon Sep 17 00:00:00 2001
+From: rajendrant <rajendrant@chromium.org>
+Date: Fri, 9 Feb 2024 17:29:51 +0000
+Subject: [PATCH] [Backport] Security bug 40066823
+
+Manual partial backport of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5279279:
+Remove holding local_state in model store
+
+Avoids holding on to local_state in model store, by getting the local state when needed from chrome/. This delinks model store lifetime with local state lifetime.
+
+Change-Id: Ifb036b43b8394202683d4ae1131ff1eae780fc17
+Fixed: 40066823
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5279279
+Reviewed-by: Sophie Chang <sophiechang@chromium.org>
+Commit-Queue: Raj T <rajendrant@chromium.org>
+Reviewed-by: Trevor Perrier <perrier@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1258580}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/551092
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../core/prediction_model_store.cc | 61 ++++++-------------
+ .../core/prediction_model_store.h | 28 +++------
+ 2 files changed, 28 insertions(+), 61 deletions(-)
+
+diff --git a/chromium/components/optimization_guide/core/prediction_model_store.cc b/chromium/components/optimization_guide/core/prediction_model_store.cc
+index d2252ea5cc4..a399ac06d7f 100644
+--- src/3rdparty/chromium/components/optimization_guide/core/prediction_model_store.cc
++++ src/3rdparty/chromium/components/optimization_guide/core/prediction_model_store.cc
+@@ -155,12 +155,6 @@ void RecordModelStorageMetrics(const base::FilePath& base_store_dir) {
+
+ } // namespace
+
+-// static
+-PredictionModelStore* PredictionModelStore::GetInstance() {
+- static base::NoDestructor<PredictionModelStore> model_store;
+- return model_store.get();
+-}
+-
+ PredictionModelStore::PredictionModelStore()
+ : background_task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
+ {base::MayBlock(), base::TaskPriority::BEST_EFFORT})) {
+@@ -169,19 +163,14 @@ PredictionModelStore::PredictionModelStore()
+
+ PredictionModelStore::~PredictionModelStore() = default;
+
+-void PredictionModelStore::Initialize(PrefService* local_state,
+- const base::FilePath& base_store_dir) {
++void PredictionModelStore::Initialize(const base::FilePath& base_store_dir) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- DCHECK(local_state);
+ DCHECK(!base_store_dir.empty());
+
+ // Should not be initialized already.
+- DCHECK(!local_state_);
+ DCHECK(base_store_dir_.empty());
+
+- local_state_ = local_state;
+ base_store_dir_ = base_store_dir;
+-
+ PurgeInactiveModels();
+
+ // Clean up any model files that were slated for deletion in previous
+@@ -189,29 +178,19 @@ void PredictionModelStore::Initialize(PrefService* local_state,
+ CleanUpOldModelFiles();
+
+ background_task_runner_->PostTask(
+- FROM_HERE,
+- base::BindOnce(&RemoveInvalidModelDirs, base_store_dir_,
+- ModelStoreMetadataEntry::GetValidModelDirs(local_state_)));
++ FROM_HERE, base::BindOnce(&RemoveInvalidModelDirs, base_store_dir_,
++ ModelStoreMetadataEntry::GetValidModelDirs(
++ GetLocalState())));
+ background_task_runner_->PostTask(
+ FROM_HERE, base::BindOnce(&RecordModelStorageMetrics, base_store_dir_));
+ }
+
+-// static
+-std::unique_ptr<PredictionModelStore>
+-PredictionModelStore::CreatePredictionModelStoreForTesting(
+- PrefService* local_state,
+- const base::FilePath& base_store_dir) {
+- auto store = base::WrapUnique(new PredictionModelStore());
+- store->Initialize(local_state, base_store_dir);
+- return store;
+-}
+-
+ bool PredictionModelStore::HasModel(
+ proto::OptimizationTarget optimization_target,
+ const proto::ModelCacheKey& model_cache_key) const {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ auto metadata = ModelStoreMetadataEntry::GetModelMetadataEntryIfExists(
+- local_state_, optimization_target, model_cache_key);
++ GetLocalState(), optimization_target, model_cache_key);
+ if (!metadata) {
+ return false;
+ }
+@@ -226,7 +205,7 @@ bool PredictionModelStore::HasModelWithVersion(
+ int64_t version) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ auto metadata = ModelStoreMetadataEntry::GetModelMetadataEntryIfExists(
+- local_state_, optimization_target, model_cache_key);
++ GetLocalState(), optimization_target, model_cache_key);
+ if (!metadata) {
+ return false;
+ }
+@@ -251,7 +230,7 @@ void PredictionModelStore::LoadModel(
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+ auto metadata = ModelStoreMetadataEntry::GetModelMetadataEntryIfExists(
+- local_state_, optimization_target, model_cache_key);
++ GetLocalState(), optimization_target, model_cache_key);
+ if (!metadata) {
+ std::move(callback).Run(nullptr);
+ return;
+@@ -334,7 +313,7 @@ void PredictionModelStore::UpdateMetadataForExistingModel(
+ if (!HasModel(optimization_target, model_cache_key))
+ return;
+
+- ModelStoreMetadataEntryUpdater metadata(local_state_, optimization_target,
++ ModelStoreMetadataEntryUpdater metadata(GetLocalState(), optimization_target,
+ model_cache_key);
+ DCHECK(!metadata.GetModelBaseDir()->IsAbsolute());
+ metadata.SetVersion(model_info.version());
+@@ -357,7 +336,7 @@ void PredictionModelStore::UpdateModel(
+ DCHECK_EQ(optimization_target, model_info.optimization_target());
+ DCHECK(base_store_dir_.IsParent(base_model_dir));
+
+- ModelStoreMetadataEntryUpdater metadata(local_state_, optimization_target,
++ ModelStoreMetadataEntryUpdater metadata(GetLocalState(), optimization_target,
+ model_cache_key);
+ metadata.SetVersion(model_info.version());
+ metadata.SetExpiryTime(
+@@ -420,7 +399,7 @@ void PredictionModelStore::UpdateModelCacheKeyMapping(
+ const proto::ModelCacheKey& server_model_cache_key) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ ModelStoreMetadataEntryUpdater::UpdateModelCacheKeyMapping(
+- local_state_, optimization_target, client_model_cache_key,
++ GetLocalState(), optimization_target, client_model_cache_key,
+ server_model_cache_key);
+ }
+
+@@ -429,13 +408,13 @@ void PredictionModelStore::RemoveModel(
+ const proto::ModelCacheKey& model_cache_key,
+ PredictionModelStoreModelRemovalReason model_remove_reason) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- if (!local_state_) {
++ if (!GetLocalState()) {
+ return;
+ }
+
+ RecordPredictionModelStoreModelRemovalVersionHistogram(optimization_target,
+ model_remove_reason);
+- ModelStoreMetadataEntryUpdater metadata(local_state_, optimization_target,
++ ModelStoreMetadataEntryUpdater metadata(GetLocalState(), optimization_target,
+ model_cache_key);
+ auto base_model_dir = metadata.GetModelBaseDir();
+ if (base_model_dir) {
+@@ -458,16 +437,17 @@ void PredictionModelStore::ScheduleModelDirRemoval(
+ base_model_dir.IsAbsolute()
+ ? ConvertToRelativePath(base_store_dir_, base_model_dir)
+ : base_model_dir;
+- ScopedDictPrefUpdate pref_update(local_state_,
++ ScopedDictPrefUpdate pref_update(GetLocalState(),
+ prefs::localstate::kStoreFilePathsToDelete);
+ pref_update->Set(FilePathToString(relative_model_dir), true);
+ }
+
+ void PredictionModelStore::PurgeInactiveModels() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- DCHECK(local_state_);
++ DCHECK(GetLocalState());
+ for (const auto& expired_model_dir :
+- ModelStoreMetadataEntryUpdater::PurgeAllInactiveMetadata(local_state_)) {
++ ModelStoreMetadataEntryUpdater::PurgeAllInactiveMetadata(
++ GetLocalState())) {
+ // Backward compatibility: Model dirs were absolute in the earlier versions,
+ // and it was only in experiment. The latest versions use relative paths.
+ DCHECK(!expired_model_dir.IsAbsolute() ||
+@@ -485,9 +465,9 @@ void PredictionModelStore::PurgeInactiveModels() {
+
+ void PredictionModelStore::CleanUpOldModelFiles() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- DCHECK(local_state_);
++ DCHECK(GetLocalState());
+ for (const auto entry :
+- local_state_->GetDict(prefs::localstate::kStoreFilePathsToDelete)) {
++ GetLocalState()->GetDict(prefs::localstate::kStoreFilePathsToDelete)) {
+ // Backward compatibility: Model dirs were absolute in the earlier versions.
+ // The latest versions use relative paths.
+ auto path_to_delete = StringToFilePath(entry.first);
+@@ -508,13 +488,13 @@ void PredictionModelStore::CleanUpOldModelFiles() {
+ void PredictionModelStore::OnFilePathDeleted(const std::string& path_to_delete,
+ bool success) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- DCHECK(local_state_);
++ DCHECK(GetLocalState());
+ if (!success) {
+ // Try to delete again later.
+ return;
+ }
+
+- ScopedDictPrefUpdate pref_update(local_state_,
++ ScopedDictPrefUpdate pref_update(GetLocalState(),
+ prefs::localstate::kStoreFilePathsToDelete);
+ pref_update->Remove(path_to_delete);
+ }
+@@ -527,7 +507,6 @@ base::FilePath PredictionModelStore::GetBaseStoreDirForTesting() const {
+ void PredictionModelStore::ResetForTesting() {
+ DETACH_FROM_SEQUENCE(sequence_checker_);
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+- local_state_ = nullptr;
+ base_store_dir_ = base::FilePath();
+ background_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
+ {base::MayBlock(), base::TaskPriority::BEST_EFFORT});
+diff --git a/chromium/components/optimization_guide/core/prediction_model_store.h b/chromium/components/optimization_guide/core/prediction_model_store.h
+index eb39780fd37..720e50dc128 100644
+--- src/3rdparty/chromium/components/optimization_guide/core/prediction_model_store.h
++++ src/3rdparty/chromium/components/optimization_guide/core/prediction_model_store.h
+@@ -8,7 +8,6 @@
+ #include "base/files/file_path.h"
+ #include "base/memory/scoped_refptr.h"
+ #include "base/memory/weak_ptr.h"
+-#include "base/no_destructor.h"
+ #include "base/sequence_checker.h"
+ #include "base/task/sequenced_task_runner.h"
+ #include "base/values.h"
+@@ -34,21 +33,15 @@ class PredictionModelStore {
+ using PredictionModelLoadedCallback =
+ base::OnceCallback<void(std::unique_ptr<proto::PredictionModel>)>;
+
+- // Returns the singleton model store.
+- static PredictionModelStore* GetInstance();
+-
+- static std::unique_ptr<PredictionModelStore>
+- CreatePredictionModelStoreForTesting(PrefService* local_state,
+- const base::FilePath& base_store_dir);
++ PredictionModelStore();
+
+- // Initializes the model store with |local_state| and the |base_store_dir|.
+- // Model store will be usable only after it is initialized.
+- void Initialize(PrefService* local_state,
+- const base::FilePath& base_store_dir);
++ // Initializes the model store with |base_store_dir|. Model store will be
++ // usable only after it is initialized.
++ void Initialize(const base::FilePath& base_store_dir);
+
+ PredictionModelStore(const PredictionModelStore&) = delete;
+ PredictionModelStore& operator=(const PredictionModelStore&) = delete;
+- ~PredictionModelStore();
++ virtual ~PredictionModelStore();
+
+ // Initializes the model store with |local_state| and the |base_store_dir|, if
+ // initialization hasn't happened already. Model store will be usable only
+@@ -111,6 +104,9 @@ class PredictionModelStore {
+ const proto::ModelCacheKey& model_cache_key,
+ PredictionModelStoreModelRemovalReason model_removal_reason);
+
++ // Returns the local state that stores the prefs across all profiles.
++ virtual PrefService* GetLocalState() const = 0;
++
+ base::FilePath GetBaseStoreDirForTesting() const;
+
+ // Allows tests to reset the store for subsequent tests since the store is a
+@@ -118,11 +114,8 @@ class PredictionModelStore {
+ void ResetForTesting();
+
+ private:
+- friend base::NoDestructor<PredictionModelStore>;
+ friend class PredictionModelStoreBrowserTestBase;
+
+- PredictionModelStore();
+-
+ // Loads the model and verifies if the model files exist and returns the
+ // model. Otherwise nullptr is returned on any failures.
+ static std::unique_ptr<proto::PredictionModel>
+@@ -159,11 +152,6 @@ class PredictionModelStore {
+ // Invoked when model files gets deleted.
+ void OnFilePathDeleted(const std::string& path_to_delete, bool success);
+
+- // Local state that stores the prefs across all profiles. Not owned and
+- // outlives |this|.
+- raw_ptr<PrefService, LeakedDanglingUntriaged> local_state_
+- GUARDED_BY_CONTEXT(sequence_checker_) = nullptr;
+-
+ // The base dir where the prediction model dirs are saved.
+ base::FilePath base_store_dir_ GUARDED_BY_CONTEXT(sequence_checker_);
+
+From ce8633a185cd8c2e819898d3a6cba63d1e8089c4 Mon Sep 17 00:00:00 2001
+From: John Stiles <johnstiles@google.com>
+Date: Wed, 31 Jan 2024 14:28:47 +0000
+Subject: [PATCH] [Backport] Security bug 41495984
+
+Cherry-pick of patch originally reviewed on:
+https://chromium-review.googlesource.com/c/chromium/src/+/5249171
+Improve handling of malformed BMP palettes.
+
+Add CHECKs to guarantee that clr_used is reasonably sized when
+ProcessColorTable() is called. Out-of-bounds values are capped
+by ProcessInfoHeader() already, but since this happens at a
+distance, it's better to be sure.
+
+Additionally, we would previously add padding elements to a
+palette if it was shorter than expected. We already had bounds
+checks at the places where the palette was accessed, so we now
+rely on those checks instead.
+
+Bug: 1523030
+Change-Id: I579c67d1029e1effba2036e9ec0c871418b140e2
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5249171
+Commit-Queue: John Stiles <johnstiles@google.com>
+Reviewed-by: Peter Kasting <pkasting@chromium.org>
+Auto-Submit: John Stiles <johnstiles@google.com>
+Cr-Commit-Position: refs/heads/main@{#1254490}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/551093
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../image-decoders/bmp/bmp_image_reader.cc | 25 ++++++++++---------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/chromium/third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_reader.cc b/chromium/third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_reader.cc
+index b7bbbf51a1b..9c319b4be01 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_reader.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_reader.cc
+@@ -774,24 +774,31 @@ bool BMPImageReader::ProcessColorTable() {
+
+ const wtf_size_t header_end = header_offset_ + info_header_.size;
+ wtf_size_t colors_in_palette = info_header_.clr_used;
++ CHECK_LE(colors_in_palette, 256u); // Enforced by ProcessInfoHeader().
+ wtf_size_t table_size_in_bytes = colors_in_palette * bytes_per_color;
+ const wtf_size_t table_end = header_end + table_size_in_bytes;
+ if (table_end < header_end) {
+ return parent_->SetFailed();
+ }
+
+- // Some BMPs don't contain a complete palette. Avoid reading off the end.
++ // Some BMPs don't contain a complete palette. Truncate it instead of reading
++ // off the end of the palette.
+ if (img_data_offset_ && (img_data_offset_ < table_end)) {
+- colors_in_palette = (img_data_offset_ - header_end) / bytes_per_color;
++ wtf_size_t colors_in_truncated_palette =
++ (img_data_offset_ - header_end) / bytes_per_color;
++ CHECK_LE(colors_in_truncated_palette, colors_in_palette);
++ colors_in_palette = colors_in_truncated_palette;
+ table_size_in_bytes = colors_in_palette * bytes_per_color;
+ }
+
+- // Read color table.
++ // If we don't have enough data to read in the whole palette yet, stop here.
+ if ((decoded_offset_ > data_->size()) ||
+ ((data_->size() - decoded_offset_) < table_size_in_bytes)) {
+ return false;
+ }
+- color_table_.resize(info_header_.clr_used);
++
++ // Read the color table.
++ color_table_.resize(colors_in_palette);
+
+ for (wtf_size_t i = 0; i < colors_in_palette; ++i) {
+ color_table_[i].rgb_blue = ReadUint8(0);
+@@ -799,12 +806,6 @@ bool BMPImageReader::ProcessColorTable() {
+ color_table_[i].rgb_red = ReadUint8(2);
+ decoded_offset_ += bytes_per_color;
+ }
+- // Explicitly zero any colors past the end of a truncated palette.
+- for (wtf_size_t i = colors_in_palette; i < info_header_.clr_used; ++i) {
+- color_table_[i].rgb_blue = 0;
+- color_table_[i].rgb_green = 0;
+- color_table_[i].rgb_red = 0;
+- }
+
+ // We've now decoded all the non-image data we care about. Skip anything
+ // else before the actual raster data.
+@@ -992,7 +993,7 @@ BMPImageReader::ProcessingResult BMPImageReader::ProcessRLEData() {
+ for (wtf_size_t which = 0; coord_.x() < end_x;) {
+ // Some images specify color values past the end of the
+ // color table; set these pixels to black.
+- if (color_indexes[which] < info_header_.clr_used) {
++ if (color_indexes[which] < color_table_.size()) {
+ SetI(color_indexes[which]);
+ } else {
+ SetRGBA(0, 0, 0, 255);
+@@ -1071,7 +1072,7 @@ BMPImageReader::ProcessingResult BMPImageReader::ProcessNonRLEData(
+ }
+ } else {
+ // See comments near the end of ProcessRLEData().
+- if (color_index < info_header_.clr_used) {
++ if (color_index < color_table_.size()) {
+ SetI(color_index);
+ } else {
+ SetRGBA(0, 0, 0, 255);
+From 4349868d9af8ef7175125f53e441b12df5a22927 Mon Sep 17 00:00:00 2001
+From: Antonio Maiorano <amaiorano@google.com>
+Date: Wed, 20 Mar 2024 17:15:40 -0400
+Subject: [PATCH] [Backport] CVE-2024-2885: Use after free in Dawn
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5383595:
+Fix HLMatrixLowerPass leaving call to dangling FunctionVal
+
+When lowering an hl.cast, when the operand was an undef matrix, the pass would insert a call to a mat2vec stub, but since the undef value is not
+an alloca, it never gets handled, and the call to the temporary stub
+remains. Since the stub FunctionVal gets deleted, when the instruction
+is accessed in a future pass, it reads a dangling pointer.
+
+The fix is to handle undef similarly to how constant 0 is handled, and
+to return an undef vector from lowerHLCast.
+
+Bug: chromium:328958020
+Change-Id: Id31e3aa326d9cb9f03ea97139f14dc5292cd6f7b
+Reviewed-on: https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5383595
+Reviewed-by: Ben Clayton <bclayton@chromium.org>
+Reviewed-by: David Neto <dneto@google.com>
+Reviewed-by: Kenneth Russell <kbr@chromium.org>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553291
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/chromium/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp b/chromium/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp
+index e35ff832ecf..c3a7254ef2b 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp
+@@ -381,6 +381,11 @@ Value* HLMatrixLowerPass::getLoweredByValOperand(Value *Val, IRBuilder<> &Builde
+ if (isa<ConstantAggregateZero>(Val))
+ return ConstantAggregateZero::get(LoweredTy);
+
++ // Lower undef mat as undef vec
++ if (isa<UndefValue>(Val)) {
++ return UndefValue::get(LoweredTy);
++ }
++
+ // Return a mat-to-vec translation stub
+ FunctionType *TranslationStubTy = FunctionType::get(LoweredTy, { Ty }, /* isVarArg */ false);
+ Function *TranslationStub = m_matToVecStubs->get(TranslationStubTy);
+From 0c7f8cd69b6065fbc9a2af8927182ffe529e052e Mon Sep 17 00:00:00 2001
+From: Manos Koukoutos <manoskouk@chromium.org>
+Date: Thu, 21 Mar 2024 11:38:08 +0100
+Subject: [PATCH] [Backport] CVE-2024-2887: Type Confusion in WebAssembly
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/v8/v8/+/5380190:
+Merged: [wasm] Check for type-definition count limit
+
+(cherry picked from commit b852ad701db21d6db5b34e66f4ec1cdccd2ec4d4)
+
+Bug: chromium:330575498
+Change-Id: I395f0ed6d823b7d1e139da6551486e3627d65724
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5378419
+Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
+Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
+Auto-Submit: Manos Koukoutos <manoskouk@chromium.org>
+Cr-Original-Commit-Position: refs/heads/main@{#92941}
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5380190
+Reviewed-by: Francis McCabe <fgm@chromium.org>
+Commit-Queue: Adam Klein <adamk@chromium.org>
+Reviewed-by: Adam Klein <adamk@chromium.org>
+Cr-Commit-Position: refs/branch-heads/12.2@{#50}
+Cr-Branched-From: 6eb5a9616aa6f8c705217aeb7c7ab8c037a2f676-refs/heads/12.2.281@{#1}
+Cr-Branched-From: 44cf56d850167c6988522f8981730462abc04bcc-refs/heads/main@{#91934}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553292
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/v8/src/wasm/module-decoder-impl.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/chromium/v8/src/wasm/module-decoder-impl.h b/chromium/v8/src/wasm/module-decoder-impl.h
+index 97554288b55..75ca3a630a2 100644
+--- src/3rdparty/chromium/v8/src/wasm/module-decoder-impl.h
++++ src/3rdparty/chromium/v8/src/wasm/module-decoder-impl.h
+@@ -687,6 +687,11 @@ class ModuleDecoderImpl : public Decoder {
+ }
+ } else {
+ if (tracer_) tracer_->TypeOffset(pc_offset());
++ if (initial_size + 1 > kV8MaxWasmTypes) {
++ errorf(pc(), "Type definition count exceeds maximum %zu",
++ kV8MaxWasmTypes);
++ return;
++ }
+ // Similarly to above, we need to resize types for a group of size 1.
+ module_->types.resize(initial_size + 1);
+ module_->isorecursive_canonical_type_ids.resize(initial_size + 1);
+From d414fd5b22455b7fcbddfdee22cf2b1f446ce3c4 Mon Sep 17 00:00:00 2001
+From: Marco Paniconi <marpan@google.com>
+Date: Wed, 13 Mar 2024 10:58:17 -0700
+Subject: [PATCH] [Backport] Security bug 329674887 (1/2)
+
+Cherry-pick of patch orignally reviewed on
+https://chromium-review.googlesource.com/c/webm/libvpx/+/5370376:
+Fix to buffer alloc for vp9_bitstream_worker_data
+
+The code was using the bitstream_worker_data when it
+wasn't allocated for big enough size. This is because
+the existing condition was to only re-alloc the
+bitstream_worker_data when current dest_size was larger
+than the current frame_size. But under resolution change
+where frame_size is increased, beyond the current dest_size,
+we need to allow re-alloc to the new size.
+
+The existing condition to re-alloc when dest_size is
+larger than frame_size (which is not required) is kept
+for now.
+
+Also increase the dest_size to account for image format.
+
+Added tests, for both ROW_MT=0 and 1, that reproduce
+the failures in the bugs below.
+
+Note: this issue only affects the REALTIME encoding path.
+
+Bug: b/329088759, b/329674887, b/329179808
+
+Change-Id: Icd65dbc5317120304d803f648d4bd9405710db6f
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553293
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../source/libvpx/vp9/encoder/vp9_bitstream.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c b/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
+index ca56d14aa1e..88a031e5fc1 100644
+--- src/3rdparty/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
++++ src/3rdparty/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
+@@ -962,6 +962,14 @@ void vp9_bitstream_encode_tiles_buffer_dealloc(VP9_COMP *const cpi) {
+ }
+ }
+
++static int encode_tiles_buffer_alloc_size(VP9_COMP *const cpi) {
++ VP9_COMMON *const cm = &cpi->common;
++ const int image_bps =
++ (8 + 2 * (8 >> (cm->subsampling_x + cm->subsampling_y))) *
++ (1 + (cm->bit_depth > 8));
++ return cpi->oxcf.width * cpi->oxcf.height * image_bps / 8;
++}
++
+ static void encode_tiles_buffer_alloc(VP9_COMP *const cpi) {
+ VP9_COMMON *const cm = &cpi->common;
+ int i;
+@@ -972,7 +980,7 @@ static void encode_tiles_buffer_alloc(VP9_COMP *const cpi) {
+ memset(cpi->vp9_bitstream_worker_data, 0, worker_data_size);
+ for (i = 1; i < cpi->num_workers; ++i) {
+ cpi->vp9_bitstream_worker_data[i].dest_size =
+- cpi->oxcf.width * cpi->oxcf.height;
++ encode_tiles_buffer_alloc_size(cpi);
+ CHECK_MEM_ERROR(&cm->error, cpi->vp9_bitstream_worker_data[i].dest,
+ vpx_malloc(cpi->vp9_bitstream_worker_data[i].dest_size));
+ }
+@@ -987,8 +995,8 @@ static size_t encode_tiles_mt(VP9_COMP *cpi, uint8_t *data_ptr) {
+ int tile_col = 0;
+
+ if (!cpi->vp9_bitstream_worker_data ||
+- cpi->vp9_bitstream_worker_data[1].dest_size >
+- (cpi->oxcf.width * cpi->oxcf.height)) {
++ cpi->vp9_bitstream_worker_data[1].dest_size !=
++ encode_tiles_buffer_alloc_size(cpi)) {
+ vp9_bitstream_encode_tiles_buffer_dealloc(cpi);
+ encode_tiles_buffer_alloc(cpi);
+ }
+From 4f90911c049d0278e900b94947fd0055b26d646e Mon Sep 17 00:00:00 2001
+From: Marco Paniconi <marpan@google.com>
+Date: Sat, 16 Mar 2024 10:39:28 -0700
+Subject: [PATCH] [Backport] Security bug 329674887 (2/2)
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/webm/libvpx/+/5375794:vp9: fix to integer overflow test
+
+failure for the 16k test: issue introduced
+in: c29e637283
+
+Bug: b/329088759, b/329674887, b/329179808
+
+Change-Id: I88e8a36b7f13223997c3006c84aec9cfa48c0bcf
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553294
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c b/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
+index 88a031e5fc1..d3c029da4ba 100644
+--- src/3rdparty/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
++++ src/3rdparty/chromium/third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c
+@@ -967,7 +967,9 @@ static int encode_tiles_buffer_alloc_size(VP9_COMP *const cpi) {
+ const int image_bps =
+ (8 + 2 * (8 >> (cm->subsampling_x + cm->subsampling_y))) *
+ (1 + (cm->bit_depth > 8));
+- return cpi->oxcf.width * cpi->oxcf.height * image_bps / 8;
++ const int64_t size =
++ (int64_t)cpi->oxcf.width * cpi->oxcf.height * image_bps / 8;
++ return (int)size;
+ }
+
+ static void encode_tiles_buffer_alloc(VP9_COMP *const cpi) {
+From 5af5e96fba0c40d3ddef2720de9117b6a4d6c267 Mon Sep 17 00:00:00 2001
+From: Peng Huang <penghuang@chromium.org>
+Date: Wed, 20 Mar 2024 16:22:16 +0000
+Subject: [PATCH] [Backport] Security bug 327183408
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5382202:
+Fix PaintImage deserialization arbitrary-read issue
+
+(cherry picked from commit 47e8386c97ac7a84a96866fbd35422b99a01de5a)
+
+Bug: 327183408
+Change-Id: I09927fbae60b666aaa370e3aba01607cdb977a25
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5370455
+Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
+Commit-Queue: Peng Huang <penghuang@chromium.org>
+Cr-Original-Commit-Position: refs/heads/main@{#1272930}
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5382202
+Auto-Submit: Peng Huang <penghuang@chromium.org>
+Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
+Cr-Commit-Position: refs/branch-heads/6261@{#1106}
+Cr-Branched-From: 9755d9d81e4a8cb5b4f76b23b761457479dbb06b-refs/heads/main@{#1250580}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553295
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/cc/paint/paint_op_reader.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/cc/paint/paint_op_reader.cc b/chromium/cc/paint/paint_op_reader.cc
+index 935dbb05a50..6d920c33562 100644
+--- src/3rdparty/chromium/cc/paint/paint_op_reader.cc
++++ src/3rdparty/chromium/cc/paint/paint_op_reader.cc
+@@ -1532,9 +1532,10 @@ inline void PaintOpReader::DidRead(size_t bytes_read) {
+ // All data are aligned with PaintOpWriter::kDefaultAlignment at least.
+ size_t aligned_bytes =
+ base::bits::AlignUp(bytes_read, PaintOpWriter::kDefaultAlignment);
+- memory_ += aligned_bytes;
+ DCHECK_LE(aligned_bytes, remaining_bytes_);
+- remaining_bytes_ -= aligned_bytes;
++ bytes_read = std::min(aligned_bytes, remaining_bytes_);
++ memory_ += bytes_read;
++ remaining_bytes_ -= bytes_read;
+ }
+
+ } // namespace cc
+From 0a17b9024c84404e4693718bbbd056517a2874a3 Mon Sep 17 00:00:00 2001
+From: Darius Mercadier <dmercadier@chromium.org>
+Date: Fri, 22 Mar 2024 17:55:04 +0100
+Subject: [PATCH] [Backport] CVE-2024-3159: Out of bounds memory access in V8
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/v8/v8/+/5401859:
+Merged: [runtime] Recreate enum cache on map update if any previous map had one
+
+If any previous map in the transition tree had an enum cache, then we
+recreate one when updating the map.
+
+Bug: 330760873
+(cherry picked from commit 807cf7d0b7d96212c98ed2119e07f9b2c6a23f61)
+
+Change-Id: Ia9ea4cf17fef60166a0c037318eb539866aac37a
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5401859
+Reviewed-by: Igor Sheludko <ishell@chromium.org>
+Commit-Queue: Igor Sheludko <ishell@chromium.org>
+Auto-Submit: Darius Mercadier <dmercadier@chromium.org>
+Cr-Commit-Position: refs/branch-heads/12.2@{#52}
+Cr-Branched-From: 6eb5a9616aa6f8c705217aeb7c7ab8c037a2f676-refs/heads/12.2.281@{#1}
+Cr-Branched-From: 44cf56d850167c6988522f8981730462abc04bcc-refs/heads/main@{#91934}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553296
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/v8/src/objects/map-updater.cc | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/chromium/v8/src/objects/map-updater.cc b/chromium/v8/src/objects/map-updater.cc
+index 613a4921637..1d649373274 100644
+--- src/3rdparty/chromium/v8/src/objects/map-updater.cc
++++ src/3rdparty/chromium/v8/src/objects/map-updater.cc
+@@ -1038,14 +1038,21 @@ MapUpdater::State MapUpdater::ConstructNewMap() {
+ Handle<Map> new_map =
+ Map::AddMissingTransitions(isolate_, split_map, new_descriptors);
+
++ bool had_any_enum_cache =
++ split_map->instance_descriptors(isolate_)
++ ->enum_cache()
++ ->keys()
++ ->length() > 0 ||
++ old_descriptors_->enum_cache()->keys()->length() > 0;
++
+ // Deprecated part of the transition tree is no longer reachable, so replace
+ // current instance descriptors in the "survived" part of the tree with
+ // the new descriptors to maintain descriptors sharing invariant.
+ split_map->ReplaceDescriptors(isolate_, *new_descriptors);
+
+- // If the old descriptors had an enum cache, make sure the new ones do too.
+- if (old_descriptors_->enum_cache()->keys()->length() > 0 &&
+- new_map->NumberOfEnumerableProperties() > 0) {
++ // If the old descriptors had an enum cache (or if {split_map}'s descriptors
++ // had one), make sure the new ones do too.
++ if (had_any_enum_cache && new_map->NumberOfEnumerableProperties() > 0) {
+ FastKeyAccumulator::InitializeFastPropertyEnumCache(
+ isolate_, new_map, new_map->NumberOfEnumerableProperties());
+ }
+From e76cac29493b1cb4b055f8944ea1e4e1284a12e6 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
+Date: Thu, 21 Mar 2024 16:50:44 +0000
+Subject: [PATCH] [Backport] Security bug 326349405
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5383440:
+Reland "sensors WinRT: Call OnReadingChangedCallback() via PostTask()"
+
+This reverts commit 745ca2de005c052f58097ef9cb7aa2deff095cf4.
+
+Reason for revert: Reapproved by pgrace@ in the bug.
+
+Original change's description:
+> Revert "sensors WinRT: Call OnReadingChangedCallback() via PostTask()"
+>
+> This reverts commit 7e93b6a926ab65cc7ff1293bdcf0099c6e6e4e4e.
+>
+> Reason for revert: Requested in the bug by pgrace@
+>
+> Original change's description:
+> > sensors WinRT: Call OnReadingChangedCallback() via PostTask()
+> >
+> > While here, also add checks to make sure each method is running on the
+> > right sequence and make |minimum_report_interval_| guarded by |lock_|
+> > since it is accessed by the main task runner just like |client_|.
+> >
+> > There is a significant amount of changes in the unit tests for two
+> > reasons:
+> > 1. We now use multiple task runners and create Reader objects in a COM
+> > STA task runner to better simulate what happens in production.
+> > 2. Doing so has uncovered bugs in the exist tests that had to be fixed.
+> > Namely:
+> > - One of the biggest offenders was the use of EXPECT_CALL() with
+> > WillRepeatedly() for expecting calls to OnReadingUpdated(). Using
+> > only WillRepeatedly() meant the control over the cardinality of the
+> > expectations was not very strict, and sometimes callbacks were
+> > simply not being run.
+> > Now that TriggerFakeSensorReading() is asynchronous and we need to
+> > use a base::RunLoop to ensure, we are also using WillOnce() a lot
+> > more than WillRepeatedly() so that we set one expectation, call
+> > TriggerFakeSensorReading() and consume it immediately.
+> > - The *Thresholding tests were affected by the problem above, and
+> > fixing them showed that several callbacks were not being invoked.
+> > Many checks where values were increased by the exact threshold
+> > amount were broken because the manipulated values are floats and
+> > doubles, and the math operations on them in the
+> > OnReadingChangedCallback() implementations caused the comparisons
+> > with exact values to fail. In this case, it was simpler to just
+> > remove those specific tests, as the "values bigger than the
+> > threshold" case are already covered by other checks.
+> > - Also as a consequence of the above, *Thresholding tests with
+> > multi-axis values were also broken when they went from testing that
+> > values did not pass the threshold checks to the first test that
+> > verifies that an axis passes the threshold check. This caused all
+> > previous |last_sent_*| variables to be stored in the Reader, and
+> > other calls to threshold_helper(true) would fail. The fix here was
+> > to reorder the calls so that each axis is tested entirely before
+> > the next.
+> >
+> > (cherry picked from commit 2aafa000795519b5153125673f87c734f7b8ae9f)
+> >
+> > Bug: 326349405
+> > Change-Id: Ief67720e8c449af1ce4f450002103a20ca1830ee
+> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5340216
+> > Auto-Submit: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
+> > Commit-Queue: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
+> > Reviewed-by: Reilly Grant <reillyg@chromium.org>
+> > Cr-Original-Commit-Position: refs/heads/main@{#1268797}
+> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5372846
+> > Reviewed-by: Colin Blundell <blundell@chromium.org>
+> > Cr-Commit-Position: refs/branch-heads/6261@{#1079}
+> > Cr-Branched-From: 9755d9d81e4a8cb5b4f76b23b761457479dbb06b-refs/heads/main@{#1250580}
+>
+> Bug: 326349405
+> Change-Id: I49d61cf7bdf2a00004aa565a5439ad813b1c379e
+> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5378404
+> Commit-Queue: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
+> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
+> Cr-Commit-Position: refs/branch-heads/6261@{#1090}
+> Cr-Branched-From: 9755d9d81e4a8cb5b4f76b23b761457479dbb06b-refs/heads/main@{#1250580}
+
+Bug: 326349405
+Change-Id: I3bcba8840a3a10cd4660ec287fa24623bcf87657
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5383440
+Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
+Commit-Queue: Raphael Kubo Da Costa <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/branch-heads/6261@{#1111}
+Cr-Branched-From: 9755d9d81e4a8cb5b4f76b23b761457479dbb06b-refs/heads/main@{#1250580}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/553297
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../platform_sensor_reader_winrt.cc | 79 +-
+ .../platform_sensor_reader_winrt.h | 32 +-
+ .../platform_sensor_reader_winrt_unittests.cc | 787 ++++++++++--------
+ .../generic_sensor/platform_sensor_win.cc | 3 +
+ 4 files changed, 549 insertions(+), 352 deletions(-)
+
+diff --git a/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.cc b/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.cc
+index 6c778b7edf0c..673225e398a2 100644
+--- src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.cc
++++ src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.cc
+@@ -8,6 +8,7 @@
+
+ #include "base/numerics/math_constants.h"
+ #include "base/time/time.h"
++#include "base/win/com_init_util.h"
+ #include "base/win/core_winrt_util.h"
+ #include "services/device/generic_sensor/generic_sensor_consts.h"
+ #include "services/device/public/mojom/sensor.mojom.h"
+@@ -99,7 +100,11 @@ PlatformSensorReaderWinrtBase<
+ ISensorWinrtStatics,
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+- ISensorReadingChangedEventArgs>::PlatformSensorReaderWinrtBase() {
++ ISensorReadingChangedEventArgs>::PlatformSensorReaderWinrtBase()
++ : com_sta_task_runner_(base::SingleThreadTaskRunner::GetCurrentDefault()) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++ DETACH_FROM_SEQUENCE(main_sequence_checker_);
++
+ get_sensor_factory_callback_ =
+ base::BindRepeating([](ISensorWinrtStatics** sensor_factory) -> HRESULT {
+ return base::win::GetActivationFactory<ISensorWinrtStatics,
+@@ -119,6 +124,8 @@ void PlatformSensorReaderWinrtBase<
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::SetClient(Client* client) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(main_sequence_checker_);
++
+ base::AutoLock autolock(lock_);
+ client_ = client;
+ }
+@@ -136,6 +143,8 @@ HRESULT PlatformSensorReaderWinrtBase<runtime_class_id,
+ ISensorReadingChangedEventArgs>::
+ ConvertSensorReadingTimeStamp(ComPtr<ISensorReading> sensor_reading,
+ base::TimeDelta* timestamp_delta) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ DateTime timestamp;
+ HRESULT hr = sensor_reading->get_Timestamp(&timestamp);
+ if (FAILED(hr))
+@@ -157,6 +166,8 @@ bool PlatformSensorReaderWinrtBase<
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::Initialize() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<ISensorWinrtStatics> sensor_statics;
+
+ HRESULT hr = get_sensor_factory_callback_.Run(&sensor_statics);
+@@ -180,10 +191,14 @@ bool PlatformSensorReaderWinrtBase<
+ return false;
+ }
+
+- minimum_report_interval_ = GetMinimumReportIntervalFromSensor();
++ {
++ base::AutoLock autolock(lock_);
++ minimum_report_interval_ = GetMinimumReportIntervalFromSensor();
+
+- if (minimum_report_interval_.is_zero())
+- DLOG(WARNING) << "Failed to get sensor minimum report interval";
++ if (minimum_report_interval_.is_zero()) {
++ DLOG(WARNING) << "Failed to get sensor minimum report interval";
++ }
++ }
+
+ return true;
+ }
+@@ -199,6 +214,8 @@ base::TimeDelta PlatformSensorReaderWinrtBase<
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::GetMinimumReportIntervalFromSensor() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ UINT32 minimum_report_interval_ms = 0;
+ HRESULT hr = sensor_->get_MinimumReportInterval(&minimum_report_interval_ms);
+
+@@ -225,6 +242,9 @@ base::TimeDelta PlatformSensorReaderWinrtBase<
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::GetMinimalReportingInterval() const {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(main_sequence_checker_);
++
++ base::AutoLock autolock(lock_);
+ return minimum_report_interval_;
+ }
+
+@@ -239,6 +259,8 @@ bool PlatformSensorReaderWinrtBase<runtime_class_id,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::
+ StartSensor(const PlatformSensorConfiguration& configuration) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(main_sequence_checker_);
++
+ base::AutoLock autolock(lock_);
+
+ if (!reading_callback_token_) {
+@@ -256,7 +278,39 @@ bool PlatformSensorReaderWinrtBase<runtime_class_id,
+ }
+
+ auto reading_changed_handler = Callback<ISensorReadingChangedHandler>(
+- this, &PlatformSensorReaderWinrtBase::OnReadingChangedCallback);
++ [weak_ptr(weak_ptr_factory_.GetWeakPtr()),
++ com_sta_task_runner(com_sta_task_runner_)](
++ ISensorWinrtClass* sender, ISensorReadingChangedEventArgs* args) {
++ // We cannot invoke OnReadingChangedCallback() directly because this
++ // callback is run on a COM MTA thread spawned by Windows (on tests,
++ // we mimic the behavior by using base::ThreadPool, as the task
++ // scheduler threads live in the MTA).
++ //
++ // This callback is invoked on an MTA thread because the
++ // ISensorReadingChangedHandler declarations explicitly inherit from
++ // Microsoft::WRL::FtmBase, which makes them agile, free-threaded
++ // objects.
++ //
++ // We could CHECK() this behavior here, but ::CoGetApartmentType()
++ // depends on ole32.dll and base::win::GetComApartmentTypeForThread()
++ // returns NONE in the non-test code path even though
++ // ::GoGetApartmentType() returns MTA, so the best we can do is just
++ // double-check that this is not running on an STA.
++ DCHECK_NE(base::win::GetComApartmentTypeForThread(),
++ base::win::ComApartmentType::STA);
++ com_sta_task_runner->PostTask(
++ FROM_HERE,
++ base::BindOnce(
++ // TODO(crbug.com/326349405): base::IgnoreResult is being used
++ // temporarily to reduce the amount of changes required for
++ // this bug. OnReadingChangedCallback() must be changed to
++ // have a void return type.
++ base::IgnoreResult(
++ &PlatformSensorReaderWinrtBase::OnReadingChangedCallback),
++ weak_ptr, ComPtr<ISensorWinrtClass>(sender),
++ ComPtr<ISensorReadingChangedEventArgs>(args)));
++ return S_OK;
++ });
+
+ EventRegistrationToken event_token;
+ hr = sensor_->add_ReadingChanged(reading_changed_handler.Get(),
+@@ -285,6 +339,9 @@ void PlatformSensorReaderWinrtBase<
+ ISensorWinrtClass,
+ ISensorReadingChangedHandler,
+ ISensorReadingChangedEventArgs>::StopSensor() {
++ // This function is called in the main task runner by PlatformSensorWin as
++ // well as in the com_sta_task_runner_ by the destructor.
++
+ base::AutoLock autolock(lock_);
+
+ if (reading_callback_token_) {
+@@ -316,6 +373,8 @@ PlatformSensorReaderWinrtLightSensor::PlatformSensorReaderWinrtLightSensor() =
+ HRESULT PlatformSensorReaderWinrtLightSensor::OnReadingChangedCallback(
+ ILightSensor* light_sensor,
+ ILightSensorReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<ILightSensorReading> light_sensor_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&light_sensor_reading);
+ if (FAILED(hr)) {
+@@ -379,6 +438,8 @@ PlatformSensorReaderWinrtAccelerometer::
+ HRESULT PlatformSensorReaderWinrtAccelerometer::OnReadingChangedCallback(
+ IAccelerometer* accelerometer,
+ IAccelerometerReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<IAccelerometerReading> accelerometer_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&accelerometer_reading);
+ if (FAILED(hr)) {
+@@ -464,6 +525,8 @@ PlatformSensorReaderWinrtGyrometer::PlatformSensorReaderWinrtGyrometer() =
+ HRESULT PlatformSensorReaderWinrtGyrometer::OnReadingChangedCallback(
+ IGyrometer* gyrometer,
+ IGyrometerReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<IGyrometerReading> gyrometer_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&gyrometer_reading);
+ if (FAILED(hr)) {
+@@ -548,6 +611,8 @@ PlatformSensorReaderWinrtMagnetometer::PlatformSensorReaderWinrtMagnetometer() =
+ HRESULT PlatformSensorReaderWinrtMagnetometer::OnReadingChangedCallback(
+ IMagnetometer* magnetometer,
+ IMagnetometerReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<IMagnetometerReading> magnetometer_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&magnetometer_reading);
+ if (FAILED(hr)) {
+@@ -631,6 +696,8 @@ HRESULT
+ PlatformSensorReaderWinrtAbsOrientationEulerAngles::OnReadingChangedCallback(
+ IInclinometer* inclinometer,
+ IInclinometerReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<IInclinometerReading> inclinometer_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&inclinometer_reading);
+ if (FAILED(hr)) {
+@@ -717,6 +784,8 @@ HRESULT
+ PlatformSensorReaderWinrtAbsOrientationQuaternion::OnReadingChangedCallback(
+ IOrientationSensor* orientation_sensor,
+ IOrientationSensorReadingChangedEventArgs* reading_changed_args) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++
+ ComPtr<IOrientationSensorReading> orientation_sensor_reading;
+ HRESULT hr = reading_changed_args->get_Reading(&orientation_sensor_reading);
+ if (FAILED(hr)) {
+diff --git a/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.h b/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.h
+index 66c40adc59e8..e4521a7816fa 100644
+--- src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.h
++++ src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt.h
+@@ -14,7 +14,10 @@
+
+ #include "base/functional/callback.h"
+ #include "base/memory/raw_ptr.h"
++#include "base/memory/weak_ptr.h"
++#include "base/sequence_checker.h"
+ #include "base/synchronization/lock.h"
++#include "base/task/single_thread_task_runner.h"
+ #include "base/thread_annotations.h"
+ #include "base/time/time.h"
+ #include "services/device/generic_sensor/platform_sensor_reader_win_base.h"
+@@ -77,7 +80,10 @@ class PlatformSensorReaderWinrtBase : public PlatformSensorReaderWinBase {
+
+ protected:
+ PlatformSensorReaderWinrtBase();
+- virtual ~PlatformSensorReaderWinrtBase() { StopSensor(); }
++ virtual ~PlatformSensorReaderWinrtBase() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(com_sta_sequence_checker_);
++ StopSensor();
++ }
+
+ // Derived classes should implement this function to handle sensor specific
+ // parsing of the sensor reading.
+@@ -93,11 +99,15 @@ class PlatformSensorReaderWinrtBase : public PlatformSensorReaderWinBase {
+ Microsoft::WRL::ComPtr<ISensorReading> sensor_reading,
+ base::TimeDelta* timestamp_delta);
+
+- // Following class member is protected by lock since SetClient,
+- // StartSensor, and StopSensor can all be called from different
+- // threads by PlatformSensorWin.
+- base::Lock lock_;
+- // Null if there is no client to notify, non-null otherwise.
++ SEQUENCE_CHECKER(com_sta_sequence_checker_);
++ SEQUENCE_CHECKER(main_sequence_checker_);
++
++ mutable base::Lock lock_;
++
++ // Null if there is no client to notify, non-null otherwise. Protected by
++ // |lock_| because SetClient() and StartSensor() are called from the main
++ // task runner rather than the thread where this object is created, and
++ // StopSensor() may be called from the main task runner too.
+ raw_ptr<Client, DanglingUntriaged> client_ GUARDED_BY(lock_);
+
+ // Always report the first sample received after starting the sensor.
+@@ -106,13 +116,21 @@ class PlatformSensorReaderWinrtBase : public PlatformSensorReaderWinBase {
+ private:
+ base::TimeDelta GetMinimumReportIntervalFromSensor();
+
++ // Task runner where this object was created.
++ scoped_refptr<base::SingleThreadTaskRunner> com_sta_task_runner_;
++
+ GetSensorFactoryFunctor get_sensor_factory_callback_;
+
+ // absl::nullopt if the sensor has not been started, non-empty otherwise.
+ absl::optional<EventRegistrationToken> reading_callback_token_;
+
+- base::TimeDelta minimum_report_interval_;
++ // Protected by |lock_| because GetMinimalReportingInterval() is called from
++ // the main task runner.
++ base::TimeDelta minimum_report_interval_ GUARDED_BY(lock_);
++
+ Microsoft::WRL::ComPtr<ISensorWinrtClass> sensor_;
++
++ base::WeakPtrFactory<PlatformSensorReaderWinrtBase> weak_ptr_factory_{this};
+ };
+
+ class PlatformSensorReaderWinrtLightSensor final
+diff --git a/chromium/services/device/generic_sensor/platform_sensor_reader_winrt_unittests.cc b/chromium/services/device/generic_sensor/platform_sensor_reader_winrt_unittests.cc
+index 2283de90c75d..f6add828b496 100644
+--- src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt_unittests.cc
++++ src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_reader_winrt_unittests.cc
+@@ -6,8 +6,13 @@
+
+ #include <objbase.h>
+
++#include "base/notreached.h"
+ #include "base/numerics/math_constants.h"
++#include "base/run_loop.h"
++#include "base/task/task_traits.h"
++#include "base/task/thread_pool.h"
+ #include "base/test/bind.h"
++#include "base/test/gmock_callback_support.h"
+ #include "base/test/task_environment.h"
+ #include "base/win/core_winrt_util.h"
+ #include "base/win/scoped_com_initializer.h"
+@@ -428,15 +433,26 @@ class FakeSensorWinrt
+ return remove_reading_changed_return_code_;
+ }
+
+- // Makes any clients registered via add_ReadingChanged() to trigger with
+- // the given sensor reading.
++ // Invokes the handler added via add_ReadingChanged() with the reading
++ // described by |reading|.
++ //
++ // The invocation is asynchronous to better simulate real behavior, where
++ // Windows delivers the reading notifications in a separate MTA thread.
+ void TriggerFakeSensorReading(
+ Microsoft::WRL::ComPtr<ISensorReading> reading) {
+- EXPECT_TRUE(handler_);
+ Microsoft::WRL::ComPtr<ISensorReadingChangedEventArgs> reading_event_args =
+ Microsoft::WRL::Make<FakeSensorReadingChangedEventArgsWinrt<
+ ISensorReading, ISensorReadingChangedEventArgs>>(reading);
+- EXPECT_HRESULT_SUCCEEDED(handler_->Invoke(this, reading_event_args.Get()));
++ base::ThreadPool::PostTask(
++ FROM_HERE, {base::MayBlock()},
++ base::BindLambdaForTesting(
++ // Copy |handler_| and |reading_event_args| to ensure they do not
++ // lose their values when TriggerFakeSensorReading() exits.
++ [this, handler = handler_, reading_event_args]() {
++ ASSERT_TRUE(handler);
++ EXPECT_HRESULT_SUCCEEDED(
++ handler->Invoke(this, reading_event_args.Get()));
++ }));
+ }
+
+ // Returns true if any clients are registered for readings via
+@@ -547,7 +563,47 @@ class FakeSensorFactoryWinrt
+ };
+
+ class PlatformSensorReaderTestWinrt : public testing::Test {
+- private:
++ public:
++ void SetUp() override {
++ // Ensure each test starts with a fresh task runner.
++ com_sta_task_runner_ =
++ base::ThreadPool::CreateCOMSTATaskRunner({base::MayBlock()});
++ }
++
++ // Synchronously creates a new PlatformSensorReaderWinrtBase-derived class on
++ // |com_sta_task_runner_| and returns it.
++ //
++ // This better simulates real behavior, as PlatformSensorProviderWinrt
++ // creates readers on a COM STA task runner.
++ template <typename SensorReader,
++ typename ISensorStatics,
++ typename... OtherFactoryTypes>
++ auto CreateAndInitializeSensor(
++ const Microsoft::WRL::ComPtr<
++ FakeSensorFactoryWinrt<ISensorStatics, OtherFactoryTypes...>>&
++ fake_sensor_factory) {
++ std::unique_ptr<SensorReader, base::OnTaskRunnerDeleter> reader(
++ nullptr, base::OnTaskRunnerDeleter(com_sta_task_runner_));
++
++ base::RunLoop run_loop;
++ com_sta_task_runner_->PostTaskAndReply(
++ FROM_HERE, base::BindLambdaForTesting([&]() {
++ reader.reset(new SensorReader);
++ reader->InitForTesting(base::BindLambdaForTesting(
++ [&](ISensorStatics** sensor_factory) -> HRESULT {
++ return fake_sensor_factory.CopyTo(sensor_factory);
++ }));
++ ASSERT_TRUE(reader->Initialize());
++ }),
++ run_loop.QuitClosure());
++ run_loop.Run();
++
++ return reader;
++ }
++
++ protected:
++ scoped_refptr<base::SingleThreadTaskRunner> com_sta_task_runner_;
++
+ base::test::TaskEnvironment task_environment_;
+ base::win::ScopedCOMInitializer scoped_com_initializer_;
+ };
+@@ -602,11 +658,9 @@ TEST_F(PlatformSensorReaderTestWinrt, SensorMinimumReportInterval) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ EXPECT_EQ(sensor->GetMinimalReportingInterval().InMilliseconds(),
+ kExpectedMinimumReportInterval);
+@@ -623,20 +677,42 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedSensorMinimumReportInterval) {
+ ABI::Windows::Devices::Sensors::ILightSensorReadingChangedEventArgs,
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+-
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+ fake_sensor->SetGetMinimumReportIntervalReturnCode(E_FAIL);
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ EXPECT_EQ(sensor->GetMinimalReportingInterval().InMilliseconds(), 0);
+ }
+
+-// Tests that PlatformSensorReaderWinrtBase converts the timestamp correctly
+-TEST_F(PlatformSensorReaderTestWinrt, SensorTimestampConversion) {
+- static constexpr double expectedTimestampDeltaSecs = 19.0;
++TEST_F(PlatformSensorReaderTestWinrt, ReadingChangedCallbackAndPostTask) {
++ // Instead of using PlatformSensorReaderWinrtLightSensor, declare a custom
++ // implementation that does less and whose sole purpose is to assert that its
++ // OnReadingChangedCallback() implementation is never called.
++ struct CustomLightSensor
++ : public PlatformSensorReaderWinrtBase<
++ RuntimeClass_Windows_Devices_Sensors_LightSensor,
++ ABI::Windows::Devices::Sensors::ILightSensorStatics,
++ ABI::Windows::Devices::Sensors::ILightSensor,
++ Microsoft::WRL::Implements<
++ Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
++ ABI::Windows::Foundation::ITypedEventHandler<
++ ABI::Windows::Devices::Sensors::LightSensor*,
++ ABI::Windows::Devices::Sensors::
++ LightSensorReadingChangedEventArgs*>,
++ Microsoft::WRL::FtmBase>,
++ ABI::Windows::Devices::Sensors::
++ ILightSensorReadingChangedEventArgs> {
++ ~CustomLightSensor() override = default;
++
++ HRESULT OnReadingChangedCallback(
++ ABI::Windows::Devices::Sensors::ILightSensor*,
++ ABI::Windows::Devices::Sensors::ILightSensorReadingChangedEventArgs*)
++ override {
++ NOTREACHED_NORETURN() << "This function should not have been reached";
++ }
++ };
+
+ auto fake_sensor_factory = Microsoft::WRL::Make<FakeSensorFactoryWinrt<
+ ABI::Windows::Devices::Sensors::ILightSensorStatics,
+@@ -647,21 +723,57 @@ TEST_F(PlatformSensorReaderTestWinrt, SensorTimestampConversion) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
++ // Instead of using CreateAndInitializeSensor(), for simplicity and for
++ // better control over |light_sensor|'s lifetime we invert things and create
++ // the object in the main task runner and invoke StartSensor() from another
++ // one. The effect on the Reader is the same -- the calls are still made from
++ // different task runners.
++ auto light_sensor = std::make_unique<CustomLightSensor>();
++ light_sensor->InitForTesting(base::BindLambdaForTesting(
+ [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+ -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ ASSERT_TRUE(light_sensor->Initialize());
++
++ base::RunLoop run_loop;
++ base::ThreadPool::PostTaskAndReply(
++ FROM_HERE, base::BindLambdaForTesting([&]() {
++ ASSERT_TRUE(light_sensor->StartSensor(
++ PlatformSensorConfiguration(kExpectedReportFrequencySet)));
++ }),
++ run_loop.QuitClosure());
++ run_loop.Run();
++
++ // The idea here is to rely on the fact that TriggerFakeSensorReading() is
++ // asynchronous: we call it while it has a valid handler, it schedules a
++ // task, we destroy the handler object synchronoustly and then it Invoke()s
++ // the callback, which should never reach
++ // CustomLightSensor::OnReadingChangedCallback().
++ Microsoft::WRL::ComPtr<ABI::Windows::Devices::Sensors::ILightSensorReading>
++ reading = Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(
++ ABI::Windows::Foundation::DateTime{}, 0.0f);
++ fake_sensor->TriggerFakeSensorReading(reading);
++ light_sensor.reset();
++ task_environment_.RunUntilIdle();
++}
+
+- auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
++// Tests that PlatformSensorReaderWinrtBase converts the timestamp correctly
++TEST_F(PlatformSensorReaderTestWinrt, SensorTimestampConversion) {
++ static constexpr double expectedTimestampDeltaSecs = 19.0;
+
+- double lastReportedTimestamp = 0.0;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke([&](const SensorReading& reading) {
+- lastReportedTimestamp = reading.als.timestamp;
+- EXPECT_EQ(reading.als.value, 0.0f);
+- }));
++ auto fake_sensor_factory = Microsoft::WRL::Make<FakeSensorFactoryWinrt<
++ ABI::Windows::Devices::Sensors::ILightSensorStatics,
++ ABI::Windows::Devices::Sensors::ILightSensor,
++ ABI::Windows::Devices::Sensors::LightSensor,
++ ABI::Windows::Devices::Sensors::ILightSensorReading,
++ ABI::Windows::Devices::Sensors::ILightSensorReadingChangedEventArgs,
++ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
++ auto fake_sensor = fake_sensor_factory->fake_sensor_;
++
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
++ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+@@ -672,18 +784,35 @@ TEST_F(PlatformSensorReaderTestWinrt, SensorTimestampConversion) {
+ Microsoft::WRL::ComPtr<ABI::Windows::Devices::Sensors::ILightSensorReading>
+ reading = Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0.0f);
+- fake_sensor->TriggerFakeSensorReading(reading);
+- EXPECT_EQ(lastReportedTimestamp, 0);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(reading.als.timestamp, 0.0);
++ EXPECT_EQ(reading.als.value, 0.0f);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
++ // Verify the reported time stamp has ticked forward
++ // expectedTimestampDeltaSecs
+ auto second_timestamp =
+ base::Seconds(expectedTimestampDeltaSecs).ToWinrtDateTime();
+ reading =
+ Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(second_timestamp, 0.0f);
+- fake_sensor->TriggerFakeSensorReading(reading);
+-
+- // Verify the reported time stamp has ticked forward
+- // expectedTimestampDeltaSecs
+- EXPECT_EQ(lastReportedTimestamp, expectedTimestampDeltaSecs);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(reading.als.timestamp, expectedTimestampDeltaSecs);
++ EXPECT_EQ(reading.als.value, 0.0f);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+ }
+
+ // Tests that PlatformSensorReaderWinrtBase starts and stops the
+@@ -698,11 +827,9 @@ TEST_F(PlatformSensorReaderTestWinrt, StartStopSensorCallbacks) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+@@ -732,17 +859,19 @@ TEST_F(PlatformSensorReaderTestWinrt, StartWithoutStopSensorCallbacks) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+ EXPECT_TRUE(fake_sensor->IsSensorStarted());
+
++ // *sensor is deleted in |com_sta_task_runner_|, so we need to wait for it to
++ // happen asynchronously.
+ sensor.reset();
++ task_environment_.RunUntilIdle();
++
+ EXPECT_FALSE(fake_sensor->IsSensorStarted());
+ }
+
+@@ -758,11 +887,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedSensorStart) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ fake_sensor->SetPutReportIntervalReturnCode(E_FAIL);
+
+@@ -787,11 +914,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedSensorStop) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+@@ -813,11 +938,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedLightSensorSampleParse) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+
+@@ -832,12 +955,17 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedLightSensorSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0.0f);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+ reading->SetGetTimestampReturnCode(S_OK);
+ reading->SetGetIlluminanceInLuxReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ // Tests that PlatformSensorReaderWinrtLightSensor notifies the client
+@@ -854,19 +982,11 @@ TEST_F(PlatformSensorReaderTestWinrt, SensorClientNotification) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(expected_lux, reading.als.value);
+- }));
+-
+ sensor->SetClient(mock_client.get());
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+@@ -874,8 +994,16 @@ TEST_F(PlatformSensorReaderTestWinrt, SensorClientNotification) {
+
+ auto reading = Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_lux);
+- fake_sensor->TriggerFakeSensorReading(reading);
+-
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(expected_lux, reading.als.value);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+ sensor->StopSensor();
+ }
+
+@@ -896,30 +1024,31 @@ TEST_F(PlatformSensorReaderTestWinrt, CheckAccelerometerReadingConversion) {
+ Microsoft::WRL::Make<FakeAccelerometerSensorWinrt>());
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtAccelerometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IAccelerometerStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtAccelerometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(-expected_x * base::kMeanGravityDouble, reading.accel.x);
+- EXPECT_EQ(-expected_y * base::kMeanGravityDouble, reading.accel.y);
+- EXPECT_EQ(-expected_z * base::kMeanGravityDouble, reading.accel.z);
+- }));
+-
+ sensor->SetClient(mock_client.get());
+
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+-
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
++
+ auto reading = Microsoft::WRL::Make<FakeAccelerometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_x, expected_y, expected_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(-expected_x * base::kMeanGravityDouble, reading.accel.x);
++ EXPECT_EQ(-expected_y * base::kMeanGravityDouble, reading.accel.y);
++ EXPECT_EQ(-expected_z * base::kMeanGravityDouble, reading.accel.z);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
+ sensor->StopSensor();
+ }
+@@ -937,13 +1066,10 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedAccelerometerSampleParse) {
+ Microsoft::WRL::Make<FakeAccelerometerSensorWinrt>());
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtAccelerometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IAccelerometerStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtAccelerometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+@@ -954,6 +1080,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedAccelerometerSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeAccelerometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0, 0, 0);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+@@ -968,6 +1097,8 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedAccelerometerSampleParse) {
+ reading->SetGetYReturnCode(S_OK);
+ reading->SetGetZReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ // Tests if PlatformSensorReaderWinrtGyrometer correctly converts sensor
+@@ -986,27 +1117,30 @@ TEST_F(PlatformSensorReaderTestWinrt, CheckGyrometerReadingConversion) {
+ ABI::Windows::Devices::Sensors::GyrometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtGyrometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IGyrometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtGyrometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(gfx::DegToRad(expected_x), reading.gyro.x);
+- EXPECT_EQ(gfx::DegToRad(expected_y), reading.gyro.y);
+- EXPECT_EQ(gfx::DegToRad(expected_z), reading.gyro.z);
+- }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ auto reading = Microsoft::WRL::Make<FakeGyrometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_x, expected_y, expected_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(gfx::DegToRad(expected_x), reading.gyro.x);
++ EXPECT_EQ(gfx::DegToRad(expected_y), reading.gyro.y);
++ EXPECT_EQ(gfx::DegToRad(expected_z), reading.gyro.z);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
+ sensor->StopSensor();
+ }
+@@ -1023,11 +1157,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedGyrometerSampleParse) {
+ ABI::Windows::Devices::Sensors::GyrometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtGyrometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IGyrometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtGyrometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+@@ -1038,6 +1170,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedGyrometerSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeGyrometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0, 0, 0);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+@@ -1052,6 +1187,8 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedGyrometerSampleParse) {
+ reading->SetGetYReturnCode(S_OK);
+ reading->SetGetZReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ // Tests if PlatformSensorReaderWinrtMagnetometer correctly converts sensor
+@@ -1070,27 +1207,31 @@ TEST_F(PlatformSensorReaderTestWinrt, CheckMagnetometerReadingConversion) {
+ ABI::Windows::Devices::Sensors::MagnetometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtMagnetometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IMagnetometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtMagnetometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(expected_x, reading.magn.x);
+- EXPECT_EQ(expected_y, reading.magn.y);
+- EXPECT_EQ(expected_z, reading.magn.z);
+- }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ auto reading = Microsoft::WRL::Make<FakeMagnetometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_x, expected_y, expected_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(expected_x, reading.magn.x);
++ EXPECT_EQ(expected_y, reading.magn.y);
++ EXPECT_EQ(expected_z, reading.magn.z);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
+ sensor->StopSensor();
+ }
+@@ -1107,11 +1248,10 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedMagnetometerSampleParse) {
+ ABI::Windows::Devices::Sensors::MagnetometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtMagnetometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IMagnetometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtMagnetometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+@@ -1122,6 +1262,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedMagnetometerSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeMagnetometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0, 0, 0);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+@@ -1136,6 +1279,8 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedMagnetometerSampleParse) {
+ reading->SetGetYReturnCode(S_OK);
+ reading->SetGetZReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ // Tests if PlatformSensorReaderWinrtAbsOrientationEulerAngles correctly
+@@ -1154,28 +1299,30 @@ TEST_F(PlatformSensorReaderTestWinrt, CheckInclinometerReadingConversion) {
+ ABI::Windows::Devices::Sensors::InclinometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationEulerAngles>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IInclinometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationEulerAngles>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(expected_x, reading.orientation_euler.x);
+- EXPECT_EQ(expected_y, reading.orientation_euler.y);
+- EXPECT_EQ(expected_z, reading.orientation_euler.z);
+- }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ auto reading = Microsoft::WRL::Make<FakeInclinometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_x, expected_y, expected_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(expected_x, reading.orientation_euler.x);
++ EXPECT_EQ(expected_y, reading.orientation_euler.y);
++ EXPECT_EQ(expected_z, reading.orientation_euler.z);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
+ sensor->StopSensor();
+ }
+@@ -1192,12 +1339,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedInclinometerSampleParse) {
+ ABI::Windows::Devices::Sensors::InclinometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationEulerAngles>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IInclinometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationEulerAngles>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+@@ -1208,6 +1352,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedInclinometerSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeInclinometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0, 0, 0);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+@@ -1222,6 +1369,8 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedInclinometerSampleParse) {
+ reading->SetGetYReturnCode(S_OK);
+ reading->SetGetZReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ // Tests if PlatformSensorReaderWinrtAbsOrientationQuaternion correctly
+@@ -1242,32 +1391,32 @@ TEST_F(PlatformSensorReaderTestWinrt, CheckOrientationSensorReadingConversion) {
+ OrientationSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationQuaternion>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IOrientationSensorStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationQuaternion>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillOnce(testing::Invoke([&](const SensorReading& reading) {
+- EXPECT_EQ(expected_w, reading.orientation_quat.w);
+- EXPECT_EQ(expected_x, reading.orientation_quat.x);
+- EXPECT_EQ(expected_y, reading.orientation_quat.y);
+- EXPECT_EQ(expected_z, reading.orientation_quat.z);
+- }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ auto reading = Microsoft::WRL::Make<FakeOrientationSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, expected_w, expected_x, expected_y,
+ expected_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(testing::Invoke([&](const SensorReading& reading) {
++ EXPECT_EQ(expected_w, reading.orientation_quat.w);
++ EXPECT_EQ(expected_x, reading.orientation_quat.x);
++ EXPECT_EQ(expected_y, reading.orientation_quat.y);
++ EXPECT_EQ(expected_z, reading.orientation_quat.z);
++ run_loop.Quit();
++ }));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ }
+
+ sensor->StopSensor();
+ }
+@@ -1285,14 +1434,9 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedOrientationSampleParse) {
+ OrientationSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationQuaternion>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IOrientationSensorStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationQuaternion>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+ sensor->SetClient(mock_client.get());
+@@ -1303,12 +1447,17 @@ TEST_F(PlatformSensorReaderTestWinrt, FailedOrientationSampleParse) {
+ auto reading = Microsoft::WRL::Make<FakeOrientationSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, 0, 0, 0, 0);
+
++ // We cannot use a base::RunLoop in the checks below because we are expecting
++ // that MockClient::OnReadingUpdate() does _not_ get called.
++
+ reading->SetGetTimestampReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
+
+ reading->SetGetTimestampReturnCode(S_OK);
+ reading->SetGetQuaternionReturnCode(E_FAIL);
+ fake_sensor->TriggerFakeSensorReading(reading);
++
++ task_environment_.RunUntilIdle();
+ }
+
+ TEST_F(PlatformSensorReaderTestWinrt, LightSensorThresholding) {
+@@ -1321,29 +1470,30 @@ TEST_F(PlatformSensorReaderTestWinrt, LightSensorThresholding) {
+ ABI::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtLightSensor>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::ILightSensorStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtLightSensor>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ float last_sent_lux = 1.0f;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto reading = Microsoft::WRL::Make<FakeLightSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, last_sent_lux);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+@@ -1359,10 +1509,6 @@ TEST_F(PlatformSensorReaderTestWinrt, LightSensorThresholding) {
+ PlatformSensorReaderWinrtLightSensor::kLuxPercentThreshold * 0.6f;
+ threshold_helper(true);
+
+- // Expect callback, threshold has been met exactly
+- last_sent_lux += PlatformSensorReaderWinrtLightSensor::kLuxPercentThreshold;
+- threshold_helper(true);
+-
+ sensor->StopSensor();
+ }
+
+@@ -1377,22 +1523,14 @@ TEST_F(PlatformSensorReaderTestWinrt, AccelerometerThresholding) {
+ Microsoft::WRL::Make<FakeAccelerometerSensorWinrt>());
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtAccelerometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IAccelerometerStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtAccelerometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+@@ -1400,40 +1538,40 @@ TEST_F(PlatformSensorReaderTestWinrt, AccelerometerThresholding) {
+ double last_sent_y = 2.0f;
+ double last_sent_z = 3.0f;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto reading = Microsoft::WRL::Make<FakeAccelerometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, last_sent_x, last_sent_y,
+ last_sent_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+ threshold_helper(true);
+
+- // No callback, threshold has not been met
++ // For each axis, increase its value by an amount lower than the threshold so
++ // that no callback is invoked, then meet the threshold and do expect a
++ // callback.
+ last_sent_x += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.5f;
+ threshold_helper(false);
+- last_sent_y += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.5f;
+- threshold_helper(false);
+- last_sent_z += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.5f;
+- threshold_helper(false);
+-
+- // Expect callback, threshold has been met since last reported sample
+ last_sent_x += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_y += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_y += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_z += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_z += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold * 0.6f;
+ threshold_helper(true);
+
+- // Expect callback, threshold has been met exactly
+- last_sent_x += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold;
+- threshold_helper(true);
+- last_sent_y += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold;
+- threshold_helper(true);
+- last_sent_z += PlatformSensorReaderWinrtAccelerometer::kAxisThreshold;
+- threshold_helper(true);
+-
+ sensor->StopSensor();
+ }
+
+@@ -1447,20 +1585,13 @@ TEST_F(PlatformSensorReaderTestWinrt, GyrometerThresholding) {
+ ABI::Windows::Devices::Sensors::GyrometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtGyrometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IGyrometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<PlatformSensorReaderWinrtGyrometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+@@ -1468,40 +1599,40 @@ TEST_F(PlatformSensorReaderTestWinrt, GyrometerThresholding) {
+ double last_sent_y = 4.0f;
+ double last_sent_z = 5.0f;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto reading = Microsoft::WRL::Make<FakeGyrometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, last_sent_x, last_sent_y,
+ last_sent_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+ threshold_helper(true);
+
+- // No callback, threshold has not been met
++ // For each axis, increase its value by an amount lower than the threshold so
++ // that no callback is invoked, then meet the threshold and do expect a
++ // callback.
+ last_sent_x += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.5f;
+ threshold_helper(false);
+- last_sent_y += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.5f;
+- threshold_helper(false);
+- last_sent_z += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.5f;
+- threshold_helper(false);
+-
+- // Expect callback, threshold has been met since last reported sample
+ last_sent_x += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_y += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_y += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_z += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_z += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold * 0.6f;
+ threshold_helper(true);
+
+- // Expect callback, threshold has been met exactly
+- last_sent_x += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold;
+- threshold_helper(true);
+- last_sent_y += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold;
+- threshold_helper(true);
+- last_sent_z += PlatformSensorReaderWinrtGyrometer::kDegreeThreshold;
+- threshold_helper(true);
+-
+ sensor->StopSensor();
+ }
+
+@@ -1515,20 +1646,14 @@ TEST_F(PlatformSensorReaderTestWinrt, MagnetometerThresholding) {
+ ABI::Windows::Devices::Sensors::MagnetometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor = std::make_unique<PlatformSensorReaderWinrtMagnetometer>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IMagnetometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor =
++ CreateAndInitializeSensor<PlatformSensorReaderWinrtMagnetometer>(
++ fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+@@ -1536,46 +1661,46 @@ TEST_F(PlatformSensorReaderTestWinrt, MagnetometerThresholding) {
+ double last_sent_y = 4.0f;
+ double last_sent_z = 5.0f;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto reading = Microsoft::WRL::Make<FakeMagnetometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, last_sent_x, last_sent_y,
+ last_sent_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+ threshold_helper(true);
+
+- // No callback, threshold has not been met
++ // For each axis, increase its value by an amount lower than the threshold so
++ // that no callback is invoked, then meet the threshold and do expect a
++ // callback.
+ last_sent_x +=
+ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.5f;
+ threshold_helper(false);
+- last_sent_y +=
+- PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.5f;
+- threshold_helper(false);
+- last_sent_z +=
+- PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.5f;
+- threshold_helper(false);
+-
+- // Expect callback, threshold has been met since last reported sample
+ last_sent_x +=
+ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_y +=
++ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_y +=
+ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.6f;
+ threshold_helper(true);
++ last_sent_z +=
++ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.5f;
++ threshold_helper(false);
+ last_sent_z +=
+ PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold * 0.6f;
+ threshold_helper(true);
+
+- // Expect callback, threshold has been met exactly
+- last_sent_x += PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold;
+- threshold_helper(true);
+- last_sent_y += PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold;
+- threshold_helper(true);
+- last_sent_z += PlatformSensorReaderWinrtMagnetometer::kMicroteslaThreshold;
+- threshold_helper(true);
+-
+ sensor->StopSensor();
+ }
+
+@@ -1589,21 +1714,13 @@ TEST_F(PlatformSensorReaderTestWinrt, AbsOrientationEulerThresholding) {
+ ABI::Windows::Devices::Sensors::InclinometerReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationEulerAngles>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IInclinometerStatics** sensor_factory)
+- -> HRESULT { return fake_sensor_factory.CopyTo(sensor_factory); }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationEulerAngles>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+@@ -1611,53 +1728,50 @@ TEST_F(PlatformSensorReaderTestWinrt, AbsOrientationEulerThresholding) {
+ double last_sent_y = 4.0f;
+ double last_sent_z = 5.0f;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto reading = Microsoft::WRL::Make<FakeInclinometerReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, last_sent_x, last_sent_y,
+ last_sent_z);
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+ threshold_helper(true);
+
+- // No callback, threshold has not been met
++ // For each axis, increase its value by an amount lower than the threshold so
++ // that no callback is invoked, then meet the threshold and do expect a
++ // callback.
+ last_sent_x +=
+ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+ 0.5f;
+ threshold_helper(false);
+- last_sent_y +=
+- PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+- 0.5f;
+- threshold_helper(false);
+- last_sent_z +=
+- PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+- 0.5f;
+- threshold_helper(false);
+-
+- // Expect callback, threshold has been met since last reported sample
+ last_sent_x +=
+ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+ 0.6f;
+ threshold_helper(true);
++ last_sent_y +=
++ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
++ 0.5f;
++ threshold_helper(false);
+ last_sent_y +=
+ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+ 0.6f;
+ threshold_helper(true);
+ last_sent_z +=
+ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
+- 0.6f;
+- threshold_helper(true);
+-
+- // Expect callback, threshold has been met exactly
+- last_sent_x +=
+- PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold;
+- threshold_helper(true);
+- last_sent_y +=
+- PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold;
+- threshold_helper(true);
++ 0.5f;
++ threshold_helper(false);
+ last_sent_z +=
+- PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold;
++ PlatformSensorReaderWinrtAbsOrientationEulerAngles::kDegreeThreshold *
++ 0.6f;
+ threshold_helper(true);
+
+ sensor->StopSensor();
+@@ -1674,34 +1788,32 @@ TEST_F(PlatformSensorReaderTestWinrt, AbsOrientationQuatThresholding) {
+ OrientationSensorReadingChangedEventArgs>>();
+ auto fake_sensor = fake_sensor_factory->fake_sensor_;
+
+- auto sensor =
+- std::make_unique<PlatformSensorReaderWinrtAbsOrientationQuaternion>();
+- sensor->InitForTesting(base::BindLambdaForTesting(
+- [&](ABI::Windows::Devices::Sensors::IOrientationSensorStatics**
+- sensor_factory) -> HRESULT {
+- return fake_sensor_factory.CopyTo(sensor_factory);
+- }));
+- EXPECT_TRUE(sensor->Initialize());
++ auto sensor = CreateAndInitializeSensor<
++ PlatformSensorReaderWinrtAbsOrientationQuaternion>(fake_sensor_factory);
++ ASSERT_TRUE(sensor);
+
+ auto mock_client = std::make_unique<testing::NiceMock<MockClient>>();
+-
+- bool expected_callback = false;
+- EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
+- .WillRepeatedly(testing::Invoke(
+- [&](const SensorReading&) { EXPECT_TRUE(expected_callback); }));
+-
+ sensor->SetClient(mock_client.get());
++
+ PlatformSensorConfiguration sensor_config(kExpectedReportFrequencySet);
+ EXPECT_TRUE(sensor->StartSensor(sensor_config));
+
+ double last_sent_rad = 1.0;
+ auto threshold_helper = [&](bool expect_callback) {
+- expected_callback = expect_callback;
+ auto quat = gfx::Quaternion(gfx::Vector3dF(1.0, 0, 0), last_sent_rad);
+ auto reading = Microsoft::WRL::Make<FakeOrientationSensorReadingWinrt>(
+ ABI::Windows::Foundation::DateTime{}, quat.w(), quat.x(), quat.y(),
+ quat.z());
+- fake_sensor->TriggerFakeSensorReading(reading);
++ if (expect_callback) {
++ base::RunLoop run_loop;
++ EXPECT_CALL(*mock_client, OnReadingUpdated(::testing::_))
++ .WillOnce(base::test::RunClosure(run_loop.QuitClosure()));
++ fake_sensor->TriggerFakeSensorReading(reading);
++ run_loop.Run();
++ } else {
++ fake_sensor->TriggerFakeSensorReading(reading);
++ task_environment_.RunUntilIdle();
++ }
+ };
+
+ // Expect callback, first sample
+@@ -1719,11 +1831,6 @@ TEST_F(PlatformSensorReaderTestWinrt, AbsOrientationQuatThresholding) {
+ 0.6f;
+ threshold_helper(true);
+
+- // Expect callback, threshold has been met exactly
+- last_sent_rad +=
+- PlatformSensorReaderWinrtAbsOrientationQuaternion::kRadianThreshold;
+- threshold_helper(true);
+-
+ sensor->StopSensor();
+ }
+
+diff --git a/chromium/services/device/generic_sensor/platform_sensor_win.cc b/chromium/services/device/generic_sensor/platform_sensor_win.cc
+index 3ee3c1fa86a8..e9a78687250f 100644
+--- src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_win.cc
++++ src/3rdparty/chromium/services/device/generic_sensor/platform_sensor_win.cc
+@@ -43,6 +43,8 @@ double PlatformSensorWin::GetMaximumSupportedFrequency() {
+ }
+
+ void PlatformSensorWin::OnReadingUpdated(const SensorReading& reading) {
++ // This function is normally called from |sensor_thread_runner_|, except on
++ // PlatformSensorAndProviderTestWin.
+ UpdateSharedBufferAndNotifyClients(reading);
+ }
+
+@@ -75,6 +77,7 @@ bool PlatformSensorWin::CheckSensorConfiguration(
+ }
+
+ PlatformSensorWin::~PlatformSensorWin() {
++ DCHECK(main_task_runner()->RunsTasksInCurrentSequence());
+ sensor_reader_->SetClient(nullptr);
+ sensor_thread_runner_->DeleteSoon(FROM_HERE, sensor_reader_.get());
+ }
+From dbafaa10eb690d68e0531313663f47c422dc8771 Mon Sep 17 00:00:00 2001
+From: kylechar <kylechar@chromium.org>
+Date: Tue, 9 Apr 2024 17:14:26 +0000
+Subject: [PATCH] [Backport] CVE-2024-3157: Out of bounds write in Compositing
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5420432:
+Validate buffer length
+
+The BitmapInSharedMemory mojo traits were only validating row length and
+not total buffer length.
+
+(cherry picked from commit 1a19ff70bd54847d818566bd7a1e7c384c419746)
+
+(cherry picked from commit f15315f1cb7897e208947a40d538aac693283d7f)
+
+Bug: 331237485
+Change-Id: Ia2318899c44e9e7ac72fc7183954e6ce2c702179
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5396796
+Commit-Queue: Kyle Charbonneau <kylechar@chromium.org>
+Cr-Original-Original-Commit-Position: refs/heads/main@{#1278417}
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5420432
+Commit-Queue: danakj <danakj@chromium.org>
+Cr-Original-Commit-Position: refs/branch-heads/6312@{#786}
+Cr-Original-Branched-From: 6711dcdae48edaf98cbc6964f90fac85b7d9986e-refs/heads/main@{#1262506}
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5433678
+Reviewed-by: danakj <danakj@chromium.org>
+Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
+Cr-Commit-Position: refs/branch-heads/6099@{#2003}
+Cr-Branched-From: e6ee4500f7d6549a9ac1354f8d056da49ef406be-refs/heads/main@{#1217362}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/554656
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../cpp/compositing/bitmap_in_shared_memory_mojom_traits.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/chromium/services/viz/public/cpp/compositing/bitmap_in_shared_memory_mojom_traits.cc b/chromium/services/viz/public/cpp/compositing/bitmap_in_shared_memory_mojom_traits.cc
+index a6e5f45d9e72..519d554055e5 100644
+--- src/3rdparty/chromium/services/viz/public/cpp/compositing/bitmap_in_shared_memory_mojom_traits.cc
++++ src/3rdparty/chromium/services/viz/public/cpp/compositing/bitmap_in_shared_memory_mojom_traits.cc
+@@ -76,6 +76,10 @@ bool StructTraits<viz::mojom::BitmapInSharedMemoryDataView, SkBitmap>::Read(
+ if (!mapping_ptr->IsValid())
+ return false;
+
++ if (mapping_ptr->size() < image_info.computeByteSize(data.row_bytes())) {
++ return false;
++ }
++
+ if (!sk_bitmap->installPixels(image_info, mapping_ptr->memory(),
+ data.row_bytes(), &DeleteSharedMemoryMapping,
+ mapping_ptr.get())) {
+From ac780f41ba9b3eb8329ca8e09b8857a070aed8c1 Mon Sep 17 00:00:00 2001
+From: Shahbaz Youssefi <syoussefi@chromium.org>
+Date: Mon, 25 Mar 2024 14:46:56 -0400
+Subject: [PATCH] [Backport] CVE-2024-3516: Heap buffer overflow in ANGLE
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/angle/angle/+/5391986:
+Translator: Disallow samplers in structs in interface blocks
+
+As disallowed by the spec:
+
+> Types and declarators are the same as for other uniform variable
+> declarations outside blocks, with these exceptions:
+>
+> * opaque types are not allowed
+
+Bug: chromium:328859176
+Change-Id: Ib94977860102329e520e635c3757827c93ca2163
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5391986
+Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
+Reviewed-by: Geoff Lang <geofflang@chromium.org>
+Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/554657
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../src/compiler/translator/ParseContext.cpp | 33 ++++++++++++-------
+ 1 file changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/chromium/third_party/angle/src/compiler/translator/ParseContext.cpp b/chromium/third_party/angle/src/compiler/translator/ParseContext.cpp
+index e174725beb7..cb9eb3a4a56 100644
+--- src/3rdparty/chromium/third_party/angle/src/compiler/translator/ParseContext.cpp
++++ src/3rdparty/chromium/third_party/angle/src/compiler/translator/ParseContext.cpp
+@@ -34,27 +34,39 @@ namespace
+
+ const int kWebGLMaxStructNesting = 4;
+
+-bool ContainsSampler(const TStructure *structType);
++struct IsSamplerFunc
++{
++ bool operator()(TBasicType type) { return IsSampler(type); }
++};
++struct IsOpaqueFunc
++{
++ bool operator()(TBasicType type) { return IsOpaqueType(type); }
++};
++
++template <typename OpaqueFunc>
++bool ContainsOpaque(const TStructure *structType);
+
+-bool ContainsSampler(const TType &type)
++template <typename OpaqueFunc>
++bool ContainsOpaque(const TType &type)
+ {
+- if (IsSampler(type.getBasicType()))
++ if (OpaqueFunc{}(type.getBasicType()))
+ {
+ return true;
+ }
+ if (type.getBasicType() == EbtStruct)
+ {
+- return ContainsSampler(type.getStruct());
++ return ContainsOpaque<OpaqueFunc>(type.getStruct());
+ }
+
+ return false;
+ }
+
+-bool ContainsSampler(const TStructure *structType)
++template <typename OpaqueFunc>
++bool ContainsOpaque(const TStructure *structType)
+ {
+ for (const auto &field : structType->fields())
+ {
+- if (ContainsSampler(*field->type()))
++ if (ContainsOpaque<OpaqueFunc>(*field->type()))
+ return true;
+ }
+ return false;
+@@ -1057,7 +1069,7 @@ bool TParseContext::checkIsNotOpaqueType(const TSourceLoc &line,
+ {
+ if (pType.type == EbtStruct)
+ {
+- if (ContainsSampler(pType.userDef))
++ if (ContainsOpaque<IsSamplerFunc>(pType.userDef))
+ {
+ std::stringstream reasonStream = sh::InitializeStream<std::stringstream>();
+ reasonStream << reason << " (structure contains a sampler)";
+@@ -4923,12 +4935,9 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
+ {
+ TField *field = (*fieldList)[memberIndex];
+ TType *fieldType = field->type();
+- if (IsOpaqueType(fieldType->getBasicType()))
++ if (ContainsOpaque<IsOpaqueFunc>(*fieldType))
+ {
+- std::string reason("unsupported type - ");
+- reason += fieldType->getBasicString();
+- reason += " types are not allowed in interface blocks";
+- error(field->line(), reason.c_str(), fieldType->getBasicString());
++ error(field->line(), "Opaque types are not allowed in interface blocks", blockName);
+ }
+
+ const TQualifier qualifier = fieldType->getQualifier();
+From a766045f65f934df3b5f1aa63bc86fbb3e003a09 Mon Sep 17 00:00:00 2001
+From: Anu Aliyas <anu.aliyas@qt.io>
+Date: Wed, 17 Apr 2024 12:35:58 +0200
+Subject: [PATCH] Add missing dependencies to avoid compilation errors
+
+Missing dependencies are added to resolve the dependencies issues
+encountered when compiling with Ninja 1.12.0
+
+Fixes:QTBUG-124375
+Change-Id: I0f23ef6c60a6f01ee11bffd46121fd7f98dc022c
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/555586
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/content/public/browser/BUILD.gn | 1 +
+ chromium/extensions/browser/api/declarative_net_request/BUILD.gn | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/chromium/content/public/browser/BUILD.gn b/chromium/content/public/browser/BUILD.gn
+index d38fa8d303a..c5813115e88 100644
+--- src/3rdparty/chromium/content/public/browser/BUILD.gn
++++ src/3rdparty/chromium/content/public/browser/BUILD.gn
+@@ -539,6 +539,7 @@ jumbo_source_set("browser_sources") {
+ "//cc",
+ "//components/services/storage/public/cpp",
+ "//components/viz/host",
++ "//components/spellcheck:buildflags",
+ "//content/browser", # Must not be public_deps!
+ "//device/fido",
+ "//gpu",
+diff --git a/chromium/extensions/browser/api/declarative_net_request/BUILD.gn b/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
+index 1fc492f5a0c..13a266e22f1 100644
+--- src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
++++ src/3rdparty/chromium/extensions/browser/api/declarative_net_request/BUILD.gn
+@@ -23,6 +23,7 @@ source_set("declarative_net_request") {
+ "//extensions/common",
+ "//extensions/common/api",
+ "//services/preferences/public/cpp",
++ "//components/web_cache/browser",
+ ]
+
+ public_deps = [ "//extensions/browser:browser_sources" ]
+From d26ab136f38d6bf3311eb04136820b85bc2fc96e Mon Sep 17 00:00:00 2001
+From: Dan Sanders <sandersd@chromium.org>
+Date: Mon, 26 Feb 2024 20:53:06 +0000
+Subject: [PATCH] [Backport] Security bug 326521449
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5323230:
+Validate recovery_frame_cnt_ at time of use.
+
+Bug: b/326521449
+Change-Id: I778a16553bb3319dddfef6121895a89e0f1938df
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5323230
+Commit-Queue: Dan Sanders <sandersd@chromium.org>
+Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
+Auto-Submit: Dan Sanders <sandersd@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1265425}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556725
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/media/gpu/h264_decoder.cc | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/chromium/media/gpu/h264_decoder.cc b/chromium/media/gpu/h264_decoder.cc
+index 2bfdd28d83a..ef9de709045 100644
+--- src/3rdparty/chromium/media/gpu/h264_decoder.cc
++++ src/3rdparty/chromium/media/gpu/h264_decoder.cc
+@@ -769,13 +769,6 @@ H264Decoder::H264Accelerator::Status H264Decoder::StartNewFrame(
+ return H264Accelerator::Status::kFail;
+ }
+
+- if (recovery_frame_cnt_ && *recovery_frame_cnt_ >= max_frame_num_) {
+- DVLOG(1) << "Invalid recovery_frame_cnt=" << *recovery_frame_cnt_
+- << " (it must be less or equal to max_frame_num-1=" << max_frame_num_ - 1
+- << ")";
+- return H264Accelerator::Status::kFail;
+- }
+-
+ if (!InitCurrPicture(slice_hdr))
+ return H264Accelerator::Status::kFail;
+
+@@ -999,11 +992,19 @@ bool H264Decoder::FinishPicture(scoped_refptr<H264Picture> pic) {
+ DVLOG(4) << "Finishing picture frame_num: " << pic->frame_num
+ << ", entries in DPB: " << dpb_.size();
+ if (recovery_frame_cnt_) {
+- // This is the first picture after the recovery point SEI message. Computes
+- // the frame_num of the frame that should be output from (Spec D.2.8).
++ // This is the first picture after the recovery point SEI message. Validate
++ // `recovery_frame_cnt_` now that we are certain to have max_frame_num_.
++ if (*recovery_frame_cnt_ >= max_frame_num_) {
++ DVLOG(1) << "Invalid recovery_frame_cnt=" << *recovery_frame_cnt_
++ << " (must be less than or equal to max_frame_num-1="
++ << (max_frame_num_ - 1) << ")";
++ return false;
++ }
++
++ // Compute the frame_num of the first frame that should be output (D.2.8).
+ recovery_frame_num_ =
+ (*recovery_frame_cnt_ + pic->frame_num) % max_frame_num_;
+- DVLOG(3) << "recovery_frame_num_" << *recovery_frame_num_;
++ DVLOG(3) << "recovery_frame_num_=" << *recovery_frame_num_;
+ recovery_frame_cnt_.reset();
+ }
+
+From 08e69b86a697e265b3e064b06a05fc5e7a4e079b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= <drott@chromium.org>
+Date: Thu, 14 Mar 2024 12:48:18 +0000
+Subject: [PATCH] [Backport] CVE-2024-3839: Out of bounds read in Fonts
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5361874:
+Disable STAT sanitization/checks through OTS
+
+Due to issues in upstream, OTS STAT sanitization does not provide an
+added security benefit. Pass-through the STAT table.
+
+Bug: chromium:41491859
+Change-Id: I19dcd87376af553afe242452396b951a74691f3c
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5361874
+Commit-Queue: Dominik Röttsches <drott@chromium.org>
+Reviewed-by: Koji Ishii <kojii@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1272710}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556726
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../blink/renderer/platform/fonts/web_font_decoder.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/chromium/third_party/blink/renderer/platform/fonts/web_font_decoder.cc b/chromium/third_party/blink/renderer/platform/fonts/web_font_decoder.cc
+index 0953dc528dd..1ac9b8c9623 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/web_font_decoder.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/web_font_decoder.cc
+@@ -104,6 +104,7 @@ ots::TableAction BlinkOTSContext::GetTableAction(uint32_t tag) {
+ const uint32_t kCpalTag = OTS_TAG('C', 'P', 'A', 'L');
+ const uint32_t kCff2Tag = OTS_TAG('C', 'F', 'F', '2');
+ const uint32_t kSbixTag = OTS_TAG('s', 'b', 'i', 'x');
++ const uint32_t kStatTag = OTS_TAG('S', 'T', 'A', 'T');
+ #if HB_VERSION_ATLEAST(1, 0, 0)
+ const uint32_t kBaseTag = OTS_TAG('B', 'A', 'S', 'E');
+ const uint32_t kGdefTag = OTS_TAG('G', 'D', 'E', 'F');
+@@ -131,6 +132,7 @@ ots::TableAction BlinkOTSContext::GetTableAction(uint32_t tag) {
+ case kCpalTag:
+ case kCff2Tag:
+ case kSbixTag:
++ case kStatTag:
+ #if HB_VERSION_ATLEAST(1, 0, 0)
+ // Let HarfBuzz handle how to deal with broken tables.
+ case kAvarTag:
+From 8755f5a5aafae5a0e74839042cd2f65dc86061e8 Mon Sep 17 00:00:00 2001
+From: Liza Burakova <liza@chromium.org>
+Date: Wed, 21 Feb 2024 19:02:15 +0000
+Subject: [PATCH] [Backport] CVE-2024-3837: Use after free in QUIC
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5268864:
+Check if session is going away in Handle::RequestStream.
+
+This CL adds an extra check in the QuicChromiumClientSession
+handle's RequestSession to make sure the session is not
+marked as going away before creating a new StreamRequest.
+
+Bug: 41491379
+Change-Id: I687dfc23131871cdba345d3cf78dbbbd2e619ce9
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5268864
+Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
+Commit-Queue: Liza Burakova <liza@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1263483}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556727
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/net/quic/quic_chromium_client_session.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/net/quic/quic_chromium_client_session.cc b/chromium/net/quic/quic_chromium_client_session.cc
+index d039d1ccb94..400006a170f 100644
+--- src/3rdparty/chromium/net/quic/quic_chromium_client_session.cc
++++ src/3rdparty/chromium/net/quic/quic_chromium_client_session.cc
+@@ -454,7 +454,8 @@ int QuicChromiumClientSession::Handle::RequestStream(
+ const NetworkTrafficAnnotationTag& traffic_annotation) {
+ DCHECK(!stream_request_);
+
+- if (!session_)
++ // TODO(crbug.com/41491379): Add a regression test.
++ if (!session_ || session_->going_away_)
+ return ERR_CONNECTION_CLOSED;
+
+ requires_confirmation |= session_->gquic_zero_rtt_disabled();
+From 271e21366ac1826df43119eb7b746019947be1f7 Mon Sep 17 00:00:00 2001
+From: Brendon Tiszka <tiszka@chromium.org>
+Date: Sun, 3 Mar 2024 21:30:59 +0000
+Subject: [PATCH] [Backport] Security bug 327698060
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5337387:
+PaintOpReader: Harden PaintImage deserialization
+
+Add missing validity check after `Read`
+
+Bug: 327698060
+Change-Id: I0aa5120296009998af3235a01304a1f597a82a33
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5337387
+Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
+Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1267636}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556748
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/cc/paint/paint_op_reader.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/chromium/cc/paint/paint_op_reader.cc b/chromium/cc/paint/paint_op_reader.cc
+index 6d920c33562..7d1eb51441f 100644
+--- src/3rdparty/chromium/cc/paint/paint_op_reader.cc
++++ src/3rdparty/chromium/cc/paint/paint_op_reader.cc
+@@ -351,6 +351,9 @@ void PaintOpReader::Read(PaintImage* image) {
+ case PaintOp::SerializedImageType::kImageData: {
+ SkColorType color_type;
+ Read(&color_type);
++ if (!valid_) {
++ return;
++ }
+ // Color types requiring alignment larger than kDefaultAlignment is not
+ // supported.
+ if (static_cast<size_t>(SkColorTypeBytesPerPixel(color_type)) >
+From 502983e6adc3db0d12ee8e9ff35d53df0e149870 Mon Sep 17 00:00:00 2001
+From: Pete Williamson <petewil@chromium.org>
+Date: Tue, 27 Feb 2024 00:19:05 +0000
+Subject: [PATCH] [Backport] Security bug 40940917
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5293726:
+Fix misalligned address in hunspell::NodeReader::ReaderForLookupAt
+
+With the Hunspell spell checking library, we are using a custom wrapper
+to read the dictionaries from files. In that custom wrapper, we were
+reading by using reinterpret_cast to interpret an offset into a pointer,
+and then reading the bytes at that pointer for the child_offset.
+
+The spell checking code appears to have been working properly in the
+field. However, the current code caused fuzzing test failures, and
+those failures are blocking other tests, so we need to fix this to
+unblock other tests.
+
+It turns out that we were casting a value to a pointer that did not
+have proper alignment (for instance, a pointer to a 32 bit int needs
+to be 4 byte allinged, but this pointer was not). While it has often
+worked in older compilers, it turns out this is undefined behavior.
+
+Instead of relying on undefined behavior, the right thing to do is to
+use std::memcpy to copy the bytes from the misalligned address into
+their final destination (either an int32 or an int16 in this case).
+
+Bug: 40940917
+Change-Id: I8aeba9ee8000b51e98863813235d8dceb1c41ceb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5293726
+Commit-Queue: Peter Williamson <petewil@chromium.org>
+Reviewed-by: Trevor Perrier <perrier@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1265552}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556750
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../hunspell/google/bdict_reader.cc | 26 ++++++++++++++-----
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/chromium/third_party/hunspell/google/bdict_reader.cc b/chromium/third_party/hunspell/google/bdict_reader.cc
+index d51112ea48e7..56abd15dd121 100644
+--- src/3rdparty/chromium/third_party/hunspell/google/bdict_reader.cc
++++ src/3rdparty/chromium/third_party/hunspell/google/bdict_reader.cc
+@@ -5,6 +5,7 @@
+ #include "third_party/hunspell/google/bdict_reader.h"
+
+ #include <stdint.h>
++#include <cstdint>
+
+ #include "base/check.h"
+
+@@ -413,19 +414,32 @@ NodeReader::FindResult NodeReader::ReaderForLookupAt(
+ if (index >= static_cast<size_t>(lookup_num_chars()) || !is_valid_)
+ return FIND_DONE;
+
+- size_t child_offset;
++ size_t child_offset = 0;
+ if (is_lookup_32()) {
+ // Table contains 32-bit absolute offsets.
+- child_offset =
+- reinterpret_cast<const unsigned int*>(table_begin)[index];
++
++ // We need to use memcpy here instead of just casting the offset into a
++ // pointer to an int because the cast can cause undefined behavior if
++ // the pointer is not alligned, and in this case it is not.
++ int byte_offset = index * sizeof(uint32_t);
++ std::memcpy(&child_offset,
++ reinterpret_cast<const void*>(table_begin + byte_offset),
++ sizeof(uint32_t));
+ if (!child_offset)
+ return FIND_NOTHING; // This entry in the table is empty.
+ } else {
+ // Table contains 16-bit offsets relative to the current node.
+- child_offset =
+- reinterpret_cast<const unsigned short*>(table_begin)[index];
+- if (!child_offset)
++
++ // We need to use memcpy here instead of just casting the offset into a
++ // pointer to an int because the cast can cause undefined behavior if
++ // the pointer is not alligned, and in this case it is not.
++ int byte_offset = index * sizeof(uint16_t);
++ std::memcpy(&child_offset,
++ reinterpret_cast<const void*>(table_begin + byte_offset),
++ sizeof(uint16_t));
++ if (!child_offset) {
+ return FIND_NOTHING; // This entry in the table is empty.
++ }
+ child_offset += node_offset_;
+ }
+
+From 6086d28d3a0dbfac1808ba5767ca1eea4a5acaf9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marja=20H=C3=B6ltt=C3=A4?= <marja@google.com>
+Date: Tue, 26 Mar 2024 13:53:21 +0000
+Subject: [PATCH] [Backport] CVE-2024-3914: Use after free in V8 (1/2)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Manual backport of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5387887:
+[M120-LTS] Fix DOMArrayBuffer::IsDetached()
+
+M120 merge issues:
+ third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc:
+ - Conflicting types for variable worlds
+ - Conflicting AllWorldsInIsolate() call (M120 doesn't use the last argument)
+
+A DOMArrayBuffer was maintaining its own "is_detached_" state, and
+would consider itself non-detached even if the corresponding
+JSArrayBuffer (or, all of them, in case there are several) was
+detached.
+
+Piping in the v8::Isolate would be a too big change for this fix, so this is using v8::Isolate::GetCurrent() for now.
+
+Bug: 330759272
+Change-Id: I1e98ebd2066d2e59658db12f1bb419b6ebc1d706
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5387887
+Commit-Queue: Marja Hölttä <marja@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1278283}
+(cherry picked from commit 04e7550d7aa3bf4ac4e49d7074972d357de139e6)
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556751
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../core/typed_arrays/dom_array_buffer.cc | 50 +++++++++++++++++++
+ .../core/typed_arrays/dom_array_buffer.h | 13 +++++
+ .../core/typed_arrays/dom_array_buffer_base.h | 2 +-
+ 3 files changed, 64 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc b/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
+index c195e28b442..197a4aebf5b 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
+@@ -48,6 +48,15 @@ static void AccumulateArrayBuffersForAllWorlds(
+ v8::Isolate* isolate,
+ DOMArrayBuffer* object,
+ Vector<v8::Local<v8::ArrayBuffer>, 4>& buffers) {
++ if (!object->has_non_main_world_wrappers() && IsMainThread()) {
++ const DOMWrapperWorld& world = DOMWrapperWorld::MainWorld();
++ v8::Local<v8::Object> wrapper = world.DomDataStore().Get(object, isolate);
++ if (!wrapper.IsEmpty()) {
++ buffers.push_back(v8::Local<v8::ArrayBuffer>::Cast(wrapper));
++ }
++ return;
++ }
++
+ Vector<scoped_refptr<DOMWrapperWorld>> worlds;
+ DOMWrapperWorld::AllWorldsInCurrentThread(worlds);
+ for (const auto& world : worlds) {
+@@ -256,6 +265,47 @@ v8::MaybeLocal<v8::Value> DOMArrayBuffer::Wrap(ScriptState* script_state) {
+ wrapper);
+ }
+
++bool DOMArrayBuffer::IsDetached() const {
++ if (contents_.BackingStore() == nullptr) {
++ return is_detached_;
++ }
++ if (is_detached_) {
++ return true;
++ }
++
++ v8::Isolate* isolate = v8::Isolate::GetCurrent();
++ v8::HandleScope handle_scope(isolate);
++ Vector<v8::Local<v8::ArrayBuffer>, 4> buffer_handles;
++ AccumulateArrayBuffersForAllWorlds(isolate, const_cast<DOMArrayBuffer*>(this), buffer_handles);
++
++ // There may be several v8::ArrayBuffers corresponding to the DOMArrayBuffer,
++ // but at most one of them may be non-detached.
++ int nondetached_count = 0;
++ int detached_count = 0;
++
++ for (const auto& buffer_handle : buffer_handles) {
++ if (buffer_handle->WasDetached()) {
++ ++detached_count;
++ } else {
++ ++nondetached_count;
++ }
++ }
++ CHECK_LE(nondetached_count, 1);
++
++ return nondetached_count == 0 && detached_count > 0;
++}
++
++v8::Local<v8::Object> DOMArrayBuffer::AssociateWithWrapper(
++ v8::Isolate* isolate,
++ const WrapperTypeInfo* wrapper_type_info,
++ v8::Local<v8::Object> wrapper) {
++ if (!DOMWrapperWorld::Current(isolate).IsMainWorld()) {
++ has_non_main_world_wrappers_ = true;
++ }
++ return ScriptWrappable::AssociateWithWrapper(isolate, wrapper_type_info,
++ wrapper);
++}
++
+ DOMArrayBuffer* DOMArrayBuffer::Slice(size_t begin, size_t end) const {
+ begin = std::min(begin, ByteLength());
+ end = std::min(end, ByteLength());
+diff --git a/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h b/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h
+index 87881af8787..84322ff31fc 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h
++++ src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h
+@@ -87,6 +87,17 @@ class CORE_EXPORT DOMArrayBuffer : public DOMArrayBufferBase {
+
+ void Trace(Visitor*) const override;
+
++ bool IsDetached() const override;
++
++ v8::Local<v8::Object> AssociateWithWrapper(
++ v8::Isolate* isolate,
++ const WrapperTypeInfo* wrapper_type_info,
++ v8::Local<v8::Object> wrapper) override;
++
++ bool has_non_main_world_wrappers() const {
++ return has_non_main_world_wrappers_;
++ }
++
+ private:
+ v8::Maybe<bool> TransferDetachable(v8::Isolate*,
+ v8::Local<v8::Value> detach_key,
+@@ -97,6 +108,8 @@ class CORE_EXPORT DOMArrayBuffer : public DOMArrayBufferBase {
+ // support only v8::String as the detach key type. It's also convenient that
+ // we can write `array_buffer->SetDetachKey(isolate, "my key")`.
+ TraceWrapperV8Reference<v8::String> detach_key_;
++
++ bool has_non_main_world_wrappers_ = false;
+ };
+
+ } // namespace blink
+diff --git a/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer_base.h b/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer_base.h
+index 95511438595..c83dc489c97 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer_base.h
++++ src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer_base.h
+@@ -27,7 +27,7 @@ class CORE_EXPORT DOMArrayBufferBase : public ScriptWrappable {
+
+ size_t ByteLength() const { return contents_.DataLength(); }
+
+- bool IsDetached() const { return is_detached_; }
++ virtual bool IsDetached() const { return is_detached_; }
+
+ void Detach() { is_detached_ = true; }
+
+From 92d5d3c528d5c4b22aa295b6b26303f174c0991b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marja=20H=C3=B6ltt=C3=A4?= <marja@google.com>
+Date: Thu, 4 Apr 2024 09:43:42 +0200
+Subject: [PATCH] [Backport] CVE-2024-3914: Use after free in V8 (2/2)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5419329:
+[M120-LTS] Comment out a CHECK that a DOMAB has maximally one non-detached JSAB
+
+Based on crash reports, this assumption is not true and has to be
+investigated.
+
+Removing this newly introduced CHECK to be able to merge fixes in this
+area - we still violate this invariant but the fixes are a step into
+the right direction.
+
+Fix in question:
+https://chromium-review.googlesource.com/5387887
+which also introduced this CHECK.
+
+Bug: 330759272
+Change-Id: I4ba52fee7ed8f45e352efd347e87df03d896ac3d
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5419329
+Commit-Queue: Marja Hölttä <marja@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1282379}
+(cherry picked from commit 1e1e1bccfb84713fc325025eae43e746abcc115d)
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556752
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../blink/renderer/core/typed_arrays/dom_array_buffer.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc b/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
+index 197a4aebf5b..796f45d7114 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/core/typed_arrays/dom_array_buffer.cc
+@@ -290,7 +290,11 @@ bool DOMArrayBuffer::IsDetached() const {
+ ++nondetached_count;
+ }
+ }
+- CHECK_LE(nondetached_count, 1);
++ // This CHECK fires even though it should not. TODO(330759272): Investigate
++ // under which conditions we end up with multiple non-detached JSABs for the
++ // same DOMAB and potentially restore this check.
++
++ // CHECK_LE(nondetached_count, 1);
+
+ return nondetached_count == 0 && detached_count > 0;
+ }
+From 7ea70f94879b466b8319a52b786ae2ce3e47b737 Mon Sep 17 00:00:00 2001
+From: Dan McArdle <dmcardle@chromium.org>
+Date: Tue, 30 Jan 2024 22:20:43 +0000
+Subject: [PATCH] [Backport] Dependency for security bug 326498393 (1/2)
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5245970:
+Prevent dangling pointer by inlining ScopedBusyTimeout
+
+Bug: 1522873
+Change-Id: Icd6262eb23404c273fa31021cddf36bea0bb56db
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5245970
+Reviewed-by: Evan Stade <estade@chromium.org>
+Reviewed-by: David Benjamin <davidben@chromium.org>
+Commit-Queue: Dan McArdle <dmcardle@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1254220}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556851
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/sql/database.cc | 48 +++++++++++++++-------------------------
+ 1 file changed, 18 insertions(+), 30 deletions(-)
+
+diff --git a/chromium/sql/database.cc b/chromium/sql/database.cc
+index d5d350e85f4..5825127634a 100644
+--- src/3rdparty/chromium/sql/database.cc
++++ src/3rdparty/chromium/sql/database.cc
+@@ -74,21 +74,6 @@ static constexpr char kSqliteOpenInMemoryPath[] = ":memory:";
+ // TODO(shess): Better story on this. http://crbug.com/56559
+ const int kBusyTimeoutSeconds = 1;
+
+-class ScopedBusyTimeout {
+- public:
+- explicit ScopedBusyTimeout(sqlite3* db) : db_(db) {}
+- ~ScopedBusyTimeout() { sqlite3_busy_timeout(db_, 0); }
+-
+- int SetTimeout(base::TimeDelta timeout) {
+- DCHECK_LT(timeout.InMilliseconds(), INT_MAX);
+- return sqlite3_busy_timeout(db_,
+- static_cast<int>(timeout.InMilliseconds()));
+- }
+-
+- private:
+- raw_ptr<sqlite3> db_;
+-};
+-
+ // Helper to "safely" enable writable_schema. No error checking
+ // because it is reasonable to just forge ahead in case of an error.
+ // If turning it on fails, then most likely nothing will work, whereas
+@@ -1405,22 +1390,14 @@ SqliteResultCode Database::ExecuteAndReturnResultCode(const char* sql) {
+ }
+
+ bool Database::Execute(const char* sql) {
+- TRACE_EVENT1("sql", "Database::Execute", "query", TRACE_STR_COPY(sql));
+-
+- if (!db_) {
+- DCHECK(poisoned_) << "Illegal use of Database without a db";
+- return false;
+- }
++ TRACE_EVENT0("sql", "Database::Execute");
+
+- SqliteResultCode sqlite_result_code = ExecuteAndReturnResultCode(sql);
+- if (sqlite_result_code != SqliteResultCode::kOk)
+- OnSqliteError(ToSqliteErrorCode(sqlite_result_code), nullptr, sql);
+-
+- return sqlite_result_code == SqliteResultCode::kOk;
++ return ExecuteWithTimeout(sql, base::TimeDelta());
+ }
+
+ bool Database::ExecuteWithTimeout(const char* sql, base::TimeDelta timeout) {
+- TRACE_EVENT0("sql", "Database::ExecuteWithTimeout");
++ TRACE_EVENT1("sql", "Database::ExecuteWithTimeout", "query",
++ TRACE_STR_COPY(sql));
+
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ if (!db_) {
+@@ -1428,9 +1405,20 @@ bool Database::ExecuteWithTimeout(const char* sql, base::TimeDelta timeout) {
+ return false;
+ }
+
+- ScopedBusyTimeout busy_timeout(db_);
+- busy_timeout.SetTimeout(timeout);
+- return Execute(sql);
++ // Passing zero or a negative value to sqlite3_busy_timeout() would clear any
++ // busy handlers defined prior to this point.
++ if (timeout.is_positive()) {
++ DCHECK_LT(timeout.InMilliseconds(), INT_MAX);
++ sqlite3_busy_timeout(db_, static_cast<int>(timeout.InMilliseconds()));
++ }
++ SqliteResultCode sqlite_result_code = ExecuteAndReturnResultCode(sql);
++ sqlite3_busy_timeout(db_, 0);
++ if (sqlite_result_code != SqliteResultCode::kOk) {
++ OnSqliteError(ToSqliteErrorCode(sqlite_result_code), nullptr, sql);
++ // At this point, `this` may have been modified or even deleted as a result
++ // of the caller-provided error callback.
++ }
++ return sqlite_result_code == SqliteResultCode::kOk;
+ }
+
+ bool Database::ExecuteScriptForTesting(const char* sql_script) {
+From 1e584e2b322c5bc8ff49a7a64375d969662242e1 Mon Sep 17 00:00:00 2001
+From: Dan McArdle <dmcardle@chromium.org>
+Date: Tue, 6 Feb 2024 23:15:33 +0000
+Subject: [PATCH] [Backport] Dependency for security bug 326498393 (2/2)
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5245191:
+Prevent dangling pointer in ScopedWritableSchema
+
+Bug: 1522873
+Change-Id: I71d7d178c98f2f2fc880762942fbca608d8cb81c
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5245191
+Reviewed-by: Evan Stade <estade@chromium.org>
+Commit-Queue: Dan McArdle <dmcardle@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1257060}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556852
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/sql/database.cc | 29 +++++++++++++++++++----------
+ chromium/sql/database.h | 4 ++++
+ 2 files changed, 23 insertions(+), 10 deletions(-)
+
+diff --git a/chromium/sql/database.cc b/chromium/sql/database.cc
+index 5825127634a..54c7c44c7e2 100644
+--- src/3rdparty/chromium/sql/database.cc
++++ src/3rdparty/chromium/sql/database.cc
+@@ -74,23 +74,29 @@ static constexpr char kSqliteOpenInMemoryPath[] = ":memory:";
+ // TODO(shess): Better story on this. http://crbug.com/56559
+ const int kBusyTimeoutSeconds = 1;
+
+-// Helper to "safely" enable writable_schema. No error checking
+-// because it is reasonable to just forge ahead in case of an error.
+-// If turning it on fails, then most likely nothing will work, whereas
+-// if turning it off fails, it only matters if some code attempts to
+-// continue working with the database and tries to modify the
++// RAII-style wrapper that enables `writable_schema` until it goes out of scope.
++// No error checking on the PRAGMA statements because it is reasonable to just
++// forge ahead in case of an error. If turning it on fails, then most likely
++// nothing will work, whereas if turning it off fails, it only matters if some
++// code attempts to continue working with the database and tries to modify the
+ // sqlite_schema table (none of our code does this).
+ class ScopedWritableSchema {
+ public:
+- explicit ScopedWritableSchema(sqlite3* db) : db_(db) {
+- sqlite3_exec(db_, "PRAGMA writable_schema=1", nullptr, nullptr, nullptr);
++ explicit ScopedWritableSchema(base::WeakPtr<Database> db)
++ : db_(std::move(db)) {
++ CHECK(db_->is_open());
++ std::ignore = db_->Execute("PRAGMA writable_schema=1");
+ }
+ ~ScopedWritableSchema() {
+- sqlite3_exec(db_, "PRAGMA writable_schema=0", nullptr, nullptr, nullptr);
++ // Database invalidates its WeakPtrs before closing the SQLite connection.
++ if (db_) {
++ CHECK(db_->is_open());
++ std::ignore = db_->Execute("PRAGMA writable_schema=0");
++ }
+ }
+
+ private:
+- raw_ptr<sqlite3> db_;
++ const base::WeakPtr<Database> db_;
+ };
+
+ // Raze() helper that uses SQLite's online backup API.
+@@ -386,6 +392,9 @@ void Database::CloseInternal(bool forced) {
+ std::move(memory_dump_provider_));
+ }
+
++ // Invalidate any `WeakPtr`s held by scoping helpers.
++ weak_factory_.InvalidateWeakPtrs();
++
+ auto sqlite_result_code = ToSqliteResultCode(sqlite3_close(db_));
+
+ DCHECK_NE(sqlite_result_code, SqliteResultCode::kBusy)
+@@ -1014,7 +1023,7 @@ bool Database::Raze() {
+ // sqlite3.c lockBtree().]
+ // TODO(shess): With this, "PRAGMA auto_vacuum" and "PRAGMA
+ // page_size" can be used to query such a database.
+- ScopedWritableSchema writable_schema(db_);
++ ScopedWritableSchema writable_schema(weak_factory_.GetWeakPtr());
+
+ #if BUILDFLAG(IS_WIN)
+ // On Windows, truncate silently fails when applied to memory-mapped files.
+diff --git a/chromium/sql/database.h b/chromium/sql/database.h
+index 79172875fda..71a2f672221 100644
+--- src/3rdparty/chromium/sql/database.h
++++ src/3rdparty/chromium/sql/database.h
+@@ -24,6 +24,7 @@
+ #include "base/memory/raw_ptr.h"
+ #include "base/memory/raw_ptr_exclusion.h"
+ #include "base/memory/ref_counted.h"
++#include "base/memory/weak_ptr.h"
+ #include "base/sequence_checker.h"
+ #include "base/strings/string_piece.h"
+ #include "base/threading/scoped_blocking_call.h"
+@@ -1021,6 +1022,9 @@ class COMPONENT_EXPORT(SQL) Database {
+
+ // Stores the dump provider object when db is open.
+ std::unique_ptr<DatabaseMemoryDumpProvider> memory_dump_provider_;
++
++ // Vends WeakPtr<Database> for internal scoping helpers.
++ base::WeakPtrFactory<Database> weak_factory_{this};
+ };
+
+ } // namespace sql
+From 1ea3a7dc0b8e1f779f0ff047799cce884bb9986a Mon Sep 17 00:00:00 2001
+From: Dan McArdle <dmcardle@chromium.org>
+Date: Thu, 29 Feb 2024 17:08:14 +0000
+Subject: [PATCH] [Backport] Security bug 326498393
+
+Manual backport of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5320373:
+SQL: Make sql::Transaction hold WeakPtr<Database>
+
+Now, Transaction checks whether the Database has been destroyed before
+using it.
+
+This CL also adds stricter sequence checking to Database, which found a
+few places that Database was passed between sequences:
+
+(1) storage::DatabaseTracker was using and destroying sql::Database on
+ different sequences. Now, it simply destroys the Database instance
+ in storage::DatabaseTracker::Shutdown(), which already runs on the
+ correct sequence.
+
+(1) history::InMemoryDatabase was "slurping" data from disk on one
+ sequence, then querying the data on a different sequence. To support
+ this use case, we added added sql:Database::DetachFromSequence().
+ Now, InMemoryDatabase effectively annotates the cut point where the
+ Database is handed off to another sequence.
+
+Bug: 326498393
+Change-Id: I866061feaf08d48607d97731a512bc02ce497f71
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5320373
+Reviewed-by: manuk hovanesian <manukh@chromium.org>
+Commit-Queue: Dan McArdle <dmcardle@chromium.org>
+Reviewed-by: Evan Stade <estade@chromium.org>
+Auto-Submit: Dan McArdle <dmcardle@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1267047}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556853
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ .../history/core/browser/in_memory_database.cc | 3 +++
+ chromium/sql/database.cc | 16 ++++++++++++++++
+ chromium/sql/database.h | 12 ++++++++++--
+ chromium/sql/internal_api_token.h | 1 +
+ chromium/sql/transaction.cc | 17 ++++++++++++++---
+ chromium/sql/transaction.h | 4 ++--
+ .../browser/database/database_tracker.cc | 8 ++++++++
+ .../storage/browser/database/database_tracker.h | 4 +++-
+ 8 files changed, 57 insertions(+), 8 deletions(-)
+
+diff --git a/chromium/components/history/core/browser/in_memory_database.cc b/chromium/components/history/core/browser/in_memory_database.cc
+index ad9c02696e3c..d139ddc45112 100644
+--- src/3rdparty/chromium/components/history/core/browser/in_memory_database.cc
++++ src/3rdparty/chromium/components/history/core/browser/in_memory_database.cc
+@@ -122,6 +122,9 @@ bool InMemoryDatabase::InitFromDisk(const base::FilePath& history_name) {
+ // inserting into it.
+ CreateMainURLIndex();
+
++ // After this point, the database may be accessed from another sequence.
++ db_.DetachFromSequence();
++
+ return true;
+ }
+
+diff --git a/chromium/sql/database.cc b/chromium/sql/database.cc
+index 54c7c44c7e26..b69e4c968c56 100644
+--- src/3rdparty/chromium/sql/database.cc
++++ src/3rdparty/chromium/sql/database.cc
+@@ -45,6 +45,7 @@
+ #include "build/build_config.h"
+ #include "sql/database_memory_dump_provider.h"
+ #include "sql/initialization.h"
++#include "sql/internal_api_token.h"
+ #include "sql/meta_table.h"
+ #include "sql/sql_features.h"
+ #include "sql/sqlite_result_code.h"
+@@ -221,6 +222,11 @@ base::FilePath Database::SharedMemoryFilePath(const base::FilePath& db_path) {
+ return base::FilePath(db_path.value() + FILE_PATH_LITERAL("-shm"));
+ }
+
++base::WeakPtr<Database> Database::GetWeakPtr(InternalApiToken) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ return weak_factory_.GetWeakPtr();
++}
++
+ Database::StatementRef::StatementRef(Database* database,
+ sqlite3_stmt* stmt,
+ bool was_valid)
+@@ -341,6 +347,11 @@ bool Database::OpenInMemory() {
+ return OpenInternal(kSqliteOpenInMemoryPath, OpenMode::kInMemory);
+ }
+
++void Database::DetachFromSequence() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ DETACH_FROM_SEQUENCE(sequence_checker_);
++}
++
+ bool Database::OpenTemporary(base::PassKey<Recovery>) {
+ TRACE_EVENT0("sql", "Database::OpenTemporary");
+
+@@ -350,6 +361,9 @@ bool Database::OpenTemporary(base::PassKey<Recovery>) {
+
+ void Database::CloseInternal(bool forced) {
+ TRACE_EVENT0("sql", "Database::CloseInternal");
++
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
+ // TODO(shess): Calling "PRAGMA journal_mode = DELETE" at this point
+ // will delete the -journal file. For ChromiumOS or other more
+ // embedded systems, this is probably not appropriate, whereas on
+@@ -966,6 +980,8 @@ void Database::TrimMemory() {
+ bool Database::Raze() {
+ TRACE_EVENT0("sql", "Database::Raze");
+
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
+ absl::optional<base::ScopedBlockingCall> scoped_blocking_call;
+ InitScopedBlockingCall(FROM_HERE, &scoped_blocking_call);
+
+diff --git a/chromium/sql/database.h b/chromium/sql/database.h
+index 71a2f6722219..2570aade0157 100644
+--- src/3rdparty/chromium/sql/database.h
++++ src/3rdparty/chromium/sql/database.h
+@@ -27,6 +27,7 @@
+ #include "base/memory/weak_ptr.h"
+ #include "base/sequence_checker.h"
+ #include "base/strings/string_piece.h"
++#include "base/thread_annotations.h"
+ #include "base/threading/scoped_blocking_call.h"
+ #include "base/types/pass_key.h"
+ #include "sql/internal_api_token.h"
+@@ -261,8 +262,10 @@ struct COMPONENT_EXPORT(SQL) DatabaseDiagnostics {
+
+ // Handle to an open SQLite database.
+ //
+-// Instances of this class are not thread-safe. After construction, a Database
+-// instance should only be accessed from one sequence.
++// Instances of this class are not thread-safe. With few exceptions, Database
++// instances should only be accessed from one sequence. Database instances may
++// be constructed on one sequence and safely used/destroyed on another. Callers
++// may explicitly use `DetachFromSequence()` before moving to another sequence.
+ //
+ // When a Database instance goes out of scope, any uncommitted transactions are
+ // rolled back.
+@@ -394,6 +397,10 @@ class COMPONENT_EXPORT(SQL) Database {
+ // Returns true if the database has been successfully opened.
+ bool is_open() const;
+
++ // Detach from the currently-attached sequence. If already attached to a
++ // sequence, this method must be called from that sequence.
++ void DetachFromSequence();
++
+ // Closes the database. This is automatically performed on destruction for
+ // you, but this allows you to close the database early. You must not call
+ // any other functions after closing it. It is permissable to call Close on
+@@ -700,6 +707,7 @@ class COMPONENT_EXPORT(SQL) Database {
+ static base::FilePath SharedMemoryFilePath(const base::FilePath& db_path);
+
+ // Internal state accessed by other classes in //sql.
++ base::WeakPtr<Database> GetWeakPtr(InternalApiToken);
+ sqlite3* db(InternalApiToken) const { return db_; }
+ bool poisoned(InternalApiToken) const { return poisoned_; }
+ base::FilePath DbPath(InternalApiToken) const { return DbPath(); }
+diff --git a/chromium/sql/internal_api_token.h b/chromium/sql/internal_api_token.h
+index c71b70309ee9..d9ec0b834f8e 100644
+--- src/3rdparty/chromium/sql/internal_api_token.h
++++ src/3rdparty/chromium/sql/internal_api_token.h
+@@ -28,6 +28,7 @@ class InternalApiToken {
+ friend class BuiltInRecovery;
+ friend class DatabaseTestPeer;
+ friend class Recovery;
++ friend class Transaction;
+ friend struct test::ColumnInfo;
+ friend bool test::CorruptSizeInHeader(const base::FilePath&);
+ };
+diff --git a/chromium/sql/transaction.cc b/chromium/sql/transaction.cc
+index a8d85b67fbd7..71bc7381b55f 100644
+--- src/3rdparty/chromium/sql/transaction.cc
++++ src/3rdparty/chromium/sql/transaction.cc
+@@ -7,11 +7,13 @@
+ #include "base/check.h"
+ #include "base/sequence_checker.h"
+ #include "sql/database.h"
++#include "sql/internal_api_token.h"
+
+ namespace sql {
+
+-Transaction::Transaction(Database* database) : database_(*database) {
+- DCHECK(database);
++Transaction::Transaction(Database* database) {
++ CHECK(database);
++ database_ = database->GetWeakPtr(InternalApiToken{});
+ }
+
+ Transaction::~Transaction() {
+@@ -21,7 +23,7 @@ Transaction::~Transaction() {
+ << "Begin() not called immediately after Transaction creation";
+ #endif // DCHECK_IS_ON()
+
+- if (is_active_)
++ if (is_active_ && database_ && database_->is_open())
+ database_->RollbackTransaction();
+ }
+
+@@ -33,6 +35,9 @@ bool Transaction::Begin() {
+ #endif // DCHECK_IS_ON()
+
+ DCHECK(!is_active_);
++ if (!database_) {
++ return false;
++ }
+ is_active_ = database_->BeginTransaction();
+ return is_active_;
+ }
+@@ -49,6 +54,9 @@ void Transaction::Rollback() {
+ DCHECK(is_active_) << __func__ << " called after Begin() failed";
+ is_active_ = false;
+
++ if (!database_) {
++ return;
++ }
+ database_->RollbackTransaction();
+ }
+
+@@ -63,6 +71,9 @@ bool Transaction::Commit() {
+
+ DCHECK(is_active_) << __func__ << " called after Begin() failed";
+ is_active_ = false;
++ if (!database_) {
++ return false;
++ }
+ return database_->CommitTransaction();
+ }
+
+diff --git a/chromium/sql/transaction.h b/chromium/sql/transaction.h
+index 54573bcf98d2..8e20d7fe737a 100644
+--- src/3rdparty/chromium/sql/transaction.h
++++ src/3rdparty/chromium/sql/transaction.h
+@@ -7,7 +7,7 @@
+
+ #include "base/check.h"
+ #include "base/component_export.h"
+-#include "base/memory/raw_ref.h"
++#include "base/memory/weak_ptr.h"
+ #include "base/sequence_checker.h"
+ #include "base/thread_annotations.h"
+
+@@ -91,7 +91,7 @@ class COMPONENT_EXPORT(SQL) Transaction {
+ private:
+ SEQUENCE_CHECKER(sequence_checker_);
+
+- const raw_ref<Database> database_ GUARDED_BY_CONTEXT(sequence_checker_);
++ base::WeakPtr<Database> database_ GUARDED_BY_CONTEXT(sequence_checker_);
+
+ #if DCHECK_IS_ON()
+ bool begin_called_ GUARDED_BY_CONTEXT(sequence_checker_) = false;
+diff --git a/chromium/storage/browser/database/database_tracker.cc b/chromium/storage/browser/database/database_tracker.cc
+index 2926db89bac4..5dbfcf2d4227 100644
+--- src/3rdparty/chromium/storage/browser/database/database_tracker.cc
++++ src/3rdparty/chromium/storage/browser/database/database_tracker.cc
+@@ -4,6 +4,7 @@
+
+ #include "storage/browser/database/database_tracker.h"
+
++#include <stddef.h>
+ #include <stdint.h>
+
+ #include <algorithm>
+@@ -986,6 +987,13 @@ void DatabaseTracker::Shutdown() {
+ else if (!force_keep_session_state_)
+ ClearSessionOnlyOrigins();
+ CloseTrackerDatabaseAndClearCaches();
++
++ // Explicitly destroy `db_` on the correct sequence rather than waiting for
++ // the destructor, which may run on another sequence. Destroy related fields
++ // first to prevent dangling pointers. Destruction order is important.
++ meta_table_.reset();
++ databases_table_.reset();
++ db_.reset();
+ }
+
+ void DatabaseTracker::SetForceKeepSessionState() {
+diff --git a/chromium/storage/browser/database/database_tracker.h b/chromium/storage/browser/database/database_tracker.h
+index 17b6aea42766..57d189e338d3 100644
+--- src/3rdparty/chromium/storage/browser/database/database_tracker.h
++++ src/3rdparty/chromium/storage/browser/database/database_tracker.h
+@@ -77,7 +77,9 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) OriginInfo {
+ // The data in this class is not thread-safe, so all methods of this class
+ // should be called on the task runner returned by task_runner(). The only
+ // exceptions are the constructor, the destructor, and the getters explicitly
+-// marked as thread-safe.
++// marked as thread-safe. Although the destructor itself may run on any thread,
++// destruction effectively occurs in Shutdown(), which expects to be called on
++// task_runner().
+ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+ : public base::RefCountedThreadSafe<DatabaseTracker> {
+ public:
+From aea30bc1019793100c4586d499fa7f82ff18613b Mon Sep 17 00:00:00 2001
+From: Liam Brady <lbrady@google.com>
+Date: Thu, 7 Mar 2024 22:11:26 +0000
+Subject: [PATCH] [Backport] CVE-2024-3840: Insufficient policy enforcement in
+ Site Isolation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5269464:
+Clear user activation on cross-site navigations.
+
+When full site isolation is disabled, renderer processes and
+RenderFrameHosts are re-used when performing cross-site navigations.
+This includes user activation state, and, more specifically, the sticky
+`has_been_active_` bit in `UserActivationState`.
+
+Currently, the `UserActivationState` on the renderer-side is reset only
+if the navigation's associated frame is a main frame. That means that if
+an iframe navigates to a cross-site page, its sticky user activation
+state will be the leftover state from the previous page. So, if a user
+interacted with the previous page in any capacity, the newly loaded page
+will think it has received a user gesture, essentially using an
+unintentional cache of the user activation state.
+
+This becomes an issue when dealing with our framebusting interventions.
+We only allow an iframe to do a top-level navigation if it received a
+user gesture. However, if an iframe's previous document received a user
+activation, or worse, if the iframe was not navigated to anything and
+got a user activation because its embedder was interacted with, this
+allows the current document to circumvent our framebusting
+interventions. The latter happens because of same-origin descendant
+activation behavior. See:
+https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/frame_tree_node.cc;l=766-778;drc=30753b1135fa271a3b45bbdbfef6567e46733a7f;bpv=1;bpt=1
+
+Note that this problem does not exist if site isolation is enabled
+(which is by default on desktop platforms), since a cross-site
+navigation will create a whole new process with a fresh
+`UserActivationState`.
+
+To fix this, this CL clears the user activation state on cross-site
+subframe navigations in the renderer (user activation is already cleared
+for main frames). To ensure that same-site navigations persist user
+state even if a cross-origin or same-origin navigation results in a new
+process or RenderFrameHost being created, this CL also explicitly
+transfers sticky user activation state for all same-site
+cross-RenderFrameHost navigations. This takes place in the browser, and
+the resulting bit to determine if a frame should have sticky user
+activation is passed to the renderer.
+
+The ultimate end goal is to unconditionally clear the user activation
+state for all cross-document navigations. That unfortunately is not
+possible today as there are entrenched use cases that rely on sticky
+user activation state being cached for same-site navigations. See:
+https://crbug.com/40228985.
+
+This CL also fixes the aforementioned regression when enabling the
+RenderDocument feature, since this CL will now preserve the sticky user
+activation state regardless of what
+process/RenderFrameHost/RenderDocument state the navigation results in.
+
+This CL adds some tests to the no-auto-wpt-origin-isolation test suite, which requires some additional description:
+
+* These tests are running on all platforms because site isolation behavior may differ per platform
+* All of the tests in the-iframe-element are being added because it would be useful to understand their behavior in all expected process
+configurations
+* The total time taken for this test suite on linux-rel showed a total time percentage of <0.3%
+
+Bug: 41493458
+Change-Id: Ibec11437fcd03470571e04a4e0dfaadffddf6c03
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5269464
+Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
+Reviewed-by: Charlie Reis <creis@chromium.org>
+Reviewed-by: Jeremy Roman <jbroman@chromium.org>
+Reviewed-by: Robert Flack <flackr@chromium.org>
+Reviewed-by: Andrew Verge <averge@chromium.org>
+Commit-Queue: Liam Brady <lbrady@google.com>
+Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
+Reviewed-by: danakj <danakj@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1269856}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/556966
+Reviewed-by: Michael Brüning <michael.bruning@qt.io>
+---
+ .../browser/renderer_host/frame_tree_node.cc | 30 ++++++++---------
+ .../browser/renderer_host/frame_tree_node.h | 15 ++++-----
+ .../navigation_controller_impl.cc | 4 ++-
+ .../renderer_host/navigation_entry_impl.cc | 5 +--
+ .../renderer_host/navigation_request.cc | 29 ++++++++++++----
+ .../browser/renderer_host/navigator.cc | 33 +++++++++++++++----
+ .../renderer_host/render_frame_host_impl.cc | 11 +++++--
+ .../renderer_host/render_frame_host_impl.h | 3 +-
+ .../content/renderer/render_frame_impl.cc | 3 ++
+ .../common/frame/user_activation_state.cc | 4 +++
+ .../common/frame/user_activation_state.h | 4 +++
+ .../frame/user_activation_update_types.mojom | 8 +++++
+ .../mojom/navigation/navigation_params.mojom | 4 +++
+ .../blink/public/web/web_navigation_params.h | 4 +++
+ .../blink/renderer/core/frame/frame.cc | 21 ++++++++++--
+ .../blink/renderer/core/frame/frame.h | 10 +++++-
+ .../blink/renderer/core/frame/remote_frame.cc | 3 ++
+ .../renderer/core/loader/document_loader.cc | 21 ++++++++++--
+ .../renderer/core/loader/document_loader.h | 4 +++
+ 19 files changed, 164 insertions(+), 52 deletions(-)
+
+diff --git a/chromium/content/browser/renderer_host/frame_tree_node.cc b/chromium/content/browser/renderer_host/frame_tree_node.cc
+index dd618cfa09e5..1ed5a5e0f004 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/frame_tree_node.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/frame_tree_node.cc
+@@ -338,19 +338,6 @@ bool FrameTreeNode::IsOutermostMainFrame() const {
+ return !GetParentOrOuterDocument();
+ }
+
+-void FrameTreeNode::ResetForNavigation() {
+- // This frame has had its user activation bits cleared in the renderer before
+- // arriving here. We just need to clear them here and in the other renderer
+- // processes that may have a reference to this frame.
+- //
+- // We do not take user activation into account when calculating
+- // |ResetForNavigationResult|, as we are using it to determine bfcache
+- // eligibility and the page can get another user gesture after restore.
+- UpdateUserActivationState(
+- blink::mojom::UserActivationUpdateType::kClearActivation,
+- blink::mojom::UserActivationNotificationType::kNone);
+-}
+-
+ RenderFrameHostImpl* FrameTreeNode::GetParentOrOuterDocument() const {
+ return GetParentOrOuterDocumentHelper(/*escape_guest_view=*/false,
+ /*include_prospective=*/true);
+@@ -769,15 +756,22 @@ void FrameTreeNode::BeforeUnloadCanceled() {
+ }
+ }
+
++bool FrameTreeNode::NotifyUserActivationStickyOnly() {
++ return NotifyUserActivation(
++ blink::mojom::UserActivationNotificationType::kNone,
++ /*sticky_only=*/true);
++}
++
+ bool FrameTreeNode::NotifyUserActivation(
+- blink::mojom::UserActivationNotificationType notification_type) {
++ blink::mojom::UserActivationNotificationType notification_type,
++ bool sticky_only) {
+ // User Activation V2 requires activating all ancestor frames in addition to
+ // the current frame. See
+ // https://html.spec.whatwg.org/multipage/interaction.html#tracking-user-activation.
+ for (RenderFrameHostImpl* rfh = current_frame_host(); rfh;
+ rfh = rfh->GetParent()) {
+ rfh->DidReceiveUserActivation();
+- rfh->ActivateUserActivation(notification_type);
++ rfh->ActivateUserActivation(notification_type, sticky_only);
+ }
+
+ current_frame_host()->browsing_context_state()->set_has_active_user_gesture(
+@@ -792,7 +786,8 @@ bool FrameTreeNode::NotifyUserActivation(
+ for (FrameTreeNode* node : frame_tree().Nodes()) {
+ if (node->current_frame_host()->GetLastCommittedOrigin().IsSameOriginWith(
+ current_origin)) {
+- node->current_frame_host()->ActivateUserActivation(notification_type);
++ node->current_frame_host()->ActivateUserActivation(notification_type,
++ sticky_only);
+ }
+ }
+ }
+@@ -860,6 +855,9 @@ bool FrameTreeNode::UpdateUserActivationState(
+ return false;
+ }
+ } break;
++ case blink::mojom::UserActivationUpdateType::kNotifyActivationStickyOnly:
++ update_result = NotifyUserActivationStickyOnly();
++ break;
+ case blink::mojom::UserActivationUpdateType::kClearActivation:
+ update_result = ClearUserActivation();
+ break;
+diff --git a/chromium/content/browser/renderer_host/frame_tree_node.h b/chromium/content/browser/renderer_host/frame_tree_node.h
+index 0edd7b389cc3..284a81e467dd 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/frame_tree_node.h
++++ src/3rdparty/chromium/content/browser/renderer_host/frame_tree_node.h
+@@ -122,14 +122,6 @@ class CONTENT_EXPORT FrameTreeNode : public RenderFrameHostOwner {
+ bool IsMainFrame() const;
+ bool IsOutermostMainFrame() const;
+
+- // Clears any state in this node which was set by the document itself (CSP &
+- // UserActivationState) and notifies proxies as appropriate. Invoked after
+- // committing navigation to a new document (since the new document comes with
+- // a fresh set of CSP).
+- // TODO(arthursonzogni): Remove this function. The frame/document must not be
+- // left temporarily with lax state.
+- void ResetForNavigation();
+-
+ FrameTree& frame_tree() const { return frame_tree_.get(); }
+ Navigator& navigator();
+
+@@ -772,8 +764,13 @@ class CONTENT_EXPORT FrameTreeNode : public RenderFrameHostOwner {
+ class OpenerDestroyedObserver;
+
+ // The |notification_type| parameter is used for histograms only.
++ // |sticky_only| is set to true when propagating sticky user activation during
++ // cross-document navigations. The transient state remains unchanged.
+ bool NotifyUserActivation(
+- blink::mojom::UserActivationNotificationType notification_type);
++ blink::mojom::UserActivationNotificationType notification_type,
++ bool sticky_only = false);
++
++ bool NotifyUserActivationStickyOnly();
+
+ bool ConsumeTransientUserActivation();
+
+diff --git a/chromium/content/browser/renderer_host/navigation_controller_impl.cc b/chromium/content/browser/renderer_host/navigation_controller_impl.cc
+index 24203784c631..54e064642bdc 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/navigation_controller_impl.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/navigation_controller_impl.cc
+@@ -3979,7 +3979,9 @@ NavigationControllerImpl::CreateNavigationRequestFromLoadParams(
+ /*origin_agent_cluster_left_as_default=*/true,
+ /*enabled_client_hints=*/
+ std::vector<network::mojom::WebClientHintsType>(),
+- /*is_cross_browsing_instance=*/false, /*old_page_info=*/nullptr,
++ /*is_cross_site_cross_browsing_context_group=*/false,
++ /*should_have_sticky_user_activation=*/false,
++ /*old_page_info=*/nullptr,
+ /*http_response_code=*/-1,
+ blink::mojom::NavigationApiHistoryEntryArrays::New(),
+ /*early_hints_preloaded_resources=*/std::vector<GURL>(),
+diff --git a/chromium/content/browser/renderer_host/navigation_entry_impl.cc b/chromium/content/browser/renderer_host/navigation_entry_impl.cc
+index 1c318ac954ed..897fb61b887d 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/navigation_entry_impl.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/navigation_entry_impl.cc
+@@ -942,8 +942,9 @@ NavigationEntryImpl::ConstructCommitNavigationParams(
+ true /* origin_agent_cluster_left_as_default */,
+ std::vector<
+ network::mojom::WebClientHintsType>() /* enabled_client_hints */,
+- false /* is_cross_browsing_instance */, nullptr /* old_page_info */,
+- -1 /* http_response_code */,
++ false /* is_cross_site_cross_browsing_context_group */,
++ false /* should_have_sticky_user_activation */,
++ nullptr /* old_page_info */, -1 /* http_response_code */,
+ blink::mojom::NavigationApiHistoryEntryArrays::New(),
+ std::vector<GURL>() /* early_hints_preloaded_resources */,
+ // This timestamp will be populated when the commit IPC is sent.
+diff --git a/chromium/content/browser/renderer_host/navigation_request.cc b/chromium/content/browser/renderer_host/navigation_request.cc
+index da6c714c0c04..923354bdafbf 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/navigation_request.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/navigation_request.cc
+@@ -1318,7 +1318,8 @@ std::unique_ptr<NavigationRequest> NavigationRequest::CreateRendererInitiated(
+ /*origin_agent_cluster_left_as_default=*/true,
+ /*enabled_client_hints=*/
+ std::vector<network::mojom::WebClientHintsType>(),
+- /*is_cross_browsing_instance=*/false,
++ /*is_cross_site_cross_browsing_context_group=*/false,
++ /*should_have_sticky_user_activation=*/false,
+ /*old_page_info=*/nullptr, /*http_response_code=*/-1,
+ blink::mojom::NavigationApiHistoryEntryArrays::New(),
+ /*early_hints_preloaded_resources=*/std::vector<GURL>(),
+@@ -1462,7 +1463,8 @@ NavigationRequest::CreateForSynchronousRendererCommit(
+ /*origin_agent_cluster_left_as_default=*/true,
+ /*enabled_client_hints=*/
+ std::vector<network::mojom::WebClientHintsType>(),
+- /*is_cross_browsing_instance=*/false,
++ /*is_cross_site_cross_browsing_context_group=*/false,
++ /*should_have_sticky_user_activation=*/false,
+ /*old_page_info=*/nullptr, http_response_code,
+ blink::mojom::NavigationApiHistoryEntryArrays::New(),
+ /*early_hints_preloaded_resources=*/std::vector<GURL>(),
+@@ -5599,11 +5601,11 @@ void NavigationRequest::CommitNavigation() {
+ }
+ }
+
++ RenderFrameHostImpl* old_frame_host =
++ frame_tree_node_->render_manager()->current_frame_host();
+ if (!NavigationTypeUtils::IsSameDocument(common_params_->navigation_type)) {
+ // We want to record this for the frame that we are navigating away from.
+- frame_tree_node_->render_manager()
+- ->current_frame_host()
+- ->RecordNavigationSuddenTerminationHandlers();
++ old_frame_host->RecordNavigationSuddenTerminationHandlers();
+ }
+ if (IsServedFromBackForwardCache() || IsPrerenderedPageActivation()) {
+ CommitPageActivation();
+@@ -5623,8 +5625,7 @@ void NavigationRequest::CommitNavigation() {
+ if (!weak_self)
+ return;
+
+- DCHECK(GetRenderFrameHost() ==
+- frame_tree_node_->render_manager()->current_frame_host() ||
++ DCHECK(GetRenderFrameHost() == old_frame_host ||
+ GetRenderFrameHost() ==
+ frame_tree_node_->render_manager()->speculative_frame_host());
+
+@@ -5699,6 +5700,20 @@ void NavigationRequest::CommitNavigation() {
+ response(), frame_tree_node_);
+ }
+
++ // Sticky user activation should only be preserved for same-site subframe
++ // navigations. This is done to prevent newly navigated documents from
++ // re-using the sticky user activation state from the previously navigated
++ // document in the frame. We persist user activation across same-site
++ // navigations for compatibility reasons, and this does not need to match the
++ // same-site checks used in the process model. See: crbug.com/736415.
++ // TODO(crbug.com/40228985): Remove this once we find a way to reset
++ // activation unconditionally without breaking sites in practice.
++ commit_params_->should_have_sticky_user_activation =
++ !frame_tree_node_->IsMainFrame() &&
++ old_frame_host->HasStickyUserActivation() &&
++ net::SchemefulSite(old_frame_host->GetLastCommittedOrigin()) ==
++ net::SchemefulSite(origin);
++
+ // Generate a UKM source and track it on NavigationRequest. This will be
+ // passed down to the blink::Document to be created, if any, and used for UKM
+ // source creation when navigation has successfully committed.
+diff --git a/chromium/content/browser/renderer_host/navigator.cc b/chromium/content/browser/renderer_host/navigator.cc
+index 1063f29af344..e4cdb82d5598 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/navigator.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/navigator.cc
+@@ -47,6 +47,7 @@
+ #include "content/public/common/content_constants.h"
+ #include "content/public/common/url_utils.h"
+ #include "net/base/net_errors.h"
++#include "net/base/schemeful_site.h"
+ #include "services/metrics/public/cpp/ukm_builders.h"
+ #include "services/metrics/public/cpp/ukm_recorder.h"
+ #include "services/metrics/public/cpp/ukm_source_id.h"
+@@ -512,6 +513,9 @@ void Navigator::DidNavigate(
+ was_within_same_document);
+ }
+
++ // Store this information before DidNavigateFrame() potentially swaps RFHs.
++ url::Origin old_frame_origin = old_frame_host->GetLastCommittedOrigin();
++
+ // DidNavigateFrame() must be called before replicating the new origin and
+ // other properties to proxies. This is because it destroys the subframes of
+ // the frame we're navigating from, which might trigger those subframes to
+@@ -524,6 +528,29 @@ void Navigator::DidNavigate(
+ .ShouldClearProxiesOnCommit(),
+ navigation_request->commit_params().frame_policy);
+
++ // The main frame, same site, and cross-site navigation checks for user
++ // activation mirror the checks in DocumentLoader::CommitNavigation() (note:
++ // CommitNavigation() is not called for same-document navigations, which is
++ // why we have the !was_within_same_document check). This is done to prevent
++ // newly navigated pages from re-using the sticky user activation state from
++ // the previously navigated page in the frame. We persist user activation
++ // across same-site navigations for compatibility reasons with user
++ // activation, and does not need to match the same-site checks used in the
++ // process model. See: crbug.com/736415, and crbug.com/40228985 for the
++ // specific regression that resulted in this requirement.
++ if (!was_within_same_document) {
++ if (!navigation_request->commit_params()
++ .should_have_sticky_user_activation) {
++ frame_tree_node->UpdateUserActivationState(
++ blink::mojom::UserActivationUpdateType::kClearActivation,
++ blink::mojom::UserActivationNotificationType::kNone);
++ } else {
++ frame_tree_node->UpdateUserActivationState(
++ blink::mojom::UserActivationUpdateType::kNotifyActivationStickyOnly,
++ blink::mojom::UserActivationNotificationType::kNone);
++ }
++ }
++
+ // Save the new page's origin and other properties, and replicate them to
+ // proxies, including the proxy created in DidNavigateFrame() to replace the
+ // old frame in cross-process navigation cases.
+@@ -534,12 +561,6 @@ void Navigator::DidNavigate(
+ render_frame_host->browsing_context_state()->SetInsecureNavigationsSet(
+ params.insecure_navigations_set);
+
+- if (!was_within_same_document) {
+- // Navigating to a new location means a new, fresh set of http headers
+- // and/or <meta> elements - we need to reset Permissions Policy.
+- frame_tree_node->ResetForNavigation();
+- }
+-
+ // If the committing URL requires the SiteInstance's site to be assigned,
+ // that site assignment should've already happened at ReadyToCommit time. We
+ // should never get here with a SiteInstance that doesn't have a site
+diff --git a/chromium/content/browser/renderer_host/render_frame_host_impl.cc b/chromium/content/browser/renderer_host/render_frame_host_impl.cc
+index c5f90d4965f9..d1d0efb398ba 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.cc
++++ src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.cc
+@@ -6002,9 +6002,14 @@ void RenderFrameHostImpl::ConsumeTransientUserActivation() {
+ }
+
+ void RenderFrameHostImpl::ActivateUserActivation(
+- blink::mojom::UserActivationNotificationType notification_type) {
+- user_activation_state_.Activate(notification_type);
+- history_user_activation_state_.Activate();
++ blink::mojom::UserActivationNotificationType notification_type,
++ bool sticky_only) {
++ if (sticky_only) {
++ user_activation_state_.SetHasBeenActive();
++ } else {
++ user_activation_state_.Activate(notification_type);
++ history_user_activation_state_.Activate();
++ }
+ }
+
+ void RenderFrameHostImpl::ActivateFocusSourceUserActivation() {
+diff --git a/chromium/content/browser/renderer_host/render_frame_host_impl.h b/chromium/content/browser/renderer_host/render_frame_host_impl.h
+index 378657c0a55d..0a001fb828e1 100644
+--- src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.h
++++ src/3rdparty/chromium/content/browser/renderer_host/render_frame_host_impl.h
+@@ -2931,7 +2931,8 @@ class CONTENT_EXPORT RenderFrameHostImpl
+ void ClearUserActivation();
+ void ConsumeTransientUserActivation();
+ void ActivateUserActivation(
+- blink::mojom::UserActivationNotificationType notification_type);
++ blink::mojom::UserActivationNotificationType notification_type,
++ bool sticky_only = false);
+
+ // These are called only when RenderFrameHostOwner is iterating over all
+ // frames, not directly from the renderer.
+diff --git a/chromium/content/renderer/render_frame_impl.cc b/chromium/content/renderer/render_frame_impl.cc
+index 5da8ffc96764..13afea50ecba 100644
+--- src/3rdparty/chromium/content/renderer/render_frame_impl.cc
++++ src/3rdparty/chromium/content/renderer/render_frame_impl.cc
+@@ -981,6 +981,9 @@ void FillMiscNavigationParams(
+ navigation_params->is_cross_site_cross_browsing_context_group =
+ commit_params.is_cross_site_cross_browsing_context_group;
+
++ navigation_params->should_have_sticky_user_activation =
++ commit_params.should_have_sticky_user_activation;
++
+ #if BUILDFLAG(IS_ANDROID) || defined(TOOLKIT_QT)
+ // Only android webview uses this.
+ navigation_params->grant_load_local_resources =
+diff --git a/chromium/third_party/blink/common/frame/user_activation_state.cc b/chromium/third_party/blink/common/frame/user_activation_state.cc
+index 5804fa8049be..ad85a074d10b 100644
+--- src/3rdparty/chromium/third_party/blink/common/frame/user_activation_state.cc
++++ src/3rdparty/chromium/third_party/blink/common/frame/user_activation_state.cc
+@@ -47,6 +47,10 @@ void UserActivationState::Activate(
+ transient_state_expiry_time_for_interaction_ = transient_state_expiry_time_;
+ }
+
++void UserActivationState::SetHasBeenActive() {
++ has_been_active_ = true;
++}
++
+ void UserActivationState::Clear() {
+ has_been_active_ = false;
+ last_activation_was_restricted_ = false;
+diff --git a/chromium/third_party/blink/public/common/frame/user_activation_state.h b/chromium/third_party/blink/public/common/frame/user_activation_state.h
+index fe530372caa0..6e143d2e9795 100644
+--- src/3rdparty/chromium/third_party/blink/public/common/frame/user_activation_state.h
++++ src/3rdparty/chromium/third_party/blink/public/common/frame/user_activation_state.h
+@@ -111,6 +111,10 @@ class BLINK_COMMON_EXPORT UserActivationState {
+ // |is_restricted| as a parameter here.
+ void Activate(mojom::UserActivationNotificationType notification_type);
+
++ // Used when propagating user activation state across cross-process
++ // navigations.
++ void SetHasBeenActive();
++
+ void Clear();
+
+ // Returns the sticky activation state, which is |true| if the frame has ever
+diff --git a/chromium/third_party/blink/public/mojom/frame/user_activation_update_types.mojom b/chromium/third_party/blink/public/mojom/frame/user_activation_update_types.mojom
+index 6db97b4a695c..5acd66856df0 100644
+--- src/3rdparty/chromium/third_party/blink/public/mojom/frame/user_activation_update_types.mojom
++++ src/3rdparty/chromium/third_party/blink/public/mojom/frame/user_activation_update_types.mojom
+@@ -7,8 +7,16 @@ module blink.mojom;
+ // Types of UserActivationV2 state updates sent between the browser and the
+ // renderer processes.
+ enum UserActivationUpdateType {
++ // Used to give a document sticky and transient user activation as a result of
++ // a user gesture.
+ kNotifyActivation,
+ kNotifyActivationPendingBrowserVerification,
++ // Used to propagate the sticky user activation state during cross-document
++ // navigations.
++ kNotifyActivationStickyOnly,
++ // Used after a sensitive API is called to prevent abuse of the API.
+ kConsumeTransientActivation,
++ // Used during cross-document navigations when the user activation state
++ // shouldn't be propagated.
+ kClearActivation
+ };
+diff --git a/chromium/third_party/blink/public/mojom/navigation/navigation_params.mojom b/chromium/third_party/blink/public/mojom/navigation/navigation_params.mojom
+index b568f7442142..3947e8dcaeb3 100644
+--- src/3rdparty/chromium/third_party/blink/public/mojom/navigation/navigation_params.mojom
++++ src/3rdparty/chromium/third_party/blink/public/mojom/navigation/navigation_params.mojom
+@@ -510,6 +510,10 @@ struct CommitNavigationParams {
+ // Whether this is a cross-site navigation that swaps BrowsingContextGroups.
+ bool is_cross_site_cross_browsing_context_group = false;
+
++ // Whether the new document should start with sticky user activation, because
++ // the previously committed document did, and the navigation was same-site.
++ bool should_have_sticky_user_activation = false;
++
+ // Should only be set to a valid value for main-frame same-site navigations
+ // where we did a proactive BrowsingInstance swap and we're reusing the old
+ // page's process.
+diff --git a/chromium/third_party/blink/public/web/web_navigation_params.h b/chromium/third_party/blink/public/web/web_navigation_params.h
+index 560c4e985497..206bff0b0042 100644
+--- src/3rdparty/chromium/third_party/blink/public/web/web_navigation_params.h
++++ src/3rdparty/chromium/third_party/blink/public/web/web_navigation_params.h
+@@ -466,6 +466,10 @@ struct BLINK_EXPORT WebNavigationParams {
+ // (BrowsingInstances).
+ bool is_cross_site_cross_browsing_context_group = false;
+
++ // Whether the new document should start with sticky user activation, because
++ // the previously committed document did, and the navigation was same-site.
++ bool should_have_sticky_user_activation = false;
++
+ // Blink's copy of the policy container containing security policies to be
+ // enforced on the document created by this navigation.
+ std::unique_ptr<WebPolicyContainer> policy_container;
+diff --git a/chromium/third_party/blink/renderer/core/frame/frame.cc b/chromium/third_party/blink/renderer/core/frame/frame.cc
+index e0ce2a1bcbef..ce18145c67a6 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/frame/frame.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/core/frame/frame.cc
+@@ -286,10 +286,21 @@ void Frame::DidChangeVisibilityState() {
+ child_frames[i]->DidChangeVisibilityState();
+ }
+
++void Frame::NotifyUserActivationInFrameTreeStickyOnly() {
++ NotifyUserActivationInFrameTree(
++ mojom::blink::UserActivationNotificationType::kNone,
++ /*sticky_only=*/true);
++}
++
+ void Frame::NotifyUserActivationInFrameTree(
+- mojom::blink::UserActivationNotificationType notification_type) {
++ mojom::blink::UserActivationNotificationType notification_type,
++ bool sticky_only) {
+ for (Frame* node = this; node; node = node->Tree().Parent()) {
+- node->user_activation_state_.Activate(notification_type);
++ if (sticky_only) {
++ node->user_activation_state_.SetHasBeenActive();
++ } else {
++ node->user_activation_state_.Activate(notification_type);
++ }
+ node->ActivateHistoryUserActivationState();
+ }
+
+@@ -307,7 +318,11 @@ void Frame::NotifyUserActivationInFrameTree(
+ if (local_frame_node &&
+ security_origin->CanAccess(
+ local_frame_node->GetSecurityContext()->GetSecurityOrigin())) {
+- node->user_activation_state_.Activate(notification_type);
++ if (sticky_only) {
++ node->user_activation_state_.SetHasBeenActive();
++ } else {
++ node->user_activation_state_.Activate(notification_type);
++ }
+ node->ActivateHistoryUserActivationState();
+ }
+ }
+diff --git a/chromium/third_party/blink/renderer/core/frame/frame.h b/chromium/third_party/blink/renderer/core/frame/frame.h
+index 2487e9a9a98a..3707cff0fa64 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/frame/frame.h
++++ src/3rdparty/chromium/third_party/blink/renderer/core/frame/frame.h
+@@ -256,6 +256,12 @@ class CORE_EXPORT Frame : public GarbageCollected<Frame> {
+ return user_activation_state_.LastActivationWasRestricted();
+ }
+
++ // Sets the sticky user activation state of this frame. This does not change
++ // the transient user activation state.
++ void SetStickyUserActivationState() {
++ user_activation_state_.SetHasBeenActive();
++ }
++
+ // Resets the user activation state of this frame.
+ void ClearUserActivation() { user_activation_state_.Clear(); }
+
+@@ -482,8 +488,10 @@ class CORE_EXPORT Frame : public GarbageCollected<Frame> {
+ void ApplyFrameOwnerProperties(
+ mojom::blink::FrameOwnerPropertiesPtr properties);
+
++ void NotifyUserActivationInFrameTreeStickyOnly();
+ void NotifyUserActivationInFrameTree(
+- mojom::blink::UserActivationNotificationType notification_type);
++ mojom::blink::UserActivationNotificationType notification_type,
++ bool sticky_only = false);
+ bool ConsumeTransientUserActivationInFrameTree();
+ void ClearUserActivationInFrameTree();
+
+diff --git a/chromium/third_party/blink/renderer/core/frame/remote_frame.cc b/chromium/third_party/blink/renderer/core/frame/remote_frame.cc
+index e5d0e24fa1cb..7f3f457261da 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/frame/remote_frame.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/core/frame/remote_frame.cc
+@@ -665,6 +665,9 @@ void RemoteFrame::UpdateUserActivationState(
+ case mojom::blink::UserActivationUpdateType::kNotifyActivation:
+ NotifyUserActivationInFrameTree(notification_type);
+ break;
++ case mojom::blink::UserActivationUpdateType::kNotifyActivationStickyOnly:
++ NotifyUserActivationInFrameTreeStickyOnly();
++ break;
+ case mojom::blink::UserActivationUpdateType::kConsumeTransientActivation:
+ ConsumeTransientUserActivationInFrameTree();
+ break;
+diff --git a/chromium/third_party/blink/renderer/core/loader/document_loader.cc b/chromium/third_party/blink/renderer/core/loader/document_loader.cc
+index b7b130e869fe..b29ab01b9f84 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/loader/document_loader.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/core/loader/document_loader.cc
+@@ -305,6 +305,7 @@ struct SameSizeAsDocumentLoader
+ bool origin_agent_cluster;
+ bool origin_agent_cluster_left_as_default;
+ bool is_cross_site_cross_browsing_context_group;
++ bool should_have_sticky_user_activation;
+ WebVector<WebHistoryItem> navigation_api_back_entries;
+ WebVector<WebHistoryItem> navigation_api_forward_entries;
+ std::unique_ptr<CodeCacheHost> code_cache_host;
+@@ -512,6 +513,8 @@ DocumentLoader::DocumentLoader(
+ params_->origin_agent_cluster_left_as_default),
+ is_cross_site_cross_browsing_context_group_(
+ params_->is_cross_site_cross_browsing_context_group),
++ should_have_sticky_user_activation_(
++ params_->should_have_sticky_user_activation),
+ navigation_api_back_entries_(params_->navigation_api_back_entries),
+ navigation_api_forward_entries_(params_->navigation_api_forward_entries),
+ extra_data_(std::move(extra_data)),
+@@ -651,6 +654,9 @@ DocumentLoader::CreateWebNavigationParamsToCloneDocument() {
+ params->document_ukm_source_id = ukm_source_id_;
+ params->is_cross_site_cross_browsing_context_group =
+ is_cross_site_cross_browsing_context_group_;
++ // Required for javascript: URL commits to propagate sticky user activation.
++ params->should_have_sticky_user_activation =
++ frame_->HasStickyUserActivation() && !frame_->IsMainFrame();
+ params->has_text_fragment_token = has_text_fragment_token_;
+ // Origin trials must still work on the cloned document.
+ params->initiator_origin_trial_features =
+@@ -2554,10 +2560,19 @@ void DocumentLoader::CommitNavigation() {
+
+ frame_->ClearScrollSnapshotClients();
+
+- // Clear the user activation state.
++ // Determine whether to give the frame sticky user activation. These checks
++ // mirror the check in Navigator::DidNavigate(). Main frame navigations and
++ // cross-site navigations should not hold on to the sticky user activation
++ // state of the previously navigated page. Same-site navigations should retain
++ // the previous document's sticky user activation state, regardless of whether
++ // the navigation resulted in a new process being created.
++ // See: crbug.com/41493458
+ // TODO(crbug.com/736415): Clear this bit unconditionally for all frames.
+- if (frame_->IsMainFrame())
+- frame_->ClearUserActivation();
++ if (!should_have_sticky_user_activation_) {
++ frame_->ClearUserActivation();
++ } else {
++ frame_->SetStickyUserActivationState();
++ }
+
+ // The DocumentLoader was flagged as activated if it needs to notify the frame
+ // that it was activated before navigation. Update the frame state based on
+diff --git a/chromium/third_party/blink/renderer/core/loader/document_loader.h b/chromium/third_party/blink/renderer/core/loader/document_loader.h
+index 1548bbee1845..ca1758eef3f4 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/core/loader/document_loader.h
++++ src/3rdparty/chromium/third_party/blink/renderer/core/loader/document_loader.h
+@@ -783,6 +783,10 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
+ // BrowsingContextGroup.
+ bool is_cross_site_cross_browsing_context_group_ = false;
+
++ // Whether the new document should start with sticky user activation, because
++ // the previously committed document did, and the navigation was same-site.
++ bool should_have_sticky_user_activation_ = false;
++
+ WebVector<WebHistoryItem> navigation_api_back_entries_;
+ WebVector<WebHistoryItem> navigation_api_forward_entries_;
+
+From 6fd09d7a49f15e12264f25a54db9fe189b235d16 Mon Sep 17 00:00:00 2001
+From: Ayu Ishii <ayui@chromium.org>
+Date: Thu, 21 Mar 2024 20:06:29 +0000
+Subject: [PATCH] [Backport] Security bug 323898565
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5288855:
+WebSQL: Remove session data logic
+
+On Profile destruction, currently there is a race with
+the DatabaseTracker shutdown. DatabaseTracker shutdown
+will post task[1] on the database task runner because
+it needs to do file I/O. However it also has some logic
+to retrieve info for special storage policies from the
+Profile which may already be destroyed by that time.
+
+This change removes logic for special storage policy from
+DatabaseTracker. DatabaseTracker(WebSQL) is removed
+from all platforms as of M119 except for WebView, which does
+not utilize the special storage policy. All policy and
+deprecation support have ended with M123. Therefore cleaning
+up the code to avoid the race.
+
+[1]https://source.chromium.org/chromium/chromium/src/+/main:content/browser/storage_partition_impl.cc;l=1200;drc=be92f4cc2f137460213d52a926c9477275a456c5
+
+Bug: 323898565, 325476286
+Change-Id: Ie2ef898c558308439a8b0d3fdf67f7157440b20a
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5288855
+Commit-Queue: Ayu Ishii <ayui@chromium.org>
+Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
+Reviewed-by: Evan Stade <estade@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1276451}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/557063
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+---
+ chromium/content/browser/browser_context.cc | 8 ---
+ .../content/browser/storage_partition_impl.cc | 3 +-
+ .../browser/database/database_tracker.cc | 65 +------------------
+ .../browser/database/database_tracker.h | 15 -----
+ 4 files changed, 3 insertions(+), 88 deletions(-)
+
+diff --git a/chromium/content/browser/browser_context.cc b/chromium/content/browser/browser_context.cc
+index c07c16f62e3..6b952d4572f 100644
+--- src/3rdparty/chromium/content/browser/browser_context.cc
++++ src/3rdparty/chromium/content/browser/browser_context.cc
+@@ -56,7 +56,6 @@
+ #include "media/mojo/services/video_decode_perf_history.h"
+ #include "media/mojo/services/webrtc_video_perf_history.h"
+ #include "storage/browser/blob/blob_storage_context.h"
+-#include "storage/browser/database/database_tracker.h"
+ #include "storage/browser/file_system/external_mount_points.h"
+ #include "third_party/blink/public/mojom/push_messaging/push_messaging.mojom.h"
+ #include "third_party/perfetto/include/perfetto/tracing/traced_proto.h"
+@@ -252,13 +251,6 @@ void BrowserContext::EnsureResourceContextInitialized() {
+ void BrowserContext::SaveSessionState() {
+ StoragePartition* storage_partition = GetDefaultStoragePartition();
+
+- storage::DatabaseTracker* database_tracker =
+- storage_partition->GetDatabaseTracker();
+- database_tracker->task_runner()->PostTask(
+- FROM_HERE,
+- base::BindOnce(&storage::DatabaseTracker::SetForceKeepSessionState,
+- base::WrapRefCounted(database_tracker)));
+-
+ storage_partition->GetCookieManagerForBrowserProcess()
+ ->SetForceKeepSessionState();
+
+diff --git a/chromium/content/browser/storage_partition_impl.cc b/chromium/content/browser/storage_partition_impl.cc
+index 3147e6d0371..12ef04e2d8f 100644
+--- src/3rdparty/chromium/content/browser/storage_partition_impl.cc
++++ src/3rdparty/chromium/content/browser/storage_partition_impl.cc
+@@ -1371,8 +1371,7 @@ void StoragePartitionImpl::Initialize(
+ browser_context_, partition_path_, is_in_memory(), quota_manager_proxy);
+
+ database_tracker_ = storage::DatabaseTracker::Create(
+- partition_path_, is_in_memory(),
+- browser_context_->GetSpecialStoragePolicy(), quota_manager_proxy);
++ partition_path_, is_in_memory(), quota_manager_proxy);
+
+ dom_storage_context_ = DOMStorageContextWrapper::Create(
+ this, browser_context_->GetSpecialStoragePolicy());
+diff --git a/chromium/storage/browser/database/database_tracker.cc b/chromium/storage/browser/database/database_tracker.cc
+index 5dbfcf2d422..865661ea56e 100644
+--- src/3rdparty/chromium/storage/browser/database/database_tracker.cc
++++ src/3rdparty/chromium/storage/browser/database/database_tracker.cc
+@@ -42,7 +42,6 @@
+ #include "storage/browser/database/databases_table.h"
+ #include "storage/browser/quota/quota_client_type.h"
+ #include "storage/browser/quota/quota_manager_proxy.h"
+-#include "storage/browser/quota/special_storage_policy.h"
+ #include "storage/common/database/database_identifier.h"
+ #include "third_party/blink/public/common/storage_key/storage_key.h"
+ #include "third_party/blink/public/mojom/quota/quota_types.mojom.h"
+@@ -73,12 +72,6 @@ OriginInfo::OriginInfo(const OriginInfo& origin_info) = default;
+
+ OriginInfo::~OriginInfo() = default;
+
+-void OriginInfo::GetAllDatabaseNames(
+- std::vector<std::u16string>* databases) const {
+- for (const auto& name_and_size : database_sizes_)
+- databases->push_back(name_and_size.first);
+-}
+-
+ int64_t OriginInfo::GetDatabaseSize(const std::u16string& database_name) const {
+ auto it = database_sizes_.find(database_name);
+ if (it != database_sizes_.end())
+@@ -92,11 +85,10 @@ OriginInfo::OriginInfo(const std::string& origin_identifier, int64_t total_size)
+ scoped_refptr<DatabaseTracker> DatabaseTracker::Create(
+ const base::FilePath& profile_path,
+ bool is_incognito,
+- scoped_refptr<SpecialStoragePolicy> special_storage_policy,
+ scoped_refptr<QuotaManagerProxy> quota_manager_proxy) {
+ auto database_tracker = base::MakeRefCounted<DatabaseTracker>(
+- profile_path, is_incognito, std::move(special_storage_policy),
+- std::move(quota_manager_proxy), base::PassKey<DatabaseTracker>());
++ profile_path, is_incognito, std::move(quota_manager_proxy),
++ base::PassKey<DatabaseTracker>());
+ database_tracker->RegisterQuotaClient();
+ return database_tracker;
+ }
+@@ -104,7 +96,6 @@ scoped_refptr<DatabaseTracker> DatabaseTracker::Create(
+ DatabaseTracker::DatabaseTracker(
+ const base::FilePath& profile_path,
+ bool is_incognito,
+- scoped_refptr<SpecialStoragePolicy> special_storage_policy,
+ scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
+ base::PassKey<DatabaseTracker>)
+ : is_incognito_(is_incognito),
+@@ -117,7 +108,6 @@ DatabaseTracker::DatabaseTracker(
+ .page_size = 4096,
+ .cache_size = 500,
+ })),
+- special_storage_policy_(std::move(special_storage_policy)),
+ quota_manager_proxy_(std::move(quota_manager_proxy)),
+ task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
+ {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
+@@ -791,12 +781,6 @@ void DatabaseTracker::DeleteDataModifiedSince(
+ DatabaseSet to_be_deleted;
+ int rv = net::OK;
+ for (const auto& origin : origins_identifiers) {
+- if (special_storage_policy_.get() &&
+- special_storage_policy_->IsStorageProtected(
+- GetOriginURLFromIdentifier(origin))) {
+- continue;
+- }
+-
+ std::vector<DatabaseDetails> details;
+ if (!databases_table_->GetAllDatabaseDetailsForOriginIdentifier(origin,
+ &details)) {
+@@ -930,44 +914,6 @@ void DatabaseTracker::DeleteIncognitoDBDirectory() {
+ base::DeletePathRecursively(incognito_db_dir);
+ }
+
+-void DatabaseTracker::ClearSessionOnlyOrigins() {
+- DCHECK(task_runner_->RunsTasksInCurrentSequence());
+- bool has_session_only_databases =
+- special_storage_policy_.get() &&
+- special_storage_policy_->HasSessionOnlyOrigins();
+-
+- // Clearing only session-only databases, and there are none.
+- if (!has_session_only_databases)
+- return;
+-
+- if (!LazyInit())
+- return;
+-
+- std::vector<std::string> origin_identifiers;
+- GetAllOriginIdentifiers(&origin_identifiers);
+-
+- for (const auto& origin : origin_identifiers) {
+- GURL origin_url = GetOriginURLFromIdentifier(origin);
+- if (!special_storage_policy_->IsStorageSessionOnly(origin_url))
+- continue;
+- if (special_storage_policy_->IsStorageProtected(origin_url))
+- continue;
+- OriginInfo origin_info;
+- std::vector<std::u16string> databases;
+- GetOriginInfo(origin, &origin_info);
+- origin_info.GetAllDatabaseNames(&databases);
+-
+- for (const auto& database : databases) {
+- base::File file(
+- GetFullDBFilePath(origin, database),
+- base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_WIN_SHARE_DELETE |
+- base::File::FLAG_DELETE_ON_CLOSE | base::File::FLAG_READ);
+- }
+- DeleteOrigin(origin, true);
+- }
+-}
+-
+-
+ void DatabaseTracker::Shutdown() {
+ DCHECK(task_runner_->RunsTasksInCurrentSequence());
+ if (shutting_down_) {
+@@ -984,8 +930,6 @@ void DatabaseTracker::Shutdown() {
+
+ if (is_incognito_)
+ DeleteIncognitoDBDirectory();
+- else if (!force_keep_session_state_)
+- ClearSessionOnlyOrigins();
+ CloseTrackerDatabaseAndClearCaches();
+
+ // Explicitly destroy `db_` on the correct sequence rather than waiting for
+@@ -996,9 +940,4 @@ void DatabaseTracker::Shutdown() {
+ db_.reset();
+ }
+
+-void DatabaseTracker::SetForceKeepSessionState() {
+- DCHECK(task_runner_->RunsTasksInCurrentSequence());
+- force_keep_session_state_ = true;
+-}
+-
+ } // namespace storage
+diff --git a/chromium/storage/browser/database/database_tracker.h b/chromium/storage/browser/database/database_tracker.h
+index 57d189e338d..bc55a0b020a 100644
+--- src/3rdparty/chromium/storage/browser/database/database_tracker.h
++++ src/3rdparty/chromium/storage/browser/database/database_tracker.h
+@@ -41,7 +41,6 @@ namespace storage {
+ class DatabaseQuotaClient;
+ class QuotaClientCallbackWrapper;
+ class QuotaManagerProxy;
+-class SpecialStoragePolicy;
+
+ COMPONENT_EXPORT(STORAGE_BROWSER)
+ extern const base::FilePath::CharType kDatabaseDirectoryName[];
+@@ -101,13 +100,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+ static scoped_refptr<DatabaseTracker> Create(
+ const base::FilePath& profile_path,
+ bool is_incognito,
+- scoped_refptr<SpecialStoragePolicy> special_storage_policy,
+ scoped_refptr<QuotaManagerProxy> quota_manager_proxy);
+
+ // Exposed for base::MakeRefCounted. Users should call Create().
+ DatabaseTracker(const base::FilePath& profile_path,
+ bool is_incognito,
+- scoped_refptr<SpecialStoragePolicy> special_storage_policy,
+ scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
+ base::PassKey<DatabaseTracker>);
+
+@@ -168,9 +165,6 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+
+ // Deletes databases touched since `cutoff`.
+ //
+- // Does not delete databases belonging to origins designated as protected by
+- // the SpecialStoragePolicy passed to the DatabaseTracker constructor.
+- //
+ // `callback` must must be non-null, and is invoked upon completion with a
+ // net::Error. The status will be net::OK on success, or net::FAILED if not
+ // all databases could be deleted. `callback` may be called before this method
+@@ -198,8 +192,6 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+ // Shutdown the database tracker, deleting database files if the tracker is
+ // used for an Incognito profile.
+ void Shutdown();
+- // Disables the exit-time deletion of session-only data.
+- void SetForceKeepSessionState();
+
+ protected:
+ // Subclasses need PassKeys to call the constructor.
+@@ -248,9 +240,6 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+ // exists.
+ void DeleteIncognitoDBDirectory();
+
+- // Deletes session-only databases. Blocks databases from being created/opened.
+- void ClearSessionOnlyOrigins();
+-
+ bool DeleteClosedDatabase(const std::string& origin_identifier,
+ const std::u16string& database_name);
+
+@@ -303,7 +292,6 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+
+ bool is_initialized_ = false;
+ const bool is_incognito_;
+- bool force_keep_session_state_ = false;
+ bool shutting_down_ = false;
+ const base::FilePath profile_path_;
+
+@@ -324,9 +312,6 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) DatabaseTracker
+ std::vector<std::pair<net::CompletionOnceCallback, DatabaseSet>>
+ deletion_callbacks_;
+
+- // Apps and Extensions can have special rights.
+- const scoped_refptr<SpecialStoragePolicy> special_storage_policy_;
+-
+ // Can be accessed from any thread via quota_manager_proxy().
+ //
+ // Thread-safety argument: The reference is immutable.
+From 3ef0cdbadfc403513047464d18e63fc952a43f7b Mon Sep 17 00:00:00 2001
+From: Shahbaz Youssefi <syoussefi@chromium.org>
+Date: Mon, 8 Apr 2024 10:14:45 -0400
+Subject: [PATCH] [Backport] CVE-2024-4058: Type Confusion in ANGLE
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/angle/angle/+/5462388:
+SPIR-V: Fix const constructors with single scalar
+
+These constructors may be generated because of
+RemoveArrayLengthTraverser.
+
+Bug: chromium:332546345
+Change-Id: I2b2bf3728ef5bae148abc2a8518f8f3f42850025
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5462388
+(cherry picked from commit 0b776d32f69a932acb61963d9daad9e13f610944)
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5466390
+Commit-Queue: Zakhar Voit <voit@google.com>
+Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
+Reviewed-by: Geoff Lang <geofflang@chromium.org>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/557315
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../third_party/angle/src/compiler/translator/Compiler.cpp | 5 +++++
+ .../angle/src/compiler/translator/spirv/OutputSPIRV.cpp | 2 ++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/chromium/third_party/angle/src/compiler/translator/Compiler.cpp b/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
+index c70c419631a..c846c9b33fa 100644
+--- src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
++++ src/3rdparty/chromium/third_party/angle/src/compiler/translator/Compiler.cpp
+@@ -1034,6 +1034,11 @@ bool TCompiler::checkAndSimplifyAST(TIntermBlock *root,
+ {
+ return false;
+ }
++ // Fold the expressions again, because |RemoveArrayLengthMethod| can introduce new constants.
++ if (!FoldExpressions(this, root, &mDiagnostics))
++ {
++ return false;
++ }
+
+ if (!RemoveUnreferencedVariables(this, root, &mSymbolTable))
+ {
+diff --git a/chromium/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp b/chromium/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp
+index ed3aac4e432..4c3d1d000c6 100644
+--- src/3rdparty/chromium/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp
++++ src/3rdparty/chromium/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp
+@@ -1335,6 +1335,8 @@ spirv::IdRef OutputSPIRVTraverser::createComplexConstant(const TType &type,
+
+ if (type.isMatrix() && !type.isArray())
+ {
++ ASSERT(parameters.size() == type.getRows() * type.getCols());
++
+ // Matrices are constructed from their columns.
+ spirv::IdRefList columnIds;
+
+From b0ff4b16e877e3787a7200b71440c9f2be7fe1d7 Mon Sep 17 00:00:00 2001
+From: Antonio Maiorano <amaiorano@google.com>
+Date: Thu, 18 Apr 2024 13:07:04 -0400
+Subject: [PATCH] [Backport] CVE-2024-4060: Use after free in Dawn
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5464347:
+Replace dynamic_cast with virtual call (#6515)
+
+Make TextDiagnosticPrinter::setPrefix a virtual function in base class
+DiagnosticConsumer. This allows us to avoid using dynamic_cast in
+BackendConsumer::DxilDiagHandler, required for codebases that do not
+enable RTTI. This is also the only place in the codebase that uses RTTI
+(AFAICT).
+
+Bug: chromium:333420620
+Change-Id: Ida73077f24fdb4b705b5d868b04ac6cfecb30327
+Reviewed-on: https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5464347
+Reviewed-by: dan sinclair <dsinclair@chromium.org>
+Reviewed-by: David Neto <dneto@google.com>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/557316
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../dxc/tools/clang/include/clang/Basic/Diagnostic.h | 2 ++
+ .../tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h | 3 ++-
+ .../third_party/dxc/tools/clang/lib/CodeGen/CodeGenAction.cpp | 2 +-
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/Diagnostic.h b/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/Diagnostic.h
+index cf56e3a7208..b6f804012c5 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/Diagnostic.h
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/Diagnostic.h
+@@ -1395,6 +1395,8 @@ class DiagnosticConsumer {
+ /// warnings and errors.
+ virtual void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
+ const Diagnostic &Info);
++
++ virtual void setPrefix(std::string Value) {} // HLSL Change
+ };
+
+ /// \brief A diagnostic client that ignores all diagnostics.
+diff --git a/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h b/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
+index 04a570559fe..936031e0967 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h
+@@ -45,7 +45,8 @@ class TextDiagnosticPrinter : public DiagnosticConsumer {
+ /// setPrefix - Set the diagnostic printer prefix string, which will be
+ /// printed at the start of any diagnostics. If empty, no prefix string is
+ /// used.
+- void setPrefix(std::string Value) { Prefix = Value; }
++ // HLSL Change: add override
++ void setPrefix(std::string Value) override { Prefix = Value; }
+
+ void BeginSourceFile(const LangOptions &LO, const Preprocessor *PP) override;
+ void EndSourceFile() override;
+diff --git a/chromium/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CodeGenAction.cpp b/chromium/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CodeGenAction.cpp
+index 4fa721e8122..68ebaadf5a8 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CodeGenAction.cpp
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CodeGenAction.cpp
+@@ -557,7 +557,7 @@ BackendConsumer::DxilDiagHandler(const llvm::DiagnosticInfoDxil &D) {
+
+ // If no location information is available, add function name
+ if (Loc.isInvalid()) {
+- auto *DiagClient = dynamic_cast<TextDiagnosticPrinter*>(Diags.getClient());
++ auto *DiagClient = Diags.getClient();
+ auto *func = D.getFunction();
+ if (DiagClient && func)
+ DiagClient->setPrefix("Function: " + func->getName().str());
+From b916ca00cc5222253ac5860c3e612ccf00d899c3 Mon Sep 17 00:00:00 2001
+From: Nina Satragno <nsatragno@chromium.org>
+Date: Mon, 8 Apr 2024 20:07:43 +0000
+Subject: [PATCH] [Backport] Security bug 332724843
+
+Partial manual backport of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5426374:
+[webauthn] Don't keep network contexts around
+
+Instead of having fido code pass network contexts around, pass a factory
+and get a fresh one every time one is needed.
+
+Keep cable transact* methods that take a network context around until
+we clean up the android cable client module in a follow-up.
+
+Bug: 332724843
+Change-Id: I33ea5c741706041c75c10cf881452fcf77fce445
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5426374
+Reviewed-by: Adam Langley <agl@chromium.org>
+Commit-Queue: Nina Satragno <nsatragno@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1284063}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/557317
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ chromium/device/fido/BUILD.gn | 1 +
+ .../device/fido/cable/fido_tunnel_device.cc | 9 +--
+ .../device/fido/cable/fido_tunnel_device.h | 5 +-
+ .../device/fido/cable/v2_authenticator.cc | 66 +++++++++++++++----
+ chromium/device/fido/cable/v2_authenticator.h | 28 +++++++-
+ chromium/device/fido/cable/v2_discovery.cc | 10 +--
+ chromium/device/fido/cable/v2_discovery.h | 5 +-
+ .../device/fido/fido_discovery_factory.cc | 7 +-
+ chromium/device/fido/fido_discovery_factory.h | 8 ++-
+ .../device/fido/network_context_factory.h | 20 ++++++
+ 10 files changed, 122 insertions(+), 37 deletions(-)
+ create mode 100644 chromium/device/fido/network_context_factory.h
+
+diff --git a/chromium/device/fido/BUILD.gn b/chromium/device/fido/BUILD.gn
+index 8e168df02ef..be11e40a4ce 100644
+--- src/3rdparty/chromium/device/fido/BUILD.gn
++++ src/3rdparty/chromium/device/fido/BUILD.gn
+@@ -42,6 +42,7 @@ component("fido") {
+ "fido_transport_protocol.h",
+ "json_request.cc",
+ "json_request.h",
++ "network_context_factory.h",
+ "opaque_attestation_statement.cc",
+ "opaque_attestation_statement.h",
+ "p256_public_key.cc",
+diff --git a/chromium/device/fido/cable/fido_tunnel_device.cc b/chromium/device/fido/cable/fido_tunnel_device.cc
+index ad35e6ee176..bd10a4793bb 100644
+--- src/3rdparty/chromium/device/fido/cable/fido_tunnel_device.cc
++++ src/3rdparty/chromium/device/fido/cable/fido_tunnel_device.cc
+@@ -17,6 +17,7 @@
+ #include "device/fido/features.h"
+ #include "device/fido/fido_constants.h"
+ #include "device/fido/fido_parsing_utils.h"
++#include "device/fido/network_context_factory.h"
+ #include "net/traffic_annotation/network_traffic_annotation.h"
+ #include "third_party/boringssl/src/include/openssl/aes.h"
+ #include "third_party/boringssl/src/include/openssl/digest.h"
+@@ -96,7 +97,7 @@ constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation =
+ })");
+
+ FidoTunnelDevice::FidoTunnelDevice(
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ absl::optional<base::RepeatingCallback<void(std::unique_ptr<Pairing>)>>
+ pairing_callback,
+ absl::optional<base::RepeatingCallback<void(Event)>> event_callback,
+@@ -130,7 +131,7 @@ FidoTunnelDevice::FidoTunnelDevice(
+ base::BindOnce(&FidoTunnelDevice::OnTunnelReady, base::Unretained(this)),
+ base::BindRepeating(&FidoTunnelDevice::OnTunnelData,
+ base::Unretained(this)));
+- network_context->CreateWebSocket(
++ network_context_factory.Run()->CreateWebSocket(
+ url, {kCableWebSocketProtocol}, net::SiteForCookies(),
+ net::IsolationInfo(), /*additional_headers=*/{},
+ network::mojom::kBrowserProcessId, url::Origin::Create(url),
+@@ -145,7 +146,7 @@ FidoTunnelDevice::FidoTunnelDevice(
+
+ FidoTunnelDevice::FidoTunnelDevice(
+ FidoRequestType request_type,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ std::unique_ptr<Pairing> pairing,
+ base::OnceClosure pairing_is_invalid,
+ absl::optional<base::RepeatingCallback<void(Event)>> event_callback)
+@@ -187,7 +188,7 @@ FidoTunnelDevice::FidoTunnelDevice(
+ headers.emplace_back(
+ network::mojom::HttpHeader::New(kCableSignalConnectionHeader, "true"));
+ }
+- network_context->CreateWebSocket(
++ network_context_factory.Run()->CreateWebSocket(
+ url, {kCableWebSocketProtocol}, net::SiteForCookies(),
+ net::IsolationInfo(), std::move(headers),
+ network::mojom::kBrowserProcessId, url::Origin::Create(url),
+diff --git a/chromium/device/fido/cable/fido_tunnel_device.h b/chromium/device/fido/cable/fido_tunnel_device.h
+index 1d0a7cb3372..840ecc34232 100644
+--- src/3rdparty/chromium/device/fido/cable/fido_tunnel_device.h
++++ src/3rdparty/chromium/device/fido/cable/fido_tunnel_device.h
+@@ -17,6 +17,7 @@
+ #include "device/fido/cable/websocket_adapter.h"
+ #include "device/fido/fido_constants.h"
+ #include "device/fido/fido_device.h"
++#include "device/fido/network_context_factory.h"
+ #include "third_party/abseil-cpp/absl/types/variant.h"
+
+ namespace network::mojom {
+@@ -33,7 +34,7 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoTunnelDevice : public FidoDevice {
+ public:
+ // This constructor is used for QR-initiated connections.
+ FidoTunnelDevice(
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ absl::optional<base::RepeatingCallback<void(std::unique_ptr<Pairing>)>>
+ pairing_callback,
+ absl::optional<base::RepeatingCallback<void(Event)>> event_callback,
+@@ -47,7 +48,7 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoTunnelDevice : public FidoDevice {
+ // run.
+ FidoTunnelDevice(
+ FidoRequestType request_type,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ std::unique_ptr<Pairing> pairing,
+ base::OnceClosure pairing_is_invalid,
+ absl::optional<base::RepeatingCallback<void(Event)>> event_callback);
+diff --git a/chromium/device/fido/cable/v2_authenticator.cc b/chromium/device/fido/cable/v2_authenticator.cc
+index e4bd3244cb3..faf8915ec10 100644
+--- src/3rdparty/chromium/device/fido/cable/v2_authenticator.cc
++++ src/3rdparty/chromium/device/fido/cable/v2_authenticator.cc
+@@ -23,6 +23,7 @@
+ #include "device/fido/features.h"
+ #include "device/fido/fido_constants.h"
+ #include "device/fido/fido_parsing_utils.h"
++#include "device/fido/network_context_factory.h"
+ #include "device/fido/public_key_credential_descriptor.h"
+ #include "device/fido/public_key_credential_params.h"
+ #include "device/fido/public_key_credential_rp_entity.h"
+@@ -289,7 +290,7 @@ class TunnelTransport : public Transport {
+ public:
+ TunnelTransport(
+ Platform* platform,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ base::span<const uint8_t> secret,
+ base::span<const uint8_t, device::kP256X962Length> peer_identity,
+ GeneratePairingDataCallback generate_pairing_data)
+@@ -302,7 +303,7 @@ class TunnelTransport : public Transport {
+ secret,
+ base::span<const uint8_t>(),
+ device::cablev2::DerivedValueType::kEIDKey)),
+- network_context_(network_context),
++ network_context_factory_(std::move(network_context_factory)),
+ peer_identity_(device::fido_parsing_utils::Materialize(peer_identity)),
+ generate_pairing_data_(std::move(generate_pairing_data)),
+ secret_(fido_parsing_utils::Materialize(secret)) {
+@@ -319,7 +320,7 @@ class TunnelTransport : public Transport {
+
+ TunnelTransport(
+ Platform* platform,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ base::span<const uint8_t> secret,
+ base::span<const uint8_t, device::cablev2::kClientNonceSize> client_nonce,
+ std::array<uint8_t, device::cablev2::kRoutingIdSize> routing_id,
+@@ -331,7 +332,7 @@ class TunnelTransport : public Transport {
+ secret,
+ client_nonce,
+ device::cablev2::DerivedValueType::kEIDKey)),
+- network_context_(network_context),
++ network_context_factory_(network_context_factory),
+ secret_(fido_parsing_utils::Materialize(secret)),
+ local_identity_(std::move(local_identity)) {
+ DCHECK_EQ(state_, State::kNone);
+@@ -390,7 +391,7 @@ class TunnelTransport : public Transport {
+ void StartWebSocket() {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+- network_context_->CreateWebSocket(
++ network_context_factory_.Run()->CreateWebSocket(
+ target_, {device::kCableWebSocketProtocol}, net::SiteForCookies(),
+ net::IsolationInfo(), /*additional_headers=*/{},
+ network::mojom::kBrowserProcessId, url::Origin::Create(target_),
+@@ -623,7 +624,7 @@ class TunnelTransport : public Transport {
+ const std::array<uint8_t, kEIDKeySize> eid_key_;
+ std::unique_ptr<WebSocketAdapter> websocket_client_;
+ std::unique_ptr<Crypter> crypter_;
+- const raw_ptr<network::mojom::NetworkContext> network_context_;
++ NetworkContextFactory network_context_factory_;
+ const absl::optional<std::array<uint8_t, kP256X962Length>> peer_identity_;
+ std::array<uint8_t, kPSKSize> psk_;
+ GeneratePairingDataCallback generate_pairing_data_;
+@@ -1238,7 +1239,7 @@ std::unique_ptr<Transaction> TransactWithPlaintextTransport(
+
+ std::unique_ptr<Transaction> TransactFromQRCode(
+ std::unique_ptr<Platform> platform,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ base::span<const uint8_t, kRootSecretSize> root_secret,
+ const std::string& authenticator_name,
+ base::span<const uint8_t, 16> qr_secret,
+@@ -1249,16 +1250,34 @@ std::unique_ptr<Transaction> TransactFromQRCode(
+
+ Platform* const platform_ptr = platform.get();
+ return std::make_unique<CTAP2Processor>(
+- std::make_unique<TunnelTransport>(platform_ptr, network_context,
+- qr_secret, peer_identity,
+- std::move(generate_pairing_data)),
++ std::make_unique<TunnelTransport>(
++ platform_ptr, std::move(network_context_factory), qr_secret,
++ peer_identity, std::move(generate_pairing_data)),
+ std::move(platform));
+ }
+
+-std::unique_ptr<Transaction> TransactFromFCM(
++std::unique_ptr<Transaction> TransactFromQRCodeDeprecated(
+ std::unique_ptr<Platform> platform,
+ network::mojom::NetworkContext* network_context,
+ base::span<const uint8_t, kRootSecretSize> root_secret,
++ const std::string& authenticator_name,
++ base::span<const uint8_t, 16> qr_secret,
++ base::span<const uint8_t, kP256X962Length> peer_identity,
++ std::optional<std::vector<uint8_t>> contact_id) {
++ NetworkContextFactory factory = base::BindRepeating(
++ [](network::mojom::NetworkContext* network_context) {
++ return network_context;
++ },
++ network_context);
++ return TransactFromQRCode(std::move(platform), std::move(factory),
++ root_secret, authenticator_name, qr_secret,
++ peer_identity, std::move(contact_id));
++}
++
++std::unique_ptr<Transaction> TransactFromFCM(
++ std::unique_ptr<Platform> platform,
++ NetworkContextFactory network_context_factory,
++ base::span<const uint8_t, kRootSecretSize> root_secret,
+ std::array<uint8_t, kRoutingIdSize> routing_id,
+ base::span<const uint8_t, kTunnelIdSize> tunnel_id,
+ base::span<const uint8_t, kPairingIDSize> pairing_id,
+@@ -1269,12 +1288,31 @@ std::unique_ptr<Transaction> TransactFromFCM(
+
+ Platform* const platform_ptr = platform.get();
+ return std::make_unique<CTAP2Processor>(
+- std::make_unique<TunnelTransport>(platform_ptr, network_context,
+- paired_secret, client_nonce, routing_id,
+- tunnel_id, IdentityKey(root_secret)),
++ std::make_unique<TunnelTransport>(
++ platform_ptr, std::move(network_context_factory), paired_secret,
++ client_nonce, routing_id, tunnel_id, IdentityKey(root_secret)),
+ std::move(platform));
+ }
+
++std::unique_ptr<Transaction> TransactFromFCMDeprecated(
++ std::unique_ptr<Platform> platform,
++ network::mojom::NetworkContext* network_context,
++ base::span<const uint8_t, kRootSecretSize> root_secret,
++ std::array<uint8_t, kRoutingIdSize> routing_id,
++ base::span<const uint8_t, kTunnelIdSize> tunnel_id,
++ base::span<const uint8_t, kPairingIDSize> pairing_id,
++ base::span<const uint8_t, kClientNonceSize> client_nonce,
++ std::optional<base::span<const uint8_t>> contact_id) {
++ NetworkContextFactory factory = base::BindRepeating(
++ [](network::mojom::NetworkContext* network_context) {
++ return network_context;
++ },
++ network_context);
++ return TransactFromFCM(std::move(platform), std::move(factory), root_secret,
++ std::move(routing_id), tunnel_id, pairing_id,
++ client_nonce, std::move(contact_id));
++}
++
+ } // namespace authenticator
+ } // namespace cablev2
+ } // namespace device
+diff --git a/chromium/device/fido/cable/v2_authenticator.h b/chromium/device/fido/cable/v2_authenticator.h
+index 0f55d7758ed..811e632e915 100644
+--- src/3rdparty/chromium/device/fido/cable/v2_authenticator.h
++++ src/3rdparty/chromium/device/fido/cable/v2_authenticator.h
+@@ -14,6 +14,7 @@
+ #include "base/functional/callback.h"
+ #include "device/fido/cable/v2_constants.h"
+ #include "device/fido/fido_constants.h"
++#include "device/fido/network_context_factory.h"
+ #include "services/network/public/mojom/network_context.mojom-forward.h"
+ #include "third_party/abseil-cpp/absl/types/optional.h"
+ #include "third_party/abseil-cpp/absl/types/variant.h"
+@@ -139,7 +140,7 @@ std::unique_ptr<Transaction> TransactWithPlaintextTransport(
+ // contents of a QR code.
+ std::unique_ptr<Transaction> TransactFromQRCode(
+ std::unique_ptr<Platform> platform,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ base::span<const uint8_t, kRootSecretSize> root_secret,
+ const std::string& authenticator_name,
+ // TODO: name this constant.
+@@ -147,11 +148,22 @@ std::unique_ptr<Transaction> TransactFromQRCode(
+ base::span<const uint8_t, kP256X962Length> peer_identity,
+ absl::optional<std::vector<uint8_t>> contact_id);
+
++// Deprecated, kept around while Android cable code is cleaned up. Use
++// TransactFromQRCode instead.
++std::unique_ptr<Transaction> TransactFromQRCodeDeprecated(
++ std::unique_ptr<Platform> platform,
++ network::mojom::NetworkContext* network_context,
++ base::span<const uint8_t, kRootSecretSize> root_secret,
++ const std::string& authenticator_name,
++ base::span<const uint8_t, 16> qr_secret,
++ base::span<const uint8_t, kP256X962Length> peer_identity,
++ std::optional<std::vector<uint8_t>> contact_id);
++
+ // TransactFromFCM starts a network-based transaction based on the decoded
+ // contents of a cloud message.
+ std::unique_ptr<Transaction> TransactFromFCM(
+ std::unique_ptr<Platform> platform,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ base::span<const uint8_t, kRootSecretSize> root_secret,
+ std::array<uint8_t, kRoutingIdSize> routing_id,
+ base::span<const uint8_t, kTunnelIdSize> tunnel_id,
+@@ -159,6 +171,18 @@ std::unique_ptr<Transaction> TransactFromFCM(
+ base::span<const uint8_t, kClientNonceSize> client_nonce,
+ absl::optional<base::span<const uint8_t>> contact_id);
+
++// Deprecated, kept around while Android cable code is cleaned up. Use
++// TransactFromFCM instead.
++std::unique_ptr<Transaction> TransactFromFCMDeprecated(
++ std::unique_ptr<Platform> platform,
++ network::mojom::NetworkContext* network_context,
++ base::span<const uint8_t, kRootSecretSize> root_secret,
++ std::array<uint8_t, kRoutingIdSize> routing_id,
++ base::span<const uint8_t, kTunnelIdSize> tunnel_id,
++ base::span<const uint8_t, kPairingIDSize> pairing_id,
++ base::span<const uint8_t, kClientNonceSize> client_nonce,
++ std::optional<base::span<const uint8_t>> contact_id);
++
+ } // namespace authenticator
+ } // namespace cablev2
+ } // namespace device
+diff --git a/chromium/device/fido/cable/v2_discovery.cc b/chromium/device/fido/cable/v2_discovery.cc
+index e6a8bb03557..c19ed148ee1 100644
+--- src/3rdparty/chromium/device/fido/cable/v2_discovery.cc
++++ src/3rdparty/chromium/device/fido/cable/v2_discovery.cc
+@@ -49,7 +49,7 @@ void RecordEvent(CableV2DiscoveryEvent event) {
+
+ Discovery::Discovery(
+ FidoRequestType request_type,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ absl::optional<base::span<const uint8_t, kQRKeySize>> qr_generator_key,
+ std::unique_ptr<AdvertEventStream> advert_stream,
+ std::unique_ptr<EventStream<std::unique_ptr<Pairing>>>
+@@ -62,7 +62,7 @@ Discovery::Discovery(
+ absl::optional<base::RepeatingCallback<void(Event)>> event_callback)
+ : FidoDeviceDiscovery(FidoTransportProtocol::kHybrid),
+ request_type_(request_type),
+- network_context_(network_context),
++ network_context_factory_(std::move(network_context_factory)),
+ qr_keys_(KeysFromQRGeneratorKey(qr_generator_key)),
+ extension_keys_(KeysFromExtension(extension_contents)),
+ advert_stream_(std::move(advert_stream)),
+@@ -161,7 +161,7 @@ void Discovery::OnBLEAdvertSeen(base::span<const uint8_t, kAdvertSize> advert) {
+ event_callback_->Run(Event::kBLEAdvertReceived);
+ }
+ AddDevice(std::make_unique<cablev2::FidoTunnelDevice>(
+- network_context_, pairing_callback_, event_callback_,
++ network_context_factory_, pairing_callback_, event_callback_,
+ qr_keys_->qr_secret, qr_keys_->local_identity_seed, *plaintext));
+ return;
+ }
+@@ -177,7 +177,7 @@ void Discovery::OnBLEAdvertSeen(base::span<const uint8_t, kAdvertSize> advert) {
+ RecordEvent(CableV2DiscoveryEvent::kExtensionMatch);
+ device_committed_ = true;
+ AddDevice(std::make_unique<cablev2::FidoTunnelDevice>(
+- network_context_, base::DoNothing(), event_callback_,
++ network_context_factory_, base::DoNothing(), event_callback_,
+ extension.qr_secret, extension.local_identity_seed, *plaintext));
+ return;
+ }
+@@ -190,7 +190,7 @@ void Discovery::OnBLEAdvertSeen(base::span<const uint8_t, kAdvertSize> advert) {
+ void Discovery::OnContactDevice(std::unique_ptr<Pairing> pairing) {
+ auto pairing_copy = std::make_unique<Pairing>(*pairing);
+ tunnels_pending_advert_.emplace_back(std::make_unique<FidoTunnelDevice>(
+- request_type_, network_context_, std::move(pairing),
++ request_type_, network_context_factory_, std::move(pairing),
+ base::BindOnce(&Discovery::PairingIsInvalid, weak_factory_.GetWeakPtr(),
+ std::move(pairing_copy)),
+ event_callback_));
+diff --git a/chromium/device/fido/cable/v2_discovery.h b/chromium/device/fido/cable/v2_discovery.h
+index c5aa2179d7b..44fc0180c58 100644
+--- src/3rdparty/chromium/device/fido/cable/v2_discovery.h
++++ src/3rdparty/chromium/device/fido/cable/v2_discovery.h
+@@ -19,6 +19,7 @@
+ #include "device/fido/cable/v2_constants.h"
+ #include "device/fido/fido_constants.h"
+ #include "device/fido/fido_device_discovery.h"
++#include "device/fido/network_context_factory.h"
+ #include "services/network/public/mojom/network_context.mojom-forward.h"
+ #include "third_party/abseil-cpp/absl/types/optional.h"
+
+@@ -36,7 +37,7 @@ class COMPONENT_EXPORT(DEVICE_FIDO) Discovery : public FidoDeviceDiscovery {
+
+ Discovery(
+ FidoRequestType request_type,
+- network::mojom::NetworkContext* network_context,
++ NetworkContextFactory network_context_factory,
+ absl::optional<base::span<const uint8_t, kQRKeySize>> qr_generator_key,
+ std::unique_ptr<AdvertEventStream> advert_stream,
+ // contact_device_stream contains a series of pairings indicating that the
+@@ -80,7 +81,7 @@ class COMPONENT_EXPORT(DEVICE_FIDO) Discovery : public FidoDeviceDiscovery {
+ const std::vector<CableDiscoveryData>& extension_contents);
+
+ const FidoRequestType request_type_;
+- const raw_ptr<network::mojom::NetworkContext> network_context_;
++ NetworkContextFactory network_context_factory_;
+ const absl::optional<UnpairedKeys> qr_keys_;
+ const std::vector<UnpairedKeys> extension_keys_;
+ std::unique_ptr<AdvertEventStream> advert_stream_;
+diff --git a/chromium/device/fido/fido_discovery_factory.cc b/chromium/device/fido/fido_discovery_factory.cc
+index 040aa19fbb4..2d6c85c7721 100644
+--- src/3rdparty/chromium/device/fido/fido_discovery_factory.cc
++++ src/3rdparty/chromium/device/fido/fido_discovery_factory.cc
+@@ -87,7 +87,7 @@ std::vector<std::unique_ptr<FidoDiscoveryBase>> FidoDiscoveryFactory::Create(
+ &CableDiscoveryData::version);
+ if (qr_generator_key_.has_value() || have_v2_discovery_data) {
+ ret.emplace_back(std::make_unique<cablev2::Discovery>(
+- request_type_.value(), network_context_, qr_generator_key_,
++ request_type_.value(), network_context_factory_, qr_generator_key_,
+ v1_discovery->GetV2AdvertStream(),
+ std::move(contact_device_stream_),
+ cable_data_.value_or(std::vector<CableDiscoveryData>()),
+@@ -148,11 +148,6 @@ void FidoDiscoveryFactory::set_android_accessory_params(
+ aoa_request_description_ = std::move(aoa_request_description);
+ }
+
+-void FidoDiscoveryFactory::set_network_context(
+- network::mojom::NetworkContext* network_context) {
+- network_context_ = network_context;
+-}
+-
+ void FidoDiscoveryFactory::set_cable_pairing_callback(
+ base::RepeatingCallback<void(std::unique_ptr<cablev2::Pairing>)> callback) {
+ cable_pairing_callback_ = std::move(callback);
+diff --git a/chromium/device/fido/fido_discovery_factory.h b/chromium/device/fido/fido_discovery_factory.h
+index ed2b51d86cc..9705d548c24 100644
+--- src/3rdparty/chromium/device/fido/fido_discovery_factory.h
++++ src/3rdparty/chromium/device/fido/fido_discovery_factory.h
+@@ -22,6 +22,7 @@
+ #include "device/fido/fido_request_handler_base.h"
+ #include "device/fido/fido_transport_protocol.h"
+ #include "device/fido/hid/fido_hid_discovery.h"
++#include "device/fido/network_context_factory.h"
+ #include "mojo/public/cpp/bindings/remote.h"
+ #include "services/device/public/mojom/usb_manager.mojom.h"
+ #include "services/network/public/mojom/network_context.mojom-forward.h"
+@@ -69,7 +70,10 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoDiscoveryFactory {
+ mojo::Remote<device::mojom::UsbDeviceManager>,
+ std::string aoa_request_description);
+
+- void set_network_context(network::mojom::NetworkContext*);
++ void set_network_context_factory(
++ NetworkContextFactory network_context_factory) {
++ network_context_factory_ = std::move(network_context_factory);
++ }
+
+ // set_cable_pairing_callback installs a repeating callback that will be
+ // called when a QR handshake results in a phone wishing to pair with this
+@@ -167,7 +171,7 @@ class COMPONENT_EXPORT(DEVICE_FIDO) FidoDiscoveryFactory {
+ absl::optional<mojo::Remote<device::mojom::UsbDeviceManager>>
+ usb_device_manager_;
+ std::string aoa_request_description_;
+- raw_ptr<network::mojom::NetworkContext> network_context_ = nullptr;
++ NetworkContextFactory network_context_factory_;
+ absl::optional<std::vector<CableDiscoveryData>> cable_data_;
+ absl::optional<std::array<uint8_t, cablev2::kQRKeySize>> qr_generator_key_;
+ absl::optional<FidoRequestType> request_type_;
+diff --git a/chromium/device/fido/network_context_factory.h b/chromium/device/fido/network_context_factory.h
+new file mode 100644
+index 00000000000..802f45c4c45
+--- /dev/null
++++ src/3rdparty/chromium/device/fido/network_context_factory.h
+@@ -0,0 +1,20 @@
++// Copyright 2024 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef DEVICE_FIDO_NETWORK_CONTEXT_FACTORY_H_
++#define DEVICE_FIDO_NETWORK_CONTEXT_FACTORY_H_
++
++#include "base/functional/callback_forward.h"
++
++namespace network::mojom {
++class NetworkContext;
++} // namespace network::mojom
++
++namespace device {
++using NetworkContextFactory =
++ base::RepeatingCallback<network::mojom::NetworkContext*()>;
++} // namespace device
++
++#endif // DEVICE_FIDO_NETWORK_CONTEXT_FACTORY_H_
++
+From 533465116ce3b87ebd30d1b4de055daa413c1050 Mon Sep 17 00:00:00 2001
+From: Tommy Steimel <steimel@chromium.org>
+Date: Wed, 24 Apr 2024 09:18:49 +0000
+Subject: [PATCH] [Backport] CVE-2024-4331: Use after free in Picture In
+ Picture
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5477908:
+Don't assume the enter event window is a LocalDOMWindow
+
+This CL changes DocumentPictureInPictureEvent to store a DOMWindow
+instead of a LocalDOMWindow to prevent crashes when the window it gets
+is actually a RemoteDOMWindow.
+
+(cherry picked from commit 2314741cdf2c4a6e11234dda7006ec0dd9005bbb)
+
+Bug: 335003891
+Change-Id: I86a0ec5a89b51a26d5dd89559f86e6e4d6c3e8fe
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5467978
+Commit-Queue: Tommy Steimel <steimel@chromium.org>
+Cr-Original-Commit-Position: refs/heads/main@{#1290122}
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5477908
+Auto-Submit: Tommy Steimel <steimel@chromium.org>
+Commit-Queue: Frank Liberato <liberato@chromium.org>
+Cr-Commit-Position: refs/branch-heads/6367@{#974}
+Cr-Branched-From: d158c6dc6e3604e6f899041972edf26087a49740-refs/heads/main@{#1274542}
+(cherry picked from commit 98bcf9ef5cdd3a19f8b739f2cc6b2afdb01b7694)
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/560756
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../document_picture_in_picture_event.cc | 9 ++++-----
+ .../document_picture_in_picture_event.h | 11 +++++------
+ 2 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.cc b/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.cc
+index 037813c62c2..572d0803c25 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.cc
++++ src/3rdparty/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.cc
+@@ -8,7 +8,7 @@ namespace blink {
+
+ DocumentPictureInPictureEvent* DocumentPictureInPictureEvent::Create(
+ const AtomicString& type,
+- LocalDOMWindow* document_picture_in_picture_window) {
++ DOMWindow* document_picture_in_picture_window) {
+ return MakeGarbageCollected<DocumentPictureInPictureEvent>(
+ type, document_picture_in_picture_window);
+ }
+@@ -19,13 +19,13 @@ DocumentPictureInPictureEvent* DocumentPictureInPictureEvent::Create(
+ return MakeGarbageCollected<DocumentPictureInPictureEvent>(type, initializer);
+ }
+
+-LocalDOMWindow* DocumentPictureInPictureEvent::window() const {
++DOMWindow* DocumentPictureInPictureEvent::window() const {
+ return document_picture_in_picture_window_.Get();
+ }
+
+ DocumentPictureInPictureEvent::DocumentPictureInPictureEvent(
+ AtomicString const& type,
+- LocalDOMWindow* document_picture_in_picture_window)
++ DOMWindow* document_picture_in_picture_window)
+ : Event(type, Bubbles::kYes, Cancelable::kNo),
+ document_picture_in_picture_window_(document_picture_in_picture_window) {}
+
+@@ -33,8 +33,7 @@ DocumentPictureInPictureEvent::DocumentPictureInPictureEvent(
+ AtomicString const& type,
+ const DocumentPictureInPictureEventInit* initializer)
+ : Event(type, initializer),
+- document_picture_in_picture_window_(
+- static_cast<LocalDOMWindow*>(initializer->window())) {}
++ document_picture_in_picture_window_(initializer->window()) {}
+
+ void DocumentPictureInPictureEvent::Trace(Visitor* visitor) const {
+ visitor->Trace(document_picture_in_picture_window_);
+diff --git a/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h b/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h
+index 7af20221469..59cd8cb7a2e 100644
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h
++++ src/3rdparty/chromium/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_event.h
+@@ -6,7 +6,7 @@
+ #define THIRD_PARTY_BLINK_RENDERER_MODULES_DOCUMENT_PICTURE_IN_PICTURE_DOCUMENT_PICTURE_IN_PICTURE_EVENT_H_
+
+ #include "third_party/blink/renderer/bindings/modules/v8/v8_document_picture_in_picture_event_init.h"
+-#include "third_party/blink/renderer/core/frame/local_dom_window.h"
++#include "third_party/blink/renderer/core/frame/dom_window.h"
+ #include "third_party/blink/renderer/modules/event_modules.h"
+ #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
+
+@@ -18,22 +18,21 @@ class MODULES_EXPORT DocumentPictureInPictureEvent final : public Event {
+ DEFINE_WRAPPERTYPEINFO();
+
+ public:
+- static DocumentPictureInPictureEvent* Create(const AtomicString&,
+- LocalDOMWindow*);
++ static DocumentPictureInPictureEvent* Create(const AtomicString&, DOMWindow*);
+ static DocumentPictureInPictureEvent* Create(
+ const AtomicString&,
+ const DocumentPictureInPictureEventInit*);
+
+- DocumentPictureInPictureEvent(AtomicString const&, LocalDOMWindow*);
++ DocumentPictureInPictureEvent(AtomicString const&, DOMWindow*);
+ DocumentPictureInPictureEvent(AtomicString const&,
+ const DocumentPictureInPictureEventInit*);
+
+- LocalDOMWindow* window() const;
++ DOMWindow* window() const;
+
+ void Trace(Visitor*) const override;
+
+ private:
+- Member<LocalDOMWindow> document_picture_in_picture_window_;
++ Member<DOMWindow> document_picture_in_picture_window_;
+ };
+
+ } // namespace blink
+From 8f952f1e9d4fbfcfa23f8970985214f473ebffed Mon Sep 17 00:00:00 2001
+From: Antonio Maiorano <amaiorano@google.com>
+Date: Thu, 25 Apr 2024 16:49:11 -0400
+Subject: [PATCH] [Backport] CVE-2024-4368: Use after free in Dawn
+
+Manual cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5490380:
+Fixed crash in loop unroll caused by bug in structurize loop exits (#6548)
+
+Fixed a bug in `hlsl::RemoveUnstructuredLoopExits` where when a new
+exiting block is created from splitting, it was added to the current
+loop being processed, when it could also part of an inner loop. Not
+adding the new block to inner loops that it's part of makes the inner
+loops malformed, and causes crash.
+
+This fix adds the new block to the inner most loop that it should be
+part of. Also adds the `StructurizeLoopExits` option to `loop-unroll`
+pass, which was missing before.
+
+Bug: chromium:333508731
+Change-Id: I7efc21bc61aeb81b4906a600c35272af232710ea
+Reviewed-on: https://chromium-review.googlesource.com/c/external/github.com/microsoft/DirectXShaderCompiler/+/5490380
+Reviewed-by: James Price <jrprice@google.com>
+Reviewed-by: Ben Clayton <bclayton@chromium.org>
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/560757
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../Scalar/DxilRemoveUnstructuredLoopExits.cpp | 7 ++++++-
+ .../dxc/lib/Transforms/Scalar/LoopUnrollPass.cpp | 12 ++++++++++++
+ .../dawn/third_party/dxc/utils/hct/hctdb.py | 3 ++-
+ 3 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveUnstructuredLoopExits.cpp b/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveUnstructuredLoopExits.cpp
+index 1278b1cac0a..a68a4dd7c56 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveUnstructuredLoopExits.cpp
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveUnstructuredLoopExits.cpp
+@@ -430,7 +430,12 @@ static bool RemoveUnstructuredLoopExitsIteration(BasicBlock *exiting_block, Loop
+ BasicBlock *new_not_exiting_block = new_exiting_block->splitBasicBlock(new_exiting_block->getFirstNonPHI());
+ new_exiting_block->setName("dx.struct_exit.new_exiting");
+ new_not_exiting_block->setName(old_name);
+- L->addBasicBlockToLoop(new_not_exiting_block, *LI);
++ // Query for new_exiting_block's own loop to add new_not_exiting_block to.
++ // It's possible that new_exiting_block is part of another inner loop
++ // separate from L. If added directly to L, the inner loop(s) will not
++ // contain new_not_exiting_block, making them malformed.
++ Loop *inner_loop_of_exiting_block = LI->getLoopFor(new_exiting_block);
++ inner_loop_of_exiting_block->addBasicBlockToLoop(new_not_exiting_block, *LI);
+
+ // Branch to latch_exit
+ new_exiting_block->getTerminator()->eraseFromParent();
+diff --git a/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/LoopUnrollPass.cpp b/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/LoopUnrollPass.cpp
+index dd520f7e57d..b17a5a4a0bc 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/LoopUnrollPass.cpp
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/LoopUnrollPass.cpp
+@@ -155,6 +155,18 @@ namespace {
+ bool UserAllowPartial;
+ bool UserRuntime;
+
++ // HLSL Change - begin
++ // Function overrides that resolve options when used for DxOpt
++ void applyOptions(PassOptions O) override {
++ GetPassOptionBool(O, "StructurizeLoopExits", &StructurizeLoopExits,
++ false);
++ }
++ void dumpConfig(raw_ostream &OS) override {
++ LoopPass::dumpConfig(OS);
++ OS << ",StructurizeLoopExits=" << StructurizeLoopExits;
++ }
++ // HLSL Change - end
++
+ bool runOnLoop(Loop *L, LPPassManager &LPM) override;
+
+ /// This transformation requires natural loop information & requires that
+diff --git a/chromium/third_party/dawn/third_party/dxc/utils/hct/hctdb.py b/chromium/third_party/dawn/third_party/dxc/utils/hct/hctdb.py
+index dcb1923fafe..96da518d1ac 100644
+--- src/3rdparty/chromium/third_party/dawn/third_party/dxc/utils/hct/hctdb.py
++++ src/3rdparty/chromium/third_party/dawn/third_party/dxc/utils/hct/hctdb.py
+@@ -2270,7 +2270,8 @@ def add_pass(name, type_name, doc, opts):
+ {'n':'unroll-count', 'i':'UnrollCount', 't':'unsigned', 'd':'Use this unroll count for all loops including those with unroll_count pragma values, for testing purposes'},
+ {'n':'unroll-allow-partial', 'i':'UnrollAllowPartial', 't':'bool', 'd':'Allows loops to be partially unrolled until -unroll-threshold loop size is reached.'},
+ {'n':'unroll-runtime', 'i':'UnrollRuntime', 't':'bool', 'd':'Unroll loops with run-time trip counts'},
+- {'n':'pragma-unroll-threshold', 'i':'PragmaUnrollThreshold', 't':'unsigned', 'd':'Unrolled size limit for loops with an unroll(full) or unroll_count pragma.'}])
++ {'n':'pragma-unroll-threshold', 'i':'PragmaUnrollThreshold', 't':'unsigned', 'd':'Unrolled size limit for loops with an unroll(full) or unroll_count pragma.'},
++ {'n': 'StructurizeLoopExits', 't': 'bool', 'c': 1, 'd': 'Whether the unroller should try to structurize loop exits first.'}])
+ add_pass('mldst-motion', 'MergedLoadStoreMotion', 'MergedLoadStoreMotion', [])
+ add_pass('gvn', 'GVN', 'Global Value Numbering', [
+ {'n':'noloads', 't':'bool', 'c':1},
+From 453dc7630d1e8457a97a7cbc70b8990afd5bf5e4 Mon Sep 17 00:00:00 2001
+From: Ken Rockot <rockot@google.com>
+Date: Wed, 8 May 2024 15:32:48 +0000
+Subject: [PATCH] [Backport] CVE-2024-4671: Use after free in Visuals
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/chromium/src/+/5523748:
+Viz: Tolerate SinkGroup destruction during submit
+
+Fixed: 339266700
+Change-Id: I8c0ea8c540948016346b00db64fe33260d2446f0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5523748
+Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
+Reviewed-by: Jonathan Ross <jonross@chromium.org>
+Commit-Queue: Ken Rockot <rockot@google.com>
+Cr-Commit-Position: refs/heads/main@{#1298119}
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/560758
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ .../frame_sinks/frame_sink_bundle_impl.cc | 30 ++++++++++++++-----
+ 1 file changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/chromium/components/viz/service/frame_sinks/frame_sink_bundle_impl.cc b/chromium/components/viz/service/frame_sinks/frame_sink_bundle_impl.cc
+index e339c23f9cd..2ae2dfe1a8b 100644
+--- src/3rdparty/chromium/components/viz/service/frame_sinks/frame_sink_bundle_impl.cc
++++ src/3rdparty/chromium/components/viz/service/frame_sinks/frame_sink_bundle_impl.cc
+@@ -4,12 +4,15 @@
+
+ #include "components/viz/service/frame_sinks/frame_sink_bundle_impl.h"
+
++#include <map>
+ #include <utility>
+ #include <vector>
+
+ #include "base/check.h"
+ #include "base/functional/bind.h"
++#include "base/memory/raw_ptr.h"
+ #include "base/memory/raw_ref.h"
++#include "base/memory/weak_ptr.h"
+ #include "build/build_config.h"
+ #include "components/viz/service/frame_sinks/compositor_frame_sink_impl.h"
+ #include "components/viz/service/frame_sinks/frame_sink_manager_impl.h"
+@@ -45,6 +48,10 @@ class FrameSinkBundleImpl::SinkGroup : public BeginFrameObserver {
+
+ bool IsEmpty() const { return frame_sinks_.empty(); }
+
++ base::WeakPtr<SinkGroup> GetWeakPtr() {
++ return weak_ptr_factory_.GetWeakPtr();
++ }
++
+ void AddFrameSink(uint32_t sink_id) {
+ frame_sinks_.insert(sink_id);
+
+@@ -206,6 +213,8 @@ class FrameSinkBundleImpl::SinkGroup : public BeginFrameObserver {
+ std::set<uint32_t> unacked_submissions_;
+
+ BeginFrameArgs last_used_begin_frame_args_;
++
++ base::WeakPtrFactory<SinkGroup> weak_ptr_factory_{this};
+ };
+
+ FrameSinkBundleImpl::FrameSinkBundleImpl(
+@@ -276,8 +285,9 @@ void FrameSinkBundleImpl::SetNeedsBeginFrame(uint32_t sink_id,
+
+ void FrameSinkBundleImpl::Submit(
+ std::vector<mojom::BundledFrameSubmissionPtr> submissions) {
+- std::set<SinkGroup*> groups;
+- std::set<SinkGroup*> affected_groups;
++ std::map<raw_ptr<SinkGroup>, base::WeakPtr<SinkGroup>> groups;
++ std::map<raw_ptr<SinkGroup>, base::WeakPtr<SinkGroup>> affected_groups;
++
+ // Count the frame submissions before processing anything. This ensures that
+ // any frames submitted here will be acked together in a batch, and not acked
+ // individually in case they happen to ack synchronously within
+@@ -288,10 +298,10 @@ void FrameSinkBundleImpl::Submit(
+ // through to the client without batching.
+ for (auto& submission : submissions) {
+ if (auto* group = GetSinkGroup(submission->sink_id)) {
+- groups.insert(group);
++ groups.emplace(group, group->GetWeakPtr());
+ if (submission->data->is_frame()) {
+ group->WillSubmitFrame(submission->sink_id);
+- affected_groups.insert(group);
++ affected_groups.emplace(group, group->GetWeakPtr());
+ }
+ }
+ }
+@@ -321,12 +331,16 @@ void FrameSinkBundleImpl::Submit(
+ }
+ }
+
+- for (auto* group : groups) {
+- group->DidFinishFrame();
++ for (const auto& [unsafe_group, weak_group] : groups) {
++ if (weak_group) {
++ weak_group->DidFinishFrame();
++ }
+ }
+
+- for (auto* group : affected_groups) {
+- group->FlushMessages();
++ for (const auto& [unsafe_group, weak_group] : affected_groups) {
++ if (weak_group) {
++ weak_group->FlushMessages();
++ }
+ }
+ }
+
+From 09a04a46a47e57bc423cc37fb95bc66041936940 Mon Sep 17 00:00:00 2001
+From: Shu-yu Guo <syg@chromium.org>
+Date: Thu, 9 May 2024 12:03:28 -0700
+Subject: [PATCH] [Backport] Security bug 339458194
+
+Cherry-pick of patch originally reviewed on
+https://chromium-review.googlesource.com/c/v8/v8/+/5527397
+Only normalize JSObject targets in SetOrCopyDataProperties
+
+Bug: b/339458194
+Change-Id: I4d6eebdd921971fa28d7c474535d978900ba633f
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5527397
+Commit-Queue: Shu-yu Guo <syg@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#93811}
+(cherry picked from commit f320600cd1f48ba6bb57c0395823fe0c5e5ec52e)
+Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/560760
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ chromium/v8/src/objects/js-objects.cc | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/chromium/v8/src/objects/js-objects.cc b/chromium/v8/src/objects/js-objects.cc
+index 6094323ee09..9d104492603 100644
+--- src/3rdparty/chromium/v8/src/objects/js-objects.cc
++++ src/3rdparty/chromium/v8/src/objects/js-objects.cc
+@@ -429,9 +429,7 @@ Maybe<bool> JSReceiver::SetOrCopyDataProperties(
+ Nothing<bool>());
+
+ if (!from->HasFastProperties() && target->HasFastProperties() &&
+- !IsJSGlobalProxy(*target)) {
+- // JSProxy is always in slow-mode.
+- DCHECK(!IsJSProxy(*target));
++ IsJSObject(*target) && !IsJSGlobalProxy(*target)) {
+ // Convert to slow properties if we're guaranteed to overflow the number of
+ // descriptors.
+ int source_length;
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 f22c3b6676f2..0f0336991402 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/BUILD.gn
-@@ -61,7 +61,7 @@ declare_args() {
+@@ -62,7 +62,7 @@ declare_args() {
qtwebengine_target = "//tools/gn"
}
@@ -9,25 +9,58 @@
# An official (maximally optimized!) component (optimized for build times)
# build doesn't make sense and usually doesn't work.
assert(!is_component_build)
-@@ -428,7 +428,7 @@ if (!is_qtwebengine){
+@@ -96,7 +96,6 @@ group("gn_all") {
+ "//codelabs",
+ "//components:components_unittests",
+ "//components/gwp_asan:gwp_asan_unittests",
+- "//infra/orchestrator:orchestrator_all",
+ "//net:net_unittests",
+ "//sandbox:sandbox_unittests",
+ "//services:services_unittests",
+@@ -418,7 +417,7 @@ group("gn_all") {
+ }
+ }
+
+- if (is_linux || is_chromeos || is_android) {
++ if ((is_linux && !is_bsd) || is_chromeos || is_android) {
+ deps += [
+ "//third_party/breakpad:breakpad_unittests",
+ "//third_party/breakpad:core-2-minidump",
+@@ -618,6 +617,15 @@ group("gn_all") {
+ }
+ }
+
++ if (is_bsd) {
++ deps -= [
++ "//third_party/breakpad:dump_syms($host_toolchain)",
++ "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
++ "//third_party/breakpad:minidump_dump($host_toolchain)",
++ "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
++ ]
++ }
++
+ if (is_mac) {
+ deps += [
+ "//third_party/breakpad:dump_syms",
+@@ -667,7 +675,7 @@ group("gn_all") {
+ host_os == "win") {
+ deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
+ }
+- } else if (!is_android && !is_ios && !is_fuchsia) {
++ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) {
+ deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
}
- }
-- 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",
-@@ -1098,7 +1098,7 @@ if (!is_ios && !is_qtwebengine) {
+@@ -1095,7 +1103,7 @@ if (use_blink && !is_cronet_build) {
]
}
- 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") {
-@@ -1198,7 +1198,7 @@ if (!is_ios && !is_qtwebengine) {
+ script = "//third_party/blink/tools/run_wpt_tests.py"
+ args = [
+@@ -1185,7 +1193,7 @@ if (use_blink && !is_cronet_build) {
data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
}
@@ -36,7 +69,7 @@
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
-@@ -1207,7 +1207,7 @@ if (!is_ios && !is_qtwebengine) {
+@@ -1194,7 +1202,7 @@ if (use_blink && !is_cronet_build) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
@@ -45,7 +78,7 @@
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
-@@ -1675,7 +1675,7 @@ group("chromium_builder_perf") {
+@@ -1654,7 +1662,7 @@ group("chromium_builder_perf") {
data_deps += [ "//chrome/test:performance_browser_tests" ]
}
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 9c2a0f9c2332..07baa903ce0a 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,6 +1,6 @@
---- src/3rdparty/chromium/base/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/base/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/base/BUILD.gn
-@@ -189,7 +189,7 @@ buildflag_header("ios_cronet_buildflags") {
+@@ -199,7 +199,7 @@ buildflag_header("ios_cronet_buildflags") {
flags = [ "CRONET_BUILD=$is_cronet_build" ]
}
@@ -9,24 +9,32 @@
buildflag_header("message_pump_buildflags") {
header = "message_pump_buildflags.h"
header_dir = "base/message_loop"
-@@ -1009,7 +1009,6 @@ jumbo_component("base") {
- "threading/thread_type_delegate.cc",
- "threading/thread_type_delegate.h",
- ]
-- jumbo_excluded_sources += [ "process/memory_linux.cc" ]
+@@ -1117,11 +1117,23 @@ jumbo_component("base") {
+ # Needed for <atomic> if using newer C++ library than sysroot, except if
+ # building inside the cros_sdk environment - use host_toolchain as a
+ # more robust check for this.
+- if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
++ if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) &&
+ host_toolchain != "//build/toolchain/cros:host") {
+ libs += [ "atomic" ]
}
- if (is_linux || is_chromeos || is_android || is_fuchsia) {
-@@ -1132,7 +1131,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/partition_allocator/shim/allocator_shim_override_cpp_symbols.h",
- "allocator/partition_allocator/shim/allocator_shim_override_glibc_weak_symbols.h",
-@@ -1173,7 +1172,7 @@ jumbo_component("base") {
++ # *BSD needs libkvm
++ if (is_bsd) {
++ libs += [ "kvm" ]
++ }
++
++ if (is_freebsd) {
++ libs += [
++ "execinfo",
++ "util",
++ ]
++ }
++
+ if (use_allocator_shim) {
+ if (is_apple) {
+ sources += [ "allocator/early_zone_registration_apple.h" ]
+@@ -1141,7 +1153,7 @@ jumbo_component("base") {
# Allow more direct string conversions on platforms with native utf8
# strings
@@ -35,7 +43,30 @@
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -2119,6 +2118,43 @@ jumbo_component("base") {
+@@ -2091,6 +2103,22 @@ jumbo_component("base") {
+ ]
+ }
+
++ if (is_openbsd) {
++ sources += [
++ "process/process_handle_openbsd.cc",
++ "process/process_iterator_openbsd.cc",
++ "process/process_metrics_openbsd.cc",
++ "system/sys_info_openbsd.cc",
++ ]
++ } else if (is_freebsd) {
++ sources += [
++ "process/process_handle_freebsd.cc",
++ "process/process_iterator_freebsd.cc",
++ "process/process_metrics_freebsd.cc",
++ "system/sys_info_freebsd.cc",
++ ]
++ }
++
+ # iOS
+ if (is_ios) {
+ sources += [
+@@ -2223,6 +2251,29 @@ jumbo_component("base") {
}
}
@@ -43,43 +74,29 @@
+ sources -= [
+ "files/file_path_watcher_inotify.cc",
+ "files/scoped_file_linux.cc",
-+ "process/process_linux.cc",
+ "system/sys_info_linux.cc",
+ "process/process_iterator_linux.cc",
++ "process/process_linux.cc",
+ "process/process_metrics_linux.cc",
+ "process/process_handle_linux.cc",
+ "profiler/stack_copier_signal.cc",
+ "profiler/stack_copier_signal.h",
+ "profiler/thread_delegate_posix.cc",
+ "profiler/thread_delegate_posix.h",
++ "threading/platform_thread_linux.cc",
+ ]
+ sources += [
+ "files/file_path_watcher_kqueue.cc",
+ "files/file_path_watcher_kqueue.h",
+ "files/file_path_watcher_bsd.cc",
++ "threading/platform_thread_bsd.cc",
+ ]
+ }
+
-+ if (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) {
+ if (use_blink) {
sources += [
-@@ -2214,7 +2250,7 @@ jumbo_component("base") {
+ "files/file_path_watcher.cc",
+@@ -2233,7 +2284,7 @@ jumbo_component("base") {
}
if (dep_libevent) {
@@ -88,7 +105,7 @@
}
if (use_libevent) {
-@@ -3482,7 +3518,7 @@ test("base_unittests") {
+@@ -3607,7 +3658,7 @@ test("base_unittests") {
]
}
@@ -97,7 +114,7 @@
sources += [
"debug/proc_maps_linux_unittest.cc",
"files/scoped_file_linux_unittest.cc",
-@@ -3531,7 +3567,7 @@ test("base_unittests") {
+@@ -3628,7 +3679,7 @@ test("base_unittests") {
"posix/file_descriptor_shuffle_unittest.cc",
"posix/unix_domain_socket_unittest.cc",
]
@@ -106,7 +123,7 @@
sources += [
"profiler/stack_base_address_posix_unittest.cc",
"profiler/stack_copier_signal_unittest.cc",
-@@ -3542,7 +3578,7 @@ test("base_unittests") {
+@@ -3639,7 +3690,7 @@ test("base_unittests") {
# Allow more direct string conversions on platforms with native utf8
# strings
@@ -115,7 +132,7 @@
defines += [ "SYSTEM_NATIVE_UTF8" ]
}
-@@ -3763,7 +3799,7 @@ test("base_unittests") {
+@@ -3895,7 +3946,7 @@ test("base_unittests") {
}
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_dispatcher_tls.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_dispatcher_tls.h
index e0f121f10163..e31181bb5508 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_dispatcher_tls.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_dispatcher_tls.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/dispatcher/tls.h.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/base/allocator/dispatcher/tls.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/base/allocator/dispatcher/tls.h
-@@ -51,7 +51,7 @@ struct BASE_EXPORT MMapAllocator {
+@@ -50,7 +50,7 @@ struct BASE_EXPORT MMapAllocator {
partition_alloc::PartitionPageSize();
#elif BUILDFLAG(IS_APPLE)
constexpr static size_t AllocationChunkSize = 16384;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_BUILD.gn
new file mode 100644
index 000000000000..16dc80d6f2e1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/base/allocator/partition_allocator/BUILD.gn.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/base/allocator/partition_allocator/BUILD.gn
+@@ -562,7 +562,7 @@ source_set("allocator_shim") {
+ ]
+ configs += [ ":mac_no_default_new_delete_symbols" ]
+ }
+- if (is_chromeos || is_linux) {
++ if ((is_chromeos || is_linux) && !is_bsd) {
+ sources += [
+ "shim/allocator_shim_override_cpp_symbols.h",
+ "shim/allocator_shim_override_glibc_weak_symbols.h",
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 0b96554c9d5b..c48328b2fae5 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,11 +1,11 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.h.orig 2023-09-13 12:11:42 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)
++ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !BUILDFLAG(IS_BSD)
// We shouldn't allocate system pages at all for sanitizer builds. However,
// we do, and if random hint addresses interfere with address ranges
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 8c4250d7d91e..3eb4f28da567 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,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator.h
-@@ -231,7 +231,7 @@ void DecommitAndZeroSystemPages(void* address, size_t
+@@ -258,7 +258,7 @@ void DecommitAndZeroSystemPages(void* address,
// recommitted. Do not assume that this will not change over time.
constexpr PA_COMPONENT_EXPORT(
PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() {
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 925000cf8eef..272faad2da2b 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,4 +1,4 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h.orig 2022-09-24 10:57:32 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_constants.h
@@ -25,7 +25,7 @@
// elimination.
@@ -9,7 +9,7 @@
// 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
-@@ -81,7 +81,7 @@ PageAllocationGranularityShift() {
+@@ -92,7 +92,7 @@ PageAllocationGranularityShift() {
return 14; // 16kB
#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)
return static_cast<size_t>(vm_page_shift);
@@ -18,7 +18,7 @@
// arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16)
// page sizes. Retrieve from or initialize cache.
size_t shift = page_characteristics.shift.load(std::memory_order_relaxed);
-@@ -102,7 +102,7 @@ PageAllocationGranularity() {
+@@ -113,7 +113,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;
@@ -27,8 +27,8 @@
// arm64 supports 4kb, 16kb, and 64kb page sizes. Retrieve from or
// initialize cache.
size_t size = page_characteristics.size.load(std::memory_order_relaxed);
-@@ -141,7 +141,7 @@ SystemPageShift() {
- PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
+@@ -152,7 +152,7 @@ SystemPageShift() {
+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t
SystemPageSize() {
#if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \
- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
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 734969897517..b0e1fabca7e2 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,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -380,8 +380,12 @@ bool TryRecommitSystemPagesInternal(
+@@ -403,8 +403,12 @@ bool TryRecommitSystemPagesInternal(
void DiscardSystemPagesInternal(uintptr_t address, size_t length) {
void* ptr = reinterpret_cast<void*>(address);
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 b16f589d70fe..9171c87c625d 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,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_address_space.cc
-@@ -417,7 +417,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting()
+@@ -420,7 +420,7 @@ void PartitionAddressSpace::UninitThreadIsolatedPoolFo
}
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.gni
index e5856f005242..7cf907ee908d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.gni
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc.gni
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc.gni.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc.gni.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc.gni
-@@ -276,7 +276,7 @@ assert(!use_asan_backup_ref_ptr || use_hookable_raw_pt
- "AsanBackupRefPtr requires RawPtrHookableImpl")
-
- declare_args() {
-- enable_pkeys = is_linux && target_cpu == "x64"
-+ enable_pkeys = (is_linux && !is_bsd) && target_cpu == "x64"
+@@ -328,7 +328,7 @@ declare_args() {
+ # pkeys support is explicitly disabled in all Cronet builds, as some test
+ # dependencies that use partition_allocator are compiled in AOSP against a
+ # version of glibc that does not include pkeys syscall numbers.
+- enable_pkeys = is_linux && target_cpu == "x64" && !is_cronet_build
++ enable_pkeys = (is_linux && !is_bsd) && target_cpu == "x64" && !is_cronet_build
}
assert(!enable_pkeys || (is_linux && target_cpu == "x64"),
"Pkeys are only supported on x64 linux")
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h
new file mode 100644
index 000000000000..2577bd6e1d7a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h
@@ -0,0 +1,32 @@
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h
+@@ -24,9 +24,9 @@
+ // Annotate a function indicating it should not be inlined.
+ // Use like:
+ // NOINLINE void DoStuff() { ... }
+-#if defined(__clang__) && PA_HAS_ATTRIBUTE(noinline)
++#if defined(__clang__) && (__clang_major__ >= 15) && PA_HAS_ATTRIBUTE(noinline)
+ #define PA_NOINLINE [[clang::noinline]]
+-#elif defined(COMPILER_GCC) && PA_HAS_ATTRIBUTE(noinline)
++#elif (defined(COMPILER_GCC) || defined(__clang__)) && PA_HAS_ATTRIBUTE(noinline)
+ #define PA_NOINLINE __attribute__((noinline))
+ #elif defined(COMPILER_MSVC)
+ #define PA_NOINLINE __declspec(noinline)
+@@ -34,7 +34,7 @@
+ #define PA_NOINLINE
+ #endif
+
+-#if defined(__clang__) && defined(NDEBUG) && PA_HAS_ATTRIBUTE(always_inline)
++#if defined(__clang__) && (__clang_major__ >= 15) && defined(NDEBUG) && PA_HAS_ATTRIBUTE(always_inline)
+ #define PA_ALWAYS_INLINE [[clang::always_inline]] inline
+ #elif defined(COMPILER_GCC) && defined(NDEBUG) && \
+ PA_HAS_ATTRIBUTE(always_inline)
+@@ -53,7 +53,7 @@
+ // prevent code folding, see NO_CODE_FOLDING() in base/debug/alias.h.
+ // Use like:
+ // void NOT_TAIL_CALLED FooBar();
+-#if defined(__clang__) && PA_HAS_ATTRIBUTE(not_tail_called)
++#if defined(__clang__) && (__clang_major__ >= 15) && PA_HAS_ATTRIBUTE(not_tail_called)
+ #define PA_NOT_TAIL_CALLED [[clang::not_tail_called]]
+ #else
+ #define PA_NOT_TAIL_CALLED
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_debug_stack__trace__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_debug_stack__trace__posix.cc
new file mode 100644
index 000000000000..4f82b1eff27f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__alloc__base_debug_stack__trace__posix.cc
@@ -0,0 +1,34 @@
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/debug/stack_trace_posix.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/debug/stack_trace_posix.cc
+@@ -12,11 +12,11 @@
+ #include <string.h>
+ #include <unistd.h>
+
+-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_APPLE)
++#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
+ #include <link.h> // For ElfW() macro.
+ #endif
+
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ #define HAVE_DLADDR
+ #include <dlfcn.h>
+ #endif
+@@ -25,7 +25,7 @@ namespace partition_alloc::internal::base::debug {
+
+ namespace {
+
+-#if !BUILDFLAG(IS_APPLE)
++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
+
+ constexpr size_t kBufferSize = 4096u;
+
+@@ -359,7 +359,7 @@ void PrintStackTraceInternal(void* const* trace, size_
+ }
+ #endif // !BUILDFLAG(IS_APPLE)
+
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ // Since /proc/self/maps is not available, use dladdr() to obtain module
+ // names and offsets inside the modules from the given addresses.
+ void PrintStackTraceInternal(void* const* trace, size_t size) {
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
index 3862972fb3c6..1c070033462d 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2022-07-22 17:30:31 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2023-09-13 12:11:42 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) {
+@@ -90,6 +90,10 @@ void RandBytes(void* output, size_t output_length) {
if (getentropy(output, output_length) == 0) {
return;
}
@@ -9,5 +9,5 @@
+ return;
+ }
#endif
-
- // If the OS-specific mechanisms didn't work, fall through to reading from
+ // If getrandom(2) above returned with an error and the /dev/urandom fallback
+ // took place on Linux/ChromeOS bots, they would fail with a CHECK in
diff --git a/www/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 fd5c07ae23ed..cd7f463a4040 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,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_config.h
-@@ -104,7 +104,7 @@ static_assert(sizeof(void*) != 8, "");
+@@ -94,7 +94,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).
#define PA_CONFIG_HAS_LINUX_KERNEL() \
@@ -9,7 +9,7 @@
// On some platforms, we implement locking by spinning in userspace, then going
// into the kernel only if there is contention. This requires platform support,
-@@ -251,7 +251,7 @@ constexpr bool kUseLazyCommit = false;
+@@ -237,7 +237,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.
#define PA_CONFIG_HAS_ATFORK_HANDLER() \
@@ -18,7 +18,7 @@
// PartitionAlloc uses PartitionRootEnumerator to acquire all
// PartitionRoots at BeforeFork and to release at AfterFork.
-@@ -296,7 +296,7 @@ constexpr bool kUseLazyCommit = false;
+@@ -284,7 +284,7 @@ constexpr bool kUseLazyCommit = false;
// Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to
// larger slot spans.
#define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() \
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 7a6ee0bf9191..397135e90aa3 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,20 +1,21 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_constants.h
-@@ -92,7 +92,7 @@ PartitionPageShift() {
+@@ -95,7 +95,7 @@ PartitionPageShift() {
return 18; // 256 KiB
}
#elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \
- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64))
+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64))
- PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t
+ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t
PartitionPageShift() {
return PageAllocationGranularityShift() + 2;
-@@ -296,7 +296,7 @@ constexpr size_t kNumPools = kMaxPoolHandle - 1;
- // When pointer compression is enabled, we cannot use large pools (at most
+@@ -297,7 +297,8 @@ constexpr size_t kNumPools = kMaxPoolHandle - 1;
// 8GB for each of the glued pools).
#if BUILDFLAG(HAS_64_BIT_POINTERS)
--#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION)
-+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) || BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || \
+- BUILDFLAG(ENABLE_POINTER_COMPRESSION)
++ BUILDFLAG(ENABLE_POINTER_COMPRESSION) || \
++ 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
index a00532114b5f..c3fcc5774afb 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_alloc_forward.h
-@@ -27,9 +27,13 @@ namespace internal {
+@@ -28,9 +28,13 @@ namespace internal {
// the second one 16. We could technically return something different for
// malloc() and operator new(), but this would complicate things, and most of
// our allocations are presumably coming from operator new() anyway.
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
deleted file mode 100644
index 7ec258bfe64e..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_page.h.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_page.h
-@@ -143,7 +143,7 @@ struct SlotSpanMetadata {
- // 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).
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page__constants.h
new file mode 100644
index 000000000000..33c47d3245bc
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_partition__page__constants.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_page_constants.h.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_page_constants.h
+@@ -16,7 +16,7 @@ namespace partition_alloc::internal {
+ // (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).
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 6f8d525cdbcc..b925619dd52c 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,6 +1,6 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/partition_root.cc
-@@ -42,7 +42,7 @@
+@@ -47,7 +47,7 @@
#include "wow64apiset.h"
#endif
@@ -9,7 +9,7 @@
#include <pthread.h>
#endif
-@@ -245,7 +245,7 @@ void PartitionAllocMallocInitOnce() {
+@@ -281,7 +281,7 @@ void PartitionAllocMallocInitOnce() {
return;
}
@@ -18,7 +18,7 @@
// 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.
-@@ -339,7 +339,7 @@ static size_t PartitionPurgeSlotSpan(
+@@ -379,7 +379,7 @@ static size_t PartitionPurgeSlotSpan(PartitionRoot* ro
constexpr size_t kMaxSlotCount =
(PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) /
MinPurgeableSlotSize();
@@ -27,7 +27,7 @@
// 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
-@@ -811,7 +811,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions
+@@ -948,7 +948,7 @@ void PartitionRoot::Init(PartitionOptions opts) {
// apple OSes.
PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) ||
(internal::SystemPageSize() == (size_t{1} << 14)));
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 8f34cabed102..06cc5fa96143 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,4 +1,4 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/spinning_mutex.cc
@@ -18,7 +18,16 @@
@@ -17,7 +17,7 @@
#include <sys/syscall.h>
#include <unistd.h>
#endif // PA_CONFIG(HAS_LINUX_KERNEL)
-@@ -107,8 +116,16 @@ void SpinningMutex::FutexWait() {
+@@ -108,8 +117,16 @@ void SpinningMutex::FutexWait() {
// |kLockedContended| anymore. Note that even without spurious wakeups, the
// value of |state_| is not guaranteed when this returns, as another thread
// may get the lock before we get to run.
@@ -34,7 +34,7 @@
if (err) {
// These are programming error, check them.
-@@ -120,8 +137,16 @@ void SpinningMutex::FutexWait() {
+@@ -121,8 +138,16 @@ void SpinningMutex::FutexWait() {
void SpinningMutex::FutexWake() {
int saved_errno = errno;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_starscan_stack_stack.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_starscan_stack_stack.cc
index 1f24d9074f2f..cfa0d433b7e8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_starscan_stack_stack.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_allocator_partition__allocator_starscan_stack_stack.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/allocator/partition_allocator/starscan/stack/stack.cc
@@ -18,6 +18,10 @@
#include <pthread.h>
#endif
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+#include <pthread_np.h>
+#endif
+
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 49bcb7b5ac66..f5180faeb6f1 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,7 +1,7 @@
---- src/3rdparty/chromium/base/base_switches.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/base_switches.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/base_switches.cc
-@@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
-
+@@ -180,7 +180,7 @@ const char kPackageVersionName[] = "package-version-na
+ const char kPackageVersionCode[] = "package-version-code";
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
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 21d5313d8ecf..e3ecb7515a0c 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,7 +1,7 @@
---- src/3rdparty/chromium/base/base_switches.h.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/base_switches.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/base_switches.h
-@@ -60,7 +60,7 @@ extern const char kEnableIdleTracing[];
- extern const char kForceFieldTrialParams[];
+@@ -62,7 +62,7 @@ extern const char kPackageVersionName[];
+ extern const char kPackageVersionCode[];
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_compiler__specific.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_compiler__specific.h
new file mode 100644
index 000000000000..ad3ed85ba102
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_compiler__specific.h
@@ -0,0 +1,35 @@
+--- src/3rdparty/chromium/base/compiler_specific.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/base/compiler_specific.h
+@@ -41,9 +41,9 @@
+ // Annotate a function indicating it should not be inlined.
+ // Use like:
+ // NOINLINE void DoStuff() { ... }
+-#if defined(__clang__) && HAS_ATTRIBUTE(noinline)
++#if defined(__clang__) && (__clang_major__ >= 15) && HAS_ATTRIBUTE(noinline)
+ #define NOINLINE [[clang::noinline]]
+-#elif defined(COMPILER_GCC) && HAS_ATTRIBUTE(noinline)
++#elif (defined(COMPILER_GCC) || defined(__clang__)) && HAS_ATTRIBUTE(noinline)
+ #define NOINLINE __attribute__((noinline))
+ #elif defined(COMPILER_MSVC)
+ #define NOINLINE __declspec(noinline)
+@@ -51,9 +51,9 @@
+ #define NOINLINE
+ #endif
+
+-#if defined(__clang__) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline)
++#if defined(__clang__) && (__clang_major__ >= 15) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline)
+ #define ALWAYS_INLINE [[clang::always_inline]] inline
+-#elif defined(COMPILER_GCC) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline)
++#elif (defined(COMPILER_GCC) || defined(__clang__)) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline)
+ #define ALWAYS_INLINE inline __attribute__((__always_inline__))
+ #elif defined(COMPILER_MSVC) && defined(NDEBUG)
+ #define ALWAYS_INLINE __forceinline
+@@ -69,7 +69,7 @@
+ // prevent code folding, see NO_CODE_FOLDING() in base/debug/alias.h.
+ // Use like:
+ // NOT_TAIL_CALLED void FooBar();
+-#if defined(__clang__) && HAS_ATTRIBUTE(not_tail_called)
++#if defined(__clang__) && (__clang_major__ >= 15) && HAS_ATTRIBUTE(not_tail_called)
+ #define NOT_TAIL_CALLED [[clang::not_tail_called]]
+ #else
+ #define NOT_TAIL_CALLED
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 d4a4722204fd..babce6ea3dbf 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,10 +1,10 @@
---- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/debug/elf_reader.cc
@@ -78,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
bool found = false;
while (current_section < section_end) {
current_note = reinterpret_cast<const Nhdr*>(current_section);
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
if (current_note->n_type == NT_GNU_BUILD_ID) {
StringPiece note_name(current_section + sizeof(Nhdr),
current_note->n_namesz);
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 c4a64e564a43..5d07bea8c52f 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,4 +1,4 @@
---- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/debug/stack_trace_posix.cc
@@ -41,7 +41,7 @@
// execinfo.h and backtrace(3) are really only present in glibc and in macOS
@@ -18,7 +18,53 @@
#include "base/debug/proc_maps_linux.h"
#endif
-@@ -799,6 +799,9 @@ class SandboxSymbolizeHelper {
+@@ -300,7 +300,7 @@ void PrintToStderr(const char* output) {
+ std::ignore = HANDLE_EINTR(write(STDERR_FILENO, output, strlen(output)));
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void AlarmSignalHandler(int signal, siginfo_t* info, void* void_context) {
+ // We have seen rare cases on AMD linux where the default signal handler
+ // either does not run or a thread (Probably an AMD driver thread) prevents
+@@ -317,7 +317,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v
+ "Warning: Default signal handler failed to terminate process.\n");
+ PrintToStderr("Calling exit_group() directly to prevent timeout.\n");
+ // See: https://man7.org/linux/man-pages/man2/exit_group.2.html
++#if BUILDFLAG(IS_BSD)
++ _exit(EXIT_FAILURE);
++#else
+ syscall(SYS_exit_group, EXIT_FAILURE);
++#endif
+ }
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ||
+ // BUILDFLAG(IS_CHROMEOS)
+@@ -534,7 +538,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf
+ _exit(EXIT_FAILURE);
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Set an alarm to trigger in case the default handler does not terminate
+ // the process. See 'AlarmSignalHandler' for more details.
+ struct sigaction action;
+@@ -559,6 +563,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf
+ // signals that do not re-raise autonomously), such as signals delivered via
+ // kill() and asynchronous hardware faults such as SEGV_MTEAERR, which would
+ // otherwise be lost when re-raising the signal via raise().
++#if !BUILDFLAG(IS_BSD)
+ long retval = syscall(SYS_rt_tgsigqueueinfo, getpid(), syscall(SYS_gettid),
+ info->si_signo, info);
+ if (retval == 0) {
+@@ -573,6 +578,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf
+ if (errno != EPERM) {
+ _exit(EXIT_FAILURE);
+ }
++#endif
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ||
+ // BUILDFLAG(IS_CHROMEOS)
+
+@@ -821,6 +827,9 @@ class SandboxSymbolizeHelper {
// for the modules that are loaded in the current process.
// Returns true on success.
bool CacheMemoryRegions() {
@@ -28,7 +74,7 @@
// Reads /proc/self/maps.
std::string contents;
if (!ReadProcMaps(&contents)) {
-@@ -816,6 +819,7 @@ class SandboxSymbolizeHelper {
+@@ -838,6 +847,7 @@ class SandboxSymbolizeHelper {
is_initialized_ = true;
return true;
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 f483c647acfb..7f2c78bd85af 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,6 +1,6 @@
---- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/files/file_util_posix.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/base/files/file_util_posix.cc
-@@ -700,32 +700,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
+@@ -756,32 +756,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p
File::Error* error) {
ScopedBlockingCall scoped_blocking_call(
FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir().
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 a38478c3c072..5451c26e763e 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,4 +1,4 @@
---- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/base/i18n/icu_util.cc
@@ -51,7 +51,7 @@
#include "third_party/icu/source/common/unicode/unistr.h"
@@ -9,7 +9,7 @@
BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS))
#include "third_party/icu/source/i18n/unicode/timezone.h"
#endif
-@@ -344,7 +344,7 @@ void InitializeIcuTimeZone() {
+@@ -349,7 +349,7 @@ void InitializeIcuTimeZone() {
FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization();
icu::TimeZone::adoptDefault(
icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id)));
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 5d034a4c4d1f..c5250c813ac6 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,4 +1,4 @@
---- src/3rdparty/chromium/base/linux_util.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/linux_util.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/linux_util.cc
@@ -15,6 +15,7 @@
@@ -12,7 +12,7 @@
}
bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ return false;
+#else
// 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_madv__free__discardable__memory__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_madv__free__discardable__memory__posix.cc
index 47133357042d..65ff5cfba392 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_madv__free__discardable__memory__posix.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_madv__free__discardable__memory__posix.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/memory/madv_free_discardable_memory_posix.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/base/memory/madv_free_discardable_memory_posix.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/base/memory/madv_free_discardable_memory_posix.cc
-@@ -299,6 +299,10 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
+@@ -306,6 +306,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
bool MadvFreeDiscardableMemoryPosix::IsResident() const {
DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_);
@@ -11,7 +11,7 @@
#if BUILDFLAG(IS_APPLE)
std::vector<char> vec(allocated_pages_);
#else
-@@ -314,6 +318,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
+@@ -321,6 +325,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons
return false;
}
return true;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_platform__shared__memory__region.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_platform__shared__memory__region.h
index bdc1f9a4b417..30ea9baa2090 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_platform__shared__memory__region.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_memory_platform__shared__memory__region.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/base/memory/platform_shared_memory_region.h.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/base/memory/platform_shared_memory_region.h.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/base/memory/platform_shared_memory_region.h
@@ -16,7 +16,7 @@
@@ -18,7 +18,7 @@
// Structure to limit access to executable region creation.
struct ExecutableRegion {
private:
-@@ -211,7 +211,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
+@@ -215,7 +215,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
CheckPlatformHandlePermissionsCorrespondToMode);
static PlatformSharedMemoryRegion Create(Mode mode,
size_t size
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 0d027a49424e..a744c9a96f61 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,6 +1,6 @@
---- src/3rdparty/chromium/base/process/launch.h.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/base/process/launch.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/base/process/launch.h
-@@ -198,7 +198,7 @@ struct BASE_EXPORT LaunchOptions {
+@@ -200,7 +200,7 @@ struct BASE_EXPORT LaunchOptions {
bool clear_environment = false;
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
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 d78f3991d67a..95df631a5545 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,4 +1,4 @@
---- src/3rdparty/chromium/base/process/process_metrics.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/process/process_metrics.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/base/process/process_metrics.cc
@@ -17,7 +17,7 @@ namespace base {
namespace {
@@ -27,7 +27,7 @@
Value::Dict meminfo = memory_info_.ToDict();
meminfo.Merge(vmstat_info_.ToDict());
res.Set("meminfo", std::move(meminfo));
-@@ -98,7 +98,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
+@@ -100,7 +100,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create
#endif // !BUILDFLAG(IS_MAC)
}
@@ -35,7 +35,7 @@
double ProcessMetrics::GetPlatformIndependentCPUUsage(
TimeDelta cumulative_cpu) {
TimeTicks time = TimeTicks::Now();
-@@ -124,7 +123,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
+@@ -126,7 +125,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
double ProcessMetrics::GetPlatformIndependentCPUUsage() {
return GetPlatformIndependentCPUUsage(GetCumulativeCPUUsage());
}
@@ -43,7 +43,7 @@
#if BUILDFLAG(IS_WIN)
double ProcessMetrics::GetPreciseCPUUsage(TimeDelta cumulative_cpu) {
-@@ -155,7 +153,7 @@ double ProcessMetrics::GetPreciseCPUUsage() {
+@@ -157,7 +155,7 @@ double ProcessMetrics::GetPreciseCPUUsage() {
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
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 90733ad68e8c..d66d3ffb3d6a 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,4 +1,4 @@
---- src/3rdparty/chromium/base/process/process_metrics.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/process/process_metrics.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/process/process_metrics.h
@@ -37,7 +37,7 @@
#endif
@@ -54,7 +54,7 @@
int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
#endif
#if BUILDFLAG(IS_APPLE)
-@@ -263,9 +263,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -266,9 +266,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_;
@@ -64,7 +64,7 @@
#if BUILDFLAG(IS_WIN)
TimeTicks last_cpu_time_for_precise_cpu_usage_;
-@@ -273,7 +271,7 @@ class BASE_EXPORT ProcessMetrics {
+@@ -276,7 +274,7 @@ class BASE_EXPORT ProcessMetrics {
#endif
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
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 cd614ca55016..85a72669036d 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,4 +1,4 @@
---- src/3rdparty/chromium/base/process/process_metrics_openbsd.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/process/process_metrics_openbsd.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/process/process_metrics_openbsd.cc
@@ -6,14 +6,23 @@
@@ -83,13 +83,14 @@
size_t GetSystemCommitCharge() {
int mib[] = { CTL_VM, VM_METER };
int pagesize;
-@@ -84,6 +67,129 @@ size_t GetSystemCommitCharge() {
+@@ -84,6 +67,133 @@ size_t GetSystemCommitCharge() {
pagesize = getpagesize();
return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
+}
+
+int ProcessMetrics::GetOpenFdCount() const {
++#if 0
+ struct kinfo_file *files;
+ kvm_t *kd = NULL;
+ int total_count = 0;
@@ -108,10 +109,13 @@
+
+out:
+ return total_count;
++#endif
++ return getdtablecount();
+}
+
+int ProcessMetrics::GetOpenFdSoftLimit() const {
-+ return GetMaxFds();
++ return getdtablesize();
++// return GetMaxFds();
+}
+
+uint64_t ProcessMetrics::GetVmSwapBytes() const {
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 8ef51d87848b..f820e17841e2 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,6 +1,6 @@
---- src/3rdparty/chromium/base/process/process_metrics_posix.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/base/process/process_metrics_posix.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/base/process/process_metrics_posix.cc
-@@ -20,6 +20,8 @@
+@@ -21,6 +21,8 @@
#if BUILDFLAG(IS_APPLE)
#include <malloc/malloc.h>
@@ -9,7 +9,7 @@
#else
#include <malloc.h>
#endif
-@@ -135,7 +137,7 @@ size_t ProcessMetrics::GetMallocUsage() {
+@@ -134,7 +136,7 @@ size_t ProcessMetrics::GetMallocUsage() {
return stats.size_in_use;
#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
return GetMallocUsageMallinfo();
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 c24ad3485633..f7da874a37ff 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,4 +1,4 @@
---- src/3rdparty/chromium/base/process/process_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/process/process_posix.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/process/process_posix.cc
@@ -23,10 +23,15 @@
#include "base/trace_event/base_tracing.h"
@@ -9,7 +9,7 @@
#include <sys/event.h>
#endif
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#endif
@@ -35,21 +35,21 @@
// On Mac we can wait on non child processes.
return WaitForSingleNonChildProcess(handle, timeout);
#else
-@@ -387,7 +392,55 @@ void Process::Exited(int exit_code) const {
+@@ -387,7 +392,56 @@ void Process::Exited(int exit_code) const {
- int Process::GetPriority() const {
+ int Process::GetOSPriority() const {
DCHECK(IsValid());
+// avoid pledge(2) violation
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ return 0;
+#else
return getpriority(PRIO_PROCESS, static_cast<id_t>(process_));
+#endif
-+}
+ }
+
+Time Process::CreationTime() const {
+// avoid ps pledge in the network process
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(),
+ sizeof(struct kinfo_proc), 0 };
+ struct kinfo_proc *info = nullptr;
@@ -57,7 +57,7 @@
+#endif
+ Time ct = Time();
+
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
+ if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0)
+ goto out;
+
@@ -77,17 +77,18 @@
+ return ct;
+}
+
-+bool Process::IsProcessBackgrounded() const {
-+ return false;
++#if BUILDFLAG(IS_BSD)
++Process::Priority Process::GetPriority() const {
++ return Priority::kUserBlocking;
+}
-+
-+bool Process::SetProcessBackgrounded(bool value) {
++
++bool Process::SetPriority(Priority priority) {
+ return false;
+}
-+
-+// static
-+bool Process::CanBackgroundProcesses() {
++
++bool Process::CanSetPriority() {
+ return false;
- }
++}
++#endif
} // 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
index 58412582057f..b6c3709aa44a 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/profiler/module_cache.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/profiler/module_cache.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/profiler/module_cache.cc
-@@ -37,7 +37,7 @@ std::string TransformModuleIDToSymbolServerFormat(Stri
+@@ -52,7 +52,7 @@ std::string TransformModuleIDToSymbolServerFormat(Stri
// Android and Linux Chrome builds use the "breakpad" format to index their
// build id, so we transform the build id for these platforms. All other
// platforms keep their symbols indexed by the original build ID.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__sampling__profiler__test__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__sampling__profiler__test__util.cc
index e4ed87ae163a..aefe2a163bd5 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__sampling__profiler__test__util.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__sampling__profiler__test__util.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/base/profiler/stack_sampling_profiler_test_util.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/base/profiler/stack_sampling_profiler_test_util.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/base/profiler/stack_sampling_profiler_test_util.cc
-@@ -33,7 +33,7 @@
+@@ -36,7 +36,7 @@
// Fortunately, it provides _alloca, which functions identically.
#include <malloc.h>
#define alloca _alloca
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 df6405773e53..16eba4061a14 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,6 +1,6 @@
---- src/3rdparty/chromium/base/rand_util.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/base/rand_util.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/base/rand_util.h
-@@ -117,7 +117,7 @@ void RandomShuffle(Itr first, Itr last) {
+@@ -121,7 +121,7 @@ void RandomShuffle(Itr first, Itr last) {
std::shuffle(first, last, RandomBitGenerator());
}
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 5ae54d0bdd4e..db411e4749cd 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,6 +1,6 @@
---- src/3rdparty/chromium/base/system/sys_info.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/system/sys_info.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/system/sys_info.cc
-@@ -106,7 +106,7 @@ std::string SysInfo::HardwareModelName() {
+@@ -166,7 +166,7 @@ std::string SysInfo::HardwareModelName() {
#endif
void SysInfo::GetHardwareInfo(base::OnceCallback<void(HardwareInfo)> callback) {
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 226b5a530701..b69d60cc2735 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,15 +1,15 @@
---- src/3rdparty/chromium/base/system/sys_info.h.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/base/system/sys_info.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/base/system/sys_info.h
-@@ -246,6 +246,8 @@ class BASE_EXPORT SysInfo {
- static void SetIsCpuSecurityMitigationsEnabled(bool is_enabled);
+@@ -266,6 +266,8 @@ class BASE_EXPORT SysInfo {
+ static void ResetCpuSecurityMitigationsEnabledForTesting();
#endif
+ static uint64_t MaxSharedMemorySize();
+
private:
+ friend class test::ScopedAmountOfPhysicalMemoryOverride;
FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory);
- FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo);
-@@ -257,7 +259,7 @@ class BASE_EXPORT SysInfo {
+@@ -278,7 +280,7 @@ class BASE_EXPORT SysInfo {
static HardwareInfo GetHardwareInfoSync();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
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 9b5a1d6262b0..73a5f9f01a17 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,21 +1,24 @@
---- src/3rdparty/chromium/base/system/sys_info_posix.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/base/system/sys_info_posix.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/base/system/sys_info_posix.cc
-@@ -165,12 +165,12 @@ int NumberOfProcessors() {
+@@ -117,7 +117,7 @@ bool GetDiskSpaceInfo(const base::FilePath& path,
- } // namespace internal
+ namespace base {
-#if !BUILDFLAG(IS_OPENBSD)
+#if !BUILDFLAG(IS_BSD)
int SysInfo::NumberOfProcessors() {
- static int number_of_processors = internal::NumberOfProcessors();
- return number_of_processors;
+ #if BUILDFLAG(IS_MAC)
+ absl::optional<int> number_of_physical_cores =
+@@ -161,7 +161,7 @@ int SysInfo::NumberOfProcessors() {
+
+ return num_cpus;
}
-#endif // !BUILDFLAG(IS_OPENBSD)
+#endif // !BUILDFLAG(IS_BSD)
// static
uint64_t SysInfo::AmountOfVirtualMemory() {
-@@ -260,6 +260,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
+@@ -251,6 +251,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
arch = "x86";
} else if (arch == "amd64") {
arch = "x86_64";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_test_test__file__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_test_test__file__util__linux.cc
index 49b9ce7d6fbe..0a61f568e7e7 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_test_test__file__util__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_test_test__file__util__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/base/test/test_file_util_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/base/test/test_file_util_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/test/test_file_util_linux.cc
@@ -54,8 +54,10 @@ bool EvictFileFromSystemCache(const FilePath& file) {
return false;
if (fdatasync(fd.get()) != 0)
return false;
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0)
return false;
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_hang__watcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_hang__watcher.cc
new file mode 100644
index 000000000000..62a5b20ce6c5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_hang__watcher.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/base/threading/hang_watcher.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/base/threading/hang_watcher.cc
+@@ -331,7 +331,7 @@ void HangWatcher::InitializeOnMainThread(ProcessType p
+
+ bool enable_hang_watcher = base::FeatureList::IsEnabled(kEnableHangWatcher);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD)
+ if (is_zygote_child) {
+ enable_hang_watcher =
+ enable_hang_watcher &&
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__bsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__bsd.cc
new file mode 100644
index 000000000000..d2ea66bf3ea5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__bsd.cc
@@ -0,0 +1,34 @@
+--- src/3rdparty/chromium/base/threading/platform_thread_bsd.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/base/threading/platform_thread_bsd.cc
+@@ -0,0 +1,31 @@
++// Copyright 2023 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++// Description: These are stubs for *BSD.
++
++#include "base/threading/platform_thread.h"
++
++namespace base {
++namespace internal {
++
++bool CanSetThreadTypeToRealtimeAudio() {
++ return false;
++}
++
++bool SetCurrentThreadTypeForPlatform(ThreadType thread_type,
++ MessagePumpType pump_type_hint) {
++ return false;
++}
++
++absl::optional<ThreadPriorityForTest>
++GetCurrentThreadPriorityForPlatformForTest() {
++ return absl::nullopt;
++}
++} // namespace internal
++
++// static
++void PlatformThreadBase::SetName(const std::string& name) {
++ SetNameCommon(name);
++}
++
++} // namespace base
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__internal__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__internal__posix.cc
new file mode 100644
index 000000000000..7feb2dec502e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__internal__posix.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/base/threading/platform_thread_internal_posix.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/base/threading/platform_thread_internal_posix.cc
+@@ -41,7 +41,7 @@ ThreadPriorityForTest NiceValueToThreadPriorityForTest
+ }
+
+ int GetCurrentThreadNiceValue() {
+-#if BUILDFLAG(IS_NACL)
++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ NOTIMPLEMENTED();
+ return 0;
+ #else
diff --git a/www/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
deleted file mode 100644
index e7a0ef2e0396..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_threading_platform__thread__linux.cc
+++ /dev/null
@@ -1,84 +0,0 @@
---- src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/base/threading/platform_thread_linux.cc
-@@ -30,7 +30,9 @@
-
- #if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX)
- #include <pthread.h>
-+#if !BUILDFLAG(IS_BSD)
- #include <sys/prctl.h>
-+#endif
- #include <sys/resource.h>
- #include <sys/time.h>
- #include <sys/types.h>
-@@ -139,7 +141,7 @@ long sched_setattr(pid_t pid,
- #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX)
- #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");
-
-@@ -313,7 +315,7 @@ void SetThreadCgroupsForThreadType(PlatformThreadId th
- namespace internal {
-
- namespace {
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- const struct sched_param kRealTimePrio = {8};
- #endif
- } // namespace
-@@ -340,7 +342,7 @@ const ThreadTypeToNiceValuePair kThreadTypeToNiceValue
- };
-
- 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 SetCurrentThreadTypeForPlatform().
- struct rlimit rlim;
-@@ -352,7 +354,7 @@ bool CanSetThreadTypeToRealtimeAudio() {
-
- bool SetCurrentThreadTypeForPlatform(ThreadType thread_type,
- MessagePumpType pump_type_hint) {
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- const PlatformThreadId tid = PlatformThread::CurrentId();
-
- if (g_thread_type_delegate &&
-@@ -378,7 +380,7 @@ bool SetCurrentThreadTypeForPlatform(ThreadType thread
-
- absl::optional<ThreadPriorityForTest>
- 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,
-@@ -397,7 +399,7 @@ GetCurrentThreadPriorityForPlatformForTest() {
- 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
-@@ -417,7 +419,7 @@ void PlatformThread::SetName(const std::string& name)
- #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX)
- }
-
--#if !BUILDFLAG(IS_NACL)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
- // static
- void PlatformThread::SetThreadTypeDelegate(ThreadTypeDelegate* delegate) {
- // A component cannot override a delegate set by another component, thus
-@@ -428,7 +430,7 @@ void PlatformThread::SetThreadTypeDelegate(ThreadTypeD
- }
- #endif
-
--#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX)
-+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) && !BUILDFLAG(IS_BSD)
- // static
- void PlatformThread::SetThreadType(ProcessId process_id,
- PlatformThreadId thread_id,
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 ab57809e0ac0..3e8c5740f048 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,6 +1,6 @@
---- src/3rdparty/chromium/base/threading/platform_thread_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/base/threading/platform_thread_posix.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/threading/platform_thread_posix.cc
-@@ -76,7 +76,7 @@ void* ThreadFunc(void* params) {
+@@ -76,12 +76,12 @@ void* ThreadFunc(void* params) {
if (!thread_params->joinable)
base::DisallowSingleton();
@@ -9,6 +9,21 @@
partition_alloc::internal::PCScan::NotifyThreadCreated(
partition_alloc::internal::GetStackPointer());
#endif
+
+-#if !BUILDFLAG(IS_NACL)
++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_APPLE)
+ PlatformThread::SetCurrentThreadRealtimePeriodValue(
+ delegate->GetRealtimePeriod());
+@@ -353,7 +353,7 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t
+
+ // static
+ bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) {
+-#if BUILDFLAG(IS_NACL)
++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ return false;
+ #else
+ if (from >= to) {
@@ -374,6 +374,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
MessagePumpType pump_type_hint) {
#if BUILDFLAG(IS_NACL)
@@ -19,3 +34,12 @@
#else
if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint))
return;
+@@ -396,7 +399,7 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
+
+ // static
+ ThreadPriorityForTest PlatformThreadBase::GetCurrentThreadPriorityForTest() {
+-#if BUILDFLAG(IS_NACL)
++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD)
+ NOTIMPLEMENTED();
+ return ThreadPriorityForTest::kNormal;
+ #else
diff --git a/www/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 6f4bb60c70b9..dc3be50876aa 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,15 +1,15 @@
---- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc
@@ -25,6 +25,8 @@
#if BUILDFLAG(IS_APPLE)
#include <malloc/malloc.h>
-+#elif defined(OS_BSD)
++#elif BUILDFLAG(IS_BSD)
+#include <stdlib.h>
#else
#include <malloc.h>
#endif
-@@ -187,7 +189,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size,
+@@ -188,7 +190,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) && \
@@ -18,11 +18,11 @@
void ReportMallinfoStats(ProcessMemoryDump* pmd,
size_t* total_virtual_size,
size_t* resident_size,
-@@ -358,6 +360,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump
+@@ -359,6 +361,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)
++#elif BUILDFLAG(IS_BSD)
+ total_virtual_size = 0;
+ allocated_objects_size = 0;
#else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_trace__log.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_trace__log.cc
new file mode 100644
index 000000000000..6fe3d1861bc9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_base_trace__event_trace__log.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/base/trace_event/trace_log.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/base/trace_event/trace_log.cc
+@@ -2190,8 +2190,13 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+ AutoLock lock(track_event_lock_);
++#if defined(__clang__) && (__clang_major__ >= 16)
+ track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+ args.backend_type);
++#else
++ track_event_sessions_.emplace_back(TrackEventSession{args.internal_instance_index, *args.config,
++ args.backend_type});
++#endif
+ }
+
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
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 b1f5f44f2f80..a3f30fdd37eb 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,13 @@
---- src/3rdparty/chromium/build/config/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/build/config/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/build/config/BUILD.gn
-@@ -222,13 +222,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",
- ]
-- }
+@@ -218,6 +218,10 @@ config("default_libs") {
+ # Targets should choose to explicitly link frameworks they require. Since
+ # linking can have run-time side effects, nothing should be listed here.
+ libs = []
+ } else if (is_bsd) {
+ libs = [
+ "pthread",
+ ]
-+ }
- }
-
- group("common_deps") {
+ } else if (is_linux || is_chromeos) {
+ libs = [
+ "dl",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILDCONFIG.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILDCONFIG.gn
index a7e1736e9cce..c9eb9e97a18d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILDCONFIG.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_BUILDCONFIG.gn
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/build/config/BUILDCONFIG.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/build/config/BUILDCONFIG.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/build/config/BUILDCONFIG.gn
@@ -136,7 +136,8 @@ declare_args() {
is_official_build = false
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 85c5c8963128..7945516dc450 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,6 +1,15 @@
---- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/build/config/compiler/BUILD.gn
-@@ -243,13 +243,16 @@ config("no_unresolved_symbols") {
+@@ -198,7 +198,7 @@ declare_args() {
+ # This greatly reduces the size of debug builds, at the cost of
+ # debugging information which is required by some specialized
+ # debugging tools.
+- simple_template_names = is_clang && !is_nacl && !is_win && !is_apple
++ simple_template_names = is_clang && !is_nacl && !is_win && !is_apple && !is_bsd
+ }
+
+ declare_args() {
+@@ -262,13 +262,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") {
@@ -18,7 +27,7 @@
}
# compiler ---------------------------------------------------------------------
-@@ -513,6 +516,10 @@ config("compiler") {
+@@ -555,6 +558,10 @@ config("compiler") {
}
}
@@ -29,16 +38,16 @@
# Linux-specific compiler flags setup.
# ------------------------------------
if (use_gold) {
-@@ -882,7 +889,7 @@ config("compiler") {
- # * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode
- # lldb doesn't have the needed changes yet.
- # TODO(crbug.com/1379070): Remove if the upstream default ever changes.
-- if (is_clang && !is_nacl && !is_win && !is_apple) {
-+ if (is_clang && !is_nacl && !is_win && !is_apple && !is_bsd) {
- cflags_cc += [ "-gsimple-template-names" ]
- }
+@@ -823,7 +830,7 @@ config("compiler") {
-@@ -1065,7 +1072,7 @@ config("compiler_cpu_abi") {
+ ldflags += [ "-Wl,-mllvm,-import-instr-limit=$import_instr_limit" ]
+
+- if (!is_chromeos) {
++ if (!is_chromeos && !is_bsd) {
+ # TODO(https://crbug.com/972449): turn on for ChromeOS when that
+ # toolchain has this flag.
+ # We only use one version of LLVM within a build so there's no need to
+@@ -1170,7 +1177,7 @@ config("compiler_cpu_abi") {
]
}
} else if (current_cpu == "arm") {
@@ -47,7 +56,7 @@
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ]
-@@ -1083,7 +1090,7 @@ config("compiler_cpu_abi") {
+@@ -1188,7 +1195,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -56,7 +65,7 @@
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
-@@ -1418,7 +1425,7 @@ config("compiler_deterministic") {
+@@ -1523,7 +1530,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.
@@ -65,7 +74,7 @@
# TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
-@@ -1470,7 +1477,7 @@ config("clang_revision") {
+@@ -1575,7 +1582,7 @@ config("clang_revision") {
}
config("clang_revision") {
@@ -74,7 +83,7 @@
update_args = [
"--print-revision",
"--verify-version=$clang_version",
-@@ -1872,7 +1879,7 @@ config("default_warnings") {
+@@ -2005,7 +2012,7 @@ config("default_warnings") {
"-Wno-ignored-pragma-optimize",
]
@@ -83,7 +92,7 @@
cflags += [
# TODO(crbug.com/1343975) Evaluate and possibly enable.
"-Wno-deprecated-builtins",
-@@ -2054,7 +2061,7 @@ config("no_chromium_code") {
+@@ -2218,7 +2225,7 @@ config("no_chromium_code") {
# third-party libraries.
"-Wno-c++11-narrowing",
]
@@ -92,7 +101,7 @@
cflags += [
# Disabled for similar reasons as -Wunused-variable.
"-Wno-unused-but-set-variable",
-@@ -2570,7 +2577,7 @@ config("afdo") {
+@@ -2736,7 +2743,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") {
@@ -101,8 +110,8 @@
cflags = []
if (clang_emit_debug_info_for_profiling) {
# Add the following flags to generate debug info for profiling.
-@@ -2589,7 +2596,7 @@ config("afdo") {
- }
+@@ -2763,7 +2770,7 @@ config("afdo") {
+ cflags += [ "-Wno-backend-plugin" ]
inputs = [ _clang_sample_profile ]
}
- } else if (auto_profile_path != "" && is_a_target_toolchain) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_BUILD.gn
new file mode 100644
index 000000000000..e5f736b1a13c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_pgo_BUILD.gn
@@ -0,0 +1,19 @@
+--- src/3rdparty/chromium/build/config/compiler/pgo/BUILD.gn.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/build/config/compiler/pgo/BUILD.gn
+@@ -143,13 +143,14 @@ config("pgo_optimization_flags") {
+
+ # Enable basic block layout based on the extended TSP problem. This aims to
+ # improve icache utilization and reduce the binary size.
+- if (use_thin_lto) {
++ # __clang_major__ >= 15
++ if (use_thin_lto && !is_bsd) {
+ if (is_win) {
+ ldflags = [ "-mllvm:-enable-ext-tsp-block-placement=1" ]
+ } else {
+ ldflags = [ "-Wl,-mllvm,-enable-ext-tsp-block-placement=1" ]
+ }
+- } else {
++ } else if (!is_bsd) {
+ cflags += [
+ "-mllvm",
+ "-enable-ext-tsp-block-placement=1",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_freetype_freetype.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_freetype_freetype.gni
deleted file mode 100644
index ab30256825eb..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_freetype_freetype.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/build/config/freetype/freetype.gni.orig 2023-08-23 22:56:29 UTC
-+++ src/3rdparty/chromium/build/config/freetype/freetype.gni
-@@ -10,7 +10,5 @@ declare_args() {
- # than version 2.7.1 and have color bitmap support compiled in. WARNING:
- # System FreeType configurations other than as described WILL INTRODUCE TEXT
- # RENDERING AND SECURITY REGRESSIONS.
-- use_system_freetype = false
-- use_qt_freetype = false
-- qt_freetype_config = ""
-+ use_system_freetype = true
- }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn
new file mode 100644
index 000000000000..63e443ae5628
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/build/config/linux/BUILD.gn.orig 2022-05-19 14:06:27 UTC
++++ src/3rdparty/chromium/build/config/linux/BUILD.gn
+@@ -41,7 +41,7 @@ config("runtime_library") {
+ }
+
+ if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") &&
+- (!use_custom_libcxx || current_cpu == "mipsel")) {
++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
+ libs = [ "atomic" ]
+ }
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_pkg-config.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_pkg-config.py
index 5bf1f6d7757d..afea5c617dfa 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_pkg-config.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_linux_pkg-config.py
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/build/config/linux/pkg-config.py.orig 2024-02-10 00:23:21 UTC
+--- src/3rdparty/chromium/build/config/linux/pkg-config.py.orig 2024-01-23 10:07:29 UTC
+++ src/3rdparty/chromium/build/config/linux/pkg-config.py
@@ -108,7 +108,7 @@ def main():
# If this is run on non-Linux platforms, just return nothing and indicate
# success. This allows us to "kind of emulate" a Linux build from other
# platforms.
- if 'linux' not in sys.platform and 'darwin' not in sys.platform:
-+ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd', 'darwin'])):
++ if not sys.platform.startswith(tuple(['linux', 'darwin', 'freebsd', 'openbsd'])):
print("[[],[],[],[],[]]")
return 0
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 122af743c6f6..763302535df5 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,6 +1,6 @@
---- src/3rdparty/chromium/build/config/ozone.gni.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/build/config/ozone.gni.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/build/config/ozone.gni
-@@ -90,7 +90,15 @@ declare_args() {
+@@ -87,7 +87,15 @@ declare_args() {
} else if (is_chromeos_lacros) {
ozone_platform = "wayland"
ozone_platform_wayland = 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
deleted file mode 100644
index c0ed80bc9866..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_config_rust.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/build/config/rust.gni.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/build/config/rust.gni
-@@ -135,7 +135,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_toolchain_gcc__toolchain.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni
index c4d3cef02ebe..a83eea70421e 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,4 +1,4 @@
---- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2023-11-20 16:08:07 UTC
+--- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2023-12-12 22:08:45 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")
@@ -14,7 +14,7 @@
# This template defines a toolchain for something that works like gcc
# (including clang).
#
-@@ -839,22 +846,12 @@ template("clang_toolchain") {
+@@ -888,22 +895,12 @@ template("clang_toolchain") {
# use_gold too.
template("clang_toolchain") {
gcc_toolchain(target_name) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_toolchain.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_toolchain.gni
new file mode 100644
index 000000000000..ce33cb085585
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_build_toolchain_toolchain.gni
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/build/toolchain/toolchain.gni.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/build/toolchain/toolchain.gni
+@@ -67,7 +67,7 @@ if (host_os == "mac") {
+ host_shlib_extension = ".dylib"
+ } else if (host_os == "win") {
+ host_shlib_extension = ".dll"
+-} else if (host_os == "linux" || host_os == "aix") {
++} else if (is_posix) {
+ host_shlib_extension = ".so"
+ } else {
+ assert(false, "Host platform not supported")
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn
index 36c7ea079dde..416cda0112e3 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/cc/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/cc/BUILD.gn.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/cc/BUILD.gn
-@@ -668,7 +668,7 @@ cc_test_static_library("test_support") {
+@@ -674,7 +674,7 @@ cc_test_static_library("test_support") {
if (enable_vulkan) {
deps += [ "//gpu/vulkan/init" ]
}
@@ -8,9 +8,9 @@
+ if (!is_android && !is_bsd) {
data_deps = [ "//third_party/mesa_headers" ]
}
- }
-@@ -913,7 +913,6 @@ cc_test("cc_unittests") {
- data = [ "//components/viz/test/data/" ]
+ if (skia_use_dawn) {
+@@ -929,7 +929,6 @@ cc_test("cc_unittests") {
+ data = [ "//components/test/data/viz/" ]
data_deps = [
"//testing/buildbot/filters:cc_unittests_filters",
- "//third_party/mesa_headers",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_base_features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_base_features.cc
new file mode 100644
index 000000000000..17cb349564cb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_cc_base_features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/cc/base/features.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/cc/base/features.cc
+@@ -85,7 +85,7 @@ CONSTINIT const base::Feature kUseDMSAAForTiles(
+ // be using a separate flag to control the launch on GL.
+ CONSTINIT const base::Feature kUseDMSAAForTiles(
+ "UseDMSAAForTiles",
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_app__management__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_app__management__strings.grdp
new file mode 100644
index 000000000000..a336b3f36bc5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_app__management__strings.grdp
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/app/app_management_strings.grdp.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/app/app_management_strings.grdp
+@@ -188,7 +188,7 @@
+ You can open and edit supported files with this app from Finder or other apps. To control which files open this app by default, <ph name="BEGIN_LINK">&lt;a href="#"&gt;</ph>learn how to set default apps on your device<ph name="END_LINK">&lt;/a&gt;</ph>.
+ </message>
+ </if>
+- <if expr="is_fuchsia or is_linux">
++ <if expr="is_fuchsia or is_posix">
+ <message name="IDS_APP_MANAGEMENT_FILE_HANDLING_SET_DEFAULTS_LINK" desc="Further explanation of the File Handling API, including text describing the purpose of the toggle (referencing a generic Linux file browser app) and a link to a learn more link for default filetype associations.">
+ You can open and edit supported files with this app from your file browser or other apps. To control which files open this app by default, <ph name="BEGIN_LINK">&lt;a href="#"&gt;</ph>learn how to set default apps on your device<ph name="END_LINK">&lt;/a&gt;</ph>.
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd
new file mode 100644
index 000000000000..378a00f12881
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd
@@ -0,0 +1,38 @@
+--- src/3rdparty/chromium/chrome/app/chromium_strings.grd.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/app/chromium_strings.grd
+@@ -315,7 +315,7 @@ If you update this file, be sure also to update google
+ Welcome to Chromium; new browser window opened
+ </message>
+ </if>
+- <if expr="is_macosx or is_linux">
++ <if expr="is_macosx or is_posix">
+ <message name="IDS_FIRST_RUN_DIALOG_WINDOW_TITLE" desc="Window title of First Run dialog on Mac and Linux, displayed in title bar">
+ Welcome to Chromium
+ </message>
+@@ -465,7 +465,7 @@ If you update this file, be sure also to update google
+ To get future Chromium updates, you'll need Windows 10 or later. This computer is using Windows 8.1.
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_LINUX_OBSOLETE" desc="A message displayed on an at-launch infobar and about:help warning the user that the OS version they are using is no longer supported.">
+ Chromium may not function correctly because it is no longer supported on this Linux distribution
+ </message>
+@@ -870,7 +870,7 @@ Permissions you've already given to websites and apps
+ </message>
+ </if>
+
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <message name="IDS_RELAUNCH_TO_UPDATE_ALT" desc="Alternate text label of the relaunch to update Chrome menu item" translateable="false">
+ Not used in Chromium. Placeholder to keep resource maps in sync.
+ </message>
+@@ -1255,7 +1255,7 @@ Permissions you've already given to websites and apps
+ </message>
+ </if>
+
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <message name="IDS_UPDATE_RECOMMENDED_DIALOG_TITLE_ALT" desc="Alternate window title for the Update Recommended dialog." translateable="false">
+ Not used in Chromium. Placeholder to keep resource maps in sync.
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd
new file mode 100644
index 000000000000..185d3fbc661b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd
@@ -0,0 +1,92 @@
+--- src/3rdparty/chromium/chrome/app/generated_resources.grd.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/app/generated_resources.grd
+@@ -2,7 +2,7 @@
+
+ <!--
+ This file contains definitions of resources that will be translated for each
+-locale. The variables is_win, is_macosx, is_linux, and is_posix are available
++locale. The variables is_win, is_macosx, is_posix, and is_posix are available
+ for making strings OS specific. Other platform defines such as use_titlecase
+ are declared in tools/grit/grit_rule.gni.
+ -->
+@@ -3601,7 +3601,7 @@ are declared in tools/grit/grit_rule.gni.
+ </if>
+
+ <!-- Bluetooth Device Credentials (i.e. PIN/Passkey) dialog -->
+- <if expr="is_win or is_linux">
++ <if expr="is_win or is_posix">
+ <message name="IDS_BLUETOOTH_DEVICE_CREDENTIALS_TITLE" desc="Title of the Bluetooth device credentials prompt dialog.">
+ Device Credentials
+ </message>
+@@ -5432,7 +5432,7 @@ are declared in tools/grit/grit_rule.gni.
+ Read information about your browser, OS, device, installed software, registry values and files
+ </message>
+ </if>
+- <if expr="is_macosx or is_linux">
++ <if expr="is_macosx or is_posix">
+ <message name="IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS" desc="Permission string for enterprise private reporting permission on Linux and MacOS.">
+ Read information about your browser, OS, device, installed software and files
+ </message>
+@@ -6145,7 +6145,7 @@ Keep your key file in a safe place. You will need it t
+ Old versions of Chrome Apps won't open on Windows devices after December 2022. Contact your administrator to update to a new version or remove this app.
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_FORCE_INSTALLED_DEPRECATED_APPS_CONTENT" desc="Content of the force installed deprecated app dialog">
+ Old versions of Chrome Apps won't open on Linux devices after December 2022. Contact your administrator to update to a new version or remove this app.
+ </message>
+@@ -6191,7 +6191,7 @@ Keep your key file in a safe place. You will need it t
+ Old versions of Chrome apps won't open on Windows devices after December 2022. You can check if there's a new version available.
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_DEPRECATED_APPS_MONITOR_RENDERER" desc="Dialog content that educates users that Chrome Apps will soon no longer launch.">
+ Old versions of Chrome apps won't open on Linux devices after December 2022. You can check if there's a new version available.
+ </message>
+@@ -10396,7 +10396,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW
+ <message name="IDS_APP_MENU_BUTTON_UPDATE" desc="Short label next to app-menu button when an update is available.">
+ Update
+ </message>
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <message name="IDS_APP_MENU_BUTTON_UPDATE_ALT1" desc="Alternate short label next to app-menu button when an update is available.">
+ Finish update
+ </message>
+@@ -10743,7 +10743,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW
+ Google Pay
+ </message>
+
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders.">
+ Use system title bar and borders
+ </message>
+@@ -11728,7 +11728,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW
+ </message>
+
+ <!-- Device Trust Consent dialog -->
+- <if expr="is_win or is_macosx or is_linux or is_chromeos">
++ <if expr="is_win or is_macosx or is_posix or is_chromeos">
+ <message name="IDS_DEVICE_SIGNALS_CONSENT_DIALOG_TITLE" desc="Title of the dialog shown when user consent is required to share device signals.">
+ Share information about your device?
+ </message>
+@@ -12136,7 +12136,7 @@ Please help our engineers fix this problem. Tell us wh
+ Set as default
+ </message>
+
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window.">
+ Minimize
+ </message>
+@@ -14346,7 +14346,7 @@ Please help our engineers fix this problem. Tell us wh
+ Open Anyway
+ </message>
+
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <message name="IDS_UTILITY_PROCESS_SYSTEM_SIGNALS_NAME" desc="The name of the utility process used to collect system signals. Only spawned on Windows, Mac or Linux.">
+ System Signals Utilities
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd
new file mode 100644
index 000000000000..fdd0c329a1d4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd
@@ -0,0 +1,38 @@
+--- src/3rdparty/chromium/chrome/app/google_chrome_strings.grd.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/app/google_chrome_strings.grd
+@@ -301,7 +301,7 @@ chromium_strings.grd. -->
+ Welcome to Chrome; new browser window opened
+ </message>
+ </if>
+- <if expr="is_macosx or is_linux">
++ <if expr="is_macosx or is_posix">
+ <message name="IDS_FIRST_RUN_DIALOG_WINDOW_TITLE" desc="Window title of First Run dialog on Mac and Linux, displayed in title bar">
+ Welcome to Google Chrome
+ </message>
+@@ -453,7 +453,7 @@ chromium_strings.grd. -->
+ To get future Google Chrome updates, you'll need Windows 10 or later. This computer is using Windows 8.1.
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_LINUX_OBSOLETE" desc="A message displayed on an at-launch infobar and about:help warning the user that the OS version they are using is no longer supported.">
+ Google Chrome may not function correctly because it is no longer supported on this Linux distribution
+ </message>
+@@ -855,7 +855,7 @@ Permissions you've already given to websites and apps
+ </if>
+ </if>
+
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <if expr="use_titlecase">
+ <message name="IDS_RELAUNCH_TO_UPDATE_ALT" desc="Alternate text label of the relaunch to update Chrome menu item">
+ Relaunch to Update - Your tabs will reopen
+@@ -1278,7 +1278,7 @@ Permissions you've already given to websites and apps
+ </message>
+ </if>
+
+- <if expr="is_win or is_macosx or is_linux">
++ <if expr="is_win or is_macosx or is_posix">
+ <message name="IDS_UPDATE_RECOMMENDED_DIALOG_TITLE_ALT" desc="Alternate window title for the Update Recommended dialog.">
+ Relaunch to finish Chrome update
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_profiles__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_profiles__strings.grdp
new file mode 100644
index 000000000000..1d8767a94030
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_profiles__strings.grdp
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/app/profiles_strings.grdp.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/app/profiles_strings.grdp
+@@ -54,7 +54,7 @@
+ Add Profile...
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PROFILES_ADD_PROFILE_LABEL" desc="Menu item for adding a new profile.">
+ Add profile...
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_settings__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_settings__strings.grdp
new file mode 100644
index 000000000000..09d3a37079d2
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_settings__strings.grdp
@@ -0,0 +1,35 @@
+--- src/3rdparty/chromium/chrome/app/settings_strings.grdp.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/app/settings_strings.grdp
+@@ -183,12 +183,12 @@
+ Manage accessibility features
+ </message>
+ </if>
+- <if expr="is_win or is_linux or is_macosx">
++ <if expr="is_win or is_posix or is_macosx">
+ <message name="IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_TITLE" desc="Title for the overscroll history navigation setting, which allows you to navigate back and forward by swiping left or right with a touch device.">
+ Swipe between pages
+ </message>
+ </if>
+- <if expr="is_win or is_linux">
++ <if expr="is_win or is_posix">
+ <message name="IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_SUBTITLE" desc="Subtitle for the overscroll history navigation setting, which allows you to navigate back and forward by swiping left or right with a touch device.">
+ Navigate back and forward with swipe gesture
+ </message>
+@@ -222,7 +222,7 @@
+ Theme
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_SETTINGS_GTK_THEME" desc="Text of the label describing the system (GTK) browser theme on Linux">
+ GTK
+ </message>
+@@ -242,7 +242,7 @@
+ Use Classic
+ </message>
+ </if>
+- <if expr="not is_linux or is_chromeos or is_fuchsia">
++ <if expr="not is_posix or is_chromeos or is_fuchsia">
+ <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme.">
+ Reset to default
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_chrome__unscaled__resources.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_chrome__unscaled__resources.grd
new file mode 100644
index 000000000000..f3ceafba7bcb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_chrome__unscaled__resources.grd
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/app/theme/chrome_unscaled_resources.grd.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/chrome/app/theme/chrome_unscaled_resources.grd
+@@ -16,7 +16,7 @@
+ <includes>
+ <if expr="_google_chrome">
+ <then>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/linux/product_logo_64.png" type="BINDATA" />
+ <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/linux/product_logo_128.png" type="BINDATA" />
+@@ -61,7 +61,7 @@
+ <else> <!-- not _google_chrome -->
+ <if expr="_is_chrome_for_testing_branded">
+ <then>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/google_chrome_for_testing/linux/product_logo_64.png" type="BINDATA" />
+ <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/google_chrome_for_testing/linux/product_logo_128.png" type="BINDATA" />
+@@ -75,7 +75,7 @@
+ </if>
+ </then>
+ <else> <!-- not _is_chrome_for_testing_branded -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <include name="IDR_PRODUCT_LOGO_64" file="chromium/linux/product_logo_64.png" type="BINDATA" />
+ <include name="IDR_PRODUCT_LOGO_128" file="chromium/linux/product_logo_128.png" type="BINDATA" />
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_theme__resources.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_theme__resources.grd
new file mode 100644
index 000000000000..10224bce93ce
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_app_theme_theme__resources.grd
@@ -0,0 +1,59 @@
+--- src/3rdparty/chromium/chrome/app/theme/theme_resources.grd.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/app/theme/theme_resources.grd
+@@ -146,14 +146,14 @@
+ </if>
+ <if expr="_google_chrome">
+ <then>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/linux/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/linux/product_logo_32.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/linux/product_logo_32_beta.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_DEV" file="google_chrome/linux/product_logo_32_dev.png" />
+ </then>
+- <else> <!-- not is_linux -->
++ <else> <!-- not is_posix -->
+ <if expr="not is_android">
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/product_logo_32.png" />
+@@ -161,7 +161,7 @@
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/product_logo_32_beta.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_DEV" file="google_chrome/product_logo_32_dev.png" />
+ </else>
+- </if> <!-- is_linux -->
++ </if> <!-- is_posix -->
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_CANARY" file="google_chrome/product_logo_32_canary.png" />
+ <if expr="not is_android">
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22" file="google_chrome/product_logo_name_22.png" />
+@@ -173,7 +173,7 @@
+ <else> <!-- not _google_chrome -->
+ <if expr="_is_chrome_for_testing_branded">
+ <then>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/google_chrome_for_testing/linux/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/google_chrome_for_testing/linux/product_logo_32.png" />
+@@ -182,10 +182,10 @@
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/google_chrome_for_testing/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/google_chrome_for_testing/product_logo_32.png" />
+ </else>
+- </if> <!-- is_linux -->
++ </if> <!-- is_posix -->
+ </then>
+ <else> <!-- not _is_chrome_for_testing_branded -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <then>
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/linux/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/linux/product_logo_32.png" />
+@@ -194,7 +194,7 @@
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/product_logo_16.png" />
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/product_logo_32.png" />
+ </else>
+- </if> <!-- is_linux -->
++ </if> <!-- is_posix -->
+ </else>
+ </if> <!-- _is_chrome_for_testing_branded -->
+ <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22" file="chromium/product_logo_name_22.png" />
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_BUILD.gn
new file mode 100644
index 000000000000..95970a4cb06a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_BUILD.gn
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/chrome/browser/BUILD.gn.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/BUILD.gn
+@@ -6312,6 +6312,13 @@ static_library("browser") {
+ }
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "metrics/bluetooth_metrics_provider.cc",
++ "metrics/bluetooth_metrics_provider.h",
++ ]
++ }
++
+ if (is_linux && use_dbus) {
+ sources += [
+ "dbus_memory_pressure_evaluator_linux.cc",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
new file mode 100644
index 000000000000..808db0af5867
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc
+@@ -77,7 +77,7 @@ bool ChromeProtocolHandlerRegistryDelegate::ShouldRemo
+ // If true default protocol handlers will be removed if the OS level
+ // registration for a protocol is no longer Chrome.
+ bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // We don't do this on Linux as the OS registration there is not reliable,
+ // and Chrome OS doesn't have any notion of OS registration.
+ // TODO(benwells): When Linux support is more reliable remove this
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_BUILD.gn
new file mode 100644
index 000000000000..06da7024e1e3
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_BUILD.gn
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/BUILD.gn.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/BUILD.gn
+@@ -1372,6 +1372,10 @@ static_library("extensions") {
+ deps += [ "//chrome/services/printing/public/mojom" ]
+ }
+
++ if (is_bsd) {
++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ]
++ }
++
+ if (enable_service_discovery) {
+ sources += [
+ "api/mdns/mdns_api.cc",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc
new file mode 100644
index 000000000000..06a864400955
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
+@@ -43,7 +43,7 @@
+ #include "extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_api.h"
+ #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h"
+ #endif
+
+@@ -108,7 +108,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt
+ extensions::SettingsPrivateEventRouterFactory::GetInstance();
+ extensions::SettingsOverridesAPI::GetFactoryInstance();
+ extensions::SidePanelService::GetFactoryInstance();
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ extensions::SystemIndicatorManagerFactory::GetInstance();
+ #endif
+ extensions::TabGroupsEventRouterFactory::GetInstance();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
new file mode 100644
index 000000000000..5f0523de5f4c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-07-22 17:30:31 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
+@@ -24,7 +24,7 @@
+ #include "base/win/registry.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/environment.h"
+ #include "base/nix/xdg_util.h"
+ #endif
+@@ -256,7 +256,7 @@ base::FilePath GetEndpointVerificationDir() {
+ bool got_path = false;
+ #if BUILDFLAG(IS_WIN)
+ got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path);
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar,
+ base::nix::kDotConfigDir);
+@@ -267,7 +267,7 @@ base::FilePath GetEndpointVerificationDir() {
+ if (!got_path)
+ return path;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ path = path.AppendASCII("google");
+ #else
+ path = path.AppendASCII("Google");
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc
new file mode 100644
index 000000000000..277b0a7db4ab
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc.orig 2022-11-30 08:12:58 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc
+@@ -8,7 +8,7 @@
+
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ #include <memory>
+ #include <utility>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h
new file mode 100644
index 000000000000..36906235599b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h.orig 2022-08-31 12:19:35 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h
+@@ -7,7 +7,7 @@
+
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ #include <vector>
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
new file mode 100644
index 000000000000..971325d39aff
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc
@@ -0,0 +1,38 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc
+@@ -32,7 +32,7 @@
+ #include "components/reporting/util/statusor.h"
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/strings/string_util.h"
+ #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h"
+ #include "chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h"
+@@ -149,7 +149,7 @@ api::enterprise_reporting_private::ContextInfo ToConte
+ return info;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ device_signals::SignalsAggregationRequest CreateAggregationRequest(
+ device_signals::SignalName signal_name) {
+@@ -210,7 +210,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction::
+
+ // getPersistentSecret
+
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+
+ EnterpriseReportingPrivateGetPersistentSecretFunction::
+ EnterpriseReportingPrivateGetPersistentSecretFunction() = default;
+@@ -637,7 +637,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction::
+ }
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ // getFileSystemInfo
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
new file mode 100644
index 000000000000..f8809f86b0d8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h
+@@ -20,7 +20,7 @@
+ #include "components/reporting/proto/synced/record.pb.h"
+ #include "components/reporting/proto/synced/record_constants.pb.h"
+ #include "components/reporting/util/statusor.h"
+-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/time/time.h"
+ #include "components/device_signals/core/browser/signals_types.h"
+ #endif // BUILDFLAG(IS_CHROMEOS)
+@@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction :
+ ~EnterpriseReportingPrivateGetDeviceIdFunction() override;
+ };
+
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+
+ class EnterpriseReportingPrivateGetPersistentSecretFunction
+ : public ExtensionFunction {
+@@ -266,7 +266,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction
+
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+
+ class EnterpriseReportingPrivateGetFileSystemInfoFunction
+ : public ExtensionFunction {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
new file mode 100644
index 000000000000..87a92318daf3
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc
+@@ -20,6 +20,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL
+
+ void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
++#if !BUILDFLAG(IS_BSD)
+ if (g_test_device_list.Get().get() != nullptr) {
+ base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask(
+ FROM_HERE,
+@@ -33,6 +34,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis
+ base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
+ base::BindOnce(&RemovableStorageProvider::PopulateDeviceList),
+ std::move(callback));
++#else
++ NOTIMPLEMENTED();
++#endif
+ }
+
+ // static
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc
new file mode 100644
index 000000000000..91fcc20ed463
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc
+@@ -82,7 +82,7 @@ bool NativeProcessLauncher::LaunchNativeProcess(
+
+ // 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)
+ // Don't use no_new_privs mode, e.g. in case the host needs to use sudo.
+ options.allow_new_privs = true;
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
new file mode 100644
index 000000000000..802634836f97
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
+@@ -603,7 +603,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem
+ }
+
+ void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ PasswordsPrivateEventRouter* router =
+ PasswordsPrivateEventRouterFactory::GetForProfile(profile_);
+ if (router) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
new file mode 100644
index 000000000000..5c9454eeb598
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2023-09-29 10:14:06 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+@@ -280,7 +280,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor
+ } else if (strcmp(os, "linux") == 0) {
+ info->os = extensions::api::runtime::PlatformOs::kLinux;
+ } else if (strcmp(os, "openbsd") == 0) {
+- info->os = extensions::api::runtime::PlatformOs::kOpenbsd;
++ info->os = extensions::api::runtime::PlatformOs::kLinux;
++ } else if (strcmp(os, "freebsd") == 0) {
++ info->os = extensions::api::runtime::PlatformOs::kLinux;
+ } else if (strcmp(os, "fuchsia") == 0) {
+ info->os = extensions::api::runtime::PlatformOs::kFuchsia;
+ } else {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_settings__private_prefs__util.cc
new file mode 100644
index 000000000000..ab7ab9a7009d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_settings__private_prefs__util.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/settings_private/prefs_util.cc
+@@ -199,7 +199,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ (*s_allowlist)[::prefs::kSidePanelHorizontalAlignment] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ (*s_allowlist)[::prefs::kUseCustomChromeFrame] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ #endif
+@@ -211,7 +211,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ settings_api::PrefType::PREF_TYPE_STRING;
+ (*s_allowlist)[::prefs::kPolicyThemeColor] =
+ settings_api::PrefType::PREF_TYPE_NUMBER;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ (*s_allowlist)[::prefs::kSystemTheme] =
+ settings_api::PrefType::PREF_TYPE_NUMBER;
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_tabs_tabs__api.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_tabs_tabs__api.cc
new file mode 100644
index 000000000000..0a42e29cfbed
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_tabs_tabs__api.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/tabs/tabs_api.cc
+@@ -860,7 +860,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio
+ // ui::SHOW_STATE_MINIMIZED above, on Linux the window is not created as
+ // minimized.
+ // TODO(crbug.com/1410400): Remove this workaround when linux is fixed.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/1410400): Find a fix for wayland as well.
+
+ // Must be defined inside IS_LINUX to compile on windows/mac.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
new file mode 100644
index 000000000000..e0f8858decb5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc
+@@ -31,7 +31,7 @@
+ #include "extensions/browser/process_manager.h"
+ #include "extensions/common/error_utils.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "extensions/common/permissions/permissions_data.h"
+ #endif
+
+@@ -40,7 +40,7 @@ bool CanEnableAudioDebugRecordingsFromExtension(
+ bool CanEnableAudioDebugRecordingsFromExtension(
+ const extensions::Extension* extension) {
+ bool enabled_by_permissions = false;
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (extension) {
+ enabled_by_permissions =
+ extension->permissions_data()->active_permissions().HasAPIPermission(
+@@ -598,7 +598,7 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() {
+
+ ExtensionFunction::ResponseAction
+ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object,
+ // this function shouldn't be called by a component extension on behalf of
+ // some web code. It returns a DirectoryEntry for use directly in the calling
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webstore__private_webstore__private__api.cc
new file mode 100644
index 000000000000..da9a51a03c39
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_extensions_api_webstore__private_webstore__private__api.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+@@ -924,7 +924,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:
+ RequestExtensionApproval(contents);
+ return;
+ }
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Shows a parental permission dialog directly bypassing the extension
+ // install dialog view. The parental permission dialog contains a superset
+ // of data from the extension install dialog: requested extension
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_gcm__profile__service__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_gcm__profile__service__factory.cc
new file mode 100644
index 000000000000..2f92338c3b30
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_gcm__profile__service__factory.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/gcm/gcm_profile_service_factory.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/gcm/gcm_profile_service_factory.cc
+@@ -91,7 +91,7 @@ GCMProfileService* GCMProfileServiceFactory::GetForPro
+ // static
+ GCMProfileService* GCMProfileServiceFactory::GetForProfile(
+ content::BrowserContext* profile) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On desktop, incognito profiles are checked with IsIncognitoProfile().
+ // It's possible for non-incognito profiles to also be off-the-record.
+ bool is_profile_supported =
+@@ -131,7 +131,7 @@ KeyedService* GCMProfileServiceFactory::BuildServiceIn
+ KeyedService* GCMProfileServiceFactory::BuildServiceInstanceFor(
+ content::BrowserContext* context) const {
+ Profile* profile = Profile::FromBrowserContext(context);
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ DCHECK(!profile->IsIncognitoProfile());
+ #else
+ DCHECK(!profile->IsOffTheRecord());
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc
new file mode 100644
index 000000000000..de8d94187879
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc
+@@ -16,7 +16,7 @@ namespace instance_id {
+ // static
+ InstanceIDProfileService* InstanceIDProfileServiceFactory::GetForProfile(
+ content::BrowserContext* profile) {
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On desktop, the guest profile is actually the primary OTR profile of
+ // the "regular" guest profile. The regular guest profile is never used
+ // directly by users. Also, user are not able to create child OTR profiles
+@@ -61,7 +61,7 @@ InstanceIDProfileServiceFactory::~InstanceIDProfileSer
+ KeyedService* InstanceIDProfileServiceFactory::BuildServiceInstanceFor(
+ content::BrowserContext* context) const {
+ Profile* profile = Profile::FromBrowserContext(context);
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On desktop, incognito profiles are checked with IsIncognitoProfile().
+ // It's possible for non-incognito profiles to also be off-the-record.
+ bool is_incognito = profile->IsIncognitoProfile();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_router_discovery_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_router_discovery_BUILD.gn
new file mode 100644
index 000000000000..483961bbc5a5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_router_discovery_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/media/router/discovery/BUILD.gn.orig 2022-10-24 13:33:33 UTC
++++ src/3rdparty/chromium/chrome/browser/media/router/discovery/BUILD.gn
+@@ -80,7 +80,7 @@ static_library("discovery") {
+ "media_sink_discovery_metrics.h",
+ ]
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [ "discovery_network_list_wifi_linux.cc" ]
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_capture__policy__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_capture__policy__utils.cc
index 77d0b039dee3..91903778b113 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_capture__policy__utils.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_capture__policy__utils.cc
@@ -1,20 +1,20 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/capture_policy_utils.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/capture_policy_utils.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/capture_policy_utils.cc
-@@ -118,7 +118,7 @@ AllowedScreenCaptureLevel GetAllowedCaptureLevel(const
+@@ -139,7 +139,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry
+ }
- bool IsGetDisplayMediaSetSelectAllScreensAllowedForAnySite(
- content::BrowserContext* context) {
+ bool IsGetAllScreensMediaAllowedForAnySite(content::BrowserContext* context) {
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
Profile* profile = Profile::FromBrowserContext(context);
if (!profile) {
return false;
-@@ -145,7 +145,7 @@ bool IsGetDisplayMediaSetSelectAllScreensAllowedForAny
- bool IsGetDisplayMediaSetSelectAllScreensAllowed(
- content::BrowserContext* context,
- const GURL& url) {
+@@ -174,7 +174,7 @@ bool IsGetAllScreensMediaAllowedForAnySite(content::Br
+
+ bool IsGetAllScreensMediaAllowed(content::BrowserContext* context,
+ const GURL& url) {
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
Profile* profile = Profile::FromBrowserContext(context);
- if (!profile)
+ if (!profile) {
return false;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_chrome__screen__enumerator.cc
index c53c86c51fbd..e3b515d773a3 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_chrome__screen__enumerator.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_chrome__screen__enumerator.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/chrome_screen_enumerator.cc
-@@ -20,7 +20,7 @@
+@@ -21,7 +21,7 @@
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/shell.h"
#include "ui/aura/window.h"
@@ -9,7 +9,7 @@
#include "base/functional/callback.h"
#include "content/public/browser/desktop_capture.h"
#endif
-@@ -31,7 +31,7 @@ base::LazyInstance<std::vector<aura::Window*>>::Destru
+@@ -32,7 +32,7 @@ base::LazyInstance<std::vector<aura::Window*>>::Destru
root_windows_for_testing_ = LAZY_INSTANCE_INITIALIZER;
} // namespace
@@ -18,7 +18,7 @@
namespace {
base::LazyInstance<std::unique_ptr<webrtc::DesktopCapturer>>::DestructorAtExit
g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER;
-@@ -77,7 +77,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
+@@ -78,7 +78,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens(
return stream_devices_set;
}
@@ -27,7 +27,7 @@
blink::mojom::StreamDevicesSetPtr EnumerateScreens(
blink::mojom::MediaStreamType stream_type) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-@@ -128,7 +128,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting(
+@@ -129,7 +129,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting(
root_windows_for_testing_.Get() = std::move(root_windows);
}
@@ -36,9 +36,9 @@
void ChromeScreenEnumerator::SetDesktopCapturerForTesting(
std::unique_ptr<webrtc::DesktopCapturer> capturer) {
g_desktop_capturer_for_testing.Get() = std::move(capturer);
-@@ -144,7 +144,7 @@ void ChromeScreenEnumerator::EnumerateScreens(
- DCHECK(base::FeatureList::IsEnabled(
- features::kGetDisplayMediaSetAutoSelectAllScreens));
+@@ -143,7 +143,7 @@ void ChromeScreenEnumerator::EnumerateScreens(
+ DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
+ DCHECK(base::FeatureList::IsEnabled(blink::features::kGetAllScreensMedia));
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
index 226274e7a074..1997053b0136 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -43,7 +43,7 @@ const char kProduct[] = "Chrome_ChromeOS";
+@@ -44,7 +44,7 @@ const char kProduct[] = "Chrome_ChromeOS";
const char kProduct[] = "Chrome_Mac";
#elif BUILDFLAG(IS_CHROMEOS_ASH)
const char kProduct[] = "Chrome_ChromeOS";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__log__uploader.cc
index 647f9df48f94..de2a37accf04 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__log__uploader.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__log__uploader.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -365,6 +365,10 @@ void WebRtcLogUploader::SetupMultipart(
+@@ -375,6 +375,10 @@ void WebRtcLogUploader::SetupMultipart(
const char product[] = "Chrome_ChromeOS";
#elif BUILDFLAG(IS_FUCHSIA)
const char product[] = "Chrome_Fuchsia";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.cc
index fdebe744f962..c74047f8bfa1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_media_webrtc_webrtc__logging__controller.cc
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.cc
-@@ -23,10 +23,10 @@
- #include "content/public/browser/browser_context.h"
+@@ -25,10 +25,10 @@
+ #include "components/webrtc_logging/browser/text_log_list.h"
#include "content/public/browser/render_process_host.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -13,7 +13,7 @@
using webrtc_event_logging::WebRtcEventLogManager;
-@@ -278,7 +278,7 @@ void WebRtcLoggingController::StartEventLogging(
+@@ -285,7 +285,7 @@ void WebRtcLoggingController::StartEventLogging(
web_app_id, callback);
}
@@ -22,7 +22,7 @@
void WebRtcLoggingController::GetLogsDirectory(
LogsDirectoryCallback callback,
LogsDirectoryErrorCallback error_callback) {
-@@ -323,7 +323,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess
+@@ -330,7 +330,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess
FROM_HERE,
base::BindOnce(std::move(callback), file_system.id(), registered_name));
}
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 1ba821af9e7a..49b8eb69053c 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,6 +1,6 @@
---- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/browser/media/webrtc/webrtc_logging_controller.h
-@@ -137,7 +137,7 @@ class WebRtcLoggingController
+@@ -138,7 +138,7 @@ class WebRtcLoggingController
size_t web_app_id,
const StartEventLoggingCallback& callback);
@@ -9,9 +9,9 @@
// 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.
-@@ -196,7 +196,7 @@ class WebRtcLoggingController
- bool success,
- const std::string& error_message);
+@@ -203,7 +203,7 @@ class WebRtcLoggingController
+
+ content::BrowserContext* GetBrowserContext() const;
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.cc
new file mode 100644
index 000000000000..f3128071a53f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.cc
@@ -0,0 +1,115 @@
+--- src/3rdparty/chromium/chrome/browser/net/system_network_context_manager.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/net/system_network_context_manager.cc
+@@ -92,7 +92,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ #include "chrome/common/chrome_paths_internal.h"
+ #include "chrome/grit/chromium_strings.h"
+ #include "ui/base/l10n/l10n_util.h"
+@@ -183,7 +183,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+ auth_dynamic_params->basic_over_http_enabled =
+ local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ auth_dynamic_params->delegate_by_kdc_policy =
+ local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+@@ -241,7 +241,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal()
+ if (g_previously_failed_to_launch_sandboxed_service) {
+ return NetworkSandboxState::kDisabledBecauseOfFailedLaunch;
+ }
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto* local_state = g_browser_process->local_state();
+ #endif
+
+@@ -262,7 +262,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal()
+ }
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (local_state &&
+ local_state->HasPrefPath(prefs::kNetworkServiceSandboxEnabled)) {
+ return local_state->GetBoolean(prefs::kNetworkServiceSandboxEnabled)
+@@ -457,7 +457,7 @@ void SystemNetworkContextManager::DeleteInstance() {
+ g_system_network_context_manager = nullptr;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ SystemNetworkContextManager::GssapiLibraryLoadObserver::
+ GssapiLibraryLoadObserver(SystemNetworkContextManager* owner)
+ : owner_(owner) {}
+@@ -515,7 +515,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
+ pref_change_registrar_.Add(prefs::kAllHttpAuthSchemesAllowedForOrigins,
+ auth_pref_callback);
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
+ auth_pref_callback);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+@@ -562,7 +562,7 @@ SystemNetworkContextManager::SystemNetworkContextManag
+ #endif // BUILDFLAG(CHROME_ROOT_STORE_POLICY_SUPPORTED)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ pref_change_registrar_.Add(
+ prefs::kEnforceLocalAnchorConstraintsEnabled,
+ base::BindRepeating(&SystemNetworkContextManager::
+@@ -611,7 +611,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
+ registry->RegisterBooleanPref(prefs::kKerberosEnabled, false);
+ #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy,
+ false);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
+@@ -640,7 +640,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
+ registry->RegisterBooleanPref(prefs::kChromeRootStoreEnabled, false);
+ #endif // BUILDFLAG(CHROME_ROOT_STORE_POLICY_SUPPORTED)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // Note that the default value is not relevant because the pref is only
+ // evaluated when it is managed.
+ registry->RegisterBooleanPref(prefs::kEnforceLocalAnchorConstraintsEnabled,
+@@ -649,11 +649,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
+
+ registry->RegisterListPref(prefs::kExplicitlyAllowedNetworkPorts);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kNetworkServiceSandboxEnabled, true);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ registry->RegisterBooleanPref(prefs::kReceivedHttpAuthNegotiateHeader, false);
+ #endif // BUILDFLAG(IS_LINUX)
+ }
+@@ -702,7 +702,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
+ OnNewHttpAuthDynamicParams(http_auth_dynamic_params);
+ network_service->ConfigureHttpAuthPrefs(std::move(http_auth_dynamic_params));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ gssapi_library_loader_observer_.Install(network_service);
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -1009,7 +1009,7 @@ void SystemNetworkContextManager::UpdateChromeRootStor
+ #endif // BUILDFLAG(CHROME_ROOT_STORE_POLICY_SUPPORTED)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ void SystemNetworkContextManager::UpdateEnforceLocalAnchorConstraintsEnabled() {
+ const PrefService::Preference* enforce_local_anchor_constraints_enabled_pref =
+ local_state_->FindPreference(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.h
new file mode 100644
index 000000000000..03783d1b1351
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_net_system__network__context__manager.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/net/system_network_context_manager.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/net/system_network_context_manager.h
+@@ -185,7 +185,7 @@ class SystemNetworkContextManager {
+ class URLLoaderFactoryForSystem;
+ class NetworkProcessLaunchWatcher;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class GssapiLibraryLoadObserver
+ : public network::mojom::GssapiLibraryLoadObserver {
+ public:
+@@ -229,7 +229,7 @@ class SystemNetworkContextManager {
+ #endif // BUILDFLAG(CHROME_ROOT_STORE_POLICY_SUPPORTED)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // Applies the current value of the kEnforceLocalAnchorConstraintsEnabled
+ // pref to the enforcement state.
+ void UpdateEnforceLocalAnchorConstraintsEnabled();
+@@ -275,7 +275,7 @@ class SystemNetworkContextManager {
+
+ static absl::optional<bool> certificate_transparency_enabled_for_testing_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ GssapiLibraryLoadObserver gssapi_library_loader_observer_{this};
+ #endif // BUILDFLAG(IS_LINUX)
+ };
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_browser__prefs.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_browser__prefs.cc
new file mode 100644
index 000000000000..01dbe1ca48f5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_browser__prefs.cc
@@ -0,0 +1,69 @@
+--- src/3rdparty/chromium/chrome/browser/prefs/browser_prefs.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/prefs/browser_prefs.cc
+@@ -478,13 +478,13 @@
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+ #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897
+ #endif
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
+ #include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
+ #endif
+@@ -517,7 +517,7 @@
+ #include "chrome/browser/sessions/session_service_log.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/color/system_theme.h"
+ #endif
+
+@@ -662,7 +662,7 @@ const char kPluginsPluginsList[] = "plugins.plugins_li
+ const char kPluginsShowDetails[] = "plugins.show_details";
+
+ // Deprecated 02/2023.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info";
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -948,7 +948,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistryS
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+ // Deprecated 02/2023.
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ registry->RegisterDictionaryPref(kWebAppsUrlHandlerInfo);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -1863,12 +1863,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
+ #endif
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+ device_signals::RegisterProfilePrefs(registry);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+ // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
+ #endif
+
+@@ -2018,7 +2018,7 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+ // Added 02/2023
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ local_state->ClearPref(kWebAppsUrlHandlerInfo);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_pref__service__incognito__allowlist.cc
new file mode 100644
index 000000000000..30ddf9a2ebc9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_prefs_pref__service__incognito__allowlist.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/chrome/browser/prefs/pref_service_incognito_allowlist.cc
+@@ -168,7 +168,7 @@ const char* const kPersistentPrefNames[] = {
+ prefs::kShowFullscreenToolbar,
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Toggleing custom frames affects all open windows in the profile, hence
+ // should be written to the regular profile when changed in incognito mode.
+ prefs::kUseCustomChromeFrame,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_print__backend__service__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_print__backend__service__manager.cc
new file mode 100644
index 000000000000..8139fb923780
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_print__backend__service__manager.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/printing/print_backend_service_manager.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/browser/printing/print_backend_service_manager.cc
+@@ -33,7 +33,7 @@
+ #include "printing/buildflags/buildflags.h"
+ #include "printing/printing_features.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "content/public/common/content_switches.h"
+ #endif
+
+@@ -851,7 +851,7 @@ PrintBackendServiceManager::GetServiceFromBundle(
+ host.BindNewPipeAndPassReceiver(),
+ content::ServiceProcessHost::Options()
+ .WithDisplayName(IDS_UTILITY_PROCESS_PRINT_BACKEND_SERVICE_NAME)
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ .WithExtraCommandLineSwitches({switches::kMessageLoopTypeUi})
+ #endif
+ .Pass());
+@@ -1024,7 +1024,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate
+ return kNoClientsRegisteredResetOnIdleTimeout;
+
+ case ClientType::kQueryWithUi:
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // No need to update if there were other query with UI clients.
+ if (HasQueryWithUiClientForRemoteId(remote_id)) {
+ return absl::nullopt;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_printer__query.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_printer__query.cc
new file mode 100644
index 000000000000..125dba287eaa
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_printing_printer__query.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/printing/printer_query.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/printing/printer_query.cc
+@@ -361,7 +361,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di
+ crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
+ print_backend->GetPrinterDriverInfo(printer_name));
+
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)
++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_CUPS)
+ PrinterBasicInfo basic_info;
+ if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) ==
+ mojom::ResultCode::kSuccess) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_sandbox__internals_sandbox__internals.ts b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_sandbox__internals_sandbox__internals.ts
new file mode 100644
index 000000000000..e10b79e480c1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_sandbox__internals_sandbox__internals.ts
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.ts.orig 2023-02-08 09:03:45 UTC
++++ src/3rdparty/chromium/chrome/browser/resources/sandbox_internals/sandbox_internals.ts
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+-// <if expr="is_linux or is_chromeos">
++// <if expr="is_posix or is_chromeos">
+ import './strings.m.js';
+
+ import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
+@@ -121,7 +121,7 @@ function androidHandler() {
+ }
+ // </if>
+
+-// <if expr="is_linux or is_chromeos">
++// <if expr="is_posix or is_chromeos">
+
+ /**
+ * Adds a status row that reports either Yes or No.
+@@ -182,7 +182,7 @@ document.addEventListener('DOMContentLoaded', () => {
+ // <if expr="is_android">
+ androidHandler();
+ // </if>
+- // <if expr="is_linux or is_chromeos">
++ // <if expr="is_posix or is_chromeos">
+ linuxHandler();
+ // </if>
+ });
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_signin__shared.css b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_signin__shared.css
new file mode 100644
index 000000000000..1a3008147862
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_signin__shared.css
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/resources/signin/signin_shared.css.orig 2022-11-30 08:12:58 UTC
++++ src/3rdparty/chromium/chrome/browser/resources/signin/signin_shared.css
+@@ -54,7 +54,7 @@ a {
+ border-radius: var(--scrollbar-width);
+ }
+
+-<if expr="is_macosx or is_linux or is_chromeos">
++<if expr="is_macosx or is_posix or is_chromeos">
+ .action-container {
+ flex-flow: row-reverse;
+ justify-content: flex-start;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
new file mode 100644
index 000000000000..5ec551183f86
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html
+@@ -290,7 +290,7 @@
+ autofocus="[[isModalDialog_]]">
+ $i18n{syncConfirmationConfirmLabel}
+ </cr-button>
+- <if expr="is_macosx or is_linux or chromeos_ash or chromeos_lacros">
++ <if expr="is_macosx or is_posix or chromeos_ash or chromeos_lacros">
+ <cr-button id="settingsButton" on-click="onGoToSettings_"
+ disabled="[[anyButtonClicked_]]" consent-confirmation>
+ $i18n{syncConfirmationSettingsLabel}
+@@ -300,7 +300,7 @@
+ disabled="[[anyButtonClicked_]]">
+ $i18n{syncConfirmationUndoLabel}
+ </cr-button>
+- <if expr="not (is_macosx or is_linux or chromeos_ash or chromeos_lacros)">
++ <if expr="not (is_macosx or is_posix or chromeos_ash or chromeos_lacros)">
+ <cr-button id="settingsButton" on-click="onGoToSettings_"
+ disabled="[[anyButtonClicked_]]" consent-confirmation>
+ $i18n{syncConfirmationSettingsLabel}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_about__ui.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_about__ui.cc
new file mode 100644
index 000000000000..565fc76382d7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_about__ui.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/about_ui.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/about_ui.cc
+@@ -635,7 +635,7 @@ std::string ChromeURLs() {
+ return html;
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::string AboutLinuxProxyConfig() {
+ std::string data;
+ AppendHeader(&data,
+@@ -689,7 +689,7 @@ void AboutUIHTMLSource::StartDataRequest(
+ response =
+ ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
+ }
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
+ response = AboutLinuxProxyConfig();
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_app__home_app__home__page__handler.cc
new file mode 100644
index 000000000000..a7b61b1f993f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_app__home_app__home__page__handler.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/app_home/app_home_page_handler.cc
+@@ -415,7 +415,7 @@ app_home::mojom::AppInfoPtr AppHomePageHandler::Create
+
+ bool deprecated_app = false;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ auto* context = extension_system_->extension_service()->GetBrowserContext();
+ deprecated_app =
+ extensions::IsExtensionUnsupportedDeprecatedApp(context, extension->id());
+@@ -478,7 +478,7 @@ void AppHomePageHandler::FillExtensionInfoList(
+ }
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ auto* context = extension_system_->extension_service()->GetBrowserContext();
+ const bool is_deprecated_app =
+ extensions::IsExtensionUnsupportedDeprecatedApp(context,
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
new file mode 100644
index 000000000000..a717e9efc5ce
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
@@ -0,0 +1,92 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+@@ -213,7 +213,7 @@
+ #include "chrome/browser/ui/webui/chromeos/chrome_url_disabled/chrome_url_disabled_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
+
+@@ -239,17 +239,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
+
+@@ -402,7 +402,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)
+@@ -663,7 +663,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ if (url.host_piece() == chrome::kChromeUIMobileSetupHost)
+ return &NewWebUI<ash::cellular_setup::MobileSetupUI>;
+ #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<WebUIJsErrorUI>;
+ #endif
+@@ -725,7 +725,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ if (url.host_piece() == chrome::kChromeUINaClHost)
+ return &NewWebUI<NaClUI>;
+ #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)
+@@ -794,27 +794,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<SandboxInternalsUI>;
+ }
+ #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<enterprise_connectors::ConnectorsInternalsUI>;
+ #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<DiscardsUI>;
+ #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<BrowserSwitchUI>;
+ #endif
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost)
+ return &NewWebUI<WebAppSettingsUI>;
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
new file mode 100644
index 000000000000..1ef21d90c51b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc
+@@ -6,7 +6,7 @@
+
+ #include "build/build_config.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ #include "base/base64url.h"
+ #include "chrome/browser/browser_process.h"
+ #include "chrome/browser/policy/chrome_browser_policy_connector.h"
+@@ -24,7 +24,7 @@ namespace utils {
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+
+ connectors_internals::mojom::KeyTrustLevel ParseTrustLevel(
+ BPKUR::KeyTrustLevel trust_level) {
+@@ -92,7 +92,7 @@ connectors_internals::mojom::Int32ValuePtr ToMojomValu
+ } // namespace
+
+ connectors_internals::mojom::KeyInfoPtr GetKeyInfo() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ auto* key_manager = g_browser_process->browser_policy_connector()
+ ->chrome_browser_cloud_management_controller()
+ ->GetDeviceTrustKeyManager();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui.cc
new file mode 100644
index 000000000000..c5e532d3d32b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui.cc
+@@ -92,7 +92,7 @@ content::WebUIDataSource* CreateAndAddManagementUIHtml
+ {kManagementOnFileTransferVisibleData,
+ IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA},
+ #endif // BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {kManagementScreenCaptureEvent, IDS_MANAGEMENT_SCREEN_CAPTURE_EVENT},
+ {kManagementScreenCaptureData, IDS_MANAGEMENT_SCREEN_CAPTURE_DATA},
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.cc
new file mode 100644
index 000000000000..084248a340c7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.cc
@@ -0,0 +1,53 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui_handler.cc
+@@ -94,7 +94,7 @@
+ #include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "chrome/browser/enterprise/signals/user_permission_service_factory.h"
+ #include "components/device_signals/core/browser/user_permission_service.h" // nogncheck
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -190,12 +190,12 @@ enum class ReportingType {
+ kLegacyTech,
+ };
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kManagementScreenCaptureEvent[] = "managementScreenCaptureEvent";
+ const char kManagementScreenCaptureData[] = "managementScreenCaptureData";
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const char kManagementDeviceSignalsDisclosure[] =
+ "managementDeviceSignalsDisclosure";
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+@@ -773,7 +773,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value
+ GetReportingTypeValue(report_definition.reporting_type));
+ report_sources->Append(std::move(data));
+ }
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Insert the device signals consent disclosure at the end of browser
+ // reporting section.
+ auto* user_permission_service = GetUserPermissionService();
+@@ -1061,7 +1061,7 @@ base::Value::Dict ManagementUIHandler::GetThreatProtec
+ kManagementOnPageVisitedVisibleData, &info);
+ }
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (capture_policy::IsGetAllScreensMediaAllowedForAnySite(profile)) {
+ AddThreatProtectionPermission(kManagementScreenCaptureEvent,
+ kManagementScreenCaptureData, &info);
+@@ -1145,7 +1145,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS
+ ->policy_service();
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ device_signals::UserPermissionService*
+ ManagementUIHandler::GetUserPermissionService() {
+ return enterprise_signals::UserPermissionServiceFactory::GetForProfile(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.h
new file mode 100644
index 000000000000..fb7c7572967b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_management_management__ui__handler.h
@@ -0,0 +1,37 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui_handler.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/management/management_ui_handler.h
+@@ -24,14 +24,14 @@
+ #include "extensions/common/extension_id.h"
+ #include "url/gurl.h"
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Constants defining the IDs for the localized strings sent to the page as
+ // load time data.
+ extern const char kManagementScreenCaptureEvent[];
+ extern const char kManagementScreenCaptureData[];
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ extern const char kManagementDeviceSignalsDisclosure[];
+ #endif // #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
+@@ -117,7 +117,7 @@ class StatusCollector;
+ class SystemLogUploader;
+ } // namespace policy
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ namespace device_signals {
+ class UserPermissionService;
+ } // namespace device_signals
+@@ -177,7 +177,7 @@ class ManagementUIHandler : public content::WebUIMessa
+ base::Value::List GetManagedWebsitesInfo(Profile* profile) const;
+ base::Value::List GetApplicationsInfo(Profile* profile) const;
+ virtual policy::PolicyService* GetPolicyService();
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ virtual device_signals::UserPermissionService* GetUserPermissionService();
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_ntp_app__launcher__handler.cc
new file mode 100644
index 000000000000..8bf838a52106
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_ntp_app__launcher__handler.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
+@@ -320,7 +320,7 @@ base::Value::Dict AppLauncherHandler::CreateExtensionI
+ bool is_deprecated_app = false;
+ auto* context = extension_service_->GetBrowserContext();
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ is_deprecated_app =
+ extensions::IsExtensionUnsupportedDeprecatedApp(context, extension->id());
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_realbox_realbox__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_realbox_realbox__handler.cc
new file mode 100644
index 000000000000..286837de110d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_realbox_realbox__handler.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/realbox/realbox_handler.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/realbox/realbox_handler.cc
+@@ -146,7 +146,7 @@ constexpr char kMacShareIconResourceName[] =
+ #elif BUILDFLAG(IS_WIN)
+ constexpr char kWinShareIconResourceName[] =
+ "//resources/cr_components/omnibox/icons/win_share.svg";
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ constexpr char kLinuxShareIconResourceName[] =
+ "//resources/cr_components/omnibox/icons/share.svg";
+ #else
+@@ -745,7 +745,7 @@ std::string RealboxHandler::PedalVectorIconToResourceN
+ icon.name == omnibox::kShareWinChromeRefreshIcon.name) {
+ return kWinShareIconResourceName;
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (icon.name == omnibox::kShareIcon.name ||
+ icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) {
+ return kLinuxShareIconResourceName;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_appearance__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_appearance__handler.cc
new file mode 100644
index 000000000000..17580c061f6b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_appearance__handler.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2022-10-24 13:33:33 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/settings/appearance_handler.cc
+@@ -28,7 +28,7 @@ void AppearanceHandler::RegisterMessages() {
+ "useDefaultTheme",
+ base::BindRepeating(&AppearanceHandler::HandleUseTheme,
+ base::Unretained(this), ui::SystemTheme::kDefault));
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ web_ui()->RegisterMessageCallback(
+ "useGtkTheme",
+ base::BindRepeating(&AppearanceHandler::HandleUseTheme,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
new file mode 100644
index 000000000000..e93abe0efa2d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
@@ -0,0 +1,65 @@
+--- src/3rdparty/chromium/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+@@ -135,7 +135,7 @@
+ #include "ash/webui/settings/public/constants/routes.mojom.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+ #include "ui/display/screen.h"
+ #endif
+
+@@ -155,7 +155,7 @@
+ #include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui_factory.h"
+ #include "ui/ozone/public/ozone_platform.h"
+ #endif
+@@ -263,7 +263,7 @@ void AddCommonStrings(content::WebUIDataSource* html_s
+ base::FeatureList::IsEnabled(
+ supervised_user::kClearingCookiesKeepsSupervisedUsersSignedIn));
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool allow_qt_theme = base::FeatureList::IsEnabled(ui::kAllowQt);
+ #else
+ bool allow_qt_theme = false;
+@@ -294,7 +294,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou
+ {"focusHighlightLabel",
+ IDS_SETTINGS_ACCESSIBILITY_FOCUS_HIGHLIGHT_DESCRIPTION},
+ #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ {"overscrollHistoryNavigationTitle",
+ IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_TITLE},
+ {"overscrollHistoryNavigationSubtitle",
+@@ -433,7 +433,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ {"huge", IDS_SETTINGS_HUGE_FONT_SIZE},
+ {"sidePanelAlignLeft", IDS_SETTINGS_SIDE_PANEL_ALIGN_LEFT},
+ {"sidePanelAlignRight", IDS_SETTINGS_SIDE_PANEL_ALIGN_RIGHT},
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ {"gtkTheme", IDS_SETTINGS_GTK_THEME},
+ {"useGtkTheme", IDS_SETTINGS_USE_GTK_THEME},
+ {"qtTheme", IDS_SETTINGS_QT_THEME},
+@@ -443,7 +443,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ #else
+ {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME},
+ #endif
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+ {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
+ #endif
+ #if BUILDFLAG(IS_MAC)
+@@ -468,7 +468,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
+ bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance()
+ ->GetPlatformRuntimeProperties()
+ .supports_server_side_window_decorations;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info.h
new file mode 100644
index 000000000000..2c5c06693e34
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info.h
@@ -0,0 +1,18 @@
+--- src/3rdparty/chromium/chrome/common/channel_info.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/chrome/common/channel_info.h
+@@ -104,13 +104,13 @@ void ClearChannelForTesting();
+ std::string GetChannelSuffixForDataDir();
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string GetChannelSuffixForExtraFlagsEnvVarName();
+ #endif
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ // Returns the channel-specific filename of the desktop shortcut used to launch
+ // the browser.
+ std::string GetDesktopName(base::Environment* env);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info__posix.cc
new file mode 100644
index 000000000000..e0d82654c4e1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_channel__info__posix.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/common/channel_info_posix.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/chrome/common/channel_info_posix.cc
+@@ -92,7 +92,7 @@ std::string GetChannelSuffixForDataDir() {
+ }
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string GetChannelSuffixForExtraFlagsEnvVarName() {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ const auto channel_state = GetChannelImpl();
+@@ -118,7 +118,7 @@ std::string GetChannelSuffixForExtraFlagsEnvVarName()
+
+ // 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::string GetDesktopName(base::Environment* env) {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ // Google Chrome packaged as a snap is a special case: the application name
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.cc
new file mode 100644
index 000000000000..18a04c2ad7dd
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.cc
@@ -0,0 +1,83 @@
+--- src/3rdparty/chromium/chrome/common/chrome_features.cc.orig 2024-01-23 10:07:29 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_features.cc
+@@ -74,7 +74,7 @@ BASE_FEATURE(kAppShimNotificationAttribution,
+
+ // Enables the built-in DNS resolver.
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \
+- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kAsyncDns,
+ "AsyncDns",
+ base::FEATURE_ENABLED_BY_DEFAULT
+@@ -87,7 +87,7 @@ BASE_FEATURE(kAsyncDns,
+ #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)
+ // Enables or disables the Autofill survey triggered by opening a prompt to
+ // save address info.
+ BASE_FEATURE(kAutofillAddressSurvey,
+@@ -105,7 +105,7 @@ BASE_FEATURE(kAutofillPasswordSurvey,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Enables the Restart background mode optimization. When all Chrome UI is
+ // closed and it goes in the background, allows to restart the browser to
+ // discard memory.
+@@ -301,7 +301,7 @@ BASE_FEATURE(kDesktopPWAsEnforceWebAppSettingsPolicy,
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+ // Enables or disables Desktop PWAs to be auto-started on OS login.
+-#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(kDesktopPWAsRunOnOsLogin,
+ "DesktopPWAsRunOnOsLogin",
+ base::FEATURE_ENABLED_BY_DEFAULT
+@@ -335,7 +335,7 @@ BASE_FEATURE(kDesktopPWAsWebBundles,
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ // Controls whether Chrome Apps are supported. See https://crbug.com/1221251.
+ // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome
+ // Apps will not launch and will be marked in the UI as deprecated.
+@@ -366,7 +366,7 @@ BASE_FEATURE(kDisruptiveNotificationPermissionRevocati
+
+ // Enable DNS over HTTPS (DoH).
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kDnsOverHttps,
+ "DnsOverHttps",
+ base::FEATURE_ENABLED_BY_DEFAULT
+@@ -387,7 +387,7 @@ const base::FeatureParam<bool> kDnsOverHttpsShowUiPara
+ const base::FeatureParam<bool> kDnsOverHttpsShowUiParam {
+ &kDnsOverHttps, "ShowUi",
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ true
+ #else
+ false
+@@ -875,7 +875,7 @@ BASE_FEATURE(kKAnonymityServiceStorage,
+ "KAnonymityServiceStorage",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kLinuxLowMemoryMonitor,
+ "LinuxLowMemoryMonitor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -888,7 +888,7 @@ constexpr base::FeatureParam<int> kLinuxLowMemoryMonit
+ &kLinuxLowMemoryMonitor, "critical_level", 255};
+ #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kListWebAppsSwitch,
+ "ListWebAppsSwitch",
+ base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.h
new file mode 100644
index 000000000000..033e2af8b846
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__features.h
@@ -0,0 +1,45 @@
+--- src/3rdparty/chromium/chrome/common/chrome_features.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_features.h
+@@ -61,13 +61,13 @@ BASE_DECLARE_FEATURE(kAppShimNotificationAttribution);
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAsyncDns);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillAddressSurvey);
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillCardSurvey);
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillPasswordSurvey);
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ BASE_DECLARE_FEATURE(kBackgroundModeAllowRestart);
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -201,7 +201,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings);
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kDesktopPWAsWebBundles);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation);
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ BASE_DECLARE_FEATURE(kKeepForceInstalledPreinstalledApps);
+@@ -499,7 +499,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceOHTTPRequests);
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ BASE_DECLARE_FEATURE(kKAnonymityServiceStorage);
+
+-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor);
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::FeatureParam<int> kLinuxLowMemoryMonitorModerateLevel;
+@@ -507,7 +507,7 @@ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::FeatureParam<int> kLinuxLowMemoryMonitorCriticalLevel;
+ #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch);
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc
new file mode 100644
index 000000000000..5ea4fc7401a8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc
@@ -0,0 +1,84 @@
+--- src/3rdparty/chromium/chrome/common/chrome_paths.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_paths.cc
+@@ -30,7 +30,7 @@
+ #include "base/apple/foundation_util.h"
+ #endif
+
+-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+ #include "components/policy/core/common/policy_paths.h"
+ #endif
+
+@@ -49,14 +49,14 @@
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // The path to the external extension <id>.json files.
+ // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/
+ const base::FilePath::CharType kFilepathSinglePrefExtensions[] =
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
+ #else
+- FILE_PATH_LITERAL("/usr/share/chromium/extensions");
++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
+
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -211,7 +211,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ }
+ break;
+ case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (!GetUserDownloadsDirectorySafe(&cur)) {
+ return false;
+ }
+@@ -504,7 +504,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ return false;
+ }
+ break;
+-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
+ case chrome::DIR_POLICY_FILES: {
+ cur = base::FilePath(policy::kPolicyPath);
+ break;
+@@ -515,7 +515,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || \
+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+ BUILDFLAG(CHROMIUM_BRANDING)) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) {
+ return false;
+@@ -524,7 +524,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ break;
+ }
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
+ cur = base::FilePath(kFilepathSinglePrefExtensions);
+ break;
+@@ -571,7 +571,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ break;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ case chrome::DIR_NATIVE_MESSAGING:
+ #if BUILDFLAG(IS_MAC)
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+@@ -585,6 +585,9 @@ bool PathProvider(int key, base::FilePath* result) {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ cur = base::FilePath(
+ FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts"));
++#elif BUILDFLAG(IS_FREEBSD)
++ cur = base::FilePath(FILE_PATH_LITERAL(
++ "/usr/local/etc/chromium/native-messaging-hosts"));
+ #else
+ cur = base::FilePath(
+ FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts"));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.h
new file mode 100644
index 000000000000..7a1e8b1854d5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/chrome/common/chrome_paths.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_paths.h
+@@ -57,7 +57,7 @@ enum {
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || \
+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+ BUILDFLAG(CHROMIUM_BRANDING)) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions
+ // on Chrome Mac and Chromium Linux.
+ // On Chrome OS, this path is used for OEM
+@@ -65,7 +65,7 @@ enum {
+ // create it.
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension'
+ // definition manifest files that
+ // describe extensions which are to be
+@@ -123,7 +123,7 @@ enum {
+ // must be cleared on device reboot.
+
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ DIR_NATIVE_MESSAGING, // System directory where native messaging host
+ // manifest files are stored.
+ DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths__internal.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths__internal.h
new file mode 100644
index 000000000000..ef783e50e09d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths__internal.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/chrome_paths_internal.h.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_paths_internal.h
+@@ -43,7 +43,7 @@ void GetUserCacheDirectory(const base::FilePath& profi
+ // Get the path to the user's documents directory.
+ bool GetUserDocumentsDirectory(base::FilePath* result);
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Gets the path to a safe default download directory for a user.
+ bool GetUserDownloadsDirectorySafe(base::FilePath* result);
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.cc
new file mode 100644
index 000000000000..a75007a16709
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.cc
@@ -0,0 +1,19 @@
+--- src/3rdparty/chromium/chrome/common/chrome_switches.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_switches.cc
+@@ -849,14 +849,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-
+ #endif
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
+
+ // Causes the browser to launch directly in guest mode.
+ const char kGuest[] = "guest";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Writes open and installed web apps for each profile to the specified file
+ // without launching a new browser window or tab. Pass a absolute file path to
+ // specify where to output the information. Can be used together with optional
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.h
new file mode 100644
index 000000000000..409d50bc04d6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__switches.h
@@ -0,0 +1,17 @@
+--- src/3rdparty/chromium/chrome/common/chrome_switches.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/chrome_switches.h
+@@ -269,12 +269,12 @@ extern const char kAllowNaClSocketAPI[];
+ #endif
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ extern const char kEnableNewAppMenuIcon[];
+ extern const char kGuest[];
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ extern const char kListApps[];
+ extern const char kProfileBaseName[];
+ extern const char kProfileManagementAttributes[];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_extensions_permissions_chrome__permission__message__rules.cc
new file mode 100644
index 000000000000..495166345ead
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_extensions_permissions_chrome__permission__message__rules.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
+@@ -287,7 +287,7 @@ int GetEnterpriseReportingPrivatePermissionMessageId()
+ #endif
+ #if BUILDFLAG(IS_WIN)
+ return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_WIN;
+-#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC)
++#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) or BUILDFLAG(IS_BSD)
+ return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS;
+ #else
+ return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__host__file__path.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__host__file__path.cc
new file mode 100644
index 000000000000..1ae38d605706
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__host__file__path.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/media/cdm_host_file_path.cc.orig 2023-02-08 09:03:45 UTC
++++ src/3rdparty/chromium/chrome/common/media/cdm_host_file_path.cc
+@@ -90,7 +90,7 @@ void AddCdmHostFilePaths(
+ cdm_host_file_paths->emplace_back(chrome_framework_path,
+ chrome_framework_sig_path);
+
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+
+ base::FilePath chrome_exe_dir;
+ if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir))
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__registration.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__registration.cc
new file mode 100644
index 000000000000..e6eee8f508c5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_cdm__registration.cc
@@ -0,0 +1,52 @@
+--- src/3rdparty/chromium/chrome/common/media/cdm_registration.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/media/cdm_registration.cc
+@@ -25,11 +25,11 @@
+
+ #if BUILDFLAG(ENABLE_WIDEVINE)
+ #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "base/native_library.h"
+ #include "chrome/common/chrome_paths.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/no_destructor.h"
+ #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h"
+ #include "components/cdm/common/cdm_manifest.h"
+@@ -56,7 +56,7 @@ using Robustness = content::CdmInfo::Robustness;
+ #if BUILDFLAG(ENABLE_WIDEVINE)
+ #if (BUILDFLAG(BUNDLE_WIDEVINE_CDM) || \
+ BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ // Create a CdmInfo for a Widevine CDM, using |version|, |cdm_library_path|, and
+ // |capability|.
+ std::unique_ptr<content::CdmInfo> CreateWidevineCdmInfo(
+@@ -101,7 +101,7 @@ std::unique_ptr<content::CdmInfo> CreateCdmInfoFromWid
+ // BUILDFLAG(IS_CHROMEOS))
+
+ #if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ // On Linux/ChromeOS we have to preload the CDM since it uses the zygote
+ // sandbox. On Windows and Mac, the bundled CDM is handled by the component
+ // updater.
+@@ -125,7 +125,7 @@ content::CdmInfo* GetBundledWidevine() {
+ // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
+
+ #if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) && \
+- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ // This code checks to see if a component updated Widevine CDM can be found. If
+ // there is one and it looks valid, return the CdmInfo for that CDM. Otherwise
+ // return nullptr.
+@@ -160,7 +160,7 @@ void AddSoftwareSecureWidevine(std::vector<content::Cd
+ /*supports_sub_key_systems=*/false, kWidevineCdmDisplayName,
+ kWidevineCdmType, base::Version(), base::FilePath());
+
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #if defined(WIDEVINE_CDM_MIN_GLIBC_VERSION)
+ base::Version glibc_version(gnu_get_libc_version());
+ DCHECK(glibc_version.IsValid());
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_component__widevine__cdm__hint__file__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_component__widevine__cdm__hint__file__linux.h
new file mode 100644
index 000000000000..c5be9ae3d7d6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_media_component__widevine__cdm__hint__file__linux.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/media/component_widevine_cdm_hint_file_linux.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/media/component_widevine_cdm_hint_file_linux.h
+@@ -15,7 +15,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+ #error "This file only applies to desktop Linux and ChromeOS."
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_pref__names.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_pref__names.h
new file mode 100644
index 000000000000..b83fa0c4e311
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_pref__names.h
@@ -0,0 +1,82 @@
+--- src/3rdparty/chromium/chrome/common/pref_names.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/pref_names.h
+@@ -1316,7 +1316,7 @@ inline constexpr char kUseAshProxy[] = "lacros.proxy.u
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ // Linux specific preference on whether we should match the system theme.
+ inline constexpr char kSystemTheme[] = "extensions.theme.system_theme";
+ #endif
+@@ -1442,7 +1442,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] =
+ "browser.show_update_promotion_info_bar";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Boolean that is false if we should show window manager decorations. If
+ // true, we draw a custom chrome frame (thicker title bar and blue border).
+ inline constexpr char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
+@@ -1986,7 +1986,7 @@ inline constexpr char kDownloadLastCompleteTime[] =
+ "download.last_complete_time";
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ inline constexpr char kOpenPdfDownloadInSystemReader[] =
+ "download.open_pdf_in_system_reader";
+ #endif
+@@ -2392,14 +2392,14 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s
+ inline constexpr char kMediaCdmOriginData[] = "media.cdm.origin_data";
+ #endif // BUILDFLAG(IS_WIN)
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // A boolean pref to determine whether or not the network service is running
+ // sandboxed.
+ inline constexpr char kNetworkServiceSandboxEnabled[] =
+ "net.network_service_sandbox";
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Records whether the user has seen an HTTP auth "negotiate" header.
+ inline constexpr char kReceivedHttpAuthNegotiateHeader[] =
+ "net.received_http_auth_negotiate_headers";
+@@ -2477,7 +2477,7 @@ inline constexpr char kAmbientAuthenticationInPrivateM
+ inline constexpr char kBasicAuthOverHttpEnabled[] =
+ "auth.basic_over_http_enabled";
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
+ // along with kAuthNegotiateDelegateAllowlist.
+ inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] =
+@@ -3551,7 +3551,7 @@ inline constexpr char kFileOrDirectoryPickerWithoutGes
+ inline constexpr char kSandboxExternalProtocolBlocked[] =
+ "profile.sandbox_external_protocol_blocked";
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Boolean that indicates if system notifications are allowed to be used in
+ // place of Chrome notifications.
+ inline constexpr char kAllowSystemNotifications[] =
+@@ -3607,7 +3607,7 @@ inline constexpr char kCACertificateManagementAllowed[
+ inline constexpr char kChromeRootStoreEnabled[] = "chrome_root_store_enabled";
+ #endif
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ inline constexpr char kEnforceLocalAnchorConstraintsEnabled[] =
+ "enforce_local_anchor_constraints_enabled";
+ #endif
+@@ -3921,7 +3921,7 @@ inline constexpr char kThrottleNonVisibleCrossOriginIf
+ inline constexpr char kNewBaseUrlInheritanceBehaviorAllowed[] =
+ "new_base_url_inheritance_behavior_allowed";
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // If this exists and is true, Chrome may run system DNS resolution out of the
+ // network process. If false, Chrome will run system DNS resolution in the
+ // network process. If non-existent, Chrome will decide where to run system DNS
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.cc
new file mode 100644
index 000000000000..4e4c4256a7c0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/url_constants.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/url_constants.cc
+@@ -560,7 +560,7 @@ const char kPhoneHubPermissionLearnMoreURL[] =
+ "https://support.google.com/chromebook/?p=multidevice";
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ const char kChromeAppsDeprecationLearnMoreURL[] =
+ "https://support.google.com/chrome/?p=chrome_app_deprecation";
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.h
new file mode 100644
index 000000000000..f6a5d2a1b0dd
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_common_url__constants.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/common/url_constants.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/chrome/common/url_constants.h
+@@ -537,7 +537,7 @@ extern const char kOutdatedPluginLearnMoreURL[];
+ extern const char kPhoneHubPermissionLearnMoreURL[];
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+
+ // "Learn more" URL for the chrome apps deprecation dialog.
+ extern const char kChromeAppsDeprecationLearnMoreURL[];
diff --git a/www/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 d77fe97d96d2..b6a7bd6460f4 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,6 +1,6 @@
---- src/3rdparty/chromium/chrome/common/webui_url_constants.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/common/webui_url_constants.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/common/webui_url_constants.cc
-@@ -514,18 +514,18 @@ const char kOsUIVersionURL[] = "os://version";
+@@ -503,18 +503,18 @@ const char kOsUIVersionURL[] = "os://version";
const char kOsUIVersionURL[] = "os://version";
#endif
@@ -22,7 +22,7 @@
const char kChromeUIDiscardsHost[] = "discards";
const char kChromeUIDiscardsURL[] = "chrome://discards/";
#endif
-@@ -540,14 +540,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
+@@ -529,14 +529,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -39,7 +39,7 @@
const char kChromeUIBrowserSwitchHost[] = "browser-switch";
const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
const char kChromeUIEnterpriseProfileWelcomeHost[] =
-@@ -564,7 +564,7 @@ const char kChromeUIProfilePickerStartupQuery[] = "sta
+@@ -555,7 +555,7 @@ const char kChromeUIProfilePickerStartupQuery[] = "sta
const char kChromeUIProfilePickerStartupQuery[] = "startup";
#endif
@@ -48,7 +48,7 @@
defined(TOOLKIT_VIEWS)) || \
defined(USE_AURA)
const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
-@@ -644,7 +644,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan
+@@ -637,7 +637,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -57,7 +57,7 @@
const char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/";
const char kChromeUIWebAppSettingsHost[] = "app-settings";
#endif
-@@ -880,7 +880,7 @@ const char* const kChromeDebugURLs[] = {
+@@ -888,7 +888,7 @@ const char* const kChromeDebugURLs[] = {
blink::kChromeUIGpuJavaCrashURL,
kChromeUIJavaCrashURL,
#endif
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 595b89b1194f..0d4b951f5af2 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,6 +1,6 @@
---- src/3rdparty/chromium/chrome/common/webui_url_constants.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/chrome/common/webui_url_constants.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/chrome/common/webui_url_constants.h
-@@ -433,24 +433,24 @@ extern const char kOsUIVersionURL[];
+@@ -420,24 +420,24 @@ extern const char kOsUIVersionURL[];
extern const char kOsUIVersionURL[];
#endif
@@ -29,7 +29,7 @@
extern const char kChromeUIWebAppSettingsURL[];
extern const char kChromeUIWebAppSettingsHost[];
#endif
-@@ -465,14 +465,14 @@ extern const char kChromeUILinuxProxyConfigHost[];
+@@ -452,7 +452,7 @@ extern const char kChromeUILinuxProxyConfigHost[];
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
@@ -38,15 +38,16 @@
extern const char kChromeUISandboxHost[];
#endif
+@@ -464,7 +464,7 @@ extern const char kChromeUISearchEngineChoiceHost[];
// 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))
++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD)
extern const char kChromeUIBrowserSwitchHost[];
extern const char kChromeUIBrowserSwitchURL[];
extern const char kChromeUIEnterpriseProfileWelcomeHost[];
-@@ -486,7 +486,7 @@ extern const char kChromeUIProfilePickerStartupQuery[]
+@@ -480,7 +480,7 @@ extern const char kChromeUIProfilePickerStartupQuery[]
extern const char kChromeUIProfilePickerStartupQuery[];
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_renderer_chrome__render__frame__observer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_renderer_chrome__render__frame__observer.cc
new file mode 100644
index 000000000000..92600c40052b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_renderer_chrome__render__frame__observer.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/renderer/chrome_render_frame_observer.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/renderer/chrome_render_frame_observer.cc
+@@ -349,7 +349,7 @@ void ChromeRenderFrameObserver::OnDestruct() {
+
+ void ChromeRenderFrameObserver::DraggableRegionsChanged() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Only the main frame is allowed to control draggable regions, to avoid other
+ // frames manipulate the regions in the browser process.
+ if (!render_frame()->IsMainFrame())
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_BUILD.gn
new file mode 100644
index 000000000000..67fbfe0dbd94
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/chrome/test/BUILD.gn.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/chrome/test/BUILD.gn
+@@ -11028,7 +11028,7 @@ test("chrome_app_unittests") {
+ "//components/heap_profiling/in_process",
+ "//components/safe_browsing:buildflags",
+ ]
+- if (!is_fuchsia && !is_mac) {
++ if (!is_fuchsia && !is_mac && !is_bsd) {
+ deps += [ "//third_party/breakpad:client" ]
+ }
+ if (is_android) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome__launcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome__launcher.cc
new file mode 100644
index 000000000000..3445ef9a0d31
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome__launcher.cc
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/chrome/test/chromedriver/chrome_launcher.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/chrome/test/chromedriver/chrome_launcher.cc
+@@ -69,6 +69,7 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/wait.h>
+ #include <unistd.h>
+ #elif BUILDFLAG(IS_WIN)
+ #include <windows.h>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome_chrome__finder.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome_chrome__finder.cc
new file mode 100644
index 000000000000..0bdc905691f4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_chrome_test_chromedriver_chrome_chrome__finder.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2023-08-04 12:03:57 UTC
++++ src/3rdparty/chromium/chrome/test/chromedriver/chrome/chrome_finder.cc
+@@ -57,7 +57,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
+ installation_locations[i].Append(L"Chromium\\Application"));
+ }
+ }
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ void GetApplicationDirs(std::vector<base::FilePath>* locations) {
+ // TODO: Respect users' PATH variables.
+ // Until then, we use an approximation of the most common defaults.
+@@ -157,7 +157,7 @@ bool FindChrome(base::FilePath* browser_exe) {
+ base::FilePath(chrome::kGoogleChromeForTestingBrowserProcessExecutablePath),
+ base::FilePath(chrome::kGoogleChromeBrowserProcessExecutablePath),
+ base::FilePath(chrome::kChromiumBrowserProcessExecutablePath),
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::FilePath(chrome::kBrowserProcessExecutablePath),
+ base::FilePath("chrome"), // Chrome for Testing or Google Chrome
+ base::FilePath("google-chrome"),
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill__payments__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill__payments__strings.grdp
index 2b6ae7227567..1e0b53511ea1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill__payments__strings.grdp
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill__payments__strings.grdp
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/autofill_payments_strings.grdp.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/components/autofill_payments_strings.grdp.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/autofill_payments_strings.grdp
-@@ -118,7 +118,7 @@
+@@ -130,7 +130,7 @@
<message name="IDS_AUTOFILL_FIX_FLOW_PROMPT_SAVE_CARD_LABEL" desc="Text to show on the button to save the card to Google when the fix flow dialog is shown after the Autofill save card prompt." formatter_data="android_java">
Save card
</message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_contact__info__sync__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_contact__info__sync__util.cc
new file mode 100644
index 000000000000..b80b75fc5ee4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_contact__info__sync__util.cc
@@ -0,0 +1,18 @@
+--- src/3rdparty/chromium/components/autofill/core/browser/contact_info_sync_util.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/autofill/core/browser/contact_info_sync_util.cc
+@@ -174,9 +174,15 @@ class ContactInfoProfileSetter {
+ CHECK(observations.empty());
+ for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+ proto_observations) {
++#if defined(__clang__) && (__clang_major__ >= 15)
+ observations.emplace_back(proto_observation.type(),
+ ProfileTokenQuality::FormSignatureHash(
+ proto_observation.form_hash()));
++#else
++ observations.emplace_back() = { static_cast<unsigned char>(proto_observation.type()),
++ ProfileTokenQuality::FormSignatureHash(
++ proto_observation.form_hash()) };
++#endif
+ }
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_personal__data__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_personal__data__manager.cc
index 2b1ac7181e5a..69dc752cebd1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_personal__data__manager.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_personal__data__manager.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/autofill/core/browser/personal_data_manager.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/autofill/core/browser/personal_data_manager.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/autofill/core/browser/personal_data_manager.cc
-@@ -2253,7 +2253,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
+@@ -2492,7 +2492,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
@@ -9,4 +9,4 @@
+ BUILDFLAG(IS_BSD)
// This option should only be shown for users that have not enabled the Sync
// Feature and that have server credit cards available.
- if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() ||
+ // TODO(crbug.com/1462552): Simplify once ConsentLevel::kSync and
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_webdata_autofill__sync__bridge__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_webdata_autofill__sync__bridge__util.cc
new file mode 100644
index 000000000000..8e4f33f7ee9e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_browser_webdata_autofill__sync__bridge__util.cc
@@ -0,0 +1,22 @@
+--- src/3rdparty/chromium/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+@@ -553,11 +553,19 @@ ServerCvc AutofillWalletCvcStructDataFromWalletCredent
+ base::StringToInt64(wallet_credential_specifics.instrument_id(),
+ &instrument_id);
+
++#if defined(__clang__) && (__clang_major__ >= 15)
+ return ServerCvc(
+ instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
+ base::Time::UnixEpoch() +
+ base::Milliseconds(wallet_credential_specifics
+ .last_updated_time_unix_epoch_millis()));
++#else
++ return ServerCvc( {
++ instrument_id, base::UTF8ToUTF16(wallet_credential_specifics.cvc()),
++ base::Time::UnixEpoch() +
++ base::Milliseconds(wallet_credential_specifics
++ .last_updated_time_unix_epoch_millis()) });
++#endif
+ }
+
+ VirtualCardUsageData VirtualCardUsageDataFromUsageSpecifics(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__payments__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__payments__features.cc
index 175dce1c3881..a9efef1f1241 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__payments__features.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__payments__features.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/autofill/core/common/autofill_payments_features.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/autofill/core/common/autofill_payments_features.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/autofill/core/common/autofill_payments_features.cc
-@@ -270,7 +270,7 @@ const base::FeatureParam<int>
+@@ -281,7 +281,7 @@ BASE_FEATURE(kEnablePixPayments,
bool ShouldShowImprovedUserConsentForCreditCardSave() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__util.cc
index 45ed3e6c7a57..3050c1af8432 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__util.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_autofill_core_common_autofill__util.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/autofill/core/common/autofill_util.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/autofill/core/common/autofill_util.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/autofill/core/common/autofill_util.cc
-@@ -156,7 +156,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value
+@@ -153,7 +153,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value
bool ShouldAutoselectFirstSuggestionOnArrowDown() {
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_commerce__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_commerce__strings.grdp
new file mode 100644
index 000000000000..c2c2bfd11d9c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_commerce__strings.grdp
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/commerce_strings.grdp.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/commerce_strings.grdp
+@@ -292,7 +292,7 @@
+ <message name="IDS_PRICE_HISTORY_DESCRIPTION" desc="The description of the Price History section in the Shopping Insights side panel explaining how the prices are gathered.">
+ Typical prices are based on stores across the web over the past 90 days.
+ </message>
+- <if expr="is_win or is_linux">
++ <if expr="is_win or is_posix">
+ <then>
+ <message name="IDS_PRICE_HISTORY_GRAPH_ACCESSIBILITY" desc="Accessibility string for the price history graph indicating how users can review the price changes on the graph.">
+ Browse mode, you can change to Forms mode to use the left/right arrow to review price changes on the graph
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__chromium__strings.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__chromium__strings.grd
index 33e63f90895e..e9a83b5cca65 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__chromium__strings.grd
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__chromium__strings.grd
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/components_chromium_strings.grd.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/components/components_chromium_strings.grd.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/components/components_chromium_strings.grd
-@@ -220,7 +220,7 @@
+@@ -226,7 +226,7 @@
</message>
</if>
<!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. -->
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__google__chrome__strings.grd b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__google__chrome__strings.grd
index d3c31feb7f34..9e9e4e219df3 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__google__chrome__strings.grd
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_components__google__chrome__strings.grd
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/components_google_chrome_strings.grd.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/components/components_google_chrome_strings.grd.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/components/components_google_chrome_strings.grd
-@@ -220,7 +220,7 @@
+@@ -226,7 +226,7 @@
</message>
</if>
<!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. -->
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 0a45f6bb117d..0df6ae034759 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,6 +1,6 @@
---- src/3rdparty/chromium/components/crash/core/app/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/components/crash/core/app/BUILD.gn.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/crash/core/app/BUILD.gn
-@@ -52,7 +52,7 @@ static_library("app") {
+@@ -72,7 +72,7 @@ static_library("app") {
"crashpad.h",
]
@@ -9,7 +9,7 @@
sources += [ "crashpad_linux.cc" ]
}
-@@ -65,6 +65,10 @@ static_library("app") {
+@@ -85,6 +85,10 @@ static_library("app") {
]
}
@@ -20,7 +20,7 @@
defines = [ "CRASH_IMPLEMENTATION" ]
public_deps = [ ":lib" ]
-@@ -96,7 +100,7 @@ static_library("app") {
+@@ -113,7 +117,7 @@ static_library("app") {
libs = [ "log" ]
}
@@ -29,7 +29,7 @@
deps += [
"//base:base_static",
"//components/crash/core/common",
-@@ -224,11 +228,6 @@ if (is_mac || is_android || is_linux || is_chromeos) {
+@@ -241,11 +245,6 @@ if (is_mac || is_android || is_linux || is_chromeos) {
# define custom UserStreamDataSources.
executable("chrome_crashpad_handler") {
sources = [ "chrome_crashpad_handler.cc" ]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_chrome__crashpad__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_chrome__crashpad__handler.cc
new file mode 100644
index 000000000000..c8ec0dfb2bf6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_app_chrome__crashpad__handler.cc
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/components/crash/core/app/chrome_crashpad_handler.cc
+@@ -6,5 +6,9 @@
+ extern "C" int CrashpadHandlerMain(int argc, char* argv[]);
+
+ int main(int argc, char* argv[]) {
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++ return -1;
++#else
+ return CrashpadHandlerMain(argc, argv);
++#endif
+ }
diff --git a/www/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
new file mode 100644
index 000000000000..52f8cda11e33
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_crash_core_browser_crash__upload__list__crashpad.cc
@@ -0,0 +1,26 @@
+--- src/3rdparty/chromium/components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/crash/core/browser/crash_upload_list_crashpad.cc
+@@ -38,7 +38,9 @@ CrashUploadListCrashpad::~CrashUploadListCrashpad() =
+ std::vector<std::unique_ptr<UploadList::UploadInfo>>
+ CrashUploadListCrashpad::LoadUploadList() {
+ std::vector<crash_reporter::Report> reports;
++#if !BUILDFLAG(IS_BSD)
+ crash_reporter::GetReports(&reports);
++#endif
+
+ std::vector<std::unique_ptr<UploadInfo>> uploads;
+ for (const crash_reporter::Report& report : reports) {
+@@ -52,9 +54,13 @@ CrashUploadListCrashpad::LoadUploadList() {
+
+ void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin,
+ const base::Time& end) {
++#if !BUILDFLAG(IS_BSD)
+ crash_reporter::ClearReportsBetween(begin, end);
++#endif
+ }
+
+ void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) {
++#if !BUILDFLAG(IS_BSD)
+ crash_reporter::RequestSingleCrashUpload(local_id);
++#endif
+ }
diff --git a/www/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 f1bbd08b7b3a..71e24e436073 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,6 +1,6 @@
---- src/3rdparty/chromium/components/crash/core/common/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/components/crash/core/common/BUILD.gn.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/components/crash/core/common/BUILD.gn
-@@ -8,7 +8,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn
+@@ -9,7 +9,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn
declare_args() {
# If set to true, this will stub out and disable the entire crash key system.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_mock__signals__aggregator.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_mock__signals__aggregator.h
new file mode 100644
index 000000000000..c10e886469e8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_mock__signals__aggregator.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/mock_signals_aggregator.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/mock_signals_aggregator.h
+@@ -17,7 +17,7 @@ class MockSignalsAggregator : public SignalsAggregator
+ MockSignalsAggregator();
+ ~MockSignalsAggregator() override;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MOCK_METHOD(void,
+ GetSignalsForUser,
+ (const UserContext&,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator.h
new file mode 100644
index 000000000000..8945a39bfae4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator.h
+@@ -22,7 +22,7 @@ class SignalsAggregator : public KeyedService {
+
+ ~SignalsAggregator() override = default;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Will asynchronously collect signals whose names are specified in the
+ // `request` object, and will also use a `user_context` to validate that the
+ // user has permissions to the device's signals. Invokes `callback` with the
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.cc
new file mode 100644
index 000000000000..b969d8274da0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator_impl.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator_impl.cc
+@@ -65,7 +65,7 @@ SignalsAggregatorImpl::SignalsAggregatorImpl(
+
+ SignalsAggregatorImpl::~SignalsAggregatorImpl() = default;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SignalsAggregatorImpl::GetSignalsForUser(
+ const UserContext& user_context,
+ const SignalsAggregationRequest& request,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.h
new file mode 100644
index 000000000000..16687e49a244
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_signals__aggregator__impl.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator_impl.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/signals_aggregator_impl.h
+@@ -29,7 +29,7 @@ class SignalsAggregatorImpl : public SignalsAggregator
+ ~SignalsAggregatorImpl() override;
+
+ // SignalsAggregator:
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void GetSignalsForUser(const UserContext& user_context,
+ const SignalsAggregationRequest& request,
+ GetSignalsCallback callback) override;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service.h
new file mode 100644
index 000000000000..7e4320d11974
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service.h
+@@ -57,7 +57,7 @@ class UserPermissionService : public KeyedService {
+ // missing.
+ virtual bool ShouldCollectConsent() const = 0;
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Will verify whether context-aware signals can be collected
+ // on behalf of the user represented by `user_context`. Returns `kGranted` if
+ // collection is allowed.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.cc
new file mode 100644
index 000000000000..64bcd72f3ed5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service_impl.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service_impl.cc
+@@ -92,7 +92,7 @@ bool UserPermissionServiceImpl::ShouldCollectConsent()
+ consent_required_by_dependent_policy;
+ }
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ UserPermission UserPermissionServiceImpl::CanUserCollectSignals(
+ const UserContext& user_context) const {
+ // Return "unknown user" if no user ID was given.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.h
new file mode 100644
index 000000000000..d13ac5ce39bc
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_browser_user__permission__service__impl.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service_impl.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/device_signals/core/browser/user_permission_service_impl.h
+@@ -39,7 +39,7 @@ class UserPermissionServiceImpl : public UserPermissio
+
+ // UserPermissionService:
+ bool ShouldCollectConsent() const override;
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ UserPermission CanUserCollectSignals(
+ const UserContext& user_context) const override;
+ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.cc
new file mode 100644
index 000000000000..e4133bba0bd3
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/common/signals_features.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/components/device_signals/core/common/signals_features.cc
+@@ -46,7 +46,7 @@ bool IsNewFunctionEnabled(NewEvFunction new_ev_functio
+ }
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+ // Enables the triggering of device signals consent dialog when conditions met
+ // This feature also requires UnmanagedDeviceSignalsConsentFlowEnabled policy to
+ // be enabled
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.h
new file mode 100644
index 000000000000..5dc4cb05216f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_common_signals__features.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/common/signals_features.h.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/components/device_signals/core/common/signals_features.h
+@@ -28,7 +28,7 @@ enum class NewEvFunction { kFileSystemInfo, kSettings,
+ bool IsNewFunctionEnabled(NewEvFunction new_ev_function);
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kDeviceSignalsConsentDialog);
+
+ // Returns true if device signals consent dialog has been enabled for
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_system__signals_platform__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_system__signals_platform__delegate.cc
new file mode 100644
index 000000000000..ba31ef8c88fa
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_device__signals_core_system__signals_platform__delegate.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/device_signals/core/system_signals/platform_delegate.cc.orig 2022-09-24 10:57:32 UTC
++++ src/3rdparty/chromium/components/device_signals/core/system_signals/platform_delegate.cc
+@@ -11,7 +11,7 @@ namespace device_signals {
+
+ bool CustomFilePathComparator::operator()(const base::FilePath& a,
+ const base::FilePath& b) const {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux, the file system is case sensitive.
+ return a < b;
+ #else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_embedder__support_user__agent__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_embedder__support_user__agent__utils.cc
new file mode 100644
index 000000000000..df08ebcae4e2
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_embedder__support_user__agent__utils.cc
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/components/embedder_support/user_agent_utils.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/embedder_support/user_agent_utils.cc
+@@ -432,6 +432,9 @@ std::string GetPlatformForUAMetadata() {
+ # else
+ return "Chromium OS";
+ # endif
++#elif BUILDFLAG(IS_BSD)
++ // The internet is weird...
++ return "Linux";
+ #else
+ return std::string(version_info::GetOSType());
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.cc
new file mode 100644
index 000000000000..45d8fe3c9b29
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/event_constants.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/event_constants.cc
+@@ -11,7 +11,7 @@ namespace feature_engagement {
+ namespace events {
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ const char kNewTabOpened[] = "new_tab_opened";
+ const char kSixthTabOpened[] = "sixth_tab_opened";
+ const char kTabGroupCreated[] = "tab_group_created";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.h
new file mode 100644
index 000000000000..1c61f2507d9f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_event__constants.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/event_constants.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/event_constants.h
+@@ -14,7 +14,7 @@ namespace events {
+
+ // Desktop
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ // The user has explicitly opened a new tab via an entry point from inside of
+ // Chrome.
+ extern const char kNewTabOpened[];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__configurations.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__configurations.cc
new file mode 100644
index 000000000000..eacb45825e24
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__configurations.cc
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/feature_configurations.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/feature_configurations.cc
+@@ -46,7 +46,7 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Fe
+ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
+ const base::Feature* feature) {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
+ absl::optional<FeatureConfig> config = FeatureConfig();
+ config->valid = true;
+@@ -1336,7 +1336,8 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf
+ #endif // BUILDFLAG(IS_ANDROID)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+
+ if (kIPHAutofillExternalAccountProfileSuggestionFeature.name ==
+ feature->name) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.cc
new file mode 100644
index 000000000000..8dd1aa2f62ed
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.cc
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/feature_constants.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/feature_constants.cc
+@@ -21,7 +21,7 @@ BASE_FEATURE(kUseClientConfigIPH,
+ BASE_FEATURE(kIPHDummyFeature, "IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kIPHAutofillFeedbackNewBadgeFeature,
+ "IPH_AutofillFeedbackNewBadge",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -519,7 +519,8 @@ BASE_FEATURE(kIPHiOSPromoPasswordManagerWidgetFeature,
+ #endif // BUILDFLAG(IS_IOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kIPHAutofillExternalAccountProfileSuggestionFeature,
+ "IPH_AutofillExternalAccountProfileSuggestion",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.h
new file mode 100644
index 000000000000..67ad6e46d739
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__constants.h
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/feature_constants.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/feature_constants.h
+@@ -23,7 +23,7 @@ BASE_DECLARE_FEATURE(kUseClientConfigIPH);
+ BASE_DECLARE_FEATURE(kIPHDummyFeature);
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kIPHAutofillFeedbackNewBadgeFeature);
+ BASE_DECLARE_FEATURE(kIPHBatterySaverModeFeature);
+ BASE_DECLARE_FEATURE(kIPHCompanionSidePanelFeature);
+@@ -211,7 +211,8 @@ BASE_DECLARE_FEATURE(kIPHiOSPromoPasswordManagerWidget
+ #endif // BUILDFLAG(IS_IOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+ BASE_DECLARE_FEATURE(kIPHAutofillExternalAccountProfileSuggestionFeature);
+ BASE_DECLARE_FEATURE(kIPHAutofillVirtualCardCVCSuggestionFeature);
+ BASE_DECLARE_FEATURE(kIPHAutofillVirtualCardSuggestionFeature);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.cc
new file mode 100644
index 000000000000..17611addcc17
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.cc
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/feature_list.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/feature_list.cc
+@@ -139,7 +139,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHiOSPromoPasswordManagerWidgetFeature,
+ #endif // BUILDFLAG(IS_IOS)
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ &kIPHAutofillFeedbackNewBadgeFeature,
+ &kIPHBatterySaverModeFeature,
+ &kIPHCompanionSidePanelFeature,
+@@ -186,7 +186,8 @@ const base::Feature* const kAllFeatures[] = {
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+ &kIPHAutofillExternalAccountProfileSuggestionFeature,
+ &kIPHAutofillVirtualCardCVCSuggestionFeature,
+ &kIPHAutofillVirtualCardSuggestionFeature,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.h
new file mode 100644
index 000000000000..f39c82c3a1b9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feature__engagement_public_feature__list.h
@@ -0,0 +1,40 @@
+--- src/3rdparty/chromium/components/feature_engagement/public/feature_list.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/feature_engagement/public/feature_list.h
+@@ -259,7 +259,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSPromoPasswordManagerWidg
+ #endif // BUILDFLAG(IS_IOS)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ DEFINE_VARIATION_PARAM(kIPHAutofillFeedbackNewBadgeFeature,
+ "IPH_AutofillFeedbackNewBadge");
+ DEFINE_VARIATION_PARAM(kIPHBatterySaverModeFeature, "IPH_BatterySaverMode");
+@@ -335,7 +335,8 @@ DEFINE_VARIATION_PARAM(kIPHBackNavigationMenuFeature,
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+ DEFINE_VARIATION_PARAM(kIPHAutofillExternalAccountProfileSuggestionFeature,
+ "IPH_AutofillExternalAccountProfileSuggestion");
+ DEFINE_VARIATION_PARAM(kIPHAutofillVirtualCardCVCSuggestionFeature,
+@@ -541,7 +542,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ VARIATION_ENTRY(kIPHiOSPromoPostRestoreDefaultBrowserFeature),
+ VARIATION_ENTRY(kIPHiOSPromoPasswordManagerWidgetFeature),
+ #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ VARIATION_ENTRY(kIPHAutofillFeedbackNewBadgeFeature),
+ VARIATION_ENTRY(kIPHBatterySaverModeFeature),
+ VARIATION_ENTRY(kIPHCompanionSidePanelFeature),
+@@ -589,7 +590,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
++ BUILDFLAG(IS_BSD)
+ VARIATION_ENTRY(kIPHAutofillExternalAccountProfileSuggestionFeature),
+ VARIATION_ENTRY(kIPHAutofillVirtualCardCVCSuggestionFeature),
+ VARIATION_ENTRY(kIPHAutofillVirtualCardSuggestionFeature),
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_proto_v2_wire_version.proto b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_proto_v2_wire_version.proto
new file mode 100644
index 000000000000..626494912842
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_proto_v2_wire_version.proto
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/components/feed/core/proto/v2/wire/version.proto.orig 2021-05-12 22:05:49 UTC
++++ src/3rdparty/chromium/components/feed/core/proto/v2/wire/version.proto
+@@ -25,8 +25,8 @@ message Version {
+ BETA = 3;
+ RELEASE = 4;
+ }
+- optional int32 major = 1;
+- optional int32 minor = 2;
++ optional int32 gmajor = 1;
++ optional int32 gminor = 2;
+ optional int32 build = 3;
+ optional int32 revision = 4;
+ optional Architecture architecture = 5;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_v2_proto__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_v2_proto__util.cc
new file mode 100644
index 000000000000..076274fd9203
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_feed_core_v2_proto__util.cc
@@ -0,0 +1,24 @@
+--- src/3rdparty/chromium/components/feed/core/v2/proto_util.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/feed/core/v2/proto_util.cc
+@@ -93,8 +93,8 @@ feedwire::Version GetPlatformVersionMessage() {
+
+ int32_t major, minor, revision;
+ base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
+- result.set_major(major);
+- result.set_minor(minor);
++ result.set_gmajor(major);
++ result.set_gminor(minor);
+ result.set_revision(revision);
+ #if BUILDFLAG(IS_ANDROID)
+ result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
+@@ -109,8 +109,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
+ // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH.
+ const std::vector<uint32_t>& numbers = chrome_info.version.components();
+ if (numbers.size() > 3) {
+- result.set_major(static_cast<int32_t>(numbers[0]));
+- result.set_minor(static_cast<int32_t>(numbers[1]));
++ result.set_gmajor(static_cast<int32_t>(numbers[0]));
++ result.set_gminor(static_cast<int32_t>(numbers[1]));
+ result.set_build(static_cast<int32_t>(numbers[2]));
+ result.set_revision(static_cast<int32_t>(numbers[3]));
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_flags__ui_flags__state.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_flags__ui_flags__state.cc
index 56dd7feeee6c..4c38ab9ecbd8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_flags__ui_flags__state.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_flags__ui_flags__state.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/flags_ui/flags_state.cc.orig 2022-07-22 17:30:31 UTC
+--- src/3rdparty/chromium/components/flags_ui/flags_state.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/flags_ui/flags_state.cc
-@@ -672,7 +672,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
+@@ -741,7 +741,7 @@ unsigned short FlagsState::GetCurrentPlatform() {
return kOsCrOS;
#elif BUILDFLAG(IS_CHROMEOS_LACROS)
return kOsLacros;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_BUILD.gn
new file mode 100644
index 000000000000..07b7216ee88b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/gwp_asan/BUILD.gn.orig 2022-11-30 08:12:58 UTC
++++ src/3rdparty/chromium/components/gwp_asan/BUILD.gn
+@@ -15,7 +15,7 @@ test("gwp_asan_unittests") {
+ "//testing/gtest",
+ "//third_party/boringssl",
+ ]
+- if (is_win || is_mac || is_linux || is_chromeos || is_android) {
++ if ((is_win || is_mac || is_linux || is_chromeos || is_android) && !is_bsd) {
+ deps += [
+ "//components/gwp_asan/client:unit_tests",
+ "//components/gwp_asan/crash_handler:unit_tests",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_guarded__page__allocator__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_guarded__page__allocator__posix.cc
new file mode 100644
index 000000000000..b9a40268566b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_guarded__page__allocator__posix.cc
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/components/gwp_asan/client/guarded_page_allocator_posix.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/gwp_asan/client/guarded_page_allocator_posix.cc
+@@ -35,8 +35,9 @@ void GuardedPageAllocator::MarkPageInaccessible(void*
+ // mmap() a PROT_NONE page over the address to release it to the system, if
+ // we used mprotect() here the system would count pages in the quarantine
+ // against the RSS.
++ // MAP_ANONYMOUS requires the fd to be -1 on !linux
+ void* err = mmap(ptr, state_.page_size, PROT_NONE,
+- MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
++ MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ PCHECK(err == ptr) << "mmap";
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_gwp__asan.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_gwp__asan.cc
new file mode 100644
index 000000000000..45ec484e308d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_client_gwp__asan.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/gwp_asan/client/gwp_asan.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/gwp_asan/client/gwp_asan.cc
+@@ -64,7 +64,7 @@ constexpr bool kCpuIs64Bit =
+ // ProcessSamplingBoost is the multiplier to increase the
+ // ProcessSamplingProbability in scenarios where we want to perform additional
+ // testing (e.g., on canary/dev builds).
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ constexpr int kDefaultMaxAllocations = 50;
+ constexpr int kDefaultMaxMetadata = 210;
+ constexpr int kDefaultTotalPages = kCpuIs64Bit ? 2048 : kDefaultMaxMetadata * 2;
+@@ -84,7 +84,7 @@ constexpr int kDefaultProcessSamplingBoost2 = 10;
+ // BUILDFLAG(IS_FUCHSIA)
+
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS_ASH)
++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
+ constexpr base::FeatureState kDefaultEnabled = base::FEATURE_ENABLED_BY_DEFAULT;
+ #else
+ constexpr base::FeatureState kDefaultEnabled =
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_crash__handler_crash__analyzer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_crash__handler_crash__analyzer.cc
new file mode 100644
index 000000000000..2e677802856f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_gwp__asan_crash__handler_crash__analyzer.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/components/gwp_asan/crash_handler/crash_analyzer.cc
+@@ -30,7 +30,7 @@
+ #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h"
+ #include "third_party/crashpad/crashpad/util/process/process_memory.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #include <signal.h>
+ #elif BUILDFLAG(IS_APPLE)
+ #include <mach/exception_types.h>
+@@ -90,7 +90,7 @@ bool CrashAnalyzer::GetExceptionInfo(
+
+ crashpad::VMAddress CrashAnalyzer::GetAccessAddress(
+ const crashpad::ExceptionSnapshot& exception) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS)
+ return exception.ExceptionAddress();
+ #elif BUILDFLAG(IS_APPLE)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.cc
new file mode 100644
index 000000000000..ce4ef2e65108
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/live_caption/caption_util.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/live_caption/caption_util.cc
+@@ -145,7 +145,7 @@ bool IsLiveCaptionFeatureSupported() {
+ return false;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Check if the CPU has the required instruction set to run the Speech
+ // On-Device API (SODA) library.
+ static bool has_sse41 = base::CPU().has_sse41();
+@@ -167,7 +167,7 @@ std::string GetCaptionSettingsUrl() {
+ return "chrome://os-settings/audioAndCaptions";
+ #endif // BUILDFLAG(IS_CHROMEOS)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return "chrome://settings/captions";
+ #endif // BUILDFLAG(IS_LINUX)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.h
new file mode 100644
index 000000000000..8a704f098a16
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_live__caption_caption__util.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/live_caption/caption_util.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/live_caption/caption_util.h
+@@ -14,7 +14,7 @@ class PrefService;
+ namespace captions {
+
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ extern const char kCaptionSettingsUrl[];
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ||
+ // BUILDFLAG(IS_MAC)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_management__strings.grdp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_management__strings.grdp
new file mode 100644
index 000000000000..e45b81485e41
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_management__strings.grdp
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/management_strings.grdp.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/management_strings.grdp
+@@ -346,7 +346,7 @@
+ </if>
+
+ <!-- Strings related to Chrome Enterprise Device Signals Sharing -->
+- <if expr="is_win or is_linux or is_macosx">
++ <if expr="is_win or is_posix or is_macosx">
+ <message name="IDS_MANAGEMENT_DEVICE_SIGNALS_DISCLOSURE" desc="Disclosure message explaining that device signals can be shared.">
+ Information about your browser, OS, device, installed software, and files
+ </message>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_media__router_common_providers_cast_channel_cast__message__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_media__router_common_providers_cast_channel_cast__message__util.cc
new file mode 100644
index 000000000000..68fff7e336fe
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_media__router_common_providers_cast_channel_cast__message__util.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2022-11-30 08:12:58 UTC
++++ src/3rdparty/chromium/components/media_router/common/providers/cast/channel/cast_message_util.cc
+@@ -170,7 +170,7 @@ int GetVirtualConnectPlatformValue() {
+ return 4;
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ return 5;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ return 6;
+ #else
+ return 0;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_drive__metrics__provider__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_drive__metrics__provider__linux.cc
index d4aadea8dca0..0fde59efeb73 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_drive__metrics__provider__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_drive__metrics__provider__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/components/metrics/drive_metrics_provider_linux.cc.orig 2021-04-14 18:40:59 UTC
+--- src/3rdparty/chromium/components/metrics/drive_metrics_provider_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/metrics/drive_metrics_provider_linux.cc
@@ -4,7 +4,13 @@
#include "components/metrics/drive_metrics_provider.h"
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+#include <sys/types.h>
+#define MAJOR(dev) major(dev)
+#define MINOR(dev) minor(dev)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_metrics__log.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_metrics__log.cc
index 76142e0ff3bf..baa13d124508 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_metrics__log.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_metrics_metrics__log.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/components/metrics/metrics_log.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/components/metrics/metrics_log.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/metrics/metrics_log.cc
@@ -53,7 +53,7 @@
#include "base/win/current_module.h"
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "base/nix/xdg_util.h"
#endif
-@@ -123,7 +123,7 @@ void RecordCurrentTime(
+@@ -139,7 +139,7 @@ void RecordCurrentTime(
}
}
@@ -18,7 +18,7 @@
metrics::SystemProfileProto::OS::XdgSessionType ToProtoSessionType(
base::nix::SessionType session_type) {
switch (session_type) {
-@@ -375,7 +375,7 @@ void MetricsLog::RecordCoreSystemProfile(
+@@ -399,7 +399,7 @@ void MetricsLog::RecordCoreSystemProfile(
// OperatingSystemVersion refers to the ChromeOS release version.
#if BUILDFLAG(IS_CHROMEOS_ASH)
os->set_kernel_version(base::SysInfo::KernelVersion());
@@ -27,7 +27,7 @@
// Linux operating system version is copied over into kernel version to be
// consistent.
os->set_kernel_version(base::SysInfo::OperatingSystemVersion());
-@@ -392,7 +392,7 @@ void MetricsLog::RecordCoreSystemProfile(
+@@ -416,7 +416,7 @@ void MetricsLog::RecordCoreSystemProfile(
os->set_build_number(base::SysInfo::GetIOSBuildNumber());
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_network__session__configurator_browser_network__session__configurator.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_network__session__configurator_browser_network__session__configurator.cc
index 63b224579fe1..9fef706ac19d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_network__session__configurator_browser_network__session__configurator.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_network__session__configurator_browser_network__session__configurator.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/components/network_session_configurator/browser/network_session_configurator.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/network_session_configurator/browser/network_session_configurator.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/network_session_configurator/browser/network_session_configurator.cc
-@@ -807,7 +807,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C
- }
- #endif // #if !BUILDFLAG(IS_ANDROID)
-
--#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+@@ -793,7 +793,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C
+ // backport, having it behave differently than in stable would be a bigger
+ // problem. TODO: Does this work in later macOS releases?
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE;
#else
return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_optimization__guide__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_optimization__guide__util.cc
new file mode 100644
index 000000000000..50c12084abdd
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_optimization__guide__util.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/optimization_guide/core/optimization_guide_util.cc.orig 2022-10-24 13:33:33 UTC
++++ src/3rdparty/chromium/components/optimization_guide/core/optimization_guide_util.cc
+@@ -27,7 +27,7 @@ optimization_guide::proto::Platform GetPlatform() {
+ return optimization_guide::proto::PLATFORM_CHROMEOS;
+ #elif BUILDFLAG(IS_ANDROID)
+ return optimization_guide::proto::PLATFORM_ANDROID;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return optimization_guide::proto::PLATFORM_LINUX;
+ #else
+ return optimization_guide::proto::PLATFORM_UNKNOWN;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_tflite__model__executor.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_tflite__model__executor.h
new file mode 100644
index 000000000000..1382842194a0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_optimization__guide_core_tflite__model__executor.h
@@ -0,0 +1,62 @@
+--- src/3rdparty/chromium/components/optimization_guide/core/tflite_model_executor.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/optimization_guide/core/tflite_model_executor.h
+@@ -240,7 +240,11 @@ class TFLiteModelExecutor : public ModelExecutor<Outpu
+ void SendForBatchExecution(
+ BatchExecutionCallback callback_on_complete,
+ base::TimeTicks start_time,
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++#else
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++#endif
+ override {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -262,7 +266,11 @@ class TFLiteModelExecutor : public ModelExecutor<Outpu
+ // Starts the synchronous execution of the model. Returns model outputs.
+ // Model needs to be loaded. Synchronous calls do not load or unload model.
+ std::vector<absl::optional<OutputType>> SendForBatchExecutionSync(
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++#else
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++#endif
+ override {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -417,7 +425,11 @@ class TFLiteModelExecutor : public ModelExecutor<Outpu
+ // executes it on the model execution thread.
+ void LoadModelFileAndBatchExecute(
+ BatchExecutionCallback callback_on_complete,
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
++#else
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
++#endif
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+@@ -434,7 +446,11 @@ class TFLiteModelExecutor : public ModelExecutor<Outpu
+
+ // Batch executes the loaded model for inputs.
+ void BatchExecuteLoadedModel(
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++#else
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++#endif
+ std::vector<absl::optional<OutputType>>* outputs) {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -494,7 +510,11 @@ class TFLiteModelExecutor : public ModelExecutor<Outpu
+ // Unloads the model if needed.
+ void BatchExecuteLoadedModelAndRunCallback(
+ BatchExecutionCallback callback_on_complete,
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++#else
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++#endif
+ ExecutionStatus execution_status) {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_keyring__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_keyring__util__linux.cc
deleted file mode 100644
index dc3bd7fb17c4..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_keyring__util__linux.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/3rdparty/chromium/components/os_crypt/keyring_util_linux.cc.orig 2022-04-21 18:48:31 UTC
-+++ src/3rdparty/chromium/components/os_crypt/keyring_util_linux.cc
-@@ -68,12 +68,12 @@ bool GnomeKeyringLoader::LoadGnomeKeyring() {
- if (keyring_loaded)
- return true;
-
-- void* handle = dlopen("libgnome-keyring.so.0", RTLD_NOW | RTLD_GLOBAL);
-+ void* handle = dlopen("libgnome-keyring.so", RTLD_NOW | RTLD_GLOBAL);
- if (!handle) {
- // We wanted to use GNOME Keyring, 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.)
-- LOG(WARNING) << "Could not load libgnome-keyring.so.0: " << dlerror();
-+ LOG(WARNING) << "Could not load libgnome-keyring.so: " << dlerror();
- return false;
- }
-
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
deleted file mode 100644
index 5d331a6d8dcb..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_libsecret__util__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/components/os_crypt/libsecret_util_linux.cc.orig 2022-06-17 14:20:10 UTC
-+++ src/3rdparty/chromium/components/os_crypt/libsecret_util_linux.cc
-@@ -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_sync_libsecret__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_sync_libsecret__util__linux.cc
new file mode 100644
index 000000000000..82e9cd60a576
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_sync_libsecret__util__linux.cc
@@ -0,0 +1,27 @@
+--- src/3rdparty/chromium/components/os_crypt/sync/libsecret_util_linux.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/components/os_crypt/sync/libsecret_util_linux.cc
+@@ -99,16 +99,22 @@ bool LibsecretLoader::EnsureLibsecretLoaded() {
+
+ // static
+ bool LibsecretLoader::LoadLibsecret() {
++#if BUILDFLAG(IS_BSD)
++ const char* kSecretLib = "libsecret-1.so";
++#else
++ const char* kSecretLib = "libsecret-1.so.0";
++#endif
++
+ if (libsecret_loaded_)
+ return true;
+
+- static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL);
++ static void* handle = dlopen(kSecretLib, RTLD_NOW | RTLD_GLOBAL);
+ if (!handle) {
+ // We wanted to use libsecret, but we couldn't load it. Warn, because
+ // either the user asked for this, or we autodetected it incorrectly. (Or
+ // the system has broken libraries, which is also good to warn about.)
+ // TODO(crbug.com/607435): Channel this message to the user-facing log
+- VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror();
++ VLOG(1) << "Could not load << " << kSecretLib << ": " << dlerror();
+ return false;
+ }
+
diff --git a/www/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_sync_os__crypt.h
index 948a26a809bc..8bbbbc3083c8 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_sync_os__crypt.h
@@ -1,5 +1,5 @@
---- src/3rdparty/chromium/components/os_crypt/os_crypt.h.orig 2023-01-11 09:17:16 UTC
-+++ src/3rdparty/chromium/components/os_crypt/os_crypt.h
+--- src/3rdparty/chromium/components/os_crypt/sync/os_crypt.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/components/os_crypt/sync/os_crypt.h
@@ -14,7 +14,7 @@
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_browser_paint__preview__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_browser_paint__preview__client.cc
new file mode 100644
index 000000000000..69c6b096d20a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_browser_paint__preview__client.cc
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/components/paint_preview/browser/paint_preview_client.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/components/paint_preview/browser/paint_preview_client.cc
+@@ -310,8 +310,8 @@ void PaintPreviewClient::CapturePaintPreview(
+ metadata->set_url(url.spec());
+ metadata->set_version(kPaintPreviewVersion);
+ auto* chromeVersion = metadata->mutable_chrome_version();
+- chromeVersion->set_major(CHROME_VERSION_MAJOR);
+- chromeVersion->set_minor(CHROME_VERSION_MINOR);
++ chromeVersion->set_gmajor(CHROME_VERSION_MAJOR);
++ chromeVersion->set_gminor(CHROME_VERSION_MINOR);
+ chromeVersion->set_build(CHROME_VERSION_BUILD);
+ chromeVersion->set_patch(CHROME_VERSION_PATCH);
+ document_data.callback = std::move(callback);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_player_player__compositor__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_player_player__compositor__delegate.cc
new file mode 100644
index 000000000000..43b3203fc18b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_paint__preview_player_player__compositor__delegate.cc
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/components/paint_preview/player/player_compositor_delegate.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/components/paint_preview/player/player_compositor_delegate.cc
+@@ -452,8 +452,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT
+ // use the AXTreeUpdate.
+ auto chrome_version = capture_result_->proto.metadata().chrome_version();
+ if (capture_result_->proto.metadata().has_chrome_version() &&
+- chrome_version.major() == CHROME_VERSION_MAJOR &&
+- chrome_version.minor() == CHROME_VERSION_MINOR &&
++ chrome_version.gmajor() == CHROME_VERSION_MAJOR &&
++ chrome_version.gminor() == CHROME_VERSION_MINOR &&
+ chrome_version.build() == CHROME_VERSION_BUILD &&
+ chrome_version.patch() == CHROME_VERSION_PATCH) {
+ paint_preview_service_->GetFileMixin()->GetAXTreeUpdate(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_features_password__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_features_password__features.cc
new file mode 100644
index 000000000000..01678c9ccaf3
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_features_password__features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/password_manager/core/browser/features/password_features.cc.orig 2023-10-27 05:38:38 UTC
++++ src/3rdparty/chromium/components/password_manager/core/browser/features/password_features.cc
+@@ -27,7 +27,7 @@ BASE_FEATURE(kBiometricTouchToFill,
+ // Delete undecryptable passwords from the store when Sync is active.
+ BASE_FEATURE(kClearUndecryptablePasswordsOnSync,
+ "ClearUndecryptablePasswordsInSync",
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || 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_components_password__manager_core_browser_sync_password__sync__bridge.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_sync_password__sync__bridge.cc
new file mode 100644
index 000000000000..93e1c684834f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_browser_sync_password__sync__bridge.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/password_manager/core/browser/sync/password_sync_bridge.cc.orig 2023-10-27 05:38:38 UTC
++++ src/3rdparty/chromium/components/password_manager/core/browser/sync/password_sync_bridge.cc
+@@ -197,7 +197,7 @@ bool ShouldRecoverPasswordsDuringMerge() {
+ }
+
+ bool ShouldCleanSyncMetadataDuringStartupWhenDecryptionFails() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return ShouldRecoverPasswordsDuringMerge() &&
+ base::FeatureList::IsEnabled(
+ features::kForceInitialSyncWhenDecryptionFails);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.cc
index 6e905d43147c..a43967c49118 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.cc
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.cc.orig 2023-10-27 05:38:38 UTC
+++ src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.cc
-@@ -76,7 +76,7 @@ BASE_FEATURE(kFillOnAccountSelect,
- "fill-on-account-select",
+@@ -18,7 +18,7 @@ BASE_FEATURE(kEnableOverwritingPlaceholderUsernames,
+ "EnableOverwritingPlaceholderUsernames",
base::FEATURE_DISABLED_BY_DEFAULT);
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
@@ -9,12 +9,3 @@
// When enabled, initial sync will be forced during startup if the password
// store has encryption service failures.
BASE_FEATURE(kForceInitialSyncWhenDecryptionFails,
-@@ -197,7 +197,7 @@ BASE_FEATURE(kPasswordStrengthIndicator,
- "PasswordStrengthIndicator",
- base::FEATURE_DISABLED_BY_DEFAULT);
-
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Displays at least the decryptable and never saved logins in the password
- // manager
- BASE_FEATURE(kSkipUndecryptablePasswords,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.h
index 01f51114dce4..38d2d8679d7d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_password__manager_core_common_password__manager__features.h
@@ -1,20 +1,11 @@
---- src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.h.orig 2023-10-27 05:38:38 UTC
+++ src/3rdparty/chromium/components/password_manager/core/common/password_manager_features.h
-@@ -35,7 +35,7 @@ BASE_DECLARE_FEATURE(kEnablePasswordGenerationForClear
- BASE_DECLARE_FEATURE(kEnablePasswordManagerWithinFencedFrame);
- BASE_DECLARE_FEATURE(kFillingAcrossAffiliatedWebsites);
- BASE_DECLARE_FEATURE(kFillOnAccountSelect);
+@@ -24,7 +24,7 @@ namespace password_manager::features {
+ // alongside the definition of their values in the .cc file.
+ BASE_DECLARE_FEATURE(kEnableOverwritingPlaceholderUsernames);
+
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
BASE_DECLARE_FEATURE(kForceInitialSyncWhenDecryptionFails);
#endif
- BASE_DECLARE_FEATURE(kInferConfirmationPasswordField);
-@@ -67,7 +67,7 @@ BASE_DECLARE_FEATURE(kRecoverFromNeverSaveAndroid);
- #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // Desktop
- BASE_DECLARE_FEATURE(kRevampedPasswordManagementBubble);
- #endif
--#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- BASE_DECLARE_FEATURE(kSkipUndecryptablePasswords);
- #endif
- #if BUILDFLAG(IS_ANDROID)
+ BASE_DECLARE_FEATURE(kForgotPasswordFormSupport);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_performance__manager_public_features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_performance__manager_public_features.h
index 4b534d0d55ea..c16bc41b33e8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_performance__manager_public_features.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_performance__manager_public_features.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/performance_manager/public/features.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/components/performance_manager/public/features.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/components/performance_manager/public/features.h
-@@ -20,7 +20,7 @@ BASE_DECLARE_FEATURE(kRunOnMainThread);
+@@ -28,7 +28,7 @@ BASE_DECLARE_FEATURE(kRunOnDedicatedThreadPoolThread);
#if !BUILDFLAG(IS_ANDROID)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_permissions_prediction__service_prediction__common.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_permissions_prediction__service_prediction__common.cc
new file mode 100644
index 000000000000..67fbbfb894e4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_permissions_prediction__service_prediction__common.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/permissions/prediction_service/prediction_common.cc.orig 2022-08-31 12:19:35 UTC
++++ src/3rdparty/chromium/components/permissions/prediction_service/prediction_common.cc
+@@ -33,7 +33,7 @@ int BucketizeValue(int count) {
+
+ ClientFeatures_Platform GetCurrentPlatformProto() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ return permissions::ClientFeatures_Platform_PLATFORM_DESKTOP;
+ #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ return permissions::ClientFeatures_Platform_PLATFORM_MOBILE;
+@@ -44,7 +44,7 @@ ClientFeatures_Platform GetCurrentPlatformProto() {
+
+ ClientFeatures_PlatformEnum GetCurrentPlatformEnumProto() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_MAC)
++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
+ return permissions::ClientFeatures_PlatformEnum_PLATFORM_DESKTOP_V2;
+ #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
+ return permissions::ClientFeatures_PlatformEnum_PLATFORM_MOBILE_V2;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_browser_policy__pref__mapping__test.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_browser_policy__pref__mapping__test.cc
new file mode 100644
index 000000000000..ef087ec77852
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_browser_policy__pref__mapping__test.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/policy/core/browser/policy_pref_mapping_test.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/components/policy/core/browser/policy_pref_mapping_test.cc
+@@ -327,7 +327,7 @@ class PolicyTestCase {
+ const std::string os("chromeos_lacros");
+ #elif BUILDFLAG(IS_IOS)
+ const std::string os("ios");
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const std::string os("linux");
+ #elif BUILDFLAG(IS_MAC)
+ const std::string os("mac");
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__client.cc
new file mode 100644
index 000000000000..54ac5041816a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__client.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/policy/core/common/cloud/cloud_policy_client.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/components/policy/core/common/cloud/cloud_policy_client.cc
+@@ -455,7 +455,7 @@ void CloudPolicyClient::FetchPolicy() {
+ fetch_request->set_invalidation_payload(invalidation_payload_);
+ }
+ }
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Only set browser device identifier for CBCM Chrome cloud policy on
+ // desktop.
+ if (type_to_fetch.first ==
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__util.cc
new file mode 100644
index 000000000000..2a5e84693fdb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_cloud_cloud__policy__util.cc
@@ -0,0 +1,55 @@
+--- src/3rdparty/chromium/components/policy/core/common/cloud/cloud_policy_util.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/policy/core/common/cloud/cloud_policy_util.cc
+@@ -20,7 +20,7 @@
+ #endif
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ #include <pwd.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -35,10 +35,15 @@
+ #import <SystemConfiguration/SCDynamicStoreCopySpecific.h>
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ #include <limits.h> // For HOST_NAME_MAX
+ #endif
+
++#if BUILDFLAG(IS_FREEBSD)
++#include <sys/param.h>
++#define HOST_NAME_MAX MAXHOSTNAMELEN
++#endif
++
+ #include <algorithm>
+ #include <utility>
+
+@@ -86,7 +91,7 @@ namespace em = enterprise_management;
+
+ std::string GetMachineName() {
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ char hostname[HOST_NAME_MAX];
+ if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
+ return hostname;
+@@ -144,7 +149,7 @@ std::string GetMachineName() {
+
+ std::string GetOSVersion() {
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ return base::SysInfo::OperatingSystemVersion();
+ #elif BUILDFLAG(IS_WIN)
+ base::win::OSInfo::VersionNumber version_number =
+@@ -167,7 +172,7 @@ std::string GetOSArchitecture() {
+ }
+
+ std::string GetOSUsername() {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ struct passwd* creds = getpwuid(getuid());
+ if (!creds || !creds->pw_name)
+ return std::string();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__loader__common.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__loader__common.cc
new file mode 100644
index 000000000000..9e7c70f6615e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__loader__common.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/policy/core/common/policy_loader_common.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/policy/core/common/policy_loader_common.cc
+@@ -46,7 +46,7 @@ const char* kSensitivePolicies[] = {
+ key::kDefaultSearchProviderEnabled,
+ key::kSafeBrowsingEnabled,
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ key::kAutoOpenFileTypes,
+ key::kSafeBrowsingAllowlistDomains,
+ key::kHomepageIsNewTabPage,
+@@ -55,7 +55,7 @@ const char* kSensitivePolicies[] = {
+ key::kRestoreOnStartup,
+ key::kRestoreOnStartupURLs,
+ #endif
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ key::kCommandLineFlagSecurityWarningsEnabled,
+ #endif
+ #if !BUILDFLAG(IS_IOS)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__paths.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__paths.cc
new file mode 100644
index 000000000000..d9ed95b999a8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_core_common_policy__paths.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/policy/core/common/policy_paths.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/policy/core/common/policy_paths.cc
+@@ -16,6 +16,8 @@ namespace policy {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING) || \
+ BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING)
+ const char kPolicyPath[] = "/etc/opt/chrome/policies";
++#elif BUILDFLAG(IS_FREEBSD)
++const char kPolicyPath[] = "/usr/local/etc/chromium/policies";
+ #else
+ const char kPolicyPath[] = "/etc/chromium/policies";
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_tools_generate__policy__source.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_tools_generate__policy__source.py
new file mode 100644
index 000000000000..fb0b794ebdc6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_policy_tools_generate__policy__source.py
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/components/policy/tools/generate_policy_source.py.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/policy/tools/generate_policy_source.py
+@@ -37,9 +37,9 @@ PLATFORM_STRINGS = {
+ 'ios': ['ios'],
+ 'fuchsia': ['fuchsia'],
+ 'chrome.win': ['win'],
+- 'chrome.linux': ['linux'],
++ 'chrome.linux': ['linux', 'openbsd', 'freebsd'],
+ 'chrome.mac': ['mac'],
+- 'chrome.*': ['win', 'mac', 'linux'],
++ 'chrome.*': ['win', 'mac', 'linux', 'openbsd', 'freebsd'],
+ 'chrome.win7': ['win'],
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_BUILD.gn
new file mode 100644
index 000000000000..27faeb446ffb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/power_metrics/BUILD.gn.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/power_metrics/BUILD.gn
+@@ -41,7 +41,7 @@ static_library("power_metrics") {
+ ldflags = [ "/DELAYLOAD:setupapi.dll" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux && !is_bsd) || is_chromeos) {
+ sources += [
+ "energy_metrics_provider_linux.cc",
+ "energy_metrics_provider_linux.h",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_energy__metrics__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_energy__metrics__provider.cc
new file mode 100644
index 000000000000..8858d3024b34
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_power__metrics_energy__metrics__provider.cc
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/power_metrics/energy_metrics_provider.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/components/power_metrics/energy_metrics_provider.cc
+@@ -9,6 +9,8 @@
+ #include "components/power_metrics/energy_metrics_provider_win.h"
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ #include "components/power_metrics/energy_metrics_provider_linux.h"
++#elif BUILDFLAG(IS_BSD)
++#include "base/notreached.h"
+ #endif // BUILDFLAG(IS_WIN)
+
+ namespace power_metrics {
+@@ -22,6 +24,9 @@ std::unique_ptr<EnergyMetricsProvider> EnergyMetricsPr
+ return EnergyMetricsProviderWin::Create();
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ return EnergyMetricsProviderLinux::Create();
++#elif BUILDFLAG(IS_BSD)
++ NOTIMPLEMENTED();
++ return nullptr;
+ #else
+ return nullptr;
+ #endif // BUILDFLAG(IS_WIN)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_content_resources_gen__file__type__proto.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_content_resources_gen__file__type__proto.py
new file mode 100644
index 000000000000..bdf0bdb12355
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_content_resources_gen__file__type__proto.py
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2023-01-11 09:17:16 UTC
++++ src/3rdparty/chromium/components/safe_browsing/content/resources/gen_file_type_proto.py
+@@ -38,6 +38,8 @@ def PlatformTypes():
+ "fuchsia":
+ download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_FUCHSIA,
+ "linux": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX,
++ "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX,
++ "freebsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX,
+ "mac": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_MAC,
+ "win": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_WINDOWS,
+ }
+@@ -181,7 +183,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera
+ '-t',
+ '--type',
+ help='The platform type. One of android, chromeos, ' +
+- 'linux, mac, win')
++ 'linux, mac, win, openbsd, freebsd')
+
+ def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command):
+ if opts.type is not None:
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc
new file mode 100644
index 000000000000..6bfbade8af4e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc
+@@ -117,7 +117,7 @@ std::ostream& operator<<(std::ostream& os, const ListI
+ PlatformType GetCurrentPlatformType() {
+ #if BUILDFLAG(IS_WIN)
+ return WINDOWS_PLATFORM;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return LINUX_PLATFORM;
+ #elif BUILDFLAG(IS_IOS)
+ return IOS_PLATFORM;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
new file mode 100644
index 000000000000..a1dc6484a884
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc
+@@ -109,7 +109,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() {
+ return RTLookupRequest::OS_TYPE_FUCHSIA;
+ #elif BUILDFLAG(IS_IOS)
+ return RTLookupRequest::OS_TYPE_IOS;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return RTLookupRequest::OS_TYPE_LINUX;
+ #elif BUILDFLAG(IS_MAC)
+ return RTLookupRequest::OS_TYPE_MAC;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
new file mode 100644
index 000000000000..69a7909e2f4e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc
+@@ -179,7 +179,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput(
+ // Check for current device type and subtract it from the device count
+ // calculation.
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ desktop_count -= 1;
+ #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
+ if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
new file mode 100644
index 000000000000..a6c20612bade
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
+@@ -21,7 +21,7 @@
+
+ #if BUILDFLAG(IS_WIN)
+ #include "content/public/child/dwrite_font_proxy_init_win.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h"
+ #endif
+
+@@ -78,7 +78,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ // Initialize font access for Skia.
+ #if BUILDFLAG(IS_WIN)
+ content::InitializeDWriteFontProxy();
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ mojo::PendingRemote<font_service::mojom::FontService> font_service;
+ content::UtilityThread::Get()->BindHostReceiver(
+ font_service.InitWithNewPipeAndPassReceiver());
+@@ -101,7 +101,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ base::BindOnce([] { SkFontMgr::RefDefault(); }));
+
+ // Sanity check that fonts are working.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // No WebSandbox is provided on Linux so the local fonts aren't accessible.
+ // This is fine since since the subsetted fonts are provided in the SkPicture.
+ // However, we still need to check that the SkFontMgr starts as it is used by
diff --git a/www/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 23f0ffd45cb3..2e9a316712ba 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,4 +1,4 @@
---- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc
@@ -53,6 +53,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
}
@@ -8,7 +8,7 @@
auto* instance = sandbox::policy::SandboxLinux::GetInstance();
std::vector<BrokerFilePermission> permissions{
-@@ -76,6 +77,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
+@@ -82,6 +83,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi
sandbox::syscall_broker::COMMAND_OPEN}),
permissions, sandbox::policy::SandboxLinux::PreSandboxHook(), options);
instance->EngageNamespaceSandboxIfPossible();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
index 4a345456a725..6b7b6ea44244 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h
@@ -5,7 +5,13 @@
#ifndef COMPONENTS_SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_
@@ -7,7 +7,7 @@
+#include "build/build_config.h"
+
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_screen__ai__library__wrapper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_screen__ai__library__wrapper.cc
new file mode 100644
index 000000000000..60d321baf24c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_services_screen__ai_screen__ai__library__wrapper.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/components/services/screen_ai/screen_ai_library_wrapper.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/services/screen_ai/screen_ai_library_wrapper.cc
+@@ -187,7 +187,7 @@ ScreenAILibraryWrapper::PerformOcr(const SkBitmap& ima
+
+ // TODO(crbug.com/1443341): Remove this after fixing the crash issue on Linux
+ // official.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ free_library_allocated_char_array_(library_buffer.release());
+ #endif
+
+@@ -219,7 +219,7 @@ ScreenAILibraryWrapper::ExtractLayout(const SkBitmap&
+
+ // TODO(crbug.com/1443341): Remove this after fixing the crash issue on Linux
+ // official.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ free_library_allocated_char_array_(library_buffer.release());
+ #endif
+
+@@ -253,7 +253,7 @@ absl::optional<std::vector<int32_t>> ScreenAILibraryWr
+
+ // TODO(crbug.com/1443341): Remove this after fixing the crash issue on Linux
+ // official.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ free_library_allocated_int32_array_(library_buffer.release());
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_startup__metric__utils_common_startup__metric__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_startup__metric__utils_common_startup__metric__utils.cc
new file mode 100644
index 000000000000..f1659cc70599
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_startup__metric__utils_common_startup__metric__utils.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/startup_metric_utils/common/startup_metric_utils.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/startup_metric_utils/common/startup_metric_utils.cc
+@@ -78,7 +78,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi
+ // Enabling this logic on OS X causes a significant performance regression.
+ // TODO(crbug.com/601270): Remove IS_APPLE ifdef once priority changes are
+ // ignored on Mac main thread.
+-#if !BUILDFLAG(IS_APPLE)
++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)
+ static bool statics_initialized = false;
+ if (!statics_initialized) {
+ statics_initialized = true;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_storage__monitor_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_storage__monitor_BUILD.gn
index 516f089d4638..1318ba5b920a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_storage__monitor_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_storage__monitor_BUILD.gn
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/components/storage_monitor/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/components/storage_monitor/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/components/storage_monitor/BUILD.gn
@@ -75,7 +75,7 @@ jumbo_static_library("storage_monitor") {
deps += [ "//services/device/public/mojom" ]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.cc
new file mode 100644
index 000000000000..011f6a2d4585
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.cc
@@ -0,0 +1,39 @@
+--- src/3rdparty/chromium/components/supervised_user/core/browser/proto_fetcher.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/supervised_user/core/browser/proto_fetcher.cc
+@@ -398,8 +398,11 @@ class RetryingFetcherImpl final : public DeferredFetch
+ // Not copyable.
+ RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
+ RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
+-
++#if defined(__clang__) && (__clang_major__ >= 15)
+ void Start(ProtoFetcher<Response>::Callback callback) override {
++#else
++ void Start(typename ProtoFetcher<Response>::Callback callback) override {
++#endif
+ callback_ = std::move(callback);
+ Retry();
+ }
+@@ -435,7 +438,11 @@ class RetryingFetcherImpl final : public DeferredFetch
+ }
+
+ // Client callback.
++#if defined(__clang__) && (__clang_major__ >= 15)
+ ProtoFetcher<Response>::Callback callback_;
++#else
++ typename ProtoFetcher<Response>::Callback callback_;
++#endif
+
+ // Retry controls.
+ base::OneShotTimer timer_;
+@@ -578,7 +585,11 @@ ParallelFetchManager<Request, Response>::ParallelFetch
+ template <typename Request, typename Response>
+ void ParallelFetchManager<Request, Response>::Fetch(
+ const Request& request,
++#if defined(__clang__) && (__clang_major__ >= 15)
+ Fetcher::Callback callback) {
++#else
++ typename Fetcher::Callback callback) {
++#endif
+ CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
+ KeyType key = requests_in_flight_.Add(MakeFetcher(request));
+ requests_in_flight_.Lookup(key)->Start(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.h
new file mode 100644
index 000000000000..e84de128d3f5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_proto__fetcher.h
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/components/supervised_user/core/browser/proto_fetcher.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/supervised_user/core/browser/proto_fetcher.h
+@@ -165,10 +165,18 @@ class ParallelFetchManager {
+
+ // Starts the fetch. Underlying fetcher is stored internally, and will be
+ // cleaned up after finish or when this manager is destroyed.
++#if defined(__clang__) && (__clang_major__ >= 15)
+ void Fetch(const Request& request, Fetcher::Callback callback);
++#else
++ void Fetch(const Request& request, typename Fetcher::Callback callback);
++#endif
+
+ private:
++#if defined(__clang__) && (__clang_major__ >= 15)
+ using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
++#else
++ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
++#endif
+
+ // Remove fetcher under key from requests_in_flight_.
+ void Remove(KeyType key);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_supervised__user__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_supervised__user__service.cc
new file mode 100644
index 000000000000..eac3cbdb5091
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_supervised__user_core_browser_supervised__user__service.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/supervised_user/core/browser/supervised_user_service.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/components/supervised_user/core/browser/supervised_user_service.cc
+@@ -206,7 +206,7 @@ FirstTimeInterstitialBannerState SupervisedUserService
+ const FirstTimeInterstitialBannerState original_state) {
+ FirstTimeInterstitialBannerState target_state = original_state;
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_IOS)
++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD)
+ if (supervised_user::CanDisplayFirstTimeInterstitialBanner()) {
+ if (original_state != FirstTimeInterstitialBannerState::kSetupComplete &&
+ can_show_first_time_interstitial_banner_) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util.cc
new file mode 100644
index 000000000000..4c825d79ccdb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/components/sync_device_info/local_device_info_util.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/sync_device_info/local_device_info_util.cc
+@@ -82,7 +82,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na
+ sync_pb::SyncEnums::DeviceType GetLocalDeviceType() {
+ #if BUILDFLAG(IS_CHROMEOS)
+ return sync_pb::SyncEnums_DeviceType_TYPE_CROS;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return sync_pb::SyncEnums_DeviceType_TYPE_LINUX;
+ #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
+ switch (ui::GetDeviceFormFactor()) {
+@@ -107,7 +107,7 @@ DeviceInfo::OsType GetLocalDeviceOSType() {
+ return DeviceInfo::OsType::kChromeOsAsh;
+ #elif BUILDFLAG(IS_CHROMEOS_LACROS)
+ return DeviceInfo::OsType::kChromeOsLacros;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return DeviceInfo::OsType::kLinux;
+ #elif BUILDFLAG(IS_ANDROID)
+ return DeviceInfo::OsType::kAndroid;
+@@ -126,7 +126,7 @@ DeviceInfo::OsType GetLocalDeviceOSType() {
+
+ DeviceInfo::FormFactor GetLocalDeviceFormFactor() {
+ #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
+- BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ return DeviceInfo::FormFactor::kDesktop;
+ #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
+ return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util__linux.cc
new file mode 100644
index 000000000000..7ce16715d205
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_sync__device__info_local__device__info__util__linux.cc
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/components/sync_device_info/local_device_info_util_linux.cc.orig 2022-09-24 10:57:32 UTC
++++ src/3rdparty/chromium/components/sync_device_info/local_device_info_util_linux.cc
+@@ -9,6 +9,11 @@
+
+ #include "base/linux_util.h"
+
++#if defined(__FreeBSD__)
++#include <sys/param.h>
++#define HOST_NAME_MAX MAXHOSTNAMELEN
++#endif
++
+ namespace syncer {
+
+ std::string GetPersonalizableDeviceNameInternal() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_update__client_update__query__params.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_update__client_update__query__params.cc
new file mode 100644
index 000000000000..8e39f14d2c90
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_update__client_update__query__params.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/update_client/update_query_params.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/components/update_client/update_query_params.cc
+@@ -42,6 +42,8 @@ const char kOs[] =
+ "fuchsia";
+ #elif BUILDFLAG(IS_OPENBSD)
+ "openbsd";
++#elif defined(OS_FREEBSD)
++ "freebsd";
+ #else
+ #error "unknown os"
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_url__formatter_spoof__checks_idn__spoof__checker.cc
index 844f2cc5b7d5..ffe19ad21e15 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_url__formatter_spoof__checks_idn__spoof__checker.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_url__formatter_spoof__checks_idn__spoof__checker.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/components/url_formatter/spoof_checks/idn_spoof_checker.cc
-@@ -292,7 +292,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
+@@ -293,7 +293,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
// The ideal fix would be to change the omnibox font used for Thai. In
// that case, the Linux-only list should be revisited and potentially
// removed.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_user__education_views_help__bubble__view.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_user__education_views_help__bubble__view.cc
new file mode 100644
index 000000000000..bb21c601c3c9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_user__education_views_help__bubble__view.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/user_education/views/help_bubble_view.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/user_education/views/help_bubble_view.cc
+@@ -991,7 +991,7 @@ gfx::Rect HelpBubbleView::GetAnchorRect() const {
+ void HelpBubbleView::OnBeforeBubbleWidgetInit(views::Widget::InitParams* params,
+ views::Widget* widget) const {
+ BubbleDialogDelegateView::OnBeforeBubbleWidgetInit(params, widget);
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Help bubbles anchored to menus may be clipped to their anchors' bounds,
+ // resulting in visual errors, unless they use accelerated rendering. See
+ // crbug.com/1445770 for details.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_google__groups__updater__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_google__groups__updater__service.cc
new file mode 100644
index 000000000000..3086aa685276
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_google__groups__updater__service.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/variations/service/google_groups_updater_service.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/components/variations/service/google_groups_updater_service.cc
+@@ -15,7 +15,7 @@
+ // information from per-profile data to local-state.
+ BASE_FEATURE(kVariationsGoogleGroupFiltering,
+ "VariationsGoogleGroupFiltering",
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ // TODO(b/286365351): launch on Android, iOS and ChromeOS.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_variations__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_variations__service.cc
new file mode 100644
index 000000000000..7b28e911fd3e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_variations_service_variations__service.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/components/variations/service/variations_service.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/components/variations/service/variations_service.cc
+@@ -95,7 +95,7 @@ std::string GetPlatformString() {
+ return "android";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ return "fuchsia";
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_BSD)
+ // Default BSD and SOLARIS to Linux to not break those builds, although these
+ // platforms are not officially supported by Chrome.
+ return "linux";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_common_gpu_dawn__context__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_common_gpu_dawn__context__provider.cc
deleted file mode 100644
index b67426e510f3..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_common_gpu_dawn__context__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/components/viz/common/gpu/dawn_context_provider.cc.orig 2022-02-28 16:54:41 UTC
-+++ src/3rdparty/chromium/components/viz/common/gpu/dawn_context_provider.cc
-@@ -20,7 +20,7 @@ namespace {
- wgpu::BackendType GetDefaultBackendType() {
- #if BUILDFLAG(IS_WIN)
- return wgpu::BackendType::D3D12;
--#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return wgpu::BackendType::Vulkan;
- #else
- NOTREACHED();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_host_renderer__settings__creation.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_host_renderer__settings__creation.cc
deleted file mode 100644
index b6ddc3aeb62c..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_host_renderer__settings__creation.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/components/viz/host/renderer_settings_creation.cc.orig 2022-02-28 16:54:41 UTC
-+++ src/3rdparty/chromium/components/viz/host/renderer_settings_creation.cc
-@@ -52,7 +52,7 @@ RendererSettings CreateRendererSettings() {
- renderer_settings.partial_swap_enabled =
- !command_line->HasSwitch(switches::kUIDisablePartialSwap);
-
--#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX)
-+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // Simple frame rate throttling only works on macOS and Linux
- renderer_settings.apply_simple_frame_rate_throttling =
- features::IsSimpleFrameRateThrottlingEnabled();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl.cc
index d94d56e6ed9a..fc18626498c3 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/viz/service/display_embedder/skia_output_surface_impl.cc
-@@ -1259,7 +1259,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
+@@ -1485,7 +1485,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor
->GetDeviceQueue()
->GetVulkanPhysicalDevice(),
VK_IMAGE_TILING_OPTIMAL, ycbcr_info);
@@ -8,4 +8,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// Textures that were allocated _on linux_ with ycbcr info came from
// VaapiVideoDecoder, which exports using DRM format modifiers.
- return GrBackendFormat::MakeVk(gr_ycbcr_info,
+ return GrBackendFormats::MakeVk(gr_ycbcr_info,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl__on__gpu.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl__on__gpu.cc
new file mode 100644
index 000000000000..edde402f0b2b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display__embedder_skia__output__surface__impl__on__gpu.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+@@ -1521,7 +1521,12 @@ void SkiaOutputSurfaceImplOnGpu::CopyOutputNV12(
+
+ // Issue readbacks from the surfaces:
+ for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
+- SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
++#if defined(__clang__) && (__clang_major__ >= 16)
++ SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
++#else
++ SkISize s = { plane_surfaces[i]->width(), plane_surfaces[i]->height() };
++ SkISize size(s);
++#endif
+ SkImageInfo dst_info = SkImageInfo::Make(
+ size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
+ kUnpremul_SkAlphaType);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display_skia__renderer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display_skia__renderer.cc
index 01be933c151f..a82120f17057 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display_skia__renderer.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_display_skia__renderer.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/viz/service/display/skia_renderer.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/components/viz/service/display/skia_renderer.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/viz/service/display/skia_renderer.cc
-@@ -1149,7 +1149,7 @@ void SkiaRenderer::ClearFramebuffer() {
+@@ -1218,7 +1218,7 @@ void SkiaRenderer::ClearFramebuffer() {
if (current_frame()->current_render_pass->has_transparent_background) {
ClearCanvas(SkColors::kTransparent);
} else {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
index e8f179652c9a..d56254e6b6a5 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -98,7 +98,7 @@ RootCompositorFrameSinkImpl::Create(
+@@ -110,7 +110,7 @@ RootCompositorFrameSinkImpl::Create(
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
// For X11, we need notify client about swap completion after resizing, so the
// client can use it for synchronize with X11 WM.
output_surface->SetNeedsSwapSizeNotifications(true);
-@@ -585,7 +585,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+@@ -709,7 +709,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
display_client_->DidCompleteSwapWithSize(pixel_size);
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
index 817f9307c9f1..c33ac3839d6f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -200,7 +200,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
+@@ -211,7 +211,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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 9df54ad2e565..e3db4f3c8780 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,4 +1,4 @@
---- src/3rdparty/chromium/content/app/content_main.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/app/content_main.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/app/content_main.cc
@@ -207,7 +207,7 @@ RunContentProcess(ContentMainParams params,
base::EnableTerminationOnOutOfMemory();
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 453c8ae225c4..242f9043efcc 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,6 +1,6 @@
---- src/3rdparty/chromium/content/app/content_main_runner_impl.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/app/content_main_runner_impl.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/app/content_main_runner_impl.cc
-@@ -139,13 +139,13 @@
+@@ -142,13 +142,13 @@
#include "content/browser/posix_file_descriptor_info_impl.h"
#include "content/public/common/content_descriptors.h"
@@ -16,21 +16,16 @@
#include "base/files/file_path_watcher_inotify.h"
#include "base/native_library.h"
#include "base/rand_util.h"
-@@ -170,6 +170,11 @@
- #include "content/public/common/content_client.h"
+@@ -183,12 +183,16 @@
+ #include "content/public/common/zygote/zygote_handle.h"
+ #include "content/zygote/zygote_main.h"
+ #include "media/base/media_switches.h"
++#endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+
+ #if BUILDFLAG(ENABLE_WEBRTC)
+ #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck
#endif
-
-+//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)
-@@ -189,6 +194,10 @@
- #endif
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+-#endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+#if BUILDFLAG(IS_BSD)
+#include "base/system/sys_info.h"
@@ -39,7 +34,7 @@
#if BUILDFLAG(IS_ANDROID)
#include "base/system/sys_info.h"
#include "content/browser/android/battery_metrics.h"
-@@ -377,7 +386,7 @@ void InitializeZygoteSandboxForBrowserProcess(
+@@ -378,7 +382,7 @@ void InitializeZygoteSandboxForBrowserProcess(
}
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -48,17 +43,26 @@
#if BUILDFLAG(ENABLE_PPAPI)
// Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -413,15 +422,17 @@ void PreloadLibraryCdms() {
- }
- #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS)
+@@ -416,7 +420,10 @@ void PreSandboxInit() {
--#if BUILDFLAG(USE_ZYGOTE)
-+#if BUILDFLAG(USE_ZYGOTE) || BUILDFLAG(IS_BSD)
void PreSandboxInit() {
- // Pre-acquire resources needed by BoringSSL. See
+ // Ensure the /dev/urandom is opened.
++ // we use arc4random
++#if !BUILDFLAG(IS_BSD)
+ base::GetUrandomFD();
++#endif
+
+ // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/
+ // files.
+@@ -427,9 +434,16 @@ void PreSandboxInit() {
// https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md
CRYPTO_pre_sandbox_init();
++#if BUILDFLAG(IS_BSD)
++ // "cache" the amount of physical memory before pledge(2)
++ base::SysInfo::AmountOfPhysicalMemoryMB();
++#endif
++
+#if !BUILDFLAG(IS_BSD)
// Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be
// allowed by the sandbox.
@@ -67,28 +71,7 @@
#if BUILDFLAG(ENABLE_PPAPI)
// Ensure access to the Pepper plugins before the sandbox is turned on.
-@@ -442,6 +453,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.
-@@ -629,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
-
-@@ -832,11 +848,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+@@ -838,11 +852,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor);
#endif // !BUILDFLAG(IS_ANDROID)
@@ -102,8 +85,12 @@
#endif // !BUILDFLAG(IS_WIN)
-@@ -1033,6 +1048,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+@@ -1039,8 +1052,20 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam
+ process_type == switches::kZygoteProcess) {
+ PreSandboxInit();
}
++#elif BUILDFLAG(IS_BSD)
++ PreSandboxInit();
#endif
+#if BUILDFLAG(IS_BSD)
@@ -119,7 +106,7 @@
delegate_->SandboxInitialized(process_type);
#if BUILDFLAG(USE_ZYGOTE)
-@@ -1100,7 +1125,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+@@ -1108,7 +1133,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
->ReconfigureAfterFeatureListInit(process_type);
}
@@ -128,7 +115,7 @@
// 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
-@@ -1138,6 +1163,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
+@@ -1143,6 +1168,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() {
content_main_params_.reset();
RegisterMainThreadFactories();
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 cfc7edccc312..5c5ca02fd01c 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,7 +1,7 @@
---- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/BUILD.gn
-@@ -2360,6 +2360,13 @@ source_set("browser") {
- ]
+@@ -2463,6 +2463,13 @@ jumbo_source_set("browser") {
+ deps += [ "//media/mojo/mojom/stable:stable_video_decoder" ]
}
+ if (is_bsd) {
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 0c89457a2238..4519ecdbfe58 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/content/browser/browser_child_process_host_impl.cc
-@@ -316,6 +316,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo
+@@ -321,6 +321,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo
switches::kDisableBestEffortTasks,
switches::kDisableLogging,
switches::kEnableLogging,
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 517ac077bc56..3cba864debd2 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/browser_main_loop.cc
-@@ -250,6 +250,12 @@
+@@ -251,6 +251,12 @@
#include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h"
#endif
@@ -13,7 +13,7 @@
// One of the linux specific headers defines this as a macro.
#ifdef DestroyAll
#undef DestroyAll
-@@ -543,6 +549,12 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -544,6 +550,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());
@@ -26,12 +26,12 @@
#endif
// GLib's spawning of new processes is buggy, so it's important that at this
-@@ -580,7 +592,7 @@ int BrowserMainLoop::EarlyInitialization() {
+@@ -581,7 +593,7 @@ int BrowserMainLoop::EarlyInitialization() {
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kCompositing);
- #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+ #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
- BUILDFLAG(IS_ANDROID)
+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
// We use quite a few file descriptors for our IPC as well as disk the disk
- // cache,and the default limit on the Mac is low (256), so bump it up.
+ // cache, and the default limit on Apple 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 5b1da7855c20..7fee1010940d 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,16 +1,19 @@
---- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc
-@@ -20,7 +20,9 @@
+@@ -21,8 +21,12 @@
#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"
++#else
++#include "sandbox/policy/sandbox.h"
++#endif
namespace content {
-@@ -45,14 +47,20 @@ ChildProcessLauncherHelper::GetFilesToMap() {
+ namespace internal {
+@@ -46,14 +50,20 @@ bool ChildProcessLauncherHelper::IsUsingLaunchOptions(
}
bool ChildProcessLauncherHelper::IsUsingLaunchOptions() {
@@ -31,7 +34,7 @@
// Convert FD mapping to FileHandleMappingVector
options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment(
base::GlobalDescriptors::kBaseDescriptor);
-@@ -64,7 +72,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche
+@@ -65,7 +75,9 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche
options->environment = delegate_->GetEnvironment();
} else {
@@ -41,7 +44,7 @@
// Environment variables could be supported in the future, but are not
// currently supported when launching with the zygote.
DCHECK(delegate_->GetEnvironment().empty());
-@@ -81,6 +91,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -82,6 +94,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
int* launch_result) {
*is_synchronous_launch = true;
Process process;
@@ -49,7 +52,7 @@
ZygoteCommunication* zygote_handle = GetZygoteForLaunch();
if (zygote_handle) {
// TODO(crbug.com/569191): If chrome supported multiple zygotes they could
-@@ -91,7 +102,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -92,7 +105,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
GetProcessType());
*launch_result = LAUNCH_RESULT_SUCCESS;
@@ -57,7 +60,7 @@
if (handle) {
// It could be a renderer process or an utility process.
int oom_score = content::kMiscOomScore;
-@@ -100,15 +110,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
+@@ -101,15 +113,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
oom_score = content::kLowestRendererOomScore;
ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score);
}
@@ -76,7 +79,7 @@
#if BUILDFLAG(IS_CHROMEOS)
if (GetProcessType() == switches::kRendererProcess) {
-@@ -130,10 +142,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
+@@ -131,10 +145,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
const ChildProcessLauncherHelper::Process& process,
bool known_dead) {
ChildProcessTerminationInfo info;
@@ -91,7 +94,7 @@
info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(),
&info.exit_code);
} else {
-@@ -157,13 +173,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
+@@ -160,13 +178,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
DCHECK(CurrentlyOnProcessLauncherTaskRunner());
process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false);
// On POSIX, we must additionally reap the child.
@@ -108,9 +111,9 @@
+#endif
}
- void ChildProcessLauncherHelper::SetProcessBackgroundedOnLauncherThread(
-@@ -174,11 +194,13 @@ void ChildProcessLauncherHelper::SetProcessBackgrounde
- process.SetProcessBackgrounded(is_background);
+ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
+@@ -178,11 +200,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL
+ }
}
+#if !BUILDFLAG(IS_BSD)
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 3d0d2bcbdf8f..82013d2983c7 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc
-@@ -116,7 +116,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+@@ -108,7 +108,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.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_devtools_protocol_system__info__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_devtools_protocol_system__info__handler.cc
index 47562eb7d940..bc5aeb9a8c03 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_devtools_protocol_system__info__handler.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_devtools_protocol_system__info__handler.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/devtools/protocol/system_info_handler.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/content/browser/devtools/protocol/system_info_handler.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/browser/devtools/protocol/system_info_handler.cc
-@@ -50,7 +50,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
+@@ -49,7 +49,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
// 1046598, and 1153667.
// Windows builds need more time -- see Issue 873112 and 1004472.
// Mac builds need more time - see Issue angleproject:6182.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_file__system__access_file__system__access__local__path__watcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_file__system__access_file__system__access__local__path__watcher.cc
new file mode 100644
index 000000000000..95bcf928750a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_file__system__access_file__system__access__local__path__watcher.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/content/browser/file_system_access/file_system_access_local_path_watcher.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/content/browser/file_system_access/file_system_access_local_path_watcher.cc
+@@ -56,7 +56,7 @@ void FileSystemAccessLocalPathWatcher::Initialize(
+ base::FilePathWatcher::WatchOptions watch_options {
+ .type = scope().IsRecursive() ? base::FilePathWatcher::Type::kRecursive
+ : base::FilePathWatcher::Type::kNonRecursive,
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Note: `report_modified_path` is also present on Android
+ // and Fuchsia. Update this switch if support for watching
+ // the local file system is added on those platforms.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.cc
new file mode 100644
index 000000000000..9d9098464fef
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl.cc
+@@ -405,7 +405,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged(
+ private_->OnDisplayMetricsChanged(display, changed_metrics);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() {
+ base::AutoLock auto_lock(lock_);
+ return private_->IsGpuMemoryBufferNV12Supported();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.h
new file mode 100644
index 000000000000..40e498c97e5f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl.h
+@@ -221,7 +221,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa
+ void OnDisplayMetricsChanged(const display::Display& display,
+ uint32_t changed_metrics) override;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsGpuMemoryBufferNV12Supported();
+ void SetGpuMemoryBufferNV12Supported(bool supported);
+ #endif // BUILDFLAG(IS_LINUX)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.cc
new file mode 100644
index 000000000000..1af2cff7314f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl_private.cc
+@@ -1787,7 +1787,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode(
+ UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() {
+ return is_gpu_memory_buffer_NV12_supported_;
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.h
new file mode 100644
index 000000000000..18bd9de3b825
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__data__manager__impl__private.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl_private.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/content/browser/gpu/gpu_data_manager_impl_private.h
+@@ -151,7 +151,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
+ void OnDisplayMetricsChanged(const display::Display& display,
+ uint32_t changed_metrics);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsGpuMemoryBufferNV12Supported();
+ void SetGpuMemoryBufferNV12Supported(bool supported);
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -306,7 +306,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {
+ bool application_is_visible_ = true;
+
+ bool disable_gpu_compositing_ = false;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool is_gpu_memory_buffer_NV12_supported_ = false;
+ #endif // BUILDFLAG(IS_LINUX)
+ };
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__memory__buffer__manager__singleton.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__memory__buffer__manager__singleton.cc
new file mode 100644
index 000000000000..fb3c0191ec87
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_gpu_gpu__memory__buffer__manager__singleton.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/content/browser/gpu/gpu_memory_buffer_manager_singleton.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/content/browser/gpu/gpu_memory_buffer_manager_singleton.cc
+@@ -53,7 +53,7 @@ scoped_refptr<base::SingleThreadTaskRunner> GetTaskRun
+ #endif
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool IsGpuMemoryBufferNV12Supported() {
+ static bool is_computed = false;
+ static bool supported = false;
+@@ -116,7 +116,7 @@ void GpuMemoryBufferManagerSingleton::OnGpuExtraInfoUp
+ SetNativeConfigurations(std::move(configs));
+ }
+ #endif
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Dynamic check whether the NV12 format is supported as it may be
+ // inconsistent between the system GBM (Generic Buffer Management) and
+ // chromium miniGBM.
diff --git a/www/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 7d86c8262770..930a6df857d5 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/gpu/gpu_process_host.cc
-@@ -252,6 +252,7 @@ static const char* const kSwitchNames[] = {
+@@ -256,6 +256,7 @@ static const char* const kSwitchNames[] = {
switches::kEnableBackgroundThreadPool,
switches::kEnableGpuRasterization,
switches::kEnableLogging,
@@ -8,7 +8,7 @@
switches::kDoubleBufferCompositing,
switches::kHeadless,
switches::kLoggingLevel,
-@@ -283,7 +284,7 @@ static const char* const kSwitchNames[] = {
+@@ -289,7 +290,7 @@ static const char* const kSwitchNames[] = {
switches::kOzoneDumpFile,
switches::kDisableBufferBWCompression,
#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
deleted file mode 100644
index 6d49b8fe66c9..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_frameless__media__interface__proxy.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.cc.orig 2022-08-31 12:19:35 UTC
-+++ src/3rdparty/chromium/content/browser/media/frameless_media_interface_proxy.cc
-@@ -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)
-@@ -67,7 +67,7 @@ void FramelessMediaInterfaceProxy::CreateVideoDecoder(
-
- mojo::PendingRemote<media::stable::mojom::StableVideoDecoder>
- 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)) {
- 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_media__interface__proxy.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc
deleted file mode 100644
index d7025daf2fd0..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__interface__proxy.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/3rdparty/chromium/content/browser/media/media_interface_proxy.cc.orig 2022-10-24 13:33:33 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)
-@@ -286,7 +286,7 @@ void MediaInterfaceProxy::CreateVideoDecoder(
-
- mojo::PendingRemote<media::stable::mojom::StableVideoDecoder>
- 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)) {
- render_frame_host().GetProcess()->CreateStableVideoDecoder(
- oop_video_decoder.InitWithNewPipeAndPassReceiver());
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__keys__listener__manager__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__keys__listener__manager__impl.cc
index c4ec45daf0d9..ab773b105b71 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__keys__listener__manager__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__keys__listener__manager__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/media/media_keys_listener_manager_impl.cc.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/content/browser/media/media_keys_listener_manager_impl.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/content/browser/media/media_keys_listener_manager_impl.cc
-@@ -233,7 +233,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe
+@@ -234,7 +234,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_network__service__instance__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_network__service__instance__impl.cc
index 3f3775cc4b05..7b48f931d99a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_network__service__instance__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_network__service__instance__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/network_service_instance_impl.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/network_service_instance_impl.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/browser/network_service_instance_impl.cc
-@@ -76,7 +76,7 @@
+@@ -82,7 +82,7 @@
#include "content/browser/network/network_service_process_tracker_win.h"
#endif
@@ -9,12 +9,21 @@
#include "content/browser/system_dns_resolution/system_dns_resolver.h"
#include "services/network/public/mojom/system_dns_resolution.mojom-forward.h"
#endif
-@@ -404,7 +404,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS
+@@ -421,7 +421,7 @@ void CreateInProcessNetworkService(
+ #endif
+ }
+
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Runs a self-owned SystemDnsResolverMojoImpl. This is meant to run on a
+ // high-priority thread pool.
+ void RunSystemDnsResolverOnThreadPool(
+@@ -488,7 +488,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS
}
#endif // BUILDFLAG(IS_POSIX)
--#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
if (GetContentClient()
->browser()
->ShouldRunOutOfProcessSystemDnsResolution() &&
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_back__forward__cache__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_back__forward__cache__impl.cc
deleted file mode 100644
index 80adf88d5161..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_back__forward__cache__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/content/browser/renderer_host/back_forward_cache_impl.cc.orig 2023-03-09 06:31:50 UTC
-+++ src/3rdparty/chromium/content/browser/renderer_host/back_forward_cache_impl.cc
-@@ -56,7 +56,7 @@ BASE_FEATURE(kBackForwardCacheSize,
- // Sets the BackForwardCache size for desktop.
- // See crbug.com/1291435.
- #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
-- BUILDFLAG(IS_CHROMEOS)
-+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_delegated__frame__host.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_delegated__frame__host.cc
index db196c7b2f00..bc9b7da1b672 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_delegated__frame__host.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_delegated__frame__host.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/delegated_frame_host.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/delegated_frame_host.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/delegated_frame_host.cc
-@@ -295,7 +295,7 @@ void DelegatedFrameHost::EmbedSurface(
+@@ -312,7 +312,7 @@ void DelegatedFrameHost::EmbedSurface(
if (!primary_surface_id ||
primary_surface_id->local_surface_id() != local_surface_id_) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_media_service__video__capture__device__launcher.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_media_service__video__capture__device__launcher.cc
new file mode 100644
index 000000000000..fd80eb76142b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_media_service__video__capture__device__launcher.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/content/browser/renderer_host/media/service_video_capture_device_launcher.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/content/browser/renderer_host/media/service_video_capture_device_launcher.cc
+@@ -24,7 +24,7 @@
+ #include "media/base/media_switches.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "content/browser/gpu/gpu_data_manager_impl.h"
+ #endif
+
+@@ -166,7 +166,7 @@ void ServiceVideoCaptureDeviceLauncher::LaunchDeviceAs
+ }
+ #else
+ if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux, additionally check whether the NV12 GPU memory buffer is
+ // supported.
+ if (GpuDataManagerImpl::GetInstance()->IsGpuMemoryBufferNV12Supported())
diff --git a/www/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 7721b63b40fe..c4ce8d2eff8f 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.cc
-@@ -212,7 +212,7 @@
+@@ -218,7 +218,7 @@
#include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
#endif
@@ -9,7 +9,7 @@
#include <sys/resource.h>
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
-@@ -1148,7 +1148,7 @@ size_t GetPlatformProcessLimit() {
+@@ -955,7 +955,7 @@ size_t GetPlatformProcessLimit() {
// to indicate failure and std::numeric_limits<size_t>::max() to indicate
// unlimited.
size_t GetPlatformProcessLimit() {
@@ -18,7 +18,7 @@
struct rlimit limit;
if (getrlimit(RLIMIT_NPROC, &limit) != 0)
return kUnknownPlatformProcessLimit;
-@@ -1240,7 +1240,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+@@ -1098,7 +1098,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
return;
}
@@ -27,7 +27,7 @@
if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
ConnectToFontService(std::move(font_receiver));
return;
-@@ -1329,7 +1329,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+@@ -1187,7 +1187,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
std::unique_ptr<service_manager::BinderRegistry> binders_;
mojo::Receiver<mojom::ChildProcessHost> receiver_{this};
@@ -36,29 +36,20 @@
mojo::Remote<media::mojom::VideoEncodeAcceleratorProviderFactory>
video_encode_accelerator_factory_remote_;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -2168,7 +2168,7 @@ void RenderProcessHostImpl::ReinitializeLogging(
- }
- #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -3287,7 +3287,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+ base::TimeTicks::UnixEpoch().since_origin().InMicroseconds()));
+ }
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void RenderProcessHostImpl::CreateStableVideoDecoder(
- mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-@@ -3356,6 +3356,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Append `kDisableVideoCaptureUseGpuMemoryBuffer` flag if there is no support
+ // for NV12 GPU memory buffer.
+ if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled() &&
+@@ -3347,6 +3347,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
switches::kDisableSpeechAPI,
switches::kDisableThreadedCompositing,
switches::kDisableTouchDragDrop,
+ switches::kDisableUnveil,
- switches::kDisableUseMojoVideoDecoderForPepper,
switches::kDisableV8IdleTasks,
switches::kDisableVideoCaptureUseGpuMemoryBuffer,
-@@ -4847,7 +4848,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)
-
+ switches::kDisableWebGLImageChromium,
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 9595b09fccf6..9f56dc81fc8f 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,15 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_process_host_impl.h
-@@ -85,7 +85,7 @@
- #include "content/public/browser/android/child_process_importance.h"
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h"
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-
-@@ -495,7 +495,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
+@@ -545,7 +545,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// Sets this RenderProcessHost to be guest only. For Testing only.
void SetForGuestsOnlyForTesting();
@@ -18,21 +9,3 @@
// Launch the zygote early in the browser startup.
static void EarlyZygoteLaunch();
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
-@@ -704,7 +704,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
- mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver)
- override;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- void CreateStableVideoDecoder(
- mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver)
- override;
-@@ -1181,7 +1181,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
- // RenderProcessHost. This is destroyed early in ResetIPC() method.
- std::unique_ptr<PermissionServiceContext> 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<media::stable::mojom::StableVideoDecoderFactory>
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 cf2fc7e43e27..7d964a964f7e 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 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc
-@@ -250,7 +250,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
+@@ -273,7 +273,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
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kSystemFontFamily)) {
+ prefs->system_font_family_name =
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 bf643fd9f732..ae80ad304554 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -119,7 +119,7 @@
+@@ -121,7 +121,7 @@
#include "ui/gfx/gdi_util.h"
#endif
@@ -9,7 +9,7 @@
#include "content/browser/accessibility/browser_accessibility_auralinux.h"
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
#include "ui/linux/linux_ui.h"
-@@ -452,7 +452,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
+@@ -461,7 +461,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot())
->GetCOM();
@@ -18,7 +18,7 @@
BrowserAccessibilityManager* manager =
host()->GetOrCreateRootBrowserAccessibilityManager();
if (manager && manager->GetBrowserAccessibilityRoot())
-@@ -1588,7 +1588,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
+@@ -1720,7 +1720,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() {
return GetTextInputManager() && GetTextInputManager()->should_do_learning();
}
@@ -27,7 +27,7 @@
bool RenderWidgetHostViewAura::SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) {
-@@ -2420,7 +2420,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
+@@ -2565,7 +2565,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
}
bool RenderWidgetHostViewAura::NeedsMouseCapture() {
@@ -36,7 +36,7 @@
return NeedsInputGrab();
#else
return false;
-@@ -2597,7 +2597,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
+@@ -2748,7 +2748,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
if (!target_host)
return;
@@ -44,4 +44,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
- if (!event.skip_in_browser && linux_ui && event.os_event &&
+ if (!event.skip_if_unhandled && 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 287bb394b0e3..0322e463770c 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_aura.h
-@@ -244,7 +244,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
+@@ -257,7 +257,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__event__handler.cc
index 92d32cbb737a..22b15cee0a8c 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__event__handler.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_renderer__host_render__widget__host__view__event__handler.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_view_event_handler.cc
-@@ -596,7 +596,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
+@@ -597,7 +597,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
if (event->type() == ui::ET_MOUSE_EXITED) {
if (mouse_locked || selection_popup)
return false;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_sandbox__host__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_sandbox__host__linux.cc
index 6a3e81247fd9..98daadc85c81 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_sandbox__host__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_sandbox__host__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/content/browser/sandbox_host_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/content/browser/sandbox_host_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/browser/sandbox_host_linux.cc
@@ -45,6 +45,7 @@ void SandboxHostLinux::Init() {
// Instead, it replies on a temporary socket provided by the caller.
PCHECK(0 == shutdown(browser_socket, SHUT_WR)) << "shutdown";
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
int pipefds[2];
CHECK(0 == pipe(pipefds));
const int child_lifeline_fd = pipefds[0];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_scheduler_responsiveness_jank__monitor__impl.cc
index 5943ba589267..290ad1688b2d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_scheduler_responsiveness_jank__monitor__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_scheduler_responsiveness_jank__monitor__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/content/browser/scheduler/responsiveness/jank_monitor_impl.cc
-@@ -334,7 +334,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask
+@@ -340,7 +340,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask
// in context menus, among others). Simply ignore the mismatches for now.
// See https://crbug.com/929813 for the details of why the mismatch
// happens.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_service__worker_service__worker__context__wrapper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_service__worker_service__worker__context__wrapper.cc
new file mode 100644
index 000000000000..477a7524b89c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_service__worker_service__worker__context__wrapper.cc
@@ -0,0 +1,15 @@
+--- src/3rdparty/chromium/content/browser/service_worker/service_worker_context_wrapper.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/content/browser/service_worker/service_worker_context_wrapper.cc
+@@ -1409,7 +1409,12 @@ void ServiceWorkerContextWrapper::MaybeProcessPendingW
+ return;
+ }
+
++#if defined(__clang__) && (__clang_major__ >= 16)
+ auto [document_url, key, callback] = std::move(*request);
++#else
++ auto [d_u, key, callback] = std::move(*request);
++ auto document_url = d_u;
++#endif
+
+ DCHECK(document_url.is_valid());
+ TRACE_EVENT1("ServiceWorker",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc
new file mode 100644
index 000000000000..82c2bac9c1b1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc
@@ -0,0 +1,56 @@
+--- src/3rdparty/chromium/content/browser/utility_process_host.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/content/browser/utility_process_host.cc
+@@ -59,7 +59,7 @@
+ #include "content/browser/v8_snapshot_files.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/files/file_util.h"
+ #include "base/files/scoped_file.h"
+ #include "base/pickle.h"
+@@ -69,7 +69,7 @@
+ #include "media/capture/capture_switches.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "base/task/sequenced_task_runner.h"
+ #include "components/viz/host/gpu_client.h"
+ #include "media/capture/capture_switches.h"
+@@ -80,7 +80,7 @@ namespace {
+
+ namespace {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ base::ScopedFD PassNetworkContextParentDirs(
+ std::vector<base::FilePath> network_context_parent_dirs) {
+ base::Pickle pickle;
+@@ -129,7 +129,7 @@ UtilityProcessHost::UtilityProcessHost(std::unique_ptr
+ started_(false),
+ name_(u"utility process"),
+ file_data_(std::make_unique<ChildProcessLauncherFileData>()),
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ gpu_client_(nullptr, base::OnTaskRunnerDeleter(nullptr)),
+ #endif
+ client_(std::move(client)) {
+@@ -421,7 +421,7 @@ bool UtilityProcessHost::StartProcess() {
+ file_data_->files_to_preload.merge(GetV8SnapshotFilesToPreload());
+ #endif // BUILDFLAG(IS_POSIX)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // The network service should have access to the parent directories
+ // necessary for its usage.
+ if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) {
+@@ -432,7 +432,7 @@ bool UtilityProcessHost::StartProcess() {
+ }
+ #endif // BUILDFLAG(IS_LINUX)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Pass `kVideoCaptureUseGpuMemoryBuffer` flag to video capture service only
+ // when the video capture use GPU memory buffer enabled and NV12 GPU memory
+ // buffer supported.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.h
new file mode 100644
index 000000000000..aea00e23d172
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/content/browser/utility_process_host.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/content/browser/utility_process_host.h
+@@ -39,7 +39,7 @@ namespace base {
+ class Thread;
+ } // namespace base
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ namespace viz {
+ class GpuClient;
+ } // namespace viz
+@@ -225,7 +225,7 @@ class CONTENT_EXPORT UtilityProcessHost
+ std::vector<RunServiceDeprecatedCallback> pending_run_service_callbacks_;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<viz::GpuClient, base::OnTaskRunnerDeleter> gpu_client_;
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc
index 314f93bed1bb..d35523053a30 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/utility_process_host_receiver_bindings.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/browser/utility_process_host_receiver_bindings.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/browser/utility_process_host_receiver_bindings.cc
-@@ -10,7 +10,7 @@
+@@ -10,12 +10,12 @@
#include "content/public/browser/content_browser_client.h"
#include "content/public/common/content_client.h"
@@ -9,7 +9,13 @@
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
#include "content/browser/font_service.h" // nogncheck
#endif
-@@ -19,7 +19,7 @@ namespace content {
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "components/viz/host/gpu_client.h"
+ #include "content/public/browser/gpu_client.h"
+ #endif
+@@ -24,13 +24,13 @@ namespace content {
void UtilityProcessHost::BindHostReceiver(
mojo::GenericPendingReceiver receiver) {
@@ -18,3 +24,10 @@
if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
ConnectToFontService(std::move(font_receiver));
return;
+ }
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (auto gpu_receiver = receiver.As<viz::mojom::Gpu>()) {
+ gpu_client_ =
+ content::CreateGpuClient(std::move(gpu_receiver), base::DoNothing());
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 1b208bccaa05..7ce84ddd1fc5 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/content/browser/utility_sandbox_delegate.cc
-@@ -64,13 +64,13 @@ UtilitySandboxedProcessLauncherDelegate::
+@@ -63,13 +63,13 @@ UtilitySandboxedProcessLauncherDelegate::
#if BUILDFLAG(ENABLE_PPAPI)
sandbox_type_ == sandbox::mojom::Sandbox::kPpapi ||
#endif
@@ -17,7 +17,7 @@
sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -117,10 +117,10 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe
+@@ -124,10 +124,10 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe
// unsandboxed zygote and then apply their actual sandboxes in the forked
// process upon startup.
if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork ||
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 d24e69eab48d..7fa4e49ef2cf 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,4 +1,4 @@
---- src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/browser/web_contents/web_contents_view_aura.cc
@@ -178,7 +178,7 @@ class WebDragSourceAura : public content::WebContentsO
raw_ptr<aura::Window> window_;
@@ -18,7 +18,7 @@
// 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.
-@@ -1371,7 +1371,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
+@@ -1340,7 +1340,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.
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 ba73c6926ab2..d4e2edce9b70 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,4 +1,4 @@
---- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/content/browser/webui/web_ui_main_frame_observer.cc
@@ -13,7 +13,7 @@
#include "content/public/browser/navigation_handle.h"
@@ -27,7 +27,7 @@
void WebUIMainFrameObserver::OnDidAddMessageToConsole(
RenderFrameHost* source_frame,
blink::mojom::ConsoleMessageLevel log_level,
-@@ -163,7 +163,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation(
+@@ -167,7 +167,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation(
// TODO(crbug.com/1129544) This is currently disabled due to Windows DLL
// thunking issues. Fix & re-enable.
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 0ad768406f15..dde0143d78ed 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,6 +1,6 @@
---- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2023-11-20 16:08:07 UTC
+--- src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/browser/zygote_host/zygote_host_impl_linux.cc
-@@ -20,8 +20,10 @@
+@@ -20,13 +20,19 @@
#include "build/chromeos_buildflags.h"
#include "content/common/zygote/zygote_commands_linux.h"
#include "content/common/zygote/zygote_communication_linux.h"
@@ -11,7 +11,16 @@
#include "sandbox/linux/services/credentials.h"
#include "sandbox/linux/services/namespace_sandbox.h"
#include "sandbox/linux/suid/client/setuid_sandbox_host.h"
-@@ -39,6 +41,7 @@ namespace {
+ #include "sandbox/linux/suid/common/sandbox.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
++#else
+ #include "sandbox/policy/linux/sandbox_linux.h"
++#endif
+ #include "sandbox/policy/switches.h"
+
+ #if BUILDFLAG(IS_CHROMEOS)
+@@ -39,6 +45,7 @@ namespace {
namespace {
@@ -19,7 +28,7 @@
// 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,
-@@ -60,6 +63,7 @@ bool ReceiveFixedMessage(int fd,
+@@ -60,6 +67,7 @@ bool ReceiveFixedMessage(int fd,
return false;
return true;
}
@@ -27,7 +36,7 @@
} // namespace
-@@ -69,9 +73,13 @@ ZygoteHostImpl::ZygoteHostImpl()
+@@ -69,9 +77,13 @@ ZygoteHostImpl::ZygoteHostImpl()
}
ZygoteHostImpl::ZygoteHostImpl()
@@ -41,7 +50,7 @@
sandbox_binary_(),
zygote_pids_lock_(),
zygote_pids_() {}
-@@ -84,6 +92,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
+@@ -84,6 +96,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
}
void ZygoteHostImpl::Init(const base::CommandLine& command_line) {
@@ -49,7 +58,7 @@
if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) {
return;
}
-@@ -134,6 +143,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
+@@ -134,6 +147,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
"you can try using --"
<< sandbox::policy::switches::kNoSandbox << ".";
}
@@ -57,7 +66,7 @@
}
void ZygoteHostImpl::AddZygotePid(pid_t pid) {
-@@ -158,6 +168,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -158,6 +172,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
base::CommandLine* cmd_line,
base::ScopedFD* control_fd,
base::FileHandleMappingVector additional_remapped_fds) {
@@ -65,7 +74,7 @@
int fds[2];
#if !defined(TOOLKIT_QT)
CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds));
-@@ -232,9 +243,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
+@@ -232,9 +247,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
AddZygotePid(pid);
return pid;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_child_child__process.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_child_child__process.cc
index 39e9f408b7dc..5e6ce6e52391 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_child_child__process.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_child_child__process.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/content/child/child_process.cc.orig 2022-09-24 10:57:32 UTC
+--- src/3rdparty/chromium/content/child/child_process.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/child/child_process.cc
-@@ -68,7 +68,7 @@ ChildProcess::ChildProcess(base::ThreadType io_thread_
- DCHECK(!g_lazy_child_process_tls.Pointer()->Get());
- g_lazy_child_process_tls.Pointer()->Set(this);
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+@@ -70,7 +70,7 @@ ChildProcess::ChildProcess(base::ThreadType io_thread_
+ io_thread_(std::make_unique<ChildIOThread>()) {
const base::CommandLine& command_line =
*base::CommandLine::ForCurrentProcess();
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const bool is_embedded_in_browser_process =
+ !command_line.HasSwitch(switches::kProcessType);
+ if (IsMojoCoreSharedLibraryEnabled() && !is_embedded_in_browser_process) {
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 22c49257a7b5..2c3e5ed10695 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,6 +1,6 @@
---- src/3rdparty/chromium/content/common/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/common/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/common/BUILD.gn
-@@ -449,6 +449,9 @@ if (is_linux || is_chromeos) {
+@@ -452,6 +452,9 @@ if (is_linux || is_chromeos) {
public = [ "set_process_title_linux.h" ]
sources = [ "set_process_title_linux.cc" ]
deps = [ "//base" ]
@@ -10,7 +10,7 @@
}
}
-@@ -497,7 +500,7 @@ mojom("mojo_bindings") {
+@@ -498,7 +501,7 @@ mojom("mojo_bindings") {
if (enable_ipc_logging) {
enabled_features += [ "ipc_logging" ]
}
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
new file mode 100644
index 000000000000..068d9a30097e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_common_zygote_sandbox__support__linux.cc
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/content/common/zygote/sandbox_support_linux.cc.orig 2023-12-12 22:08:45 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 BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.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_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn
new file mode 100644
index 000000000000..c28dadfad11f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/content/gpu/BUILD.gn.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/content/gpu/BUILD.gn
+@@ -107,6 +107,17 @@ target(link_target_type, "gpu_sources") {
+ }
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "gpu_sandbox_hook_linux.cc",
++ "gpu_sandbox_hook_linux.h",
++ ]
++ sources += [
++ "gpu_sandbox_hook_bsd.cc",
++ "gpu_sandbox_hook_bsd.h",
++ ]
++ }
++
+ if (is_chromeos_ash) {
+ deps += [
+ "//components/services/font/public/cpp",
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 f50f4c5dfade..e0b2facb3e42 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,15 +1,19 @@
---- src/3rdparty/chromium/content/gpu/gpu_main.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/gpu/gpu_main.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/gpu/gpu_main.cc
-@@ -89,7 +89,7 @@
- #include "sandbox/win/src/sandbox.h"
+@@ -96,6 +96,12 @@
+ #include "sandbox/policy/sandbox_type.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"
-@@ -110,7 +110,7 @@ namespace content {
++#if BUILDFLAG(IS_BSD)
++#include "content/gpu/gpu_sandbox_hook_bsd.h"
++#include "sandbox/policy/sandbox.h"
++#include "sandbox/policy/sandbox_type.h"
++#endif
++
+ #if BUILDFLAG(IS_MAC)
+ #include "base/message_loop/message_pump_apple.h"
+ #include "components/metal_util/device_removal.h"
+@@ -112,7 +118,7 @@ namespace {
namespace {
@@ -18,7 +22,7 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread*,
const gpu::GPUInfo*,
const gpu::GpuPreferences&);
-@@ -172,7 +172,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
+@@ -177,7 +183,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread,
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) override {
@@ -27,7 +31,7 @@
return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs);
#elif BUILDFLAG(IS_WIN)
return StartSandboxWindows(sandbox_info_);
-@@ -270,7 +270,7 @@ int GpuMain(MainFunctionParams parameters) {
+@@ -287,7 +293,7 @@ int GpuMain(MainFunctionParams parameters) {
std::make_unique<base::SingleThreadTaskExecutor>(
gpu_preferences.message_pump_type);
}
@@ -36,7 +40,7 @@
#error "Unsupported Linux platform."
#elif BUILDFLAG(IS_MAC)
// Cross-process CoreAnimation requires a CFRunLoop to function at all, and
-@@ -405,7 +405,7 @@ int GpuMain(MainFunctionParams parameters) {
+@@ -422,7 +428,7 @@ namespace {
namespace {
@@ -45,3 +49,12 @@
bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread,
const gpu::GPUInfo* gpu_info,
const gpu::GpuPreferences& gpu_prefs) {
+@@ -462,7 +468,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
+ sandbox_options.accelerated_video_encode_enabled =
+ !gpu_prefs.disable_accelerated_video_encode;
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Video decoding of many video streams can use thousands of FDs as well as
+ // Exo clients like Lacros.
+ // See https://crbug.com/1417237
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.cc
new file mode 100644
index 000000000000..0ec98f987d6d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.cc
@@ -0,0 +1,72 @@
+--- src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_bsd.cc.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_bsd.cc
+@@ -0,0 +1,69 @@
++// Copyright 2023 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "content/gpu/gpu_sandbox_hook_bsd.h"
++
++#include <dlfcn.h>
++#include <errno.h>
++#include <sys/stat.h>
++
++#include <memory>
++#include <sstream>
++#include <utility>
++#include <vector>
++
++#include "base/base_paths.h"
++#include "base/files/file_enumerator.h"
++#include "base/files/file_path.h"
++#include "base/files/scoped_file.h"
++#include "base/functional/bind.h"
++#include "base/logging.h"
++#include "base/path_service.h"
++#include "base/strings/stringprintf.h"
++#include "build/build_config.h"
++#include "build/buildflag.h"
++#include "build/chromeos_buildflags.h"
++#include "content/common/set_process_title.h"
++#include "content/public/common/content_switches.h"
++#include "media/gpu/buildflags.h"
++
++namespace content {
++namespace {
++
++constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE;
++
++void LoadVulkanLibraries() {
++ // Try to preload Vulkan libraries. Failure is not an error as not all may be
++ // present.
++ const char* kLibraries[] = {
++ "libvulkan.so",
++ "libvulkan_intel.so",
++ "libvulkan_intel_hasvk.so",
++ "libvulkan_radeon.so",
++ };
++ for (const auto* library : kLibraries) {
++ dlopen(library, dlopen_flag);
++ }
++}
++
++bool LoadLibrariesForGpu(
++ const sandbox::policy::SandboxSeccompBPF::Options& options) {
++ LoadVulkanLibraries();
++
++ return true;
++}
++
++} // namespace
++
++bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options) {
++ if (!LoadLibrariesForGpu(options))
++ return false;
++
++ // TODO(tsepez): enable namspace sandbox here once crashes are understood.
++
++ errno = 0;
++ return true;
++}
++
++} // namespace content
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.h
new file mode 100644
index 000000000000..128ed7a19949
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__bsd.h
@@ -0,0 +1,19 @@
+--- src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_bsd.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_bsd.h
+@@ -0,0 +1,16 @@
++// Copyright 2023 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef CONTENT_GPU_GPU_SANDBOX_HOOK_BSD_H_
++#define CONTENT_GPU_GPU_SANDBOX_HOOK_BSD_H_
++
++#include "sandbox/policy/sandbox.h"
++
++namespace content {
++
++bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options);
++
++} // namespace content
++
++#endif // CONTENT_GPU_GPU_SANDBOX_HOOK_BSD_H_
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
deleted file mode 100644
index 6920209bd382..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_gpu_gpu__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,70 +0,0 @@
---- src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_linux.cc.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/content/gpu/gpu_sandbox_hook_linux.cc
-@@ -126,6 +126,7 @@ void AddStandardChromeOsPermissions(
- }
- }
-
-+#if !defined(OS_BSD)
- void AddV4L2GpuPermissions(
- std::vector<BrokerFilePermission>* permissions,
- const sandbox::policy::SandboxSeccompBPF::Options& options) {
-@@ -484,8 +485,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
- AddStandardGpuPermissions(&permissions);
- return permissions;
- }
-+#endif
-
- void LoadArmGpuLibraries() {
-+#if !defined(OS_BSD)
- // Preload the Mali library.
- if (UseChromecastSandboxAllowlist()) {
- for (const char* path : kAllowedChromecastPaths) {
-@@ -530,6 +533,7 @@ void LoadArmGpuLibraries() {
- dlopen(driver_paths[i], dlopen_flag);
- }
- }
-+#endif
- }
-
- bool LoadAmdGpuLibraries() {
-@@ -597,12 +601,14 @@ void LoadV4L2Libraries(
- }
-
- void LoadChromecastV4L2Libraries() {
-+#if !defined(OS_BSD)
- for (const char* path : kAllowedChromecastPaths) {
- const std::string library_path(std::string(path) +
- std::string("libvpcodec.so"));
- if (dlopen(library_path.c_str(), dlopen_flag))
- break;
- }
-+#endif
- }
-
- bool LoadLibrariesForGpu(
-@@ -629,6 +635,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;
-@@ -652,13 +659,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.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.cc
index d5e6a99f12c2..f863f26662e2 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_ppapi__plugin_ppapi__blink__platform__impl.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.cc
@@ -20,7 +20,7 @@
@@ -18,7 +18,7 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
ChildThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -53,7 +53,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() {
+@@ -54,7 +54,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() {
void PpapiBlinkPlatformImpl::Shutdown() {}
blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() {
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 de15ece47ec6..f5eb17471071 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,15 +1,6 @@
---- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-07-22 17:30:31 UTC
+--- src/3rdparty/chromium/content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2023-05-31 08:12:17 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
-@@ -38,11 +38,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp
+@@ -33,7 +33,7 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp
blink::WebString DefaultLocale() override;
private:
@@ -17,9 +8,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- sk_sp<font_service::FontLoader> 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 58b3d3f9e158..e70ef9f3685c 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,18 +1,18 @@
---- src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/content/ppapi_plugin/ppapi_plugin_main.cc
@@ -54,6 +54,11 @@
#include "gin/v8_initializer.h"
#endif
-+#if BUILDFLAG(IS_OPENBSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#include "sandbox/policy/sandbox_type.h"
+#endif
+
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
#include <stdlib.h>
#endif
-@@ -148,7 +153,7 @@ int PpapiPluginMain(MainFunctionParams parameters) {
+@@ -150,7 +155,7 @@ int PpapiPluginMain(MainFunctionParams parameters) {
gin::V8Initializer::LoadV8Snapshot();
#endif
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
deleted file mode 100644
index cf9b4383ff71..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_browser_render__process__host.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/3rdparty/chromium/content/public/browser/render_process_host.h.orig 2023-08-16 19:50:41 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)
-
-@@ -643,7 +643,7 @@ class CONTENT_EXPORT RenderProcessHost : public IPC::S
- const blink::StorageKey& storage_key,
- mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) = 0;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- virtual void CreateStableVideoDecoder(
- mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder>
- receiver) = 0;
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
deleted file mode 100644
index 37d5f65f805d..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_public_common_common__param__traits__macros.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/content/public/common/common_param_traits_macros.h.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/content/public/common/common_param_traits_macros.h
-@@ -113,7 +113,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 d592aeeaf729..3084de3ef633 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,6 +1,6 @@
---- src/3rdparty/chromium/content/public/common/content_features.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/public/common/content_features.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/public/common/content_features.cc
-@@ -39,7 +39,7 @@ CONSTINIT const base::Feature kAudioServiceOutOfProces
+@@ -53,7 +53,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.
@@ -9,7 +9,7 @@
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
base::FEATURE_ENABLED_BY_DEFAULT
#else
-@@ -51,7 +51,7 @@ CONSTINIT const base::Feature kAudioServiceSandbox(
+@@ -65,7 +65,7 @@ CONSTINIT const base::Feature kAudioServiceSandbox(
// kAudioServiceOutOfProcess feature is enabled.
CONSTINIT const base::Feature kAudioServiceSandbox(
"AudioServiceSandbox",
@@ -18,7 +18,7 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -547,7 +547,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_
+@@ -553,7 +553,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_
// (activated by kUserAgentClientHint)
BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
@@ -27,7 +27,7 @@
// Supports proxying thread type changes of renderer processes to browser
// process and having browser process handle adjusting thread properties (nice
// value, c-group, latency sensitivity...) for renderers which have sandbox
-@@ -1367,7 +1367,7 @@ CONSTINIT const base::Feature kWebAssemblyTrapHandler(
+@@ -1463,7 +1463,7 @@ CONSTINIT const base::Feature kWebAssemblyTrapHandler(
CONSTINIT const base::Feature kWebAssemblyTrapHandler(
"WebAssemblyTrapHandler",
#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
@@ -36,7 +36,7 @@
defined(ARCH_CPU_X86_64)) || \
(BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))
base::FEATURE_ENABLED_BY_DEFAULT
-@@ -1425,7 +1425,11 @@ BASE_FEATURE(kWebUICodeCache,
+@@ -1515,7 +1515,11 @@ BASE_FEATURE(kWebUICodeCache,
// Controls whether the WebUSB API is enabled:
// https://wicg.github.io/webusb
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 de357c63ced2..d7ee045c1029 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,8 +1,8 @@
---- src/3rdparty/chromium/content/public/common/content_features.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/public/common/content_features.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/public/common/content_features.h
-@@ -115,7 +115,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollO
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSet);
- CONTENT_EXPORT BASE_DECLARE_FEATURE(kGetDisplayMediaSetAutoSelectAllScreens);
+@@ -120,7 +120,7 @@ CONTENT_EXPORT extern const base::FeatureParam<int>
+ kFledgeLimitNumAuctionsParam;
+ CONTENT_EXPORT BASE_DECLARE_FEATURE(kFractionalScrollOffsets);
CONTENT_EXPORT BASE_DECLARE_FEATURE(kGreaseUACH);
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
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 535f44c60e96..99948ec551ee 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,6 +1,6 @@
---- src/3rdparty/chromium/content/public/common/content_switches.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/public/common/content_switches.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/public/common/content_switches.cc
-@@ -368,6 +368,8 @@ const char kEnableLogging[] = "enable-
+@@ -367,6 +367,8 @@ const char kEnableLogging[] = "enable-
// builds.
const char kEnableLogging[] = "enable-logging";
@@ -9,7 +9,7 @@
// 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.
-@@ -997,7 +999,7 @@ const char kEnableAutomation[] = "enable-automation";
+@@ -994,7 +996,7 @@ const char kEnableAutomation[] = "enable-automation";
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
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 ba30c2a1a589..ce4c47018ec3 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,6 +1,6 @@
---- src/3rdparty/chromium/content/public/common/content_switches.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/public/common/content_switches.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/public/common/content_switches.h
-@@ -117,6 +117,7 @@ CONTENT_EXPORT extern const char kEnableLogging[];
+@@ -116,6 +116,7 @@ CONTENT_EXPORT extern const char kEnableLogging[];
CONTENT_EXPORT extern const char kEnableIsolatedWebAppsInRenderer[];
CONTENT_EXPORT extern const char kEnableLCDText[];
CONTENT_EXPORT extern const char kEnableLogging[];
@@ -8,12 +8,12 @@
CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[];
CONTENT_EXPORT extern const char kEnableCanvas2DLayers[];
CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[];
-@@ -269,7 +270,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+@@ -267,7 +268,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[];
+ CONTENT_EXPORT extern const char kLLVMProfileFile[];
#endif
-
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn
index 4410e83b82ca..bf4e7b20e0a2 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/content/renderer/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/renderer/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/renderer/BUILD.gn
-@@ -201,6 +201,13 @@ target(link_target_type, "renderer") {
+@@ -202,6 +202,13 @@ target(link_target_type, "renderer") {
]
}
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 14d4ad1a1c8d..af37d4bcacc1 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,6 +1,6 @@
---- src/3rdparty/chromium/content/renderer/render_process_impl.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/content/renderer/render_process_impl.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/content/renderer/render_process_impl.cc
-@@ -46,7 +46,7 @@
+@@ -45,7 +45,7 @@
#if BUILDFLAG(IS_WIN)
#include "base/win/win_util.h"
#endif
@@ -9,9 +9,9 @@
#include "v8/include/v8-wasm-trap-handler-posix.h"
#endif
-@@ -223,7 +223,7 @@ RenderProcessImpl::RenderProcessImpl()
- SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering,
- "--no-wasm-dynamic-tiering");
+@@ -211,7 +211,7 @@ RenderProcessImpl::RenderProcessImpl()
+ v8::V8::SetFlagsFromString(kSABPerContextFlag, sizeof(kSABPerContextFlag));
+ }
-#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)
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 ffa541d18f0a..26b8b530e9d3 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,6 +1,6 @@
---- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/renderer/render_thread_impl.cc
-@@ -201,6 +201,8 @@
+@@ -204,6 +204,8 @@
#if BUILDFLAG(IS_APPLE)
#include <malloc/malloc.h>
@@ -9,8 +9,8 @@
#else
#include <malloc.h>
#endif
-@@ -1069,7 +1071,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
- kGpuStreamPriorityMedia);
+@@ -1054,7 +1056,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ kGpuStreamIdMedia, kGpuStreamPriorityMedia);
const bool enable_video_decode_accelerator =
-#if BUILDFLAG(IS_LINUX)
@@ -18,7 +18,7 @@
base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) &&
#endif // BUILDFLAG(IS_LINUX)
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) &&
-@@ -1078,7 +1080,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+@@ -1063,7 +1065,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
gpu::kGpuFeatureStatusEnabled);
const bool enable_video_encode_accelerator =
@@ -27,7 +27,7 @@
base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) &&
#else
!cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) &&
-@@ -1863,7 +1865,7 @@ std::unique_ptr<CodecFactory> RenderThreadImpl::Create
+@@ -1835,7 +1837,7 @@ std::unique_ptr<CodecFactory> RenderThreadImpl::Create
bool enable_video_encode_accelerator) {
mojo::PendingRemote<media::mojom::VideoEncodeAcceleratorProvider>
vea_provider;
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 3bfa097f2559..060686c4c243 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,6 +1,6 @@
---- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.cc
-@@ -111,7 +111,7 @@
+@@ -114,7 +114,7 @@
#if BUILDFLAG(IS_MAC)
#include "content/child/child_process_sandbox_support_impl_mac.h"
@@ -9,8 +9,15 @@
#include "content/child/child_process_sandbox_support_impl_linux.h"
#endif
-@@ -177,7 +177,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+@@ -182,13 +182,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+ sudden_termination_disables_(0),
+ is_locked_to_site_(false),
main_thread_scheduler_(main_thread_scheduler) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ sk_sp<font_service::FontLoader> font_loader;
+ #endif
+
// RenderThread may not exist in some tests.
if (RenderThreadImpl::current()) {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -18,7 +25,7 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
RenderThreadImpl::current()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -187,7 +187,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+@@ -197,7 +197,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
#endif
}
@@ -27,7 +34,7 @@
if (sandboxEnabled()) {
#if BUILDFLAG(IS_MAC)
sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -245,7 +245,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl
+@@ -255,7 +255,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl
#endif
blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
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 2789c4d5a798..dcb3e128fd14 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,15 +1,6 @@
---- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/renderer/renderer_blink_platform_impl.h
-@@ -32,7 +32,7 @@
- #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
- #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- #include "components/services/font/public/cpp/font_loader.h" // nogncheck
- #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
- #endif
-@@ -245,7 +245,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+@@ -238,7 +238,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info,
const gpu::GPUInfo& gpu_info) const;
@@ -18,12 +9,3 @@
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
-@@ -265,7 +265,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
- mutable base::WaitableEvent io_thread_id_ready_event_;
- base::PlatformThreadId io_thread_id_ = base::kInvalidThreadId;
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc
index 1ebfc9a23937..b85856e382f0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_renderer_renderer__main__platform__delegate__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/content/renderer/renderer_main_platform_delegate_linux.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/renderer/renderer_main_platform_delegate_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/renderer/renderer_main_platform_delegate_linux.cc
@@ -44,6 +44,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() {
// any renderer has been started.
// Here, we test that the status of SeccompBpf in the renderer is consistent
// with what SandboxLinux::GetStatus() said we would do.
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance();
if (linux_sandbox->GetStatus() & sandbox::policy::SandboxLinux::kSeccompBPF) {
CHECK(linux_sandbox->seccomp_bpf_started());
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 a7caeb229c6f..f359dfb9b3cf 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,6 +1,6 @@
---- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/shell/BUILD.gn
-@@ -968,7 +968,7 @@ group("content_shell_crash_test") {
+@@ -1029,7 +1029,7 @@ group("content_shell_crash_test") {
if (is_win) {
data_deps += [ "//build/win:copy_cdb_to_output" ]
}
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 228b6a2a1272..e486515dc0f5 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,6 +1,6 @@
---- src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/content/shell/app/shell_main_delegate.cc
-@@ -221,7 +221,7 @@ void ShellMainDelegate::PreSandboxStartup() {
+@@ -223,7 +223,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);
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 d395863a26de..3ab8bdf4ba9f 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,6 +1,6 @@
---- src/3rdparty/chromium/content/test/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/test/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/test/BUILD.gn
-@@ -2129,7 +2129,7 @@ static_library("run_all_unittests") {
+@@ -2235,7 +2235,7 @@ static_library("run_all_unittests") {
":test_support",
"//base/test:test_support",
]
@@ -9,7 +9,7 @@
deps += [ "//content/common:set_process_title_linux" ]
}
}
-@@ -3162,7 +3162,7 @@ test("content_unittests") {
+@@ -3304,7 +3304,7 @@ test("content_unittests") {
deps += [ "//third_party/boringssl" ]
}
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 3466a1eababe..b9c83c39cd00 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,4 +1,4 @@
---- src/3rdparty/chromium/content/utility/services.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/content/utility/services.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/utility/services.cc
@@ -64,7 +64,7 @@
extern sandbox::TargetServices* g_utility_target_services;
@@ -18,7 +18,16 @@
(BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
#include "media/mojo/services/stable_video_decoder_factory_process_service.h" // nogncheck
#endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
-@@ -215,7 +215,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
+@@ -109,7 +109,7 @@ extern sandbox::TargetServices* g_utility_target_servi
+ #include "ui/accessibility/accessibility_features.h"
+ #endif // BUILDFLAG(ENABLE_ACCESSIBILITY_SERVICE)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "media/capture/capture_switches.h"
+ #include "services/viz/public/cpp/gpu/gpu.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+@@ -226,7 +226,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi
<< "task_policy_set TASK_QOS_POLICY";
#endif
@@ -27,7 +36,16 @@
auto* command_line = base::CommandLine::ForCurrentProcess();
if (sandbox::policy::SandboxTypeFromCommandLine(*command_line) ==
sandbox::mojom::Sandbox::kNoSandbox) {
-@@ -319,7 +319,7 @@ auto RunOOPArcVideoAcceleratorFactoryService(
+@@ -308,7 +308,7 @@ auto RunVideoCapture(
+ mojo::PendingReceiver<video_capture::mojom::VideoCaptureService> receiver) {
+ auto service = std::make_unique<UtilityThreadVideoCaptureServiceImpl>(
+ std::move(receiver), base::SingleThreadTaskRunner::GetCurrentDefault());
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) {
+ mojo::PendingRemote<viz::mojom::Gpu> remote_gpu;
+ content::UtilityThread::Get()->BindHostReceiver(
+@@ -340,7 +340,7 @@ auto RunOOPArcVideoAcceleratorFactoryService(
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
// BUILDFLAG(USE_V4L2_CODEC))
@@ -36,7 +54,7 @@
(BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
auto RunStableVideoDecoderFactoryProcessService(
mojo::PendingReceiver<
-@@ -330,7 +330,7 @@ auto RunStableVideoDecoderFactoryProcessService(
+@@ -351,7 +351,7 @@ auto RunStableVideoDecoderFactoryProcessService(
#endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) &&
// (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC))
@@ -45,7 +63,7 @@
auto RunVideoEncodeAcceleratorProviderFactory(
mojo::PendingReceiver<media::mojom::VideoEncodeAcceleratorProviderFactory>
receiver) {
-@@ -388,13 +388,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
+@@ -415,13 +415,13 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) ||
// BUILDFLAG(USE_V4L2_CODEC))
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_speech_speech__recognition__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_speech_speech__recognition__sandbox__hook__linux.h
index 47ea1e2db86d..2318cee151ab 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_speech_speech__recognition__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_speech_speech__recognition__sandbox__hook__linux.h
@@ -1,11 +1,13 @@
---- src/3rdparty/chromium/content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/utility/speech/speech_recognition_sandbox_hook_linux.h
-@@ -5,7 +5,11 @@
+@@ -5,7 +5,13 @@
#ifndef CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_
#define CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_
-+#if defined(OS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.cc
index 6d1f254912d1..74a53a4cf400 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.cc
@@ -9,7 +9,7 @@
@@ -18,7 +18,7 @@
mojo::PendingRemote<font_service::mojom::FontService> font_service;
UtilityThread::Get()->BindHostReceiver(
font_service.InitWithNewPipeAndPassReceiver());
-@@ -34,7 +34,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl::
+@@ -35,7 +35,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl::
blink::WebSandboxSupport*
UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.h
index 2f75ecf9db8d..6d6a2dd0654e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_content_utility_utility__blink__platform__with__sandbox__support__impl.h
@@ -1,15 +1,6 @@
---- src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/content/utility/utility_blink_platform_with_sandbox_support_impl.h
-@@ -10,7 +10,7 @@
- #include "build/build_config.h"
- #include "third_party/blink/public/platform/platform.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
-@@ -38,10 +38,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
+@@ -33,7 +33,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
blink::WebSandboxSupport* GetSandboxSupport() override;
private:
@@ -17,8 +8,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
#endif
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
};
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 ec6534574ccd..686fe2e4cc1b 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,23 +1,26 @@
---- src/3rdparty/chromium/content/utility/utility_main.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/utility/utility_main.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/utility/utility_main.cc
-@@ -31,7 +31,7 @@
+@@ -34,7 +34,7 @@
#include "third_party/icu/source/common/unicode/unistr.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "base/file_descriptor_store.h"
+ #include "base/files/file_util.h"
+ #include "base/pickle.h"
+@@ -42,7 +42,9 @@
#include "content/utility/speech/speech_recognition_sandbox_hook_linux.h"
#include "gpu/config/gpu_info_collector.h"
#include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h"
-@@ -42,15 +42,21 @@
- #if BUILDFLAG(ENABLE_PRINTING)
- #include "printing/sandbox/print_backend_sandbox_hook_linux.h"
- #endif
+#if !BUILDFLAG(IS_BSD)
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
#include "services/audio/audio_sandbox_hook_linux.h"
#include "services/network/network_sandbox_hook_linux.h"
+ // gn check is not smart enough to realize that this include only applies to
+@@ -54,10 +56,14 @@
+ #endif
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
@@ -26,13 +29,13 @@
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#endif
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/assistant/buildflags.h"
#include "chromeos/ash/services/ime/ime_sandbox_hook.h"
-@@ -62,7 +68,7 @@
+@@ -69,7 +75,7 @@
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if (BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \
@@ -41,12 +44,17 @@
#include "components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h" // nogncheck
#endif
-@@ -83,10 +89,10 @@ namespace {
+@@ -95,7 +101,7 @@ namespace {
namespace {
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ std::vector<std::string> GetNetworkContextsParentDirectories() {
+ base::MemoryMappedFile::Region region;
+ base::ScopedFD read_pipe_fd = base::FileDescriptorStore::GetInstance().TakeFD(
+@@ -123,7 +129,7 @@ bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox san
+
bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox sandbox_type) {
const bool obtain_gpu_info =
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
@@ -54,7 +62,7 @@
sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding ||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoEncoding;
-@@ -168,7 +174,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -239,7 +245,7 @@ int UtilityMain(MainFunctionParams parameters) {
}
}
@@ -63,7 +71,7 @@
// Initializes the sandbox before any threads are created.
// TODO(jorgelo): move this after GTK initialization when we enable a strict
// Seccomp-BPF policy.
-@@ -200,7 +206,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -272,7 +278,7 @@ int UtilityMain(MainFunctionParams parameters) {
#endif
break;
#endif
@@ -72,7 +80,7 @@
case sandbox::mojom::Sandbox::kHardwareVideoDecoding:
pre_sandbox_hook =
base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook);
-@@ -227,6 +233,7 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -299,6 +305,7 @@ int UtilityMain(MainFunctionParams parameters) {
default:
break;
}
@@ -80,7 +88,7 @@
if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) &&
(parameters.zygote_child || !pre_sandbox_hook.is_null())) {
sandbox::policy::SandboxLinux::Options sandbox_options;
-@@ -235,6 +242,11 @@ int UtilityMain(MainFunctionParams parameters) {
+@@ -307,6 +314,11 @@ int UtilityMain(MainFunctionParams parameters) {
sandbox::policy::Sandbox::Initialize(
sandbox_type, std::move(pre_sandbox_hook), sandbox_options);
}
@@ -89,6 +97,6 @@
+ 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
+
+ // Start the HangWatcher now that the sandbox is engaged, if it hasn't
+ // already been started.
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 89dbfd1880d8..ef586f15e77a 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,4 +1,4 @@
---- src/3rdparty/chromium/content/zygote/zygote_linux.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/content/zygote/zygote_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/content/zygote/zygote_linux.cc
@@ -1,6 +1,7 @@
// Copyright 2012 The Chromium Authors
@@ -8,7 +8,7 @@
#include "content/zygote/zygote_linux.h"
-@@ -706,3 +707,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi
+@@ -707,3 +708,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi
}
} // namespace content
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 c3951e0b9545..ec201757b5e7 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,10 +1,10 @@
---- src/3rdparty/chromium/content/zygote/zygote_main_linux.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/content/zygote/zygote_main_linux.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/content/zygote/zygote_main_linux.cc
@@ -11,7 +11,9 @@
#include <stddef.h>
#include <stdint.h>
#include <string.h>
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include <sys/prctl.h>
+#endif
#include <sys/socket.h>
@@ -14,33 +14,27 @@
#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)
++#if !BUILDFLAG(IS_BSD)
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
#include "sandbox/policy/sandbox.h"
#include "sandbox/policy/switches.h"
#include "third_party/icu/source/i18n/unicode/timezone.h"
-@@ -50,6 +54,7 @@ namespace {
+@@ -50,11 +54,13 @@ namespace {
namespace {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
void CloseFds(const std::vector<int>& fds) {
for (const auto& it : fds) {
PCHECK(0 == IGNORE_EINTR(close(it)));
-@@ -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() {
-@@ -176,9 +183,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand
+ base::OnceClosure ClosureFromTwoClosures(base::OnceClosure one,
+ base::OnceClosure two) {
+@@ -159,9 +165,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand
CHECK(!using_layer1_sandbox);
}
}
@@ -48,11 +42,11 @@
bool ZygoteMain(
std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD());
auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance();
-@@ -244,6 +253,9 @@ bool ZygoteMain(
+@@ -227,6 +235,9 @@ bool ZygoteMain(
// This function call can return multiple times, once per fork().
return zygote.ProcessRequests();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_bluetooth__adapter.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_bluetooth__adapter.cc
index 55b7424dad44..852ac4023dd0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_bluetooth__adapter.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_bluetooth__adapter.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/device/bluetooth/bluetooth_adapter.cc.orig 2022-07-28 06:05:58 UTC
+--- src/3rdparty/chromium/device/bluetooth/bluetooth_adapter.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/device/bluetooth/bluetooth_adapter.cc
-@@ -32,7 +32,7 @@ BluetoothAdapter::ServiceOptions::ServiceOptions() = d
+@@ -31,7 +31,7 @@ namespace device {
+ BluetoothAdapter::ServiceOptions::ServiceOptions() = default;
BluetoothAdapter::ServiceOptions::~ServiceOptions() = default;
- #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_MAC) && \
-- !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX)
-+ !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \
++#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) && \
+ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX)
// static
scoped_refptr<BluetoothAdapter> BluetoothAdapter::CreateAdapter() {
- return nullptr;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_api__browser__context__keyed__service__factories.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_api__browser__context__keyed__service__factories.cc
index 0bf6af43124a..bc444409da16 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_api__browser__context__keyed__service__factories.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_api_api__browser__context__keyed__service__factories.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/extensions/browser/api/api_browser_context_keyed_service_factories.cc
-@@ -108,7 +108,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt
+@@ -118,7 +118,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt
MessageService::GetFactoryInstance();
MessagingAPIMessageFilter::EnsureAssociatedFactoryBuilt();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
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
index 572556abc8fb..bfbb3c283998 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/extensions/browser/api/messaging/message_service.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/extensions/browser/api/messaging/message_service.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/extensions/browser/api/messaging/message_service.cc
-@@ -70,7 +70,7 @@ const char kReceivingEndDoesntExistError[] =
+@@ -71,7 +71,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) || \
@@ -9,7 +9,7 @@
const char kMissingPermissionError[] =
"Access to native messaging requires nativeMessaging permission.";
const char kProhibitedByPoliciesError[] =
-@@ -468,7 +468,7 @@ void MessageService::OpenChannelToNativeApp(
+@@ -490,7 +490,7 @@ void MessageService::OpenChannelToNativeApp(
return;
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
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
index 15803e1f8aa5..49a77a57e9d3 100644
--- 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
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2023-10-11 18:22:24 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"
@@ -9,12 +9,12 @@
#include "extensions/browser/api/networking_private/networking_private_linux.h"
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#include "components/wifi/wifi_service.h"
-@@ -68,7 +68,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS
- delegate = new NetworkingPrivateChromeOS(browser_context);
+@@ -67,7 +67,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance
+ delegate = std::make_unique<NetworkingPrivateChromeOS>(browser_context);
#elif BUILDFLAG(IS_CHROMEOS_LACROS)
- delegate = new NetworkingPrivateLacros(browser_context);
+ delegate = std::make_unique<NetworkingPrivateLacros>(browser_context);
-#elif BUILDFLAG(IS_LINUX)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- delegate = new NetworkingPrivateLinux();
+ delegate = std::make_unique<NetworkingPrivateLinux>();
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create());
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
deleted file mode 100644
index 07b7480a08cf..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_extension__prefs.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/extensions/browser/extension_prefs.cc.orig 2023-08-16 19:50:41 UTC
-+++ src/3rdparty/chromium/extensions/browser/extension_prefs.cc
-@@ -2230,7 +2230,7 @@ void ExtensionPrefs::RegisterProfilePrefs(
- registry->RegisterListPref(
- pref_names::kExtendedBackgroundLifetimeForPortConnectionsToUrls);
- #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(
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
deleted file mode 100644
index 9bd3fbe3ec8d..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/extensions/browser/pref_names.cc.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/extensions/browser/pref_names.cc
-@@ -53,7 +53,7 @@ const char kManifestV2Availability[] = "extensions.man
- const char kPinnedExtensions[] = "extensions.pinned_extensions";
- const char kStorageGarbageCollect[] = "extensions.storage.garbagecollect";
- #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 kChromeAppsWebViewPermissiveBehaviorAllowed[] =
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
deleted file mode 100644
index 8d538f1e7198..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_browser_pref__names.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/extensions/browser/pref_names.h.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/extensions/browser/pref_names.h
-@@ -114,7 +114,7 @@ extern const char kPinnedExtensions[];
- extern const char kStorageGarbageCollect[];
-
- #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
index 6666f58735d2..8b64105a88f3 100644
--- 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
@@ -1,15 +1,15 @@
---- src/3rdparty/chromium/extensions/common/api/_permission_features.json.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/extensions/common/api/_permission_features.json.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/extensions/common/api/_permission_features.json
-@@ -134,7 +134,7 @@
+@@ -138,7 +138,7 @@
{
"channel": "stable",
"extension_types": ["platform_app"],
-- "platforms": ["chromeos", "win", "mac", "linux"],
-+ "platforms": ["chromeos", "win", "mac", "linux", "openbsd", "freebsd"],
+- "platforms": ["chromeos", "lacros", "win", "mac", "linux"],
++ "platforms": ["chromeos", "lacros", "win", "mac", "linux", "openbsd", "freebsd"],
"allowlist": [
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
"A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
-@@ -427,7 +427,7 @@
+@@ -432,7 +432,7 @@
}, {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
@@ -18,7 +18,7 @@
"allowlist": [
"0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
"1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
-@@ -469,7 +469,7 @@
+@@ -474,7 +474,7 @@
"networkingPrivate": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
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
index a2bd4cf5a954..60c4d4bfbe25 100644
--- 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
@@ -1,12 +1,10 @@
---- src/3rdparty/chromium/extensions/common/api/runtime.json.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/extensions/common/api/runtime.json.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/extensions/common/api/runtime.json
-@@ -86,7 +86,8 @@
- "cros",
- "linux",
- "openbsd",
-- "fuchsia"
-+ "fuchsia",
-+ "freebsd"
+@@ -89,6 +89,7 @@
+ {"name": "cros", "description": "Specifies the Chrome operating system."},
+ {"name": "linux", "description": "Specifies the Linux operating system."},
+ {"name": "openbsd", "description": "Specifies the OpenBSD operating system."},
++ {"name": "freebsd", "description": "Specifies the FreeBSD operating system."},
+ {"name": "fuchsia", "description": "Specifies the Fuchsia operating system."}
]
},
- {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_extensions_common_command.cc
index cd2f112b6bbb..ba234ebaf7f5 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/extensions/common/command.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/extensions/common/command.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/extensions/common/command.cc
-@@ -280,7 +280,7 @@ std::string Command::CommandPlatform() {
+@@ -282,7 +282,7 @@ std::string Command::CommandPlatform() {
return values::kKeybindingPlatformMac;
#elif BUILDFLAG(IS_CHROMEOS)
return values::kKeybindingPlatformChromeOs;
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
index 4711f762b9c2..14a43d6eddf2 100644
--- 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
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/extensions/common/features/feature.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/extensions/common/features/feature.cc.orig 2023-09-13 12:11:42 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)
++#elif BUILDFLAG(IS_BSD)
+ return LINUX_PLATFORM;
#else
return UNSPECIFIED_PLATFORM;
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
index 20c2b082fae7..478bd8df8e65 100644
--- 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
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc
@@ -44,7 +44,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin
bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
#if BUILDFLAG(IS_CHROMEOS_ASH)
- info->os = api::runtime::PLATFORM_OS_CROS;
+ info->os = api::runtime::PlatformOs::kCros;
-#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;
+ info->os = api::runtime::PlatformOs::kLinux;
#endif
return true;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_google__apis_gcm_engine_heartbeat__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_google__apis_gcm_engine_heartbeat__manager.cc
index 534926c686b0..abd723e1e979 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_google__apis_gcm_engine_heartbeat__manager.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_google__apis_gcm_engine_heartbeat__manager.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/google_apis/gcm/engine/heartbeat_manager.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/google_apis/gcm/engine/heartbeat_manager.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/google_apis/gcm/engine/heartbeat_manager.cc
-@@ -33,7 +33,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
+@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
// Minimum time spent sleeping before we force a new heartbeat.
const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
@@ -9,7 +9,7 @@
// The period at which to check if the heartbeat time has passed. Used to
// protect against platforms where the timer is delayed by the system being
// suspended. Only needed on linux because the other OSes provide a standard
-@@ -193,7 +193,7 @@ void HeartbeatManager::RestartTimer() {
+@@ -191,7 +191,7 @@ void HeartbeatManager::RestartTimer() {
base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
weak_ptr_factory_.GetWeakPtr()));
@@ -18,7 +18,7 @@
// Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
// when the system is suspending or resuming. The only one that does not is
// Linux so we need to poll to check for missed heartbeats.
-@@ -218,7 +218,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
+@@ -214,7 +214,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
return;
}
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 773d8d038c0b..12e6456454a5 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,6 +1,6 @@
---- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc
-@@ -173,7 +173,7 @@ uint32_t GetPlatformSpecificTextureTarget() {
+@@ -182,7 +182,7 @@ uint32_t GetPlatformSpecificTextureTarget() {
#if BUILDFLAG(IS_MAC)
return macos_specific_texture_target;
#elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || \
@@ -9,7 +9,7 @@
return GL_TEXTURE_EXTERNAL_OES;
#elif BUILDFLAG(IS_IOS)
return GL_TEXTURE_2D;
-@@ -208,7 +208,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu
+@@ -217,7 +217,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu
gfx::BufferFormat format,
gfx::BufferPlane plane) {
#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_dawn__context__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_dawn__context__provider.cc
new file mode 100644
index 000000000000..df5720390dd5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_dawn__context__provider.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/gpu/command_buffer/service/dawn_context_provider.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/gpu/command_buffer/service/dawn_context_provider.cc
+@@ -145,7 +145,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke
+ return base::FeatureList::IsEnabled(features::kSkiaGraphiteDawnUseD3D12)
+ ? wgpu::BackendType::D3D12
+ : wgpu::BackendType::D3D11;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return wgpu::BackendType::Vulkan;
+ #elif BUILDFLAG(IS_APPLE)
+ return wgpu::BackendType::Metal;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_gles2__cmd__decoder.cc
index 738ed7fdf341..c71dfc2e8b62 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_gles2__cmd__decoder.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_gles2__cmd__decoder.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2023-09-11 15:16:04 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/gles2_cmd_decoder.cc
-@@ -3462,7 +3462,7 @@ GLES2Decoder* GLES2Decoder::Create(
+@@ -2982,7 +2982,7 @@ GLES2Decoder* GLES2Decoder::Create(
// Fix for Qt WebEngine Crash when QSG_RHI_BACKEND=opengl
// Allow linux to run fuzzers.
#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
index bbacacb8268a..e7b1efc2ebbd 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc
-@@ -20,7 +20,7 @@ namespace {
+@@ -21,7 +21,7 @@ namespace {
// TODO(penghuang): verify the scanout is the right usage for video playback.
// crbug.com/1280798
constexpr uint32_t kSupportedUsage =
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
index 8182d2c3594c..46fe9b90ef76 100644
--- 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
@@ -1,20 +1,20 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing.cc
-@@ -36,7 +36,7 @@
+@@ -47,7 +47,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)
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
#include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h"
#endif
-@@ -534,7 +534,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma
- WGPUDevice wgpuDevice,
- WGPUBackendType backend_type,
- std::vector<WGPUTextureFormat> view_formats) {
--#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
- auto wgpu_format = ToWGPUFormat(format());
+@@ -673,7 +673,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma
+ const wgpu::Device& wgpuDevice,
+ wgpu::BackendType backend_type,
+ std::vector<wgpu::TextureFormat> view_formats) {
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
+ auto wgpu_format = ToDawnFormat(format());
- if (wgpu_format == WGPUTextureFormat_Undefined) {
+ if (wgpu_format == wgpu::TextureFormat::Undefined) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
new file mode 100644
index 000000000000..7e0e594df65b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc
+@@ -89,7 +89,7 @@ constexpr uint32_t kSupportedUsage =
+ } // namespace
+
+ constexpr uint32_t kSupportedUsage =
+-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN)
+ SHARED_IMAGE_USAGE_WEBGPU | SHARED_IMAGE_USAGE_WEBGPU_SWAP_CHAIN_TEXTURE |
+ SHARED_IMAGE_USAGE_WEBGPU_STORAGE_TEXTURE |
+ #endif
+@@ -258,7 +258,7 @@ bool ExternalVkImageBackingFactory::IsSupported(
+ return false;
+ }
+
+-#if BUILDFLAG(IS_LINUX) && !defined(TOOLKIT_QT)
++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(TOOLKIT_QT)
+ if (format.IsLegacyMultiplanar()) {
+ // ExternalVkImageBacking doesn't work properly with external sampler
+ // multi-planar formats on Linux, see https://crbug.com/1394888.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__factory.cc
new file mode 100644
index 000000000000..beaf9fc60a42
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__factory.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/shared_image_factory.cc
+@@ -142,7 +142,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() {
+ return gfx::GpuMemoryBufferType::IO_SURFACE_BUFFER;
+ #elif BUILDFLAG(IS_ANDROID)
+ return gfx::GpuMemoryBufferType::ANDROID_HARDWARE_BUFFER;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ return gfx::GpuMemoryBufferType::NATIVE_PIXMAP;
+ #elif BUILDFLAG(IS_WIN)
+ return gfx::GpuMemoryBufferType::DXGI_SHARED_HANDLE;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__manager.cc
index c27a0d5a303c..ff053561c04e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__manager.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_shared__image__manager.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/shared_image_manager.cc
-@@ -481,7 +481,7 @@ bool SharedImageManager::SupportsScanoutImages() {
+@@ -507,7 +507,7 @@ bool SharedImageManager::SupportsScanoutImages() {
return true;
#elif BUILDFLAG(IS_ANDROID)
return base::AndroidHardwareBufferCompat::IsSupportAvailable();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
index e5577a041f70..bb5a1de33a97 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc
@@ -1,9 +1,9 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc
-@@ -181,7 +181,7 @@ bool WrappedSkImageBacking::Initialize() {
- for (int plane = 0; plane < num_planes; ++plane) {
- auto& texture = textures_[plane];
- gfx::Size plane_size = format().GetPlaneSize(plane, size());
+@@ -211,7 +211,7 @@ bool WrappedSkImageBacking::Initialize(const std::stri
+
+ constexpr GrRenderable is_renderable = GrRenderable::kYes;
+ constexpr GrProtected is_protected = GrProtected::kNo;
-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX)
+#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
// Blue for single-planar and magenta-ish for multi-planar.
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 26146461e135..118c8c18e993 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,20 @@
---- src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/gpu/command_buffer/service/webgpu_decoder_impl.cc
-@@ -1225,7 +1225,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl(
+@@ -1194,7 +1194,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl(
+ force_fallback_adapter = true;
+ }
- if (gr_context_type_ != GrContextType::kVulkan &&
- use_webgpu_adapter_ != WebGPUAdapterName::kCompat) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- callback(WGPURequestAdapterStatus_Unavailable, nullptr,
- "WebGPU on Linux requires command-line flag "
- "--enable-features=Vulkan",
+ if (!shared_context_state_->GrContextIsVulkan() &&
+ !shared_context_state_->IsGraphiteDawnVulkan() &&
+ use_webgpu_adapter_ != WebGPUAdapterName::kOpenGLES) {
+@@ -1849,7 +1849,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn(
+ }
+
+ #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \
+- !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX)
++ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ if (usage & wgpu::TextureUsage::StorageBinding) {
+ LOG(ERROR) << "AssociateMailbox: wgpu::TextureUsage::StorageBinding is NOT "
+ "supported yet on this platform.";
diff --git a/www/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 4389712ef599..0aa02325b5b0 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,6 +1,6 @@
---- src/3rdparty/chromium/gpu/config/gpu_control_list.cc.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/gpu/config/gpu_control_list.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/gpu/config/gpu_control_list.cc
-@@ -302,7 +302,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
+@@ -276,7 +276,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
#if BUILDFLAG(IS_CHROMEOS)
return kGLTypeGL;
@@ -9,7 +9,7 @@
return kGLTypeGL;
#elif BUILDFLAG(IS_MAC)
return kGLTypeGL;
-@@ -844,7 +844,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
+@@ -817,7 +817,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
return kOsAndroid;
#elif BUILDFLAG(IS_FUCHSIA)
return kOsFuchsia;
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
index 614aa738dd8e..5d0e01de4b5b 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/config/gpu_finch_features.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/gpu/config/gpu_finch_features.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/gpu/config/gpu_finch_features.cc
-@@ -57,7 +57,7 @@ CONSTINIT const base::Feature kUseGles2ForOopR(
+@@ -58,7 +58,7 @@ CONSTINIT const base::Feature kUseGles2ForOopR(
CONSTINIT const base::Feature kUseGles2ForOopR(
"UseGles2ForOopR",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
@@ -9,7 +9,7 @@
base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_ENABLED_BY_DEFAULT
-@@ -135,7 +135,8 @@ CONSTINIT const base::Feature kDefaultEnableGpuRasteri
+@@ -142,7 +142,8 @@ CONSTINIT const base::Feature kDefaultEnableGpuRasteri
CONSTINIT const base::Feature kDefaultEnableGpuRasterization(
"DefaultEnableGpuRasterization",
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc
index 2fd265e348df..4b96fd768921 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc
-@@ -21,7 +21,7 @@
+@@ -26,7 +26,7 @@
#include "ui/ozone/public/ozone_platform.h"
#endif
@@ -9,7 +9,7 @@
#include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
#endif
-@@ -50,7 +50,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
+@@ -56,7 +56,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
return gfx::IO_SURFACE_BUFFER;
#elif BUILDFLAG(IS_ANDROID)
return gfx::ANDROID_HARDWARE_BUFFER;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.h
index b72358947503..9744deb2ad0b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.h
-@@ -18,7 +18,7 @@
+@@ -21,7 +21,7 @@
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gpu_memory_buffer.h"
@@ -8,4 +8,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD)
namespace gfx {
class ClientNativePixmapFactory;
- }
+ } // namespace gfx
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 735eb8c1d624..1e31e8949854 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,6 +1,6 @@
---- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc
-@@ -357,7 +357,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -363,7 +363,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
enable_watchdog = false;
#endif
@@ -9,7 +9,7 @@
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
-@@ -393,7 +393,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -400,7 +400,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
bool attempted_startsandbox = false;
@@ -18,16 +18,7 @@
// 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.
-@@ -442,7 +442,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;
-@@ -493,7 +493,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -457,7 +457,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
}
}
@@ -36,7 +27,7 @@
// 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
-@@ -579,7 +579,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -539,7 +539,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
command_line, gpu_feature_info_,
gpu_preferences_.disable_software_rasterizer, false);
if (gl_use_swiftshader_) {
@@ -45,7 +36,7 @@
VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
<< "on Linux";
return false;
-@@ -707,7 +707,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+@@ -692,7 +692,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
@@ -54,8 +45,8 @@
// 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.
-@@ -759,7 +759,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- gl_use_swiftshader_ = true;
+@@ -746,7 +746,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ }
}
}
-#if BUILDFLAG(IS_LINUX) || \
@@ -63,7 +54,7 @@
(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
-@@ -903,7 +903,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+@@ -900,7 +900,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
}
bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled;
@@ -72,9 +63,9 @@
(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
-@@ -973,7 +973,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
-
- InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
+@@ -976,7 +976,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+ }
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_generate__bindings.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_generate__bindings.py
index 76b73961ae24..3fc4935c7a65 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_generate__bindings.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_generate__bindings.py
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/vulkan/generate_bindings.py.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/gpu/vulkan/generate_bindings.py.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/vulkan/generate_bindings.py
-@@ -259,7 +259,7 @@ VULKAN_DEVICE_FUNCTIONS = [
+@@ -260,7 +260,7 @@ VULKAN_DEVICE_FUNCTIONS = [
]
},
{
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_semaphore__handle.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_semaphore__handle.cc
new file mode 100644
index 000000000000..a7b61ad210ab
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_semaphore__handle.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/gpu/vulkan/semaphore_handle.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/gpu/vulkan/semaphore_handle.cc
+@@ -39,7 +39,7 @@ SemaphoreHandle::SemaphoreHandle(gfx::GpuFenceHandle f
+ // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic.
+ Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA,
+ std::move(fence_handle.owned_event));
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR,
+ std::move(fence_handle.owned_fd));
+ #elif BUILDFLAG(IS_POSIX)
+@@ -64,7 +64,7 @@ gfx::GpuFenceHandle SemaphoreHandle::ToGpuFenceHandle(
+ // VkSemaphore, which can then be used to submit present work, see
+ // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic.
+ fence_handle.owned_event = TakeHandle();
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ if (type_ == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR) {
+ fence_handle.owned_fd = TakeHandle();
+ } else {
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 1755a836be13..d67111ec0331 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,6 +1,6 @@
---- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.cc
-@@ -89,7 +89,7 @@ bool VulkanDeviceQueue::Initialize(
+@@ -121,7 +121,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|.
@@ -9,12 +9,12 @@
// 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)
+@@ -263,7 +263,7 @@ bool VulkanDeviceQueue::Initialize(
+ // Android, Fuchsia, Linux, and CrOS (VaapiVideoDecoder) need YCbCr sampler
+ // support.
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
if (!physical_device_info.feature_sampler_ycbcr_conversion) {
LOG(ERROR) << "samplerYcbcrConversion is not supported.";
return false;
diff --git a/www/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 d3f545db878e..bc33c334dbab 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-24 10:57:32 UTC
+--- src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/vulkan/vulkan_device_queue.h
-@@ -158,7 +158,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue {
-
+@@ -166,7 +166,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)
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
+- BUILDFLAG(IS_CHROMEOS)
++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
VkPhysicalDeviceSamplerYcbcrConversionFeatures
sampler_ycbcr_conversion_features_{
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES};
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc
index bdc303a1f776..cfa5f590ebf5 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc
-@@ -1151,7 +1151,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+@@ -1161,7 +1161,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
}
}
@@ -9,3 +9,12 @@
if (gfx::HasExtension(enabled_extensions,
VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) {
vkGetImageDrmFormatModifierPropertiesEXT =
+@@ -1350,7 +1350,7 @@ void VulkanFunctionPointers::ResetForTesting() {
+ vkGetSwapchainImagesKHR = nullptr;
+ vkQueuePresentKHR = nullptr;
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ vkGetImageDrmFormatModifierPropertiesEXT = nullptr;
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h
index 4e7be2fb3567..8c52f65fe0a8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h
-@@ -305,7 +305,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+@@ -311,7 +311,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
VulkanFunction<PFN_vkGetSwapchainImagesKHR> vkGetSwapchainImagesKHR;
VulkanFunction<PFN_vkQueuePresentKHR> vkQueuePresentKHR;
@@ -9,7 +9,7 @@
VulkanFunction<PFN_vkGetImageDrmFormatModifierPropertiesEXT>
vkGetImageDrmFormatModifierPropertiesEXT;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -1212,7 +1212,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
+@@ -1235,7 +1235,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
pPresentInfo);
}
@@ -18,7 +18,7 @@
ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT(
VkDevice device,
VkImage image,
-@@ -1222,4 +1222,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
+@@ -1245,4 +1245,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__image.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__image.cc
deleted file mode 100644
index d00fc83963f5..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__image.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/gpu/vulkan/vulkan_image.cc.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/gpu/vulkan/vulkan_image.cc
-@@ -392,7 +392,7 @@ bool VulkanImage::InitializeWithExternalMemory(
-
- // 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)
- VkPhysicalDeviceImageDrmFormatModifierInfoEXT modifier_info = {
- .sType =
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
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
index 8ff623025c71..16b86dba4c0b 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/gpu/vulkan/vulkan_util.cc.orig 2022-07-22 17:30:31 UTC
+--- src/3rdparty/chromium/gpu/vulkan/vulkan_util.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/gpu/vulkan/vulkan_util.cc
-@@ -199,7 +199,7 @@ bool CheckVulkanCompabilities(const VulkanInfo& vulkan
+@@ -343,7 +343,7 @@ bool CheckVulkanCompabilities(const VulkanInfo& vulkan
}
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__browser__main__parts__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__browser__main__parts__posix.cc
index fc98746712ee..2579ca453b33 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__browser__main__parts__posix.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__browser__main__parts__posix.cc
@@ -1,14 +1,14 @@
---- src/3rdparty/chromium/headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/headless/lib/browser/headless_browser_main_parts_posix.cc
-@@ -19,13 +19,13 @@
+@@ -21,13 +21,13 @@
#include "content/public/browser/browser_thread.h"
#include "headless/lib/browser/headless_browser_impl.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/command_line.h"
- #include "components/os_crypt/key_storage_config_linux.h"
- #include "components/os_crypt/os_crypt.h"
+ #include "components/os_crypt/sync/key_storage_config_linux.h"
+ #include "components/os_crypt/sync/os_crypt.h"
#include "headless/public/switches.h"
-#if defined(USE_DBUS)
@@ -16,7 +16,7 @@
#include "device/bluetooth/dbus/bluez_dbus_manager.h"
#endif
-@@ -120,7 +120,7 @@ class BrowserShutdownHandler {
+@@ -161,7 +161,7 @@ class BrowserShutdownHandler {
} // namespace
@@ -25,9 +25,9 @@
constexpr char kProductName[] = "HeadlessChrome";
#endif
-@@ -128,9 +128,9 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLo
- BrowserShutdownHandler::Install(
- base::BindOnce(&HeadlessBrowserImpl::Shutdown, browser_->GetWeakPtr()));
+@@ -169,9 +169,9 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLo
+ BrowserShutdownHandler::Install(base::BindOnce(
+ &HeadlessBrowserImpl::ShutdownWithExitCode, browser_->GetWeakPtr()));
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__web__contents__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__web__contents__impl.cc
index 00c2637191db..d3dd85b56342 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__web__contents__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__web__contents__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/headless/lib/browser/headless_web_contents_impl.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/headless/lib/browser/headless_web_contents_impl.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/headless/lib/browser/headless_web_contents_impl.cc
-@@ -61,7 +61,7 @@ namespace headless {
+@@ -60,7 +60,7 @@ namespace headless {
namespace {
void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc
index 8205206723ff..85f9b3d5814d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc
-@@ -327,7 +327,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
+@@ -344,7 +344,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
if (process_type != ::switches::kZygoteProcess) {
g_headless_crash_client.Pointer()->set_crash_dumps_dir(
command_line.GetSwitchValuePath(switches::kCrashDumpsDir));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__message__utils.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__message__utils.cc
index 36e6fd9f3df8..0b4fb6c20bac 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__message__utils.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__message__utils.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ipc/ipc_message_utils.cc.orig 2022-05-19 14:06:27 UTC
+--- src/3rdparty/chromium/ipc/ipc_message_utils.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ipc/ipc_message_utils.cc
-@@ -359,7 +359,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
+@@ -393,7 +393,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
}
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
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 b74a242be8ae..196ee0c0a3c4 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,4 +1,4 @@
---- src/3rdparty/chromium/media/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/media/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/media/BUILD.gn
@@ -96,6 +96,9 @@ config("media_config") {
defines += [ "DLOPEN_PULSEAUDIO" ]
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 0aa9a075cc2d..db6fd122165c 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,6 +1,6 @@
---- src/3rdparty/chromium/media/audio/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/media/audio/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/media/audio/BUILD.gn
-@@ -264,9 +264,20 @@ source_set("audio") {
+@@ -278,9 +278,20 @@ jumbo_source_set("audio") {
]
}
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 7763c850bf22..5ca79c181554 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,6 +1,6 @@
---- src/3rdparty/chromium/media/audio/audio_input_device.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/media/audio/audio_input_device.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/media/audio/audio_input_device.cc
-@@ -259,7 +259,7 @@ void AudioInputDevice::OnStreamCreated(
+@@ -262,7 +262,7 @@ void AudioInputDevice::OnStreamCreated(
// here. See comments in AliveChecker and PowerObserverHelper for details and
// todos.
if (detect_dead_stream_ == DeadStreamDetection::kEnabled) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_sndio__input.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_sndio__input.cc
index bb502dad81a3..aebbac4f7a18 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_sndio__input.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_audio_sndio_sndio__input.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/audio/sndio/sndio_input.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/media/audio/sndio/sndio_input.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/media/audio/sndio/sndio_input.cc
@@ -0,0 +1,200 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
@@ -196,7 +196,7 @@
+
+
+ // invoke callback
-+ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.);
++ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1., {});
+ }
+}
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_cdm__promise__adapter.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_cdm__promise__adapter.cc
new file mode 100644
index 000000000000..8661d571c150
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_base_cdm__promise__adapter.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/media/base/cdm_promise_adapter.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/media/base/cdm_promise_adapter.cc
+@@ -94,7 +94,13 @@ void CdmPromiseAdapter::RejectPromise(uint32_t promise
+ void CdmPromiseAdapter::Clear(ClearReason reason) {
+ // Reject all outstanding promises.
+ DCHECK(thread_checker_.CalledOnValidThread());
++#if defined(__clang__) && (__clang_major__ >= 16)
+ for (auto& [promise_id, promise] : promises_) {
++#else
++ for (auto& [p_i, p_e] : promises_) {
++ auto& promise_id = p_i;
++ auto& promise = p_e;
++#endif
+ TRACE_EVENT_NESTABLE_ASYNC_END1(
+ "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
+ "status", "cleared");
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 82fd131702ba..5cfee7ed784c 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,15 +1,15 @@
---- src/3rdparty/chromium/media/base/media_switches.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/media/base/media_switches.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/media/base/media_switches.cc
-@@ -12,7 +12,7 @@
- #include "components/system_media_controls/linux/buildflags/buildflags.h"
- #include "media/media_buildflags.h"
+@@ -17,7 +17,7 @@
+ #include "ui/gl/gl_features.h"
+ #include "ui/gl/gl_utils.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/cpu.h"
#endif
-@@ -586,7 +586,7 @@ CONSTINIT const base::Feature kGlobalMediaControls(
+@@ -673,7 +673,7 @@ CONSTINIT const base::Feature kGlobalMediaControls(
// Show toolbar button that opens dialog for controlling media sessions.
CONSTINIT const base::Feature kGlobalMediaControls(
"GlobalMediaControls",
@@ -18,7 +18,16 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -634,7 +634,7 @@ CONSTINIT const base::Feature kGlobalMediaControlsPict
+@@ -696,7 +696,7 @@ CONSTINIT const base::Feature kMediaRemotingWithoutFul
+ // If enabled, users can request Media Remoting without fullscreen-in-tab.
+ CONSTINIT const base::Feature kMediaRemotingWithoutFullscreen(
+ "MediaRemotingWithoutFullscreen",
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -708,7 +708,7 @@ CONSTINIT const base::Feature kGlobalMediaControlsPict
CONSTINIT const base::Feature kGlobalMediaControlsPictureInPicture(
"GlobalMediaControlsPictureInPicture",
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -27,7 +36,7 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -678,7 +678,7 @@ BASE_FEATURE(kUnifiedAutoplay,
+@@ -752,7 +752,7 @@ BASE_FEATURE(kUnifiedAutoplay,
"UnifiedAutoplay",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -36,17 +45,18 @@
// Enable vaapi video decoding on linux. This is already enabled by default on
// chromeos, but needs an experiment on linux.
BASE_FEATURE(kVaapiVideoDecodeLinux,
-@@ -1198,14 +1198,14 @@ BASE_FEATURE(kAllowClearDolbyVisionInMseWhenPlatformEn
- base::FEATURE_DISABLED_BY_DEFAULT);
- #endif
-
--#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)
+@@ -832,7 +832,7 @@ BASE_FEATURE(kVaapiVp9kSVCHWEncoding,
+ "VaapiVp9kSVCHWEncoding",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Enables the new V4L2StatefulVideoDecoder instead of V4L2VideoDecoder.
+ BASE_FEATURE(kV4L2FlatStatelessVideoDecoder,
+ "V4L2FlatStatelessVideoDecoder",
+@@ -1348,7 +1348,7 @@ const base::Feature MEDIA_EXPORT kUseOutOfProcessVideo
+ };
+ #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
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 a9a8002374ce..7bf6a2138bd1 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,6 +1,6 @@
---- src/3rdparty/chromium/media/base/media_switches.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/base/media_switches.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/base/media_switches.h
-@@ -277,7 +277,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseDecoderStreamFor
+@@ -305,7 +305,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseElementInsteadOf
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseMediaHistoryStore);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseR16Texture);
@@ -9,14 +9,18 @@
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinux);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinuxGL);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoEncodeLinux);
-@@ -396,11 +396,11 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(
- kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled);
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+@@ -323,7 +323,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiH264TemporalLa
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp8TemporalLayerHWEncoding);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9kSVCHWEncoding);
+ #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatelessVideoDecoder);
+ MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+@@ -443,7 +443,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kExposeOutOfProcessV
MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoDecoding);
- #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
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 f5821433164b..347d8ca3beab 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,4 +1,4 @@
---- src/3rdparty/chromium/media/base/video_frame.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/base/video_frame.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/base/video_frame.cc
@@ -80,7 +80,7 @@ std::string VideoFrame::StorageTypeToString(
return "OWNED_MEMORY";
@@ -18,7 +18,7 @@
// This is not strictly needed but makes explicit that, at VideoFrame
// level, DmaBufs are not mappable from userspace.
storage_type != VideoFrame::STORAGE_DMABUFS &&
-@@ -307,7 +307,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
+@@ -306,7 +306,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo
return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
}
@@ -27,7 +27,7 @@
// This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
// thus to have several VideoFrames share the same set of DMABUF FDs.
class VideoFrame::DmabufHolder
-@@ -636,7 +636,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+@@ -635,7 +635,7 @@ scoped_refptr<VideoFrame> 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;
@@ -36,7 +36,7 @@
if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) {
const auto gmb_handle = gpu_memory_buffer->CloneHandle();
if (gmb_handle.is_null() ||
-@@ -682,7 +682,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+@@ -681,7 +681,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
return frame;
}
@@ -54,7 +54,7 @@
DCHECK(frame->dmabuf_fds_);
// If there are any |dmabuf_fds_| plugged in, we should refer them too.
wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
-@@ -1302,7 +1302,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
+@@ -1310,7 +1310,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder(
: mailbox_holders_[texture_index];
}
@@ -63,7 +63,7 @@
const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
-@@ -1415,7 +1415,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
+@@ -1423,7 +1423,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
storage_type_(storage_type),
visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
natural_size_(natural_size),
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 d764548e57fc..537115395142 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,15 +1,15 @@
---- src/3rdparty/chromium/media/base/video_frame.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/base/video_frame.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/base/video_frame.h
@@ -44,7 +44,7 @@
- #include "base/mac/scoped_cftyperef.h"
- #endif // BUILDFLAG(IS_MAC)
+ #include "base/apple/scoped_cftyperef.h"
+ #endif // BUILDFLAG(IS_APPLE)
-#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)
-@@ -113,7 +113,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -110,7 +110,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
STORAGE_SHMEM = 4, // Backed by read-only shared memory.
@@ -18,7 +18,7 @@
// 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
-@@ -308,7 +308,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -313,7 +313,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb,
base::TimeDelta timestamp);
@@ -27,7 +27,7 @@
// 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
-@@ -596,7 +596,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -593,7 +593,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;
@@ -36,7 +36,7 @@
// 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
-@@ -809,7 +809,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+@@ -811,7 +811,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
// GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER.
std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_fake__video__capture__device__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_fake__video__capture__device__factory.cc
index 3a78d3db1cd3..286f02368daf 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_fake__video__capture__device__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_fake__video__capture__device__factory.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/media/capture/video/fake_video_capture_device_factory.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/fake_video_capture_device_factory.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/media/capture/video/fake_video_capture_device_factory.cc
-@@ -213,7 +213,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
+@@ -229,7 +229,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo(
int entry_index = 0;
for (const auto& entry : devices_config_) {
VideoCaptureApi api =
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 caba3e655650..d5c23f1e1c31 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,6 +1,6 @@
---- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.cc
-@@ -486,7 +486,7 @@ int FakeV4L2Impl::close(int fd) {
+@@ -560,7 +560,7 @@ int FakeV4L2Impl::close(int fd) {
return kSuccessReturnValue;
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.h
index 62da82dbf905..08dd4ff954b9 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_fake__v4l2__impl.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.h.orig 2022-03-01 11:59:41 UTC
+--- src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/media/capture/video/linux/fake_v4l2_impl.h
@@ -8,7 +8,13 @@
#include <map>
@@ -14,7 +14,7 @@
#include "base/synchronization/lock.h"
#include "media/capture/capture_export.h"
-@@ -36,7 +42,7 @@ class CAPTURE_EXPORT FakeV4L2Impl : public V4L2Capture
+@@ -38,7 +44,7 @@ class CAPTURE_EXPORT FakeV4L2Impl : public V4L2Capture
// Implementation of V4L2CaptureDevice interface:
int open(const char* device_name, int flags) override;
int close(int fd) override;
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 a67fe37b61e0..2bbd51b2e2c5 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,30 +1,80 @@
---- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc.orig 2023-10-11 18:22:24 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)
++#if !BUILDFLAG(IS_BSD)
#include <linux/version.h>
#include <linux/videodev2.h>
+#endif
#include <poll.h>
#include <sys/fcntl.h>
#include <sys/ioctl.h>
-@@ -29,10 +31,10 @@
+@@ -26,17 +28,19 @@
+ #include "media/capture/video/blob_utils.h"
+ #include "media/capture/video/linux/video_capture_device_linux.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "media/capture/capture_switches.h"
+ #include "media/capture/video/linux/v4l2_capture_delegate_gpu_helper.h"
+ #endif // BUILDFLAG(IS_LINUX)
using media::mojom::MeteringMode;
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
-+// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
++#if !BUILDFLAG(IS_BSD)
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
// 16 bit depth, Realsense F200.
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
--#endif
-+// #endif
+ #endif
++#endif
// TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the
// format is introduced to kernel.
-@@ -728,7 +730,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate
+@@ -46,6 +50,14 @@ using media::mojom::MeteringMode;
+ #define V4L2_PIX_FMT_INVZ v4l2_fourcc('I', 'N', 'V', 'Z')
+ #endif
+
++#ifndef V4L2_COLORSPACE_OPRGB
++#define V4L2_COLORSPACE_OPRGB V4L2_COLORSPACE_ADOBERGB
++#endif
++
++#ifndef V4L2_XFER_FUNC_OPRGB
++#define V4L2_XFER_FUNC_OPRGB V4L2_XFER_FUNC_ADOBERGB
++#endif
++
+ namespace media {
+
+ namespace {
+@@ -260,7 +272,7 @@ bool V4L2CaptureDelegate::IsBlockedControl(int control
+ // static
+ bool V4L2CaptureDelegate::IsControllableControl(
+ int control_id,
+- const base::RepeatingCallback<int(int, void*)>& do_ioctl) {
++ const base::RepeatingCallback<int(unsigned int, void*)>& do_ioctl) {
+ const int special_control_id = GetControllingSpecialControl(control_id);
+ if (!special_control_id) {
+ // The control is not controlled by a special control thus the control is
+@@ -316,7 +328,7 @@ V4L2CaptureDelegate::V4L2CaptureDelegate(
+ is_capturing_(false),
+ timeout_count_(0),
+ rotation_(rotation) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ use_gpu_buffer_ = switches::IsVideoCaptureUseGpuMemoryBufferEnabled();
+ #endif // BUILDFLAG(IS_LINUX)
+ }
+@@ -443,7 +455,7 @@ void V4L2CaptureDelegate::AllocateAndStart(
+
+ client_->OnStarted();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (use_gpu_buffer_) {
+ v4l2_gpu_helper_ = std::make_unique<V4L2CaptureDelegateGpuHelper>(
+ std::move(gmb_support_test_));
+@@ -793,7 +805,7 @@ void V4L2CaptureDelegate::SetGPUEnvironmentForTesting(
V4L2CaptureDelegate::~V4L2CaptureDelegate() = default;
@@ -33,7 +83,7 @@
int num_retries = 0;
for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries;
++num_retries) {
-@@ -738,7 +740,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
+@@ -803,7 +815,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void*
return num_retries != kMaxIOCtrlRetries;
}
@@ -42,18 +92,15 @@
return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp));
}
-@@ -778,6 +780,10 @@ bool V4L2CaptureDelegate::IsControllableControl(int co
+@@ -814,6 +826,7 @@ bool V4L2CaptureDelegate::IsControllableControl(int co
}
void V4L2CaptureDelegate::ReplaceControlEventSubscriptions() {
-+// these ioctls are not implemented on *BSDs
-+#if BUILDFLAG(IS_BSD)
-+ NOTIMPLEMENTED();
-+#else
++#if !BUILDFLAG(IS_BSD)
constexpr uint32_t kControlIds[] = {V4L2_CID_AUTO_EXPOSURE_BIAS,
V4L2_CID_AUTO_WHITE_BALANCE,
V4L2_CID_BRIGHTNESS,
-@@ -805,6 +811,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript
+@@ -841,6 +854,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript
<< ", {type = V4L2_EVENT_CTRL, id = " << control_id << "}";
}
}
@@ -61,3 +108,49 @@
}
mojom::RangePtr V4L2CaptureDelegate::RetrieveUserControlRange(int control_id) {
+@@ -1021,7 +1035,11 @@ void V4L2CaptureDelegate::DoCapture() {
+
+ pollfd device_pfd = {};
+ device_pfd.fd = device_fd_.get();
++#if !BUILDFLAG(IS_BSD)
+ device_pfd.events = POLLIN | POLLPRI;
++#else
++ device_pfd.events = POLLIN;
++#endif
+
+ const int result =
+ HANDLE_EINTR(v4l2_->poll(&device_pfd, 1, kCaptureTimeoutMs));
+@@ -1059,6 +1077,7 @@ void V4L2CaptureDelegate::DoCapture() {
+ timeout_count_ = 0;
+ }
+
++#if !BUILDFLAG(IS_BSD)
+ // Dequeue events if the driver has filled in some.
+ if (device_pfd.revents & POLLPRI) {
+ bool controls_changed = false;
+@@ -1093,6 +1112,7 @@ void V4L2CaptureDelegate::DoCapture() {
+ client_->OnCaptureConfigurationChanged();
+ }
+ }
++#endif
+
+ // Deenqueue, send and reenqueue a buffer if the driver has filled one in.
+ if (device_pfd.revents & POLLIN) {
+@@ -1146,7 +1166,7 @@ void V4L2CaptureDelegate::DoCapture() {
+ // workable on Linux.
+
+ // See http://crbug.com/959919.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (use_gpu_buffer_) {
+ v4l2_gpu_helper_->OnIncomingCapturedData(
+ client_.get(), buffer_tracker->start(),
+@@ -1219,7 +1239,7 @@ void V4L2CaptureDelegate::SetErrorState(VideoCaptureEr
+ client_->OnError(error, from_here, reason);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() {
+ v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace;
+ v4l2_quantization v4l2_range =
diff --git a/www/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 725ca9301f3b..543d9fb3ec80 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,6 +1,24 @@
---- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.h
-@@ -87,10 +87,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+@@ -35,7 +35,7 @@ class Location;
+
+ namespace media {
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ class V4L2CaptureDelegateGpuHelper;
+ #endif // BUILDFLAG(IS_LINUX)
+
+@@ -86,7 +86,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+ static bool IsBlockedControl(int control_id);
+ static bool IsControllableControl(
+ int control_id,
+- const base::RepeatingCallback<int(int, void*)>& do_ioctl);
++ const base::RepeatingCallback<int(unsigned int, void*)>& do_ioctl);
+
+ void SetGPUEnvironmentForTesting(
+ std::unique_ptr<gpu::GpuMemoryBufferSupport> gmb_support);
+@@ -100,10 +100,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.
@@ -13,3 +31,21 @@
// Check whether the control is controllable (and not changed automatically).
bool IsControllableControl(int control_id);
+@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+ const base::Location& from_here,
+ const std::string& reason);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Systems which describe a "color space" usually map that to one or more of
+ // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the
+ // matched value as first priority. Otherwise, if there is no best matching
+@@ -167,7 +167,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final {
+ // Clockwise rotation in degrees. This value should be 0, 90, 180, or 270.
+ int rotation_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Support GPU memory buffer.
+ bool use_gpu_buffer_;
+ std::unique_ptr<V4L2CaptureDelegateGpuHelper> v4l2_gpu_helper_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__factory__v4l2.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__factory__v4l2.cc
index cd743a293f11..1bd27f575454 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__factory__v4l2.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_linux_video__capture__device__factory__v4l2.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2023-05-02 13:49:23 UTC
+++ src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc
@@ -75,6 +75,9 @@ class DevVideoFilePathsDeviceProvider
: public VideoCaptureDeviceFactoryV4L2::DeviceProvider {
public:
void GetDeviceIds(std::vector<std::string>* target_container) override {
-+#if defined(OS_OPENBSD)
++#if BUILDFLAG(IS_OPENBSD)
+ target_container->emplace_back("/dev/video");
+#else
const base::FilePath path("/dev/");
@@ -18,7 +18,7 @@
}
std::string GetDeviceModelId(const std::string& device_id) override {
-+#if defined(OS_OPENBSD)
++#if BUILDFLAG(IS_OPENBSD)
+ return std::string();
+#endif
const std::string file_name = ExtractFileNameFromDeviceId(device_id);
@@ -28,7 +28,7 @@
}
std::string GetDeviceDisplayName(const std::string& device_id) override {
-+#if defined(OS_OPENBSD)
++#if BUILDFLAG(IS_OPENBSD)
+ return std::string();
+#endif
const std::string file_name = ExtractFileNameFromDeviceId(device_id);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__tracker__factory__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__tracker__factory__impl.cc
new file mode 100644
index 000000000000..bfa563fa7b66
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_capture_video_video__capture__buffer__tracker__factory__impl.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/media/capture/video/video_capture_buffer_tracker_factory_impl.cc
+@@ -14,7 +14,7 @@
+ #include "media/capture/video/chromeos/gpu_memory_buffer_tracker_cros.h"
+ #elif BUILDFLAG(IS_APPLE)
+ #include "media/capture/video/apple/gpu_memory_buffer_tracker_apple.h"
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "media/capture/video/linux/v4l2_gpu_memory_buffer_tracker.h"
+ #elif BUILDFLAG(IS_WIN)
+ #include "media/capture/video/shared_memory_buffer_tracker.h"
+@@ -43,7 +43,7 @@ VideoCaptureBufferTrackerFactoryImpl::CreateTracker(
+ return std::make_unique<GpuMemoryBufferTrackerCros>();
+ #elif BUILDFLAG(IS_APPLE)
+ return std::make_unique<GpuMemoryBufferTrackerApple>();
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return std::make_unique<V4L2GpuMemoryBufferTracker>();
+ #elif BUILDFLAG(IS_WIN)
+ if (!dxgi_device_manager_) {
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 69f741431c9f..842b9dda9100 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 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/capture/video/video_capture_device_client.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/media/capture/video/video_capture_device_client.cc
-@@ -322,7 +322,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;
+@@ -149,7 +149,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat(
+ CHECK(!is_width_odd && !is_height_odd);
+ return {libyuv::FOURCC_UYVY};
+ case media::PIXEL_FORMAT_RGB24:
+- if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) {
++ if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) {
+ // Linux RGB24 defines red at lowest byte address,
+ // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
+ return {libyuv::FOURCC_RAW};
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_cdm_library__cdm_cdm__paths.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_cdm_library__cdm_cdm__paths.gni
new file mode 100644
index 000000000000..02b8f3d6b112
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_cdm_library__cdm_cdm__paths.gni
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/media/cdm/library_cdm/cdm_paths.gni.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/media/cdm/library_cdm/cdm_paths.gni
+@@ -15,7 +15,7 @@ assert(enable_library_cdms)
+ # Explicitly define what we use to avoid confusion.
+ if (is_chromeos) {
+ component_os = "cros"
+-} else if (is_linux) {
++} else if (is_linux || is_bsd) {
+ component_os = "linux"
+ } else if (is_win) {
+ component_os = "win"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_buffer__validation.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_buffer__validation.cc
index 2bc969973e5a..68e7cc0f92f2 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_buffer__validation.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_buffer__validation.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/gpu/buffer_validation.cc.orig 2022-05-19 14:06:27 UTC
+--- src/3rdparty/chromium/media/gpu/buffer_validation.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/media/gpu/buffer_validation.cc
@@ -15,7 +15,7 @@
#include "ui/gfx/geometry/size.h"
@@ -18,7 +18,7 @@
if (fd < 0) {
VLOG(1) << "Invalid file descriptor";
return false;
-@@ -73,7 +73,7 @@ bool VerifyGpuMemoryBufferHandle(
+@@ -76,7 +76,7 @@ bool VerifyGpuMemoryBufferHandle(
VLOG(1) << "Unsupported: " << pixel_format;
return false;
}
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 3eb5fcdfe8ba..2a6874c36898 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,15 +1,6 @@
---- src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/gpu/chromeos/video_decoder_pipeline.cc
-@@ -213,7 +213,7 @@ std::unique_ptr<VideoDecoder> VideoDecoderPipeline::Cr
- #if BUILDFLAG(USE_VAAPI)
- create_decoder_function_cb = base::BindOnce(&VaapiVideoDecoder::Create);
- #elif BUILDFLAG(USE_V4L2_CODEC) && \
-- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH))
-+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD))
- create_decoder_function_cb = base::BindOnce(&V4L2VideoDecoder::Create);
- #else
- return nullptr;
-@@ -860,14 +860,14 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+@@ -1026,14 +1026,14 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
}
}
@@ -26,7 +17,7 @@
// Linux w/ V4L2 should not use a custom allocator
// Only tested with video_decode_accelerator_tests
// TODO(wenst@) Test with full Chromium Browser
-@@ -997,7 +997,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
+@@ -1170,7 +1170,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat(
<< " VideoFrames";
auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_);
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 84730e3c08b2..bad61d8e7bd2 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,6 +1,6 @@
---- src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/media/gpu/gpu_video_encode_accelerator_factory.cc
-@@ -121,7 +121,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions
+@@ -119,7 +119,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions
return vea_factory_functions;
#if BUILDFLAG(USE_VAAPI)
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 b054db0ad44b..1e2c2a8f7327 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,4 +1,4 @@
---- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc
@@ -15,7 +15,9 @@
#include "media/gpu/vaapi/vaapi_wrapper.h"
@@ -18,15 +18,15 @@
void AllowAccessToRenderNodes(std::vector<BrokerFilePermission>& permissions,
bool include_sys_dev_char,
bool read_write) {
-@@ -160,6 +163,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
- return false;
+@@ -165,6 +168,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
+ NOTREACHED_NORETURN();
#endif // BUILDFLAG(USE_V4L2_CODEC)
}
+#endif
} // namespace
-@@ -175,6 +179,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
+@@ -180,6 +184,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2(
// (at least).
bool HardwareVideoDecodingPreSandboxHook(
sandbox::policy::SandboxLinux::Options options) {
@@ -34,7 +34,7 @@
using HardwareVideoDecodingProcessPolicy =
sandbox::policy::HardwareVideoDecodingProcessPolicy;
using PolicyType =
-@@ -212,6 +217,7 @@ bool HardwareVideoDecodingPreSandboxHook(
+@@ -217,6 +222,7 @@ bool HardwareVideoDecodingPreSandboxHook(
sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess(
command_set, permissions, sandbox::policy::SandboxLinux::PreSandboxHook(),
options);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
index 4063da78a1f8..3ef02d85160d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2022-05-19 14:06:27 UTC
+--- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h
@@ -5,7 +5,13 @@
#ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_DECODING_SANDBOX_HOOK_LINUX_H_
@@ -7,7 +7,7 @@
+#include "build/build_config.h"
+
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc
index 973bd9244d1a..881836be0cc9 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc
@@ -18,12 +18,15 @@
#include "media/gpu/v4l2/v4l2_device.h"
@@ -16,15 +16,11 @@
sandbox::syscall_broker::BrokerCommandSet command_set;
std::vector<BrokerFilePermission> permissions;
-@@ -125,8 +128,8 @@ bool HardwareVideoEncodingPreSandboxHook(
- #endif // defined(__aarch64__)
+@@ -121,6 +124,7 @@ bool HardwareVideoEncodingPreSandboxHook(
+ return false;
+ }
}
- #endif
--
+#endif
+ #endif
return true;
}
-
--} // namespace media
-\ No newline at end of file
-+} // namespace media
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h
index 02783baff405..9cc18190d195 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h
@@ -5,7 +5,13 @@
#ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_
@@ -7,7 +7,7 @@
+#include "build/build_config.h"
+
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
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 3ac879eb290b..541298f16108 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,6 +1,6 @@
---- src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc.orig 2023-10-03 19:49:54 UTC
+--- src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/media/gpu/vaapi/vaapi_video_decoder.cc
-@@ -772,7 +772,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree
+@@ -782,7 +782,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree
const gfx::Size decoder_natural_size =
aspect_ratio_.GetNaturalSize(decoder_visible_rect);
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
new file mode 100644
index 000000000000..78386389a125
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_gpu_vaapi_vaapi__wrapper.cc
@@ -0,0 +1,56 @@
+--- src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc
+@@ -70,7 +70,7 @@
+ using media_gpu_vaapi::kModuleVa_prot;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/files/file_util.h"
+ #include "base/strings/string_split.h"
+ #endif
+@@ -1441,7 +1441,7 @@ bool IsVBREncodingSupported(VAProfile va_profile) {
+ return VASupportedProfiles::Get().IsProfileSupported(mode, va_profile);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Some VA-API drivers (vdpau-va-driver) will crash if used with VA/DRM on
+ // NVIDIA GPUs. This function checks if such drivers are present.
+ bool IsBrokenNvidiaVaapiDriverPresent() {
+@@ -1502,7 +1502,7 @@ void VADisplayStateSingleton::PreSandboxInitialization
+ VADisplayStateSingleton& va_display_state = GetInstance();
+ base::AutoLock lock(va_display_state.lock_);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string va_driver_name;
+ auto env = base::Environment::Create();
+ if (env->GetVar("LIBVA_DRIVER_NAME", &va_driver_name) &&
+@@ -1539,7 +1539,7 @@ void VADisplayStateSingleton::PreSandboxInitialization
+ if (base::EqualsCaseInsensitiveASCII(version_name, "vgem")) {
+ continue;
+ }
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Skip NVIDIA GPUs if the VA-API driver used for them is known for crashing
+ // with VA/DRM.
+ if (is_nvidia_va_drm_broken &&
+@@ -1572,7 +1572,7 @@ VADisplayStateHandle VADisplayStateSingleton::GetHandl
+ return {};
+ }
+
+-#if BUILDFLAG(IS_OZONE) && BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_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
+@@ -2403,7 +2403,7 @@ scoped_refptr<VASurface> VaapiWrapper::CreateVASurface
+ return nullptr;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // TODO(crbug.com/1326754): enable use DRIME_PRIME_2 API on Linux with the
+ // iHD driver.
+ const bool use_drm_prime_2 = false;
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 13d6f8e6fee3..737749461c1f 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,6 +1,6 @@
---- src/3rdparty/chromium/media/media_options.gni.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/media/media_options.gni.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/media/media_options.gni
-@@ -196,12 +196,15 @@ declare_args() {
+@@ -189,12 +189,15 @@ declare_args() {
# Enables runtime selection of ALSA library for audio.
use_alsa = false
@@ -17,7 +17,7 @@
(!is_castos || (target_cpu == "x86" || target_cpu == "x64") ||
is_cast_audio_only)) {
use_alsa = true
-@@ -217,6 +220,10 @@ declare_args() {
+@@ -210,6 +213,10 @@ declare_args() {
if (!use_cras && !is_castos && !is_asan && !is_tsan) {
use_pulseaudio = true
}
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 929095529690..32f0c1350902 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,15 +1,6 @@
---- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc
-@@ -39,7 +39,7 @@ gfx::GpuMemoryBufferHandle GetVideoFrameGpuMemoryBuffe
- 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
-@@ -751,7 +751,7 @@ const gfx::GpuMemoryBufferId& StructTraits<
+@@ -837,7 +837,7 @@ const gfx::GpuMemoryBufferId& StructTraits<
return input.id;
}
@@ -18,7 +9,7 @@
// static
gfx::NativePixmapHandle StructTraits<
media::stable::mojom::NativeGpuMemoryBufferHandleDataView,
-@@ -772,7 +772,7 @@ bool StructTraits<media::stable::mojom::NativeGpuMemor
+@@ -858,7 +858,7 @@ bool StructTraits<media::stable::mojom::NativeGpuMemor
output->type = gfx::NATIVE_PIXMAP;
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 58c76e3dad1f..badd3fb67fa7 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,6 +1,6 @@
---- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2022-09-24 10:57:32 UTC
+--- src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h
-@@ -695,7 +695,7 @@ struct StructTraits<media::stable::mojom::NativeGpuMem
+@@ -693,7 +693,7 @@ struct StructTraits<media::stable::mojom::NativeGpuMem
static const gfx::GpuMemoryBufferId& id(
const gfx::GpuMemoryBufferHandle& input);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_gpu__memory__buffer__video__frame__pool.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_gpu__memory__buffer__video__frame__pool.cc
index 4ceffe452896..7330db5c2cd0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_gpu__memory__buffer__video__frame__pool.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_media_video_gpu__memory__buffer__video__frame__pool.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/media/video/gpu_memory_buffer_video_frame_pool.cc
@@ -727,7 +727,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
}
@@ -9,8 +9,8 @@
is_software_backed_video_frame &= !video_frame->HasDmaBufs();
#endif
-@@ -1158,7 +1158,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
- is_webgpu_compatible = (gpu_memory_buffer != nullptr);
+@@ -1199,7 +1199,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
+ }
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -18,7 +18,7 @@
is_webgpu_compatible = (gpu_memory_buffer != nullptr);
if (is_webgpu_compatible) {
is_webgpu_compatible &=
-@@ -1177,7 +1177,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
+@@ -1218,7 +1218,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo
gpu::SHARED_IMAGE_USAGE_DISPLAY_READ |
gpu::SHARED_IMAGE_USAGE_SCANOUT;
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 3975d337f8cb..035aa5896513 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,4 +1,4 @@
---- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/media/video/video_encode_accelerator_adapter.cc
@@ -140,7 +140,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig(
if (is_rgb)
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 6ac94ed8b548..566d26253613 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,6 +1,6 @@
---- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/media/video/video_encode_accelerator_adapter_test.cc
-@@ -449,7 +449,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
+@@ -459,7 +459,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2));
VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_BUILD.gn
index 3c99434c12d2..a96a138f0536 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/mojo/core/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/mojo/core/BUILD.gn.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/mojo/core/BUILD.gn
-@@ -164,7 +164,7 @@ template("core_impl_source_set") {
+@@ -166,7 +166,7 @@ template("core_impl_source_set") {
]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_embedder_features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_embedder_features.h
index 9ed0dc06fcdd..e36f5ba80304 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_embedder_features.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_core_embedder_features.h
@@ -1,9 +1,9 @@
---- src/3rdparty/chromium/mojo/core/embedder/features.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/mojo/core/embedder/features.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/mojo/core/embedder/features.h
-@@ -14,7 +14,7 @@ namespace mojo {
- namespace core {
+@@ -16,7 +16,7 @@ namespace core {
- #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_MAC)
+ #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && \
+ !BUILDFLAG(MOJO_USE_APPLE_CHANNEL)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(MOJO_CORE_EMBEDDER_FEATURES)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_public_tools_bindings_mojom.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_public_tools_bindings_mojom.gni
index ddad9b308a12..da3560fe7f91 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_public_tools_bindings_mojom.gni
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_mojo_public_tools_bindings_mojom.gni
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/mojo/public/tools/bindings/mojom.gni.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/mojo/public/tools/bindings/mojom.gni.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/mojo/public/tools/bindings/mojom.gni
-@@ -722,6 +722,16 @@ template("mojom") {
+@@ -743,6 +743,16 @@ template("mojom") {
enabled_features += [ "is_apple" ]
}
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 3b132db0a7d7..b35ef2592495 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,6 +1,6 @@
---- src/3rdparty/chromium/net/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/net/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/net/BUILD.gn
-@@ -108,7 +108,7 @@ net_configs = [
+@@ -126,7 +126,7 @@ net_configs = [
"//build/config/compiler:wexit_time_destructors",
]
@@ -9,12 +9,16 @@
net_configs += [ "//build/config/linux:libresolv" ]
}
-@@ -1228,6 +1228,15 @@ component("net") {
+@@ -1255,6 +1255,19 @@ component("net") {
deps += [ "//third_party/xdg_shared_mime_info" ]
}
+ if (is_bsd) {
+ sources -= [
++ "base/address_map_cache_linux.cc",
++ "base/address_map_cache_linux.h",
++ "base/address_map_linux.cc",
++ "base/address_map_linux.h",
+ "base/address_tracker_linux.cc",
+ "base/address_tracker_linux.h",
+ "base/network_change_notifier_linux.cc",
@@ -25,16 +29,7 @@
if (is_mac) {
sources += [
"base/network_notification_thread_mac.cc",
-@@ -1360,7 +1369,7 @@ component("net") {
- }
- }
-
-- if (is_android || is_chromeos) {
-+ if (is_android || is_chromeos || is_bsd) {
- sources += [
- "base/network_change_notifier_posix.cc",
- "base/network_change_notifier_posix.h",
-@@ -1393,7 +1402,7 @@ component("net") {
+@@ -1410,7 +1423,7 @@ component("net") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
@@ -43,8 +38,8 @@
sources += [
"base/network_interfaces_getifaddrs.cc",
"base/network_interfaces_getifaddrs.h",
-@@ -2837,7 +2846,7 @@ test("net_unittests") {
- sources += [ "proxy_resolution/proxy_config_service_linux_unittest.cc" ]
+@@ -2905,7 +2918,7 @@ test("net_unittests") {
+ ]
}
- if (is_linux || is_chromeos) {
@@ -52,7 +47,7 @@
sources += [
"base/address_tracker_linux_unittest.cc",
"base/network_interfaces_linux_unittest.cc",
-@@ -2909,6 +2918,10 @@ test("net_unittests") {
+@@ -2973,6 +2986,10 @@ test("net_unittests") {
"//url:buildflags",
]
@@ -63,7 +58,7 @@
if (enable_websockets) {
deps += [ "//net/server:tests" ]
}
-@@ -2976,7 +2989,7 @@ test("net_unittests") {
+@@ -3055,7 +3072,7 @@ test("net_unittests") {
]
}
@@ -72,7 +67,7 @@
sources += [ "tools/quic/quic_simple_server_test.cc" ]
}
-@@ -3101,7 +3114,7 @@ test("net_unittests") {
+@@ -3190,7 +3207,7 @@ test("net_unittests") {
}
# Use getifaddrs() on POSIX platforms, except Linux.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc
new file mode 100644
index 000000000000..f9d3da04f73d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/net/base/features.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/net/base/features.cc
+@@ -181,7 +181,7 @@ BASE_FEATURE(kChromeRootStoreUsed,
+ #if BUILDFLAG(CHROME_ROOT_STORE_OPTIONAL)
+ BASE_FEATURE(kChromeRootStoreUsed,
+ "ChromeRootStoreUsed",
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || 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_net_base_mock__network__change__notifier.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.cc
new file mode 100644
index 000000000000..54f65b481329
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/net/base/mock_network_change_notifier.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/net/base/mock_network_change_notifier.cc
+@@ -103,7 +103,7 @@ MockNetworkChangeNotifier::GetCurrentConnectionCost()
+ return connection_cost_;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ AddressMapOwnerLinux* MockNetworkChangeNotifier::GetAddressMapOwnerInternal() {
+ return address_map_owner_;
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.h
new file mode 100644
index 000000000000..fa6daf99c99f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_base_mock__network__change__notifier.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/net/base/mock_network_change_notifier.h.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/net/base/mock_network_change_notifier.h
+@@ -84,7 +84,7 @@ class MockNetworkChangeNotifier : public NetworkChange
+ // use_default_connection_cost_implementation is set to true.
+ ConnectionCost GetCurrentConnectionCost() override;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SetAddressMapOwnerLinux(AddressMapOwnerLinux* address_map_owner) {
+ address_map_owner_ = address_map_owner;
+ }
+@@ -104,7 +104,7 @@ class MockNetworkChangeNotifier : public NetworkChange
+ bool use_default_connection_cost_implementation_ = false;
+ NetworkChangeNotifier::NetworkList connected_networks_;
+ std::unique_ptr<SystemDnsConfigChangeNotifier> dns_config_notifier_;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ raw_ptr<AddressMapOwnerLinux> address_map_owner_ = nullptr;
+ #endif
+ };
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 614239a8ac70..54dd12bf63a8 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,4 +1,4 @@
---- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/base/network_change_notifier.cc
@@ -37,7 +37,7 @@
#include "net/base/network_change_notifier_linux.h"
@@ -6,10 +6,10 @@
#include "net/base/network_change_notifier_mac.h"
-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
- #include "net/base/network_change_notifier_posix.h"
+ #include "net/base/network_change_notifier_passive.h"
#elif BUILDFLAG(IS_FUCHSIA)
#include "net/base/network_change_notifier_fuchsia.h"
-@@ -327,6 +327,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
+@@ -329,6 +329,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
#elif BUILDFLAG(IS_FUCHSIA)
return std::make_unique<NetworkChangeNotifierFuchsia>(
/*require_wlan=*/false);
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__passive.cc
index 19b2300e0bba..4ab4523fae18 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__passive.cc
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/net/base/network_change_notifier_posix.cc.orig 2022-08-31 12:19:35 UTC
-+++ src/3rdparty/chromium/net/base/network_change_notifier_posix.cc
-@@ -92,7 +92,7 @@ void NetworkChangeNotifierPosix::GetCurrentMaxBandwidt
+--- src/3rdparty/chromium/net/base/network_change_notifier_passive.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/net/base/network_change_notifier_passive.cc
+@@ -107,7 +107,7 @@ NetworkChangeNotifierPassive::GetAddressMapOwnerIntern
NetworkChangeNotifier::NetworkChangeCalculatorParams
- NetworkChangeNotifierPosix::NetworkChangeCalculatorParamsPosix() {
+ NetworkChangeNotifierPassive::NetworkChangeCalculatorParamsPassive() {
NetworkChangeCalculatorParams params;
-#if BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
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 75371fc06d21..49de64966dff 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-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/net/cert/cert_verifier.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/cert/cert_verifier.cc
-@@ -87,7 +87,7 @@ std::unique_ptr<CertVerifier> 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));
+@@ -40,7 +40,7 @@ class DefaultCertVerifyProcFactory : public net::CertV
+ return CertVerifyProc::CreateBuiltinWithChromeRootStore(
+ std::move(cert_net_fetcher), impl_params.crl_set,
+ base::OptionalToPtr(impl_params.root_store_data));
+-#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher),
+ impl_params.crl_set);
#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 5da70a7c4a36..99e797965813 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 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/net/cert/cert_verify_proc.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/cert/cert_verify_proc.cc
-@@ -414,7 +414,7 @@ base::Value CertVerifyParams(X509Certificate* cert,
+@@ -409,7 +409,7 @@ base::Value::Dict CertVerifyParams(
} // namespace
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY))
// static
scoped_refptr<CertVerifyProc> CertVerifyProc::CreateSystemVerifyProc(
- scoped_refptr<CertNetFetcher> 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 d2ff3390f0eb..9946d7f3a1f4 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 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/net/cert/cert_verify_proc.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/net/cert/cert_verify_proc.h
-@@ -68,7 +68,7 @@ class NET_EXPORT CertVerifyProc
+@@ -79,7 +79,7 @@ class NET_EXPORT CertVerifyProc
kMaxValue = kChainLengthOne
};
--#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))
-+#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))
+-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY))
// Creates and returns a CertVerifyProc that uses the system verifier.
// |cert_net_fetcher| may not be used, depending on the implementation.
- static scoped_refptr<CertVerifyProc> CreateSystemVerifyProc(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_pki_general__names.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_pki_general__names.h
new file mode 100644
index 000000000000..3beddde56ec9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_cert_pki_general__names.h
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/net/cert/pki/general_names.h.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/net/cert/pki/general_names.h
+@@ -8,6 +8,7 @@
+ #include <memory>
+ #include <string_view>
+ #include <vector>
++#include <string>
+
+ #include "net/base/net_export.h"
+ #include "net/cert/pki/cert_error_id.h"
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
deleted file mode 100644
index f9ae7455c2f3..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_disk__cache_blockfile_disk__format.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/3rdparty/chromium/net/disk_cache/blockfile/disk_format.h.orig 2022-08-31 12:19:35 UTC
-+++ src/3rdparty/chromium/net/disk_cache/blockfile/disk_format.h
-@@ -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_dns_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_BUILD.gn
index 93250dcd0367..3617747ac2ba 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,6 +1,6 @@
---- src/3rdparty/chromium/net/dns/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/net/dns/BUILD.gn.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/net/dns/BUILD.gn
-@@ -124,7 +124,7 @@ source_set("dns") {
+@@ -128,7 +128,7 @@ source_set("dns") {
"dns_config_service_android.cc",
"dns_config_service_android.h",
]
@@ -9,16 +9,26 @@
sources += [
"dns_config_service_linux.cc",
"dns_config_service_linux.h",
-@@ -165,6 +165,7 @@ source_set("dns") {
+@@ -162,6 +162,9 @@ source_set("dns") {
+ }
+
+ deps = [ "//net:net_deps" ]
++ if (is_bsd) {
++ deps += [ "//components/services/screen_ai/buildflags" ]
++ }
+
+ public_deps = [
+ ":dns_client",
+@@ -169,6 +172,7 @@ source_set("dns") {
":host_resolver_manager",
":mdns_client",
"//net:net_public_deps",
+ "//printing/buildflags",
]
-
+
allow_circular_includes_from = [
-@@ -428,9 +429,9 @@ source_set("tests") {
-
+@@ -436,9 +440,9 @@ source_set("tests") {
+
if (is_android) {
sources += [ "dns_config_service_android_unittest.cc" ]
- } else if (is_linux) {
@@ -28,4 +38,4 @@
+ } 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_address__info.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__info.cc
new file mode 100644
index 000000000000..645bc6db9596
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__info.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/net/dns/address_info.cc.orig 2023-09-29 10:14:06 UTC
++++ src/3rdparty/chromium/net/dns/address_info.cc
+@@ -77,8 +77,12 @@ AddressInfo::AddressInfoAndResult AddressInfo::Get(
+ // error.
+ // http://crbug.com/134142
+ err = ERR_NAME_NOT_RESOLVED;
+-#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_FREEBSD)
++#elif BUILDFLAG(IS_POSIX)
++#ifdef EAI_NODATA
+ if (os_error != EAI_NONAME && os_error != EAI_NODATA)
++#else
++ if (os_error != EAI_NONAME)
++#endif
+ err = ERR_NAME_RESOLUTION_FAILED;
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc
index 6e159df9c59f..56f6e5420624 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_dns_address__sorter__posix.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/net/dns/address_sorter_posix.cc.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/net/dns/address_sorter_posix.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/net/dns/address_sorter_posix.cc
-@@ -18,6 +18,7 @@
- #include <ifaddrs.h>
- #include <net/if.h>
+@@ -27,6 +27,7 @@
+ #include "net/dns/netinet_in_var_ios.h"
+ #else
#include <netinet/in_var.h>
+#include <netinet6/in6_var.h>
- #include <string.h>
- #include <sys/ioctl.h>
+ #endif // BUILDFLAG(IS_IOS)
#endif
+
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 981b7ed99ffb..56580ae1ca4e 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,6 +1,6 @@
---- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/net/http/http_auth_gssapi_posix.cc
-@@ -368,8 +368,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib
+@@ -370,8 +370,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib
static const char* const kDefaultLibraryNames[] = {
#if BUILDFLAG(IS_APPLE)
"/System/Library/Frameworks/GSS.framework/GSS"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__handler__negotiate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__handler__negotiate.cc
new file mode 100644
index 000000000000..8433aae87595
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__handler__negotiate.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/net/http/http_auth_handler_negotiate.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/net/http/http_auth_handler_negotiate.cc
+@@ -121,7 +121,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl
+ #elif BUILDFLAG(IS_POSIX)
+ if (is_unsupported_)
+ return ERR_UNSUPPORTED_AUTH_SCHEME;
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Note: Don't set is_unsupported_ = true here. AllowGssapiLibraryLoad()
+ // might change to true during a session.
+ if (!http_auth_preferences() ||
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.cc
new file mode 100644
index 000000000000..a4a4207ce0bf
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/net/http/http_auth_preferences.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/net/http/http_auth_preferences.cc
+@@ -39,7 +39,7 @@ std::string HttpAuthPreferences::AuthAndroidNegotiateA
+ }
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool HttpAuthPreferences::AllowGssapiLibraryLoad() const {
+ return allow_gssapi_library_load_;
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.h
new file mode 100644
index 000000000000..7b8e4bdd586c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_net_http_http__auth__preferences.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/net/http/http_auth_preferences.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/net/http/http_auth_preferences.h
+@@ -50,7 +50,7 @@ class NET_EXPORT HttpAuthPreferences {
+ #if BUILDFLAG(IS_ANDROID)
+ virtual std::string AuthAndroidNegotiateAccountType() const;
+ #endif
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ virtual bool AllowGssapiLibraryLoad() const;
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+ virtual bool CanUseDefaultCredentials(
+@@ -86,7 +86,7 @@ class NET_EXPORT HttpAuthPreferences {
+ }
+ #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void set_allow_gssapi_library_load(bool allow_gssapi_library_load) {
+ allow_gssapi_library_load_ = allow_gssapi_library_load;
+ }
+@@ -137,7 +137,7 @@ class NET_EXPORT HttpAuthPreferences {
+ std::string auth_android_negotiate_account_type_;
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool allow_gssapi_library_load_ = true;
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+
diff --git a/www/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 bed4b7b584a5..a9af59c8661f 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,10 +1,10 @@
---- src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/proxy_resolution/proxy_config_service_linux.cc
@@ -6,7 +6,9 @@
#include <errno.h>
#include <limits.h>
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include <sys/inotify.h>
+#endif
#include <unistd.h>
@@ -14,7 +14,7 @@
}
#endif // defined(USE_GIO)
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_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) {
@@ -26,11 +26,11 @@
} // namespace
-@@ -1248,9 +1252,11 @@ ProxyConfigServiceLinux::Delegate::Delegate(
- case base::nix::DESKTOP_ENVIRONMENT_KDE3:
+@@ -1249,9 +1253,11 @@ ProxyConfigServiceLinux::Delegate::Delegate(
case base::nix::DESKTOP_ENVIRONMENT_KDE4:
case base::nix::DESKTOP_ENVIRONMENT_KDE5:
-+#if !defined(OS_BSD)
+ case base::nix::DESKTOP_ENVIRONMENT_KDE6:
++#if !BUILDFLAG(IS_BSD)
setting_getter_ =
std::make_unique<SettingGetterImplKDE>(env_var_getter_.get());
break;
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 a2eb5a7980c2..1e27146b95fe 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,6 +1,6 @@
---- src/3rdparty/chromium/net/socket/tcp_socket_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/net/socket/tcp_socket_posix.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/socket/tcp_socket_posix.cc
-@@ -99,6 +99,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) {
+@@ -98,6 +98,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) {
PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd;
return false;
}
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 d6ad69879dbd..68a680130778 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,6 +1,6 @@
---- src/3rdparty/chromium/net/socket/udp_socket_posix.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/net/socket/udp_socket_posix.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-@@ -577,7 +577,7 @@ int UDPSocketPosix::SetDoNotFragment() {
+@@ -591,7 +591,7 @@ int UDPSocketPosix::SetDoNotFragment() {
}
void UDPSocketPosix::SetMsgConfirm(bool confirm) {
@@ -9,7 +9,7 @@
if (confirm) {
sendto_flags_ |= MSG_CONFIRM;
} else {
-@@ -598,7 +598,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
+@@ -612,7 +612,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
int value = broadcast ? 1 : 0;
int rv;
@@ -18,7 +18,7 @@
// SO_REUSEPORT on OSX permits multiple processes to each receive
// UDP multicast or broadcast datagrams destined for the bound
// port.
-@@ -911,7 +911,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address)
+@@ -925,7 +925,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address)
#if BUILDFLAG(IS_CHROMEOS_ASH)
if (last_error == EINVAL)
return ERR_ADDRESS_IN_USE;
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 92fd48113d9e..c715ee91ed28 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,4 +1,4 @@
---- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2023-05-31 08:12:17 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"
@@ -18,12 +18,12 @@
// On Linux, use a fixed ProxyConfigService, since the default one
// depends on glib.
//
-@@ -127,7 +127,7 @@ class CertVerifyImpl {
+@@ -126,7 +126,7 @@ class CertVerifyImpl {
std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFromName(
base::StringPiece impl_name,
scoped_refptr<net::CertNetFetcher> 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 !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY))
if (impl_name == "platform") {
return std::make_unique<CertVerifyImpl>(
- "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 21a600136e64..4d2b90081384 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,4 +1,4 @@
---- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/net/tools/cert_verify_tool/cert_verify_tool.cc
@@ -31,7 +31,7 @@
#include "net/url_request/url_request_context_builder.h"
@@ -18,21 +18,21 @@
// On Linux, use a fixed ProxyConfigService, since the default one
// depends on glib.
//
-@@ -222,7 +222,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
- base::StringPiece impl_name,
+@@ -223,7 +223,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr
scoped_refptr<net::CertNetFetcher> cert_net_fetcher,
+ scoped_refptr<net::CRLSet> crl_set,
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 !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY))
if (impl_name == "platform") {
if (root_store_type != RootStoreType::kSystem) {
- std::cerr << "WARNING: platform verifier not supported with "
-@@ -534,7 +534,7 @@ int main(int argc, char** argv) {
+@@ -537,7 +537,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)
+-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \
++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY))
impls_str = "platform,";
#endif
- impls_str += "builtin,pathbuilder";
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 89ac3cd25dc2..1d82ab2392fc 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,6 +1,6 @@
---- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/net/url_request/url_request_context_builder.cc
-@@ -443,7 +443,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+@@ -446,7 +446,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
}
if (!proxy_resolution_service_) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_pdf_pdfium_pdfium__engine.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_pdf_pdfium_pdfium__engine.cc
index 150ef4b2664b..7bfd41e35275 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_pdf_pdfium_pdfium__engine.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_pdf_pdfium_pdfium__engine.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/pdf/pdfium/pdfium_engine.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/pdf/pdfium/pdfium_engine.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/pdf/pdfium/pdfium_engine.cc
-@@ -84,7 +84,7 @@
+@@ -83,7 +83,7 @@
#include "gin/public/cppgc.h"
#endif
@@ -9,7 +9,7 @@
#include "pdf/pdfium/pdfium_font_linux.h"
#endif
-@@ -526,7 +526,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon
+@@ -525,7 +525,7 @@ void InitializeSDK(bool enable_v8,
FPDF_InitLibraryWithConfig(&config);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__helper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__helper.cc
deleted file mode 100644
index 5a90544a5b4f..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__helper.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/printing/backend/cups_helper.cc.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/printing/backend/cups_helper.cc
-@@ -127,7 +127,7 @@ void GetResolutionSettings(ppd_file_t* ppd,
- // found.
- #if BUILDFLAG(IS_MAC)
- constexpr gfx::Size kDefaultMissingDpi(kDefaultMacDpi, kDefaultMacDpi);
--#elif BUILDFLAG(IS_LINUX)
-+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- constexpr gfx::Size kDefaultMissingDpi(kPixelsPerInch, kPixelsPerInch);
- #else
- constexpr gfx::Size kDefaultMissingDpi(kDefaultPdfDpi, kDefaultPdfDpi);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__ipp__helper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__ipp__helper.cc
index a0de02e92b31..e3b7090806f5 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__ipp__helper.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_backend_cups__ipp__helper.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/printing/backend/cups_ipp_helper.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/printing/backend/cups_ipp_helper.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/printing/backend/cups_ipp_helper.cc
-@@ -210,7 +210,7 @@ void ExtractResolutions(const CupsOptionProvider& prin
+@@ -215,7 +215,7 @@ void ExtractResolutions(const CupsOptionProvider& prin
// Provide a default DPI if no valid DPI is found.
#if BUILDFLAG(IS_MAC)
constexpr gfx::Size kDefaultMissingDpi(kDefaultMacDpi, kDefaultMacDpi);
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 f7f14d9a11f0..5e70a52bef9b 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,15 +1,15 @@
---- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.cc
-@@ -15,7 +15,7 @@
- #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
- #include "ui/gfx/geometry/size.h"
+@@ -19,7 +19,7 @@
+ #include "base/numerics/safe_conversions.h"
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "mojo/public/mojom/base/values.mojom.h"
#endif
-@@ -150,7 +150,7 @@ bool StructTraits<
+@@ -161,7 +161,7 @@ bool StructTraits<
}
out->set_pages_per_sheet(data.pages_per_sheet());
@@ -18,3 +18,12 @@
DCHECK(out->advanced_settings().empty());
if (!data.ReadAdvancedSettings(&out->advanced_settings()))
return false;
+@@ -239,7 +239,7 @@ bool StructTraits<
+ return false;
+ }
+
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The dictionary must contain three strings.
+ base::Value* value = system_print_dialog_data.Find(
+ printing::kLinuxSystemPrintDialogDataPrinter);
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 aa26b6bb7df4..fcdfc946bf1f 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,6 +1,6 @@
---- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/mojom/printing_context_mojom_traits.h
-@@ -158,7 +158,7 @@ struct StructTraits<printing::mojom::PrintSettingsData
+@@ -166,7 +166,7 @@ struct StructTraits<printing::mojom::PrintSettingsData
return s.pages_per_sheet();
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.cc
index 363d83e8e5d5..a4f4d9d86d32 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/printing/print_settings.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/printing/print_settings.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/print_settings.cc
-@@ -314,7 +314,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
+@@ -320,7 +320,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet
#endif
is_modifiable_ = settings.is_modifiable_;
pages_per_sheet_ = settings.pages_per_sheet_;
@@ -9,7 +9,25 @@
for (const auto& item : settings.advanced_settings_)
advanced_settings_.emplace(item.first, item.second.Clone());
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -405,7 +405,7 @@ void PrintSettings::Clear() {
+@@ -350,7 +350,7 @@ bool PrintSettings::operator==(const PrintSettings& ot
+ #endif
+ is_modifiable_, requested_custom_margins_in_points_,
+ pages_per_sheet_
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ,
+ advanced_settings_
+ #endif
+@@ -374,7 +374,7 @@ bool PrintSettings::operator==(const PrintSettings& ot
+ other.is_modifiable_,
+ other.requested_custom_margins_in_points_,
+ other.pages_per_sheet_
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ ,
+ other.advanced_settings_
+ #endif
+@@ -414,7 +414,7 @@ void PrintSettings::Clear() {
#endif
is_modifiable_ = true;
pages_per_sheet_ = 1;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.h
index bf497f113add..3d7d309de02d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings.h
@@ -1,15 +1,24 @@
---- src/3rdparty/chromium/printing/print_settings.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/printing/print_settings.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/print_settings.h
-@@ -21,7 +21,7 @@
- #include "ui/gfx/geometry/rect.h"
- #include "ui/gfx/geometry/size.h"
+@@ -25,7 +25,7 @@
+ #include "base/values.h"
+ #endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include <map>
#include "base/values.h"
-@@ -74,7 +74,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -51,7 +51,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe
+ "print_settings";
+ #endif // BUILDFLAG(IS_MAC)
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name";
+ inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] =
+ "print_settings";
+@@ -101,7 +101,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
std::string vendor_id;
};
@@ -18,7 +27,7 @@
using AdvancedSettings = std::map<std::string, base::Value>;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -241,7 +241,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -276,7 +276,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
pages_per_sheet_ = pages_per_sheet;
}
@@ -27,7 +36,7 @@
AdvancedSettings& advanced_settings() { return advanced_settings_; }
const AdvancedSettings& advanced_settings() const {
return advanced_settings_;
-@@ -372,7 +372,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
+@@ -429,7 +429,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings {
// Number of pages per sheet.
int pages_per_sheet_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings__conversion.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings__conversion.cc
index 124d6ab84e9d..5da292797b4a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings__conversion.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_print__settings__conversion.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/printing/print_settings_conversion.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/printing/print_settings_conversion.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/print_settings_conversion.cc
-@@ -277,7 +277,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+@@ -287,7 +287,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
settings->set_is_modifiable(is_modifiable.value());
}
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
index 5849f4064098..948fad7aa10e 100644
--- 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
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/printing/printing_context_linux.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/printing/printing_context_linux.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/printing/printing_context_linux.cc
-@@ -19,7 +19,7 @@
- #include "printing/units.h"
+@@ -23,7 +23,7 @@
+ #endif
// Avoid using LinuxUi on Fuchsia.
-#if BUILDFLAG(IS_LINUX)
@@ -9,7 +9,7 @@
#include "ui/linux/linux_ui.h"
#endif
-@@ -68,7 +68,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
+@@ -72,7 +72,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
ResetSettings();
@@ -18,7 +18,7 @@
if (!ui::LinuxUi::instance())
return mojom::ResultCode::kSuccess;
-@@ -84,7 +84,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
+@@ -88,7 +88,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett
}
gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() {
@@ -27,7 +27,7 @@
if (ui::LinuxUi::instance())
return ui::LinuxUi::instance()->GetPdfPaperSize(this);
#endif
-@@ -97,7 +97,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS
+@@ -101,7 +101,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS
DCHECK(!printer_settings.show_system_dialog);
DCHECK(!in_print_job_);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.cc
index 3abb9b1db71f..8f2aa000c2c1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.cc
-@@ -10,21 +10,28 @@
+@@ -10,20 +10,27 @@
#include "base/path_service.h"
#include "build/build_config.h"
#include "printing/buildflags/buildflags.h"
@@ -9,9 +9,8 @@
#include "sandbox/linux/syscall_broker/broker_file_permission.h"
#include "sandbox/policy/export.h"
#include "sandbox/policy/linux/sandbox_linux.h"
- #include "services/network/network_sandbox_hook_linux.h"
+#else
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#endif
#if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS)
@@ -29,7 +28,7 @@
namespace {
sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() {
-@@ -85,9 +92,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP
+@@ -76,9 +83,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP
}
} // namespace
@@ -41,7 +40,7 @@
#if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS)
// Create the socket connections to the CUPS server before engaging the
// sandbox, since new connections cannot be made after that.
-@@ -101,6 +110,7 @@ bool PrintBackendPreSandboxHook(
+@@ -92,6 +101,7 @@ bool PrintBackendPreSandboxHook(
sandbox::policy::SandboxLinux::PreSandboxHook(), options);
instance->EngageNamespaceSandboxIfPossible();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.h
index 562558862c61..57c55c4add93 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_printing_sandbox_print__backend__sandbox__hook__linux.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/printing/sandbox/print_backend_sandbox_hook_linux.h
@@ -5,8 +5,13 @@
#ifndef PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_
@@ -6,8 +6,8 @@
+#include "build/build_config.h"
#include "base/component_export.h"
-+#if defined(OS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_BUILD.gn
index ee65ecf8a3a5..cfdee966f711 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_linux_BUILD.gn
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/sandbox/linux/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/sandbox/linux/BUILD.gn.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/sandbox/linux/BUILD.gn
@@ -12,11 +12,11 @@ if (is_android) {
}
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 1007bb73db43..7593efce8eed 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,10 +1,10 @@
---- src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/sandbox/linux/services/libc_interceptor.cc
@@ -12,7 +12,9 @@
#include <stddef.h>
#include <stdint.h>
#include <string.h>
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
#include <sys/prctl.h>
+#endif
#include <sys/socket.h>
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 3f5ef1a4abdd..2d970ec34ee7 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,4 +1,4 @@
---- src/3rdparty/chromium/sandbox/policy/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/sandbox/policy/BUILD.gn.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/sandbox/policy/BUILD.gn
@@ -35,7 +35,7 @@ component("policy") {
"//sandbox/policy/mojom",
@@ -9,7 +9,7 @@
sources += [
"linux/bpf_audio_policy_linux.cc",
"linux/bpf_audio_policy_linux.h",
-@@ -103,6 +103,27 @@ component("policy") {
+@@ -106,6 +106,27 @@ component("policy") {
"//sandbox/linux:sandbox_services",
"//sandbox/linux:seccomp_bpf",
"//sandbox/linux:suid_sandbox_client",
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 c85e54bcce00..b5c11fdb5f0b 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,7 +1,7 @@
---- src/3rdparty/chromium/sandbox/policy/features.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/sandbox/policy/features.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/sandbox/policy/features.cc
-@@ -15,7 +15,11 @@ namespace sandbox::policy::features {
- // (Only causes an effect when feature kNetworkService is enabled.)
+@@ -19,7 +19,11 @@ namespace sandbox::policy::features {
+ // (Only causes an effect when feature kNetworkServiceInProcess is disabled.)
BASE_FEATURE(kNetworkServiceSandbox,
"NetworkServiceSandbox",
+#if BUILDFLAG(IS_BSD)
@@ -9,6 +9,6 @@
+#else
base::FEATURE_DISABLED_BY_DEFAULT);
+#endif
- #endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA)
- #if BUILDFLAG(IS_WIN)
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ // Enables a fine-grained seccomp-BPF syscall filter for the network service.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.cc
index 113fe2c35295..2c31ebe63ce2 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_freebsd_sandbox__freebsd.cc
@@ -120,7 +120,7 @@
+ base::FilePath cache_directory, local_directory;
+
+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
-+ base::PathService::Get(base::DIR_HOME, &local_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
+
+ cache_directory = cache_directory.AppendASCII("chromium");
+ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
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 63c091d8eaab..bf58da39099d 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,4 +1,4 @@
---- src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h.orig 2023-12-22 15:04:02 UTC
+++ src/3rdparty/chromium/sandbox/policy/freebsd/sandbox_freebsd.h
@@ -0,0 +1,278 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_mojom_sandbox.mojom b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_mojom_sandbox.mojom
index 8534b0cee625..39ac0d6e34b4 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_mojom_sandbox.mojom
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_mojom_sandbox.mojom
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/sandbox/policy/mojom/sandbox.mojom.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/sandbox/policy/mojom/sandbox.mojom.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/sandbox/policy/mojom/sandbox.mojom
-@@ -76,6 +76,12 @@ enum Sandbox {
- [EnableIf=is_win]
- kFileUtil,
+@@ -72,6 +72,12 @@ enum Sandbox {
+ [EnableIf=is_fuchsia]
+ kVideoCapture,
+ [EnableIf=is_openbsd]
+ kVideoCapture,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.cc
index 79833e898578..dbc297b8a2ab 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_openbsd_sandbox__openbsd.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/sandbox/policy/openbsd/sandbox_openbsd.cc
-@@ -0,0 +1,399 @@
+@@ -0,0 +1,420 @@
+// 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.
@@ -37,6 +37,8 @@
+#include "base/threading/thread.h"
+#include "base/time/time.h"
+#include "build/build_config.h"
++#include "crypto/crypto_buildflags.h"
++#include "ppapi/buildflags/buildflags.h"
+#include "sandbox/constants.h"
+#include "sandbox/linux/services/credentials.h"
+#include "sandbox/linux/services/namespace_sandbox.h"
@@ -55,7 +57,7 @@
+#include <sanitizer/common_interface_defs.h>
+#endif
+
-+#if defined(USE_NSS_CERTS)
++#if BUILDFLAG(USE_NSS_CERTS)
+#include "crypto/nss_util.h"
+#endif
+
@@ -66,10 +68,7 @@
+#define MAXTOKENS 3
+
+#define _UNVEIL_MAIN "/etc/chromium/unveil.main";
-+#define _UNVEIL_RENDERER "/etc/chromium/unveil.renderer";
+#define _UNVEIL_GPU "/etc/chromium/unveil.gpu";
-+#define _UNVEIL_PLUGIN "/etc/chromium/unveil.plugin";
-+#define _UNVEIL_UTILITY "/etc/chromium/unveil.utility";
+#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network";
+#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio";
+#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video";
@@ -118,40 +117,41 @@
+ base::SysInfo::NumberOfProcessors();
+ base::SysInfo::CPUModelName();
+
-+#if defined(USE_NSS_CERTS)
-+ // The main process has to initialize the ~/.pki dir which won't work
-+ // after unveil(2).
-+ if (process_type.empty())
-+ crypto::EnsureNSSInit();
++ switch (sandbox_type) {
++ case sandbox::mojom::Sandbox::kNoSandbox:
++ {
++#if BUILDFLAG(USE_NSS_CERTS)
++ // The main process has to initialize the ~/.pki dir which won't work
++ // after unveil(2).
++ crypto::EnsureNSSInit();
+#endif
++ CRYPTO_pre_sandbox_init();
+
-+ if (process_type.empty())
-+ CRYPTO_pre_sandbox_init();
++ base::FilePath cache_directory, local_directory;
+
-+ if (process_type.empty()) {
-+ base::FilePath cache_directory, local_directory;
++ base::PathService::Get(base::DIR_CACHE, &cache_directory);
++ base::PathService::Get(base::DIR_HOME, &local_directory);
+
-+ base::PathService::Get(base::DIR_CACHE, &cache_directory);
-+ base::PathService::Get(base::DIR_HOME, &local_directory);
++ cache_directory = cache_directory.AppendASCII("chromium");
++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
+
-+ cache_directory = cache_directory.AppendASCII("chromium");
-+ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications");
++ if (!base::CreateDirectory(cache_directory)) {
++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
++ }
+
-+ if (!base::CreateDirectory(cache_directory)) {
-+ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory.";
-+ }
++ if (!base::CreateDirectory(local_directory)) {
++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
++ }
+
-+ if (!base::CreateDirectory(local_directory)) {
-+ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory.";
++ break;
+ }
++ case sandbox::mojom::Sandbox::kRenderer:
++ gfx::InitializeFonts();
++ break;
++ default:
++ break;
+ }
+
-+ if (process_type == switches::kRendererProcess)
-+ gfx::InitializeFonts();
-+
-+ if (!command_line->HasSwitch(switches::kDisableUnveil))
-+ SetUnveil(process_type, sandbox_type);
-+
+ pre_initialized_ = true;
+}
+
@@ -164,6 +164,7 @@
+ if (pstring != NULL) {
+ if (pledge(pstring, NULL) == -1)
+ goto err;
++ VLOG(5) << "pledge " << pstring;
+ } else if (ppath != NULL) {
+ fp = fopen(ppath, "r");
+ if (fp != NULL) {
@@ -172,10 +173,11 @@
+ s[strlen(s)-1] = '\0';
+ if (pledge(s, NULL) == -1)
+ goto err;
++ VLOG(5) << "pledge " << s;
+ }
+ fclose(fp);
+ } else {
-+ LOG(ERROR) << "fopen() failed, errno: " << errno;
++ LOG(ERROR) << "fopen(" << ppath << ") failed, errno: " << errno;
+ return false;
+ }
+ }
@@ -192,24 +194,25 @@
+ const char *ufile;
+ size_t len = 0, lineno = 0;
+
-+ if (process_type.empty()) {
-+ ufile = _UNVEIL_MAIN;
-+ } else if (process_type == switches::kRendererProcess) {
-+ ufile = _UNVEIL_RENDERER;
-+ } else if (process_type == switches::kGpuProcess) {
-+ ufile = _UNVEIL_GPU;
-+ } else if (process_type == switches::kPpapiPluginProcess) {
-+ ufile = _UNVEIL_PLUGIN;
-+ } else if (process_type == switches::kUtilityProcess) {
-+ if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) {
++ switch (sandbox_type) {
++ case sandbox::mojom::Sandbox::kNoSandbox:
++ ufile = _UNVEIL_MAIN;
++ break;
++ case sandbox::mojom::Sandbox::kGpu:
++ ufile = _UNVEIL_GPU;
++ break;
++ case sandbox::mojom::Sandbox::kNetwork:
+ ufile = _UNVEIL_UTILITY_NETWORK;
-+ } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) {
++ break;
++ case sandbox::mojom::Sandbox::kAudio:
+ ufile = _UNVEIL_UTILITY_AUDIO;
-+ } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) {
++ break;
++ case sandbox::mojom::Sandbox::kVideoCapture:
+ ufile = _UNVEIL_UTILITY_VIDEO;
-+ } else {
-+ ufile = _UNVEIL_UTILITY;
-+ }
++ break;
++ default:
++ unveil("/dev/null", "r");
++ goto done;
+ }
+
+ fp = fopen(ufile, "r");
@@ -259,7 +262,7 @@
+ LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1];
+ _exit(1);
+ } else {
-+ VLOG(1) << "unveiling " << path << " with permissions " << tokens[1];
++ VLOG(5) << "unveiling " << path << " with permissions " << tokens[1];
+ }
+ }
+ fclose(fp);
@@ -268,6 +271,7 @@
+ _exit(1);
+ }
+
++done:
+ unveil_initialized_ = true;
+
+ return true;
@@ -307,31 +311,46 @@
+ PCHECK(limited_as);
+ }
+
-+ if (process_type.empty()) {
-+ // XXX use a file for listing pledges of the main process for now
-+ // XXX not having the file is not a fatal error
-+ SetPledge(NULL, "/etc/chromium/pledge.main");
-+ } else if (process_type == switches::kRendererProcess) {
-+ // prot_exec needed by v8
-+ // flock needed by sqlite3 locking
-+ SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL);
-+ } else if (process_type == switches::kGpuProcess) {
-+ SetPledge("stdio rpath flock cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL);
-+ } else if (process_type == switches::kPpapiPluginProcess) {
-+ // prot_exec needed by v8
-+ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL);
-+ } else if (process_type == switches::kUtilityProcess) {
-+ if (sandbox_type == sandbox::mojom::Sandbox::kAudio)
++ if (hook)
++ CHECK(std::move(hook).Run(options));
++
++ if (!command_line->HasSwitch(switches::kDisableUnveil))
++ SetUnveil(process_type, sandbox_type);
++
++ switch(sandbox_type) {
++ case sandbox::mojom::Sandbox::kNoSandbox:
++ SetPledge(NULL, "/etc/chromium/pledge.main");
++ break;
++ case sandbox::mojom::Sandbox::kRenderer:
++ // prot_exec needed by v8
++ // flock needed by sqlite3 locking
++ SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL);
++ break;
++ case sandbox::mojom::Sandbox::kGpu:
++ SetPledge("stdio drm rpath flock cpath wpath prot_exec recvfd sendfd tmppath", NULL);
++ break;
++#if BUILDFLAG(ENABLE_PPAPI)
++ case sandbox::mojom::Sandbox::kPpapi:
++ // prot_exec needed by v8
++ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL);
++ break;
++#endif
++ case sandbox::mojom::Sandbox::kAudio:
+ SetPledge(NULL, "/etc/chromium/pledge.utility_audio");
-+ else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork)
++ break;
++ case sandbox::mojom::Sandbox::kNetwork:
+ SetPledge(NULL, "/etc/chromium/pledge.utility_network");
-+ else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture)
++ break;
++ case sandbox::mojom::Sandbox::kVideoCapture:
+ SetPledge(NULL, "/etc/chromium/pledge.utility_video");
-+ else
++ break;
++ case sandbox::mojom::Sandbox::kUtility:
++ case sandbox::mojom::Sandbox::kService:
+ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL);
-+ } else {
-+ LOG(ERROR) << "non-pledge()'d process: " << process_type;
-+ return false;
++ break;
++ default:
++ LOG(ERROR) << "non-pledge()'d process: " << GetSandboxTypeInEnglish(sandbox_type);
++ break;
+ }
+
+ return true;
@@ -377,8 +396,10 @@
+ return "Utility";
+ case sandbox::mojom::Sandbox::kGpu:
+ return "GPU";
++#if BUILDFLAG(ENABLE_PPAPI)
+ case sandbox::mojom::Sandbox::kPpapi:
+ return "PPAPI";
++#endif
+ case sandbox::mojom::Sandbox::kNetwork:
+ return "Network";
+ case sandbox::mojom::Sandbox::kCdm:
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 227228695db7..3adb46cdb0a8 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,11 +1,11 @@
---- src/3rdparty/chromium/sandbox/policy/sandbox.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/sandbox/policy/sandbox.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/sandbox/policy/sandbox.cc
@@ -18,6 +18,10 @@
#include "sandbox/policy/linux/sandbox_linux.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "sandbox/policy/sandbox.h"
+#endif // BUILDFLAG(IS_BSD)
+
#if BUILDFLAG(IS_MAC)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.h
index cd61caa4672c..4c335f283a21 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_sandbox_policy_sandbox.h
@@ -1,17 +1,19 @@
---- src/3rdparty/chromium/sandbox/policy/sandbox.h.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/sandbox/policy/sandbox.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/sandbox/policy/sandbox.h
-@@ -12,6 +12,10 @@
+@@ -12,6 +12,12 @@
#include "sandbox/policy/linux/sandbox_linux.h"
#endif
-+#if BUILDFLAG(IS_BSD)
++#if BUILDFLAG(IS_OPENBSD)
+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
-+#endif
++#elif BUILDFLAG(IS_FREEBSD)
++#include "sandbox/policy/freebsd/sandbox_freebsd.h"
++#endif
+
namespace sandbox {
namespace mojom {
enum class Sandbox;
-@@ -32,7 +36,7 @@ namespace policy {
+@@ -32,7 +38,7 @@ namespace policy {
class SANDBOX_POLICY_EXPORT Sandbox {
public:
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 19c190830793..a9c05cd93b7d 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,6 +1,6 @@
---- src/3rdparty/chromium/sandbox/policy/sandbox_type.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/sandbox/policy/sandbox_type.cc.orig 2023-07-16 15:47:57 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;
@@ -9,7 +9,7 @@
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
@@ -18,7 +18,7 @@
case Sandbox::kHardwareVideoDecoding:
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -72,7 +72,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
+@@ -71,7 +71,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) {
case Sandbox::kLibassistant:
#endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT)
#endif // // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -27,7 +27,7 @@
case Sandbox::kZygoteIntermediateSandbox:
case Sandbox::kHardwareVideoEncoding:
#endif
-@@ -128,7 +128,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
#endif
case Sandbox::kPrintCompositor:
case Sandbox::kAudio:
@@ -36,9 +36,9 @@
case Sandbox::kVideoCapture:
#endif
#if BUILDFLAG(IS_WIN)
-@@ -140,10 +140,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -138,10 +138,10 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+ case Sandbox::kMediaFoundationCdm:
case Sandbox::kWindowsSystemProxyResolver:
- case Sandbox::kFileUtil:
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
@@ -49,7 +49,7 @@
case Sandbox::kHardwareVideoEncoding:
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
-@@ -171,7 +171,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
+@@ -169,7 +169,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi
case Sandbox::kNaClLoader:
break;
#endif // BUILDFLAG(IS_MAC)
@@ -58,7 +58,7 @@
case Sandbox::kZygoteIntermediateSandbox:
break;
#endif
-@@ -218,7 +218,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine(
+@@ -216,7 +216,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine(
if (process_type == switches::kNaClBrokerProcess)
return Sandbox::kNoSandbox;
@@ -67,7 +67,7 @@
// Intermediate process gains a sandbox later.
if (process_type == switches::kZygoteProcessType)
return Sandbox::kZygoteIntermediateSandbox;
-@@ -262,7 +262,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -260,7 +260,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
return switches::kUtilitySandbox;
case Sandbox::kAudio:
return switches::kAudioSandbox;
@@ -76,7 +76,7 @@
case Sandbox::kVideoCapture:
return switches::kVideoCaptureSandbox;
#endif
-@@ -292,11 +292,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -290,11 +290,11 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
case Sandbox::kMirroring:
return switches::kMirroringSandbox;
#endif
@@ -90,7 +90,7 @@
case Sandbox::kHardwareVideoEncoding:
return switches::kHardwareVideoEncodingSandbox;
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -320,7 +320,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
+@@ -314,7 +314,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb
#if BUILDFLAG(IS_MAC)
case Sandbox::kNaClLoader:
#endif // BUILDFLAG(IS_MAC)
@@ -99,7 +99,7 @@
case Sandbox::kZygoteIntermediateSandbox:
#endif
NOTREACHED();
-@@ -391,11 +391,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
+@@ -382,11 +382,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString(
if (sandbox_string == switches::kScreenAISandbox)
return Sandbox::kScreenAI;
#endif
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 0bd48e0c9d4e..90b08ff08439 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,6 +1,6 @@
---- src/3rdparty/chromium/sandbox/policy/switches.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/sandbox/policy/switches.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/sandbox/policy/switches.cc
-@@ -54,10 +54,10 @@ const char kFileUtilSandbox[] = "file_util";
+@@ -53,10 +53,10 @@ const char kWindowsSystemProxyResolverSandbox[] = "pro
const char kMirroringSandbox[] = "mirroring";
#endif // BUILDFLAG(IS_MAC)
@@ -13,7 +13,7 @@
const char kHardwareVideoEncodingSandbox[] = "hardware_video_encoding";
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -104,7 +104,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
+@@ -95,7 +95,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
// Meant to be used as a browser-level switch for testing purposes only.
const char kNoSandbox[] = "no-sandbox";
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 7b40176617d3..592df44c1c2b 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,6 +1,6 @@
---- src/3rdparty/chromium/sandbox/policy/switches.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/sandbox/policy/switches.h.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/sandbox/policy/switches.h
-@@ -57,10 +57,10 @@ SANDBOX_POLICY_EXPORT extern const char kFileUtilSandb
+@@ -56,10 +56,10 @@ SANDBOX_POLICY_EXPORT extern const char kWindowsSystem
SANDBOX_POLICY_EXPORT extern const char kMirroringSandbox[];
#endif // BUILDFLAG(IS_MAC)
@@ -13,7 +13,7 @@
SANDBOX_POLICY_EXPORT extern const char kHardwareVideoEncodingSandbox[];
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-@@ -82,7 +82,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
+@@ -80,7 +80,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[];
SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[];
SANDBOX_POLICY_EXPORT extern const char kNoSandbox[];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.cc
index faadfc71d1b0..b1f86a21a7c0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.cc
@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions(
}
#endif
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
std::vector<BrokerFilePermission> GetAudioFilePermissions() {
std::vector<BrokerFilePermission> permissions{
BrokerFilePermission::ReadOnly("/dev/urandom"),
@@ -17,7 +17,7 @@
} // namespace
bool AudioPreSandboxHook(sandbox::policy::SandboxLinux::Options options) {
-+#if !defined(OS_BSD)
++#if !BUILDFLAG(IS_BSD)
LoadAudioLibraries();
auto* instance = sandbox::policy::SandboxLinux::GetInstance();
instance->StartBrokerProcess(MakeBrokerCommandSet({
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.h
index 14582b531ce2..bbb595ea5940 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_audio_audio__sandbox__hook__linux.h
@@ -1,11 +1,13 @@
---- src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/services/audio/audio_sandbox_hook_linux.h
-@@ -5,7 +5,11 @@
+@@ -5,7 +5,13 @@
#ifndef SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_
#define SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_
-+#if defined(OS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#include "build/build_config.h"
++
++#if BUILDFLAG(IS_BSD)
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
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 133b559de600..992107b54222 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,7 +1,7 @@
---- src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/services/cert_verifier/cert_verifier_creation.cc
-@@ -12,7 +12,7 @@
- #include "net/cert_net/cert_net_fetcher_url_request.h"
+@@ -13,7 +13,7 @@
+ #include "net/cert/multi_threaded_cert_verifier.h"
#include "net/net_buildflags.h"
-#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -9,16 +9,16 @@
#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
+@@ -112,7 +112,7 @@ class CertVerifyProcFactoryImpl : public net::CertVeri
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
-@@ -226,6 +226,7 @@ std::unique_ptr<net::CertVerifierWithUpdatableProc> Cr
+ return net::CreateCertVerifyProcBuiltin(std::move(cert_net_fetcher),
+ std::move(crl_set),
+ net::CreateSslSystemTrustStore());
+@@ -212,6 +212,7 @@ std::unique_ptr<net::CertVerifierWithUpdatableProc> Cr
bool IsUsingCertNetFetcher() {
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_compute__pressure_cpu__probe.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_compute__pressure_cpu__probe.cc
index 401ce80fbf17..34292de6c8f9 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_compute__pressure_cpu__probe.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_compute__pressure_cpu__probe.cc
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/services/device/compute_pressure/cpu_probe.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/services/device/compute_pressure/cpu_probe.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/services/device/compute_pressure/cpu_probe.cc
-@@ -29,6 +29,7 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() {
+@@ -44,6 +44,7 @@ std::unique_ptr<CpuProbe> CpuProbe::Create(
#elif BUILDFLAG(IS_MAC)
- return CpuProbeMac::Create();
+ return CpuProbeMac::Create(sampling_interval, std::move(sampling_callback));
#else
+ NOTIMPLEMENTED();
return nullptr;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_geolocation_location__arbitrator.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_geolocation_location__arbitrator.cc
index c62c8e44c171..118fd20757cb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_geolocation_location__arbitrator.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_geolocation_location__arbitrator.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/device/geolocation/location_arbitrator.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/services/device/geolocation/location_arbitrator.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/services/device/geolocation/location_arbitrator.cc
-@@ -162,7 +162,7 @@ LocationArbitrator::NewSystemLocationProvider() {
+@@ -190,7 +190,7 @@ LocationArbitrator::NewSystemLocationProvider() {
std::unique_ptr<LocationProvider>
LocationArbitrator::NewSystemLocationProvider() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_hid_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_hid_BUILD.gn
index 5d27502e2a44..5ab6b092215f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_hid_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_hid_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/device/hid/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/services/device/hid/BUILD.gn.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/services/device/hid/BUILD.gn
-@@ -35,7 +35,26 @@ source_set("hid") {
+@@ -34,7 +34,26 @@ source_set("hid") {
"//services/device/public/mojom",
]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_cpp_generic__sensor_sensor__reading.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_cpp_generic__sensor_sensor__reading.h
new file mode 100644
index 000000000000..021f577d67fc
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_cpp_generic__sensor_sensor__reading.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/device/public/cpp/generic_sensor/sensor_reading.h.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/services/device/public/cpp/generic_sensor/sensor_reading.h
+@@ -8,6 +8,8 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#include <cstdint>
++
+ #include <type_traits>
+
+ namespace device {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_mojom_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_mojom_BUILD.gn
index 0699fae497ce..88ef09f6821b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_mojom_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_public_mojom_BUILD.gn
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/services/device/public/mojom/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/services/device/public/mojom/BUILD.gn.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/services/device/public/mojom/BUILD.gn
-@@ -90,7 +90,7 @@ mojom("device_service") {
- cpp_only = true
+@@ -97,7 +97,7 @@ mojom("device_service") {
+ enable_js_fuzzing = false
enabled_features = []
- if ((is_linux || is_chromeos) && use_udev) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_BUILD.gn
new file mode 100644
index 000000000000..9496dbd69359
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/device/serial/BUILD.gn.orig 2022-11-30 08:12:58 UTC
++++ src/3rdparty/chromium/services/device/serial/BUILD.gn
+@@ -5,7 +5,7 @@
+ import("//build/config/chromeos/ui_mode.gni")
+ import("//build/config/features.gni")
+
+-if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) {
++if (is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac) {
+ config("platform_support") {
+ visibility = [ ":serial" ]
+ if (is_win) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__device__enumerator.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__device__enumerator.cc
new file mode 100644
index 000000000000..4551edb6aefa
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__device__enumerator.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/services/device/serial/serial_device_enumerator.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/services/device/serial/serial_device_enumerator.cc
+@@ -12,7 +12,7 @@
+ #include "build/build_config.h"
+ #include "components/device_event_log/device_event_log.h"
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #include "services/device/serial/serial_device_enumerator_linux.h"
+ #elif BUILDFLAG(IS_MAC)
+ #include "services/device/serial/serial_device_enumerator_mac.h"
+@@ -25,7 +25,7 @@ namespace device {
+ // static
+ std::unique_ptr<SerialDeviceEnumerator> SerialDeviceEnumerator::Create(
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ return SerialDeviceEnumeratorLinux::Create();
+ #elif BUILDFLAG(IS_MAC)
+ return std::make_unique<SerialDeviceEnumeratorMac>();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__io__handler__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__io__handler__posix.cc
new file mode 100644
index 000000000000..b3316232bea7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_serial_serial__io__handler__posix.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/device/serial/serial_io_handler_posix.cc.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/services/device/serial/serial_io_handler_posix.cc
+@@ -68,7 +68,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
+ BITRATE_TO_SPEED_CASE(9600)
+ BITRATE_TO_SPEED_CASE(19200)
+ BITRATE_TO_SPEED_CASE(38400)
+-#if !BUILDFLAG(IS_MAC)
++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD)
+ BITRATE_TO_SPEED_CASE(57600)
+ BITRATE_TO_SPEED_CASE(115200)
+ BITRATE_TO_SPEED_CASE(230400)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_time__zone__monitor_time__zone__monitor__linux.cc
index bb7e24c66c52..fce74f22c9bb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_time__zone__monitor_time__zone__monitor__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_time__zone__monitor_time__zone__monitor__linux.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/services/device/time_zone_monitor/time_zone_monitor_linux.cc
@@ -131,7 +131,11 @@ class TimeZoneMonitorLinuxImpl
// false positives are harmless, assuming the false positive rate is
// reasonable.
const char* const kFilesToWatch[] = {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ "/etc/localtime",
+#else
"/etc/localtime", "/etc/timezone", "/etc/TZ",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_usb_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_usb_BUILD.gn
index 4911a73de228..0f25748aedb0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_usb_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_device_usb_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/device/usb/BUILD.gn.orig 2022-10-29 13:32:26 UTC
+--- src/3rdparty/chromium/services/device/usb/BUILD.gn.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/services/device/usb/BUILD.gn
-@@ -103,15 +103,17 @@ static_library("usb") {
+@@ -89,15 +89,17 @@ static_library("usb") {
deps += [ "//third_party/re2" ]
}
@@ -27,7 +27,7 @@
# These sources and deps are required for libusb.
# TODO(https://crbug.com/1096743) Remove these sources.
-@@ -135,6 +137,13 @@ static_library("usb") {
+@@ -121,6 +123,13 @@ static_library("usb") {
deps += [ "//third_party/libusb" ]
}
@@ -41,7 +41,7 @@
if (is_linux || is_chromeos) {
sources += [
"usb_device_linux.cc",
-@@ -152,7 +161,7 @@ static_library("usb") {
+@@ -138,7 +147,7 @@ static_library("usb") {
deps += [ "//device/udev_linux" ]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_BUILD.gn
index 8b746237f99b..dd715b10d896 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/network/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/services/network/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/services/network/BUILD.gn
-@@ -339,7 +339,6 @@ if (is_linux || is_chromeos) {
+@@ -393,7 +393,6 @@ if (is_linux || is_chromeos) {
]
deps = [
"//base:base",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc
new file mode 100644
index 000000000000..5c50f6899215
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/services/network/network_context.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/services/network/network_context.cc
+@@ -447,7 +447,7 @@ NetworkContext::NetworkContextHttpAuthPreferences::
+ NetworkContext::NetworkContextHttpAuthPreferences::
+ ~NetworkContextHttpAuthPreferences() = default;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool NetworkContext::NetworkContextHttpAuthPreferences::AllowGssapiLibraryLoad()
+ const {
+ if (network_service_) {
+@@ -2322,7 +2322,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged(
+ http_auth_dynamic_network_service_params->android_negotiate_account_type);
+ #endif // BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ http_auth_merged_preferences_.set_allow_gssapi_library_load(
+ http_auth_dynamic_network_service_params->allow_gssapi_library_load);
+ #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.h
new file mode 100644
index 000000000000..ef65756f7dca
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/network/network_context.h.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/services/network/network_context.h
+@@ -668,7 +668,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+ public:
+ explicit NetworkContextHttpAuthPreferences(NetworkService* network_service);
+ ~NetworkContextHttpAuthPreferences() override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ bool AllowGssapiLibraryLoad() const override;
+ #endif // BUILDFLAG(IS_LINUX)
+ private:
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.cc
index ea09515f2353..a7e1ceef53df 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.cc
@@ -1,26 +1,37 @@
---- src/3rdparty/chromium/services/network/network_sandbox_hook_linux.cc.orig 2022-03-19 12:56:15 UTC
+--- src/3rdparty/chromium/services/network/network_sandbox_hook_linux.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/services/network/network_sandbox_hook_linux.cc
-@@ -26,12 +26,15 @@ sandbox::syscall_broker::BrokerCommandSet GetNetworkBr
- });
- }
+@@ -14,11 +14,14 @@
+ #include "sandbox/policy/features.h"
+ #include "third_party/abseil-cpp/absl/types/optional.h"
-+#if !defined(OS_BSD)
- std::vector<BrokerFilePermission> GetNetworkFilePermissions() {
- // TODO(tsepez): remove universal permission under filesystem root.
- return {BrokerFilePermission::ReadWriteCreateRecursive("/")};
- }
++#if !BUILDFLAG(IS_BSD)
+ using sandbox::syscall_broker::BrokerFilePermission;
+ using sandbox::syscall_broker::MakeBrokerCommandSet;
+#endif
- bool NetworkPreSandboxHook(sandbox::policy::SandboxLinux::Options options) {
-+#if !defined(OS_BSD)
- auto* instance = sandbox::policy::SandboxLinux::GetInstance();
+ namespace network {
- instance->StartBrokerProcess(
-@@ -39,6 +42,7 @@ bool NetworkPreSandboxHook(sandbox::policy::SandboxLin
- sandbox::policy::SandboxLinux::PreSandboxHook(), options);
++#if !BUILDFLAG(IS_BSD)
+ sandbox::syscall_broker::BrokerCommandSet GetNetworkBrokerCommandSet() {
+ return MakeBrokerCommandSet({
+ sandbox::syscall_broker::COMMAND_ACCESS,
+@@ -102,9 +105,11 @@ void LoadNetworkLibraries() {
+ }
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS)
++#endif
- instance->EngageNamespaceSandboxIfPossible();
+ bool NetworkPreSandboxHook(std::vector<std::string> network_context_parent_dirs,
+ sandbox::policy::SandboxLinux::Options options) {
++#if !BUILDFLAG(IS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS)
+ LoadNetworkLibraries();
+ #endif
+@@ -117,6 +122,7 @@ bool NetworkPreSandboxHook(std::vector<std::string> ne
+ GetNetworkBrokerCommandSet(),
+ GetNetworkFilePermissions(std::move(network_context_parent_dirs)),
+ sandbox::policy::SandboxLinux::PreSandboxHook(), options);
+#endif
+
return true;
}
-
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.h
index ebc2e1117b38..b7f9e169b92b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__sandbox__hook__linux.h
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/services/network/network_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/services/network/network_sandbox_hook_linux.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/services/network/network_sandbox_hook_linux.h
-@@ -10,7 +10,11 @@
+@@ -6,7 +6,11 @@
+ #define SERVICES_NETWORK_NETWORK_SANDBOX_HOOK_LINUX_H_
+
#include "base/component_export.h"
- #include "sandbox/linux/syscall_broker/broker_command.h"
- #include "sandbox/linux/syscall_broker/broker_file_permission.h"
-+#if defined(OS_BSD)
-+#include "sandbox/policy/openbsd/sandbox_openbsd.h"
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++#include "sandbox/policy/sandbox.h"
+#else
#include "sandbox/policy/linux/sandbox_linux.h"
+#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc
index 41b2a15c06f6..0387004ccf70 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/network/network_service.cc.orig 2023-10-03 19:49:54 UTC
+--- src/3rdparty/chromium/services/network/network_service.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/services/network/network_service.cc
-@@ -92,7 +92,7 @@
+@@ -96,7 +96,7 @@
#include "third_party/boringssl/src/include/openssl/cpu.h"
#endif
@@ -8,4 +8,22 @@
+#if ((BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)) || \
BUILDFLAG(IS_CHROMEOS_LACROS)
- #include "components/os_crypt/key_storage_config_linux.h"
+ #include "components/os_crypt/sync/key_storage_config_linux.h"
+@@ -1003,7 +1003,7 @@ void NetworkService::SetExplicitlyAllowedPorts(
+ net::SetExplicitlyAllowedPorts(ports);
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void NetworkService::SetGssapiLibraryLoadObserver(
+ mojo::PendingRemote<mojom::GssapiLibraryLoadObserver>
+ gssapi_library_load_observer) {
+@@ -1085,7 +1085,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo
+ );
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void NetworkService::OnBeforeGssapiLibraryLoad() {
+ if (gssapi_library_load_observer_.is_bound()) {
+ gssapi_library_load_observer_->OnBeforeGssapiLibraryLoad();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.h
new file mode 100644
index 000000000000..49004dda8f15
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/services/network/network_service.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/services/network/network_service.h
+@@ -235,7 +235,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
+ mojo::PendingReceiver<mojom::NetworkServiceTest> receiver) override;
+ void SetFirstPartySets(net::GlobalFirstPartySets sets) override;
+ void SetExplicitlyAllowedPorts(const std::vector<uint16_t>& ports) override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SetGssapiLibraryLoadObserver(
+ mojo::PendingRemote<mojom::GssapiLibraryLoadObserver>
+ gssapi_library_load_observer) override;
+@@ -266,7 +266,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
+ std::unique_ptr<net::HttpAuthHandlerFactory> CreateHttpAuthHandlerFactory(
+ NetworkContext* network_context);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // This is called just before a GSSAPI library may be loaded.
+ void OnBeforeGssapiLibraryLoad();
+ #endif // BUILDFLAG(IS_LINUX)
+@@ -507,7 +507,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
+ // leaking stale listeners between tests.
+ std::unique_ptr<net::NetworkChangeNotifier> mock_network_change_notifier_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ mojo::Remote<mojom::GssapiLibraryLoadObserver> gssapi_library_load_observer_;
+ #endif // BUILDFLAG(IS_LINUX)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_BUILD.gn
new file mode 100644
index 000000000000..98fa9af485a3
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/network/public/cpp/BUILD.gn.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/services/network/public/cpp/BUILD.gn
+@@ -481,7 +481,7 @@ jumbo_component("cpp_base") {
+ sources += [ "transferable_directory_fuchsia.cc" ]
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ sources += [
+ "network_interface_change_listener_mojom_traits.cc",
+ "network_interface_change_listener_mojom_traits.h",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_features.cc
new file mode 100644
index 000000000000..d2cc30bdf15a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_cpp_features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/network/public/cpp/features.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/services/network/public/cpp/features.cc
+@@ -383,7 +383,7 @@ CONSTINIT const base::Feature kOutOfProcessSystemDnsRe
+ // that can be adequately sandboxed.
+ CONSTINIT const base::Feature kOutOfProcessSystemDnsResolution(
+ "OutOfProcessSystemDnsResolution",
+-#if BUILDFLAG(IS_LINUX)
++#if 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_services_network_public_mojom_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_mojom_BUILD.gn
new file mode 100644
index 000000000000..05b8728422f8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_public_mojom_BUILD.gn
@@ -0,0 +1,25 @@
+--- src/3rdparty/chromium/services/network/public/mojom/BUILD.gn.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/services/network/public/mojom/BUILD.gn
+@@ -515,11 +515,11 @@ mojom("url_loader_base") {
+ }
+
+ enabled_features = []
+- if (is_android || is_chromeos || is_linux) {
++ if (!is_bsd && (is_android || is_chromeos || is_linux)) {
+ enabled_features += [ "network_change_notifier_in_browser" ]
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ # TODO(crbug.com/1431866): Remove this once is_linux in the mojom IDL does
+ # not include lacros.
+ enabled_features += [ "use_network_interface_change_listener" ]
+@@ -1435,7 +1435,7 @@ mojom("mojom") {
+ }
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ # TODO(crbug.com/1431866): Remove this once is_linux in the mojom IDL does
+ # not include lacros.
+ enabled_features += [ "use_network_interface_change_listener" ]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_shared__dictionary_shared__dictionary__writer__in__memory.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_shared__dictionary_shared__dictionary__writer__in__memory.h
new file mode 100644
index 000000000000..be502691c819
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_network_shared__dictionary_shared__dictionary__writer__in__memory.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/services/network/shared_dictionary/shared_dictionary_writer_in_memory.h
+@@ -9,6 +9,8 @@
+ #include <string>
+ #include <vector>
+
++#include <vector>
++
+ #include "base/component_export.h"
+ #include "base/functional/callback.h"
+ #include "crypto/secure_hash.h"
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 3b7b3cff2c06..13f892b50c1b 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,6 +1,6 @@
---- src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
-@@ -54,7 +54,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO
+@@ -53,7 +53,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) || \
@@ -9,7 +9,7 @@
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;
-@@ -82,7 +82,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl
+@@ -81,7 +81,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);
@@ -18,7 +18,7 @@
os_dump->private_footprint_swap_kb =
internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024;
#endif
-@@ -261,7 +261,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch(
+@@ -217,7 +217,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.
@@ -27,7 +27,7 @@
request->pending_responses.insert({client_info.pid, ResponseType::kOSDump});
client->RequestOSMemoryDump(request->memory_map_option(),
{base::kNullProcessId},
-@@ -276,7 +276,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch(
+@@ -232,7 +232,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).
@@ -36,7 +36,7 @@
std::vector<base::ProcessId> pids;
mojom::ClientProcess* browser_client = nullptr;
base::ProcessId browser_client_pid = base::kNullProcessId;
-@@ -322,7 +322,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion
+@@ -278,7 +278,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).
@@ -45,7 +45,7 @@
mojom::ClientProcess* browser_client = nullptr;
base::ProcessId browser_client_pid = 0;
for (const auto& client_info : clients) {
-@@ -372,7 +372,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest(
+@@ -328,7 +328,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;
@@ -54,7 +54,7 @@
for (auto& kv : extra_os_dumps) {
auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first;
DCHECK(results.find(pid) == results.end());
-@@ -434,7 +434,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest*
+@@ -389,7 +389,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;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
index 7a5ee75672b2..04cda496465e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn
-@@ -33,8 +33,12 @@ component("memory_instrumentation") {
+@@ -29,8 +29,12 @@ component("memory_instrumentation") {
sources += [ "os_metrics_win.cc" ]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
index 98424621078e..da4d13bb211d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc
@@ -39,7 +39,7 @@
#include "third_party/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.cc
new file mode 100644
index 000000000000..75a613c10a31
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.cc
@@ -0,0 +1,38 @@
+--- src/3rdparty/chromium/services/video_capture/video_capture_service_impl.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/services/video_capture/video_capture_service_impl.cc
+@@ -40,7 +40,7 @@
+ #include "services/video_capture/lacros/device_factory_adapter_lacros.h"
+ #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "media/capture/capture_switches.h"
+ #include "media/capture/video/video_capture_gpu_channel_host.h"
+ #include "services/viz/public/cpp/gpu/context_provider_command_buffer.h"
+@@ -107,7 +107,7 @@ class VideoCaptureServiceImpl::GpuDependenciesContext
+ this};
+ };
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Intended usage of this class is to create viz::Gpu in utility process and
+ // connect to viz::GpuClient of browser process, which will call to Gpu service.
+ // Also, this class holds the viz::ContextProvider to listen and monitor Gpu
+@@ -288,7 +288,7 @@ void VideoCaptureServiceImpl::LazyInitializeGpuDepende
+ if (!gpu_dependencies_context_)
+ gpu_dependencies_context_ = std::make_unique<GpuDependenciesContext>();
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) {
+ if (!viz_gpu_context_provider_) {
+ viz_gpu_context_provider_ =
+@@ -384,7 +384,7 @@ void VideoCaptureServiceImpl::OnGpuInfoUpdate(const CH
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ void VideoCaptureServiceImpl::SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu) {
+ viz_gpu_ = std::move(viz_gpu);
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.h
new file mode 100644
index 000000000000..acb5813fd8f4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_services_video__capture_video__capture__service__impl.h
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/services/video_capture/video_capture_service_impl.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/services/video_capture/video_capture_service_impl.h
+@@ -24,7 +24,7 @@
+ #include "services/video_capture/ash/video_capture_device_factory_ash.h"
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ #include "services/viz/public/cpp/gpu/gpu.h"
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+
+@@ -62,7 +62,7 @@ class VideoCaptureServiceImpl : public mojom::VideoCap
+ #if BUILDFLAG(IS_WIN)
+ void OnGpuInfoUpdate(const CHROME_LUID& luid) override;
+ #endif
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ void SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu);
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+ private:
+@@ -87,7 +87,7 @@ class VideoCaptureServiceImpl : public mojom::VideoCap
+ factory_receivers_ash_;
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ class VizGpuContextProvider;
+ std::unique_ptr<VizGpuContextProvider> viz_gpu_context_provider_;
+ std::unique_ptr<viz::Gpu> viz_gpu_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_SkMemory__new__handler.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_SkMemory__new__handler.cpp
index 55bfcd8fe428..151e9652875e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_SkMemory__new__handler.cpp
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_SkMemory__new__handler.cpp
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/skia/ext/SkMemory_new_handler.cpp.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/skia/ext/SkMemory_new_handler.cpp.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/skia/ext/SkMemory_new_handler.cpp
-@@ -79,7 +79,7 @@ static void* malloc_nothrow(size_t size) {
+@@ -86,7 +86,7 @@ static void* malloc_nothrow(size_t size) {
// TODO(b.kelemen): we should always use UncheckedMalloc but currently it
// doesn't work as intended everywhere.
void* result;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_skcolorspace__trfn.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_skcolorspace__trfn.cc
new file mode 100644
index 000000000000..cb22466885c4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_skia_ext_skcolorspace__trfn.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/skia/ext/skcolorspace_trfn.cc.orig 2023-08-17 07:33:31 UTC
++++ src/3rdparty/chromium/skia/ext/skcolorspace_trfn.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <cmath>
++
+ #include "skia/ext/skcolorspace_trfn.h"
+
+ #include <cmath>
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 d0ca2bd9ca3f..f34a7506e942 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-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/config.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/config.h
-@@ -460,7 +460,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
- // POSIX.1-2001.
+@@ -450,7 +450,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
#ifdef ABSL_HAVE_SCHED_YIELD
#error ABSL_HAVE_SCHED_YIELD cannot be directly set
--#elif defined(__linux__) || defined(__ros__) || defined(__native_client__)
-+#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \
-+ defined(__OpenBSD__) || defined(__FreeBSD__)
+ #elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \
+- defined(__VXWORKS__)
++ defined(__VXWORKS__) || defined(__OpenBSD__) || defined(__FreeBSD__)
#define ABSL_HAVE_SCHED_YIELD 1
#endif
-@@ -475,7 +476,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
+@@ -465,7 +465,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] !=
// platforms.
#ifdef ABSL_HAVE_SEMAPHORE_H
#error ABSL_HAVE_SEMAPHORE_H cannot be directly set
--#elif defined(__linux__) || defined(__ros__)
-+#elif defined(__linux__) || defined(__ros__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+-#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__)
++#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__) || \
++ defined(__OpenBSD__) || defined(__FreeBSD__)
#define ABSL_HAVE_SEMAPHORE_H 1
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_raw__logging.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_raw__logging.cc
index ade86489b072..a00606557592 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_raw__logging.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_base_internal_raw__logging.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/raw_logging.cc
-@@ -52,10 +52,12 @@
+@@ -56,10 +56,12 @@
// ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall
// syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len);
// for low level operations that want to avoid libc.
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 8b5c784ee738..b8e4d18eabb0 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/sysinfo.cc
-@@ -30,7 +30,7 @@
+@@ -30,10 +30,14 @@
#include <sys/syscall.h>
#endif
@@ -9,7 +9,30 @@
#include <sys/sysctl.h>
#endif
-@@ -310,9 +310,11 @@ static double GetNominalCPUFrequency() {
++#if defined(__FreeBSD__)
++#include <pthread_np.h>
++#endif
++
+ #if defined(__myriad2__)
+ #include <rtems.h>
+ #endif
+@@ -186,6 +190,7 @@ static double GetNominalCPUFrequency() {
+
+ #else
+
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ // Helper function for reading a long from a file. Returns true if successful
+ // and the memory location pointed to by value is set to the value read.
+ static bool ReadLongFromFile(const char *file, long *value) {
+@@ -218,6 +223,7 @@ static bool ReadLongFromFile(const char *file, long *v
+ }
+ return ret;
+ }
++#endif
+
+ #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY)
+
+@@ -317,9 +323,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.
@@ -21,3 +44,35 @@
#if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY)
// On these platforms, the TSC frequency is the nominal CPU
+@@ -338,10 +346,12 @@ static double GetNominalCPUFrequency() {
+ // If CPU scaling is in effect, we want to use the *maximum*
+ // frequency, not whatever CPU speed some random processor happens
+ // to be using now.
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation
+ if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq",
+ &freq)) {
+ return freq * 1e3; // Value is kHz.
+ }
++#endif
+
+ return 1.0;
+ #endif // !ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
+@@ -439,6 +449,18 @@ pid_t GetTID() {
+ static_assert(sizeof(pid_t) == sizeof(thread),
+ "In NaCL int expected to be the same size as a pointer");
+ return reinterpret_cast<pid_t>(thread);
++}
++
++#elif defined(__OpenBSD__)
++
++pid_t GetTID() {
++ return getthrid();
++}
++
++#elif defined(__FreeBSD__)
++
++pid_t GetTID() {
++ return pthread_getthreadid_np();
+ }
+
+ #else
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 44235736ba9a..d375d14c6dbe 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,11 +1,11 @@
---- src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-08-31 12:19:35 UTC
+--- src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h
-@@ -33,7 +33,7 @@
-
+@@ -34,7 +34,7 @@
#if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \
!defined(__native_client__) && !defined(__asmjs__) && \
-- !defined(__wasm__) && !defined(__HAIKU__)
-+ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__FreeBSD__)
+ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun) && \
+- !defined(__VXWORKS__) && !defined(__hexagon__)
++ !defined(__VXWORKS__) && !defined(__hexagon__) && !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
deleted file mode 100644
index 4db0493638ae..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2022-09-24 10:57:32 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) && !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 a611e87d0332..8829526ae674 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/angle/BUILD.gn
-@@ -280,7 +280,6 @@ config("extra_warnings") {
+@@ -325,7 +325,6 @@ config("extra_warnings") {
"-Wtautological-type-limit-compare",
"-Wundefined-reinterpret-cast",
"-Wunneeded-internal-declaration",
@@ -8,7 +8,7 @@
"-Wsuggest-destructor-override",
"-Wsuggest-override",
-@@ -451,7 +450,7 @@ template("angle_common_lib") {
+@@ -496,7 +495,7 @@ template("angle_common_lib") {
all_dependent_configs = [ ":angle_disable_pool_alloc" ]
}
@@ -17,7 +17,7 @@
libs = [ "dl" ]
}
-@@ -606,6 +605,9 @@ angle_static_library("angle_gpu_info_util") {
+@@ -651,6 +650,9 @@ angle_static_library("angle_gpu_info_util") {
"Xi",
"Xext",
]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_platform__helpers.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_platform__helpers.h
new file mode 100644
index 000000000000..ba4eb7f74eee
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_platform__helpers.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/angle/src/common/platform_helpers.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/angle/src/common/platform_helpers.h
+@@ -62,7 +62,7 @@ inline constexpr bool IsIOS()
+
+ inline constexpr bool IsLinux()
+ {
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
+ return true;
+ #else
+ return false;
diff --git a/www/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
deleted file mode 100644
index 19c3b7997a88..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_common_vulkan_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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_gpu__info__util_SystemInfo__internal.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_gpu__info__util_SystemInfo__internal.h
index 74ed5951c3cb..721f6c16dbde 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_gpu__info__util_SystemInfo__internal.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_gpu__info__util_SystemInfo__internal.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2022-02-23 19:25:59 UTC
+--- src/3rdparty/chromium/third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/third_party/angle/src/gpu_info_util/SystemInfo_internal.h
-@@ -14,6 +14,13 @@
+@@ -15,6 +15,13 @@
namespace angle
{
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 67f708c8ae60..8d52ddf1e027 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,16 +1,16 @@
---- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp
-@@ -55,7 +55,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"
+@@ -60,7 +60,7 @@
+ # include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
+ # elif ANGLE_ENABLE_EAGL
+ # include "libANGLE/renderer/gl/eagl/DisplayEAGL.h"
-# elif defined(ANGLE_PLATFORM_LINUX)
+# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
# include "libANGLE/renderer/gl/egl/DisplayEGL.h"
# if defined(ANGLE_USE_X11)
# include "libANGLE/renderer/gl/glx/DisplayGLX.h"
-@@ -346,7 +346,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- impl = rx::CreateDisplayCGLOrEAGL(state);
+@@ -411,7 +411,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ impl = new rx::DisplayEAGL(state);
break;
-# elif defined(ANGLE_PLATFORM_LINUX)
@@ -18,16 +18,16 @@
# if defined(ANGLE_USE_GBM)
if (platformType == 0)
{
-@@ -387,7 +387,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+@@ -457,7 +457,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)
-@@ -436,7 +436,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ if (platformType == 0)
+ {
+@@ -508,7 +508,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
impl = rx::CreateVulkanWin32Display(state);
}
break;
@@ -36,7 +36,7 @@
# if defined(ANGLE_USE_GBM)
if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable())
{
-@@ -2046,7 +2046,7 @@ static ClientExtensions GenerateClientExtensions()
+@@ -2148,7 +2148,7 @@ static ClientExtensions GenerateClientExtensions()
extensions.x11Visual = 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 d4a68f0b4eed..e59e83967111 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp.orig 2023-04-20 13:16:39 UTC
+--- src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/angle/src/libANGLE/formatutils.cpp
-@@ -1486,7 +1486,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMa
+@@ -1475,7 +1475,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);
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
deleted file mode 100644
index c83f0e5a4fb5..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2023-03-09 06:31:50 UTC
-+++ src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.h
-@@ -206,7 +206,7 @@ inline bool IsWindows()
-
- inline bool IsLinux()
- {
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)
- return true;
- #else
- return false;
diff --git a/www/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
deleted file mode 100644
index 8882c027c537..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_third__party_volk_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 bdcc8380c778..89e05cbb806f 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/angle/util/BUILD.gn.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/third_party/angle/util/BUILD.gn.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/angle/util/BUILD.gn
-@@ -292,7 +292,7 @@ foreach(is_shared_library,
+@@ -311,7 +311,7 @@ foreach(is_shared_library,
]
libs = []
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
deleted file mode 100644
index 2498eff5ae1c..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_privacy__budget_active__sampling.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/blink/common/privacy_budget/active_sampling.cc.orig 2022-08-31 12:19:35 UTC
-+++ src/3rdparty/chromium/third_party/blink/common/privacy_budget/active_sampling.cc
-@@ -24,7 +24,7 @@ namespace blink {
- 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<SkFontStyleSet> set(fm->matchFamily(family));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
index 633d3d8166d0..9e33b07c62d0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc
-@@ -64,7 +64,7 @@ bool StructTraits<blink::mojom::RendererPreferencesDat
- if (!data.ReadAcceptLanguages(&out->accept_languages))
- return false;
+@@ -66,7 +66,7 @@ bool StructTraits<blink::mojom::RendererPreferencesDat
+
+ out->send_subresource_notification = data.send_subresource_notification();
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences.h
index db513ac3f494..32cad4b736ee 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences.h
@@ -1,9 +1,9 @@
---- src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences.h
-@@ -50,7 +50,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences {
- bool webrtc_allow_legacy_tls_protocols{false};
+@@ -64,7 +64,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences {
UserAgentOverride user_agent_override;
std::string accept_languages;
+ bool send_subresource_notification{false};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
std::string system_font_family_name;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
index e4805d43e10b..67169fd8511f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h
-@@ -157,7 +157,7 @@ struct BLINK_COMMON_EXPORT
- return data.accept_languages;
+@@ -162,7 +162,7 @@ struct BLINK_COMMON_EXPORT
+ return data.send_subresource_notification;
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
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
index 3b10091dc9cc..23a41de0d93b 100644
--- 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
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/public/platform/platform.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/public/platform/platform.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/public/platform/platform.h
-@@ -349,7 +349,7 @@ class BLINK_PLATFORM_EXPORT Platform {
+@@ -338,7 +338,7 @@ class BLINK_PLATFORM_EXPORT Platform {
return nullptr;
}
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 6bca1da72ea0..ac6d110766df 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc
-@@ -74,12 +74,12 @@
+@@ -78,12 +78,12 @@
#include "third_party/blink/renderer/controller/private_memory_footprint_provider.h"
#endif
@@ -10,12 +10,12 @@
#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)
+- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "third_party/blink/renderer/controller/highest_pmf_reporter.h"
#include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h"
#endif
-@@ -222,7 +222,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
+@@ -227,7 +227,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
main_thread_task_runner);
#endif
@@ -24,12 +24,12 @@
binders.Add<mojom::blink::MemoryUsageMonitorLinux>(
ConvertToBaseRepeatingCallback(
CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
-@@ -255,7 +255,7 @@ void BlinkInitializer::RegisterMemoryWatchers() {
+@@ -266,7 +266,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
-- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
- UserLevelMemoryPressureSignalGenerator::Initialize(main_thread_task_runner);
-
+- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN)
++ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // Start reporting the highest private memory footprint after the first
+ // navigation.
+ HighestPmfReporter::Initialize(main_thread_task_runner);
diff --git a/www/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 5feca7d63c91..4fcc364618f1 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc
-@@ -129,15 +129,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() {
+@@ -128,15 +128,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() {
void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file,
base::File status_file) {
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 3504310a3820..9687f1a1ba46 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -408,7 +408,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
+@@ -421,7 +421,7 @@ SkFontHinting RendererPreferencesToSkiaHinting(
const blink::RendererPreferences& prefs) {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
@@ -9,7 +9,7 @@
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'
-@@ -3344,7 +3344,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+@@ -3323,7 +3323,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
renderer_preferences_.use_subpixel_positioning);
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
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 fb2c5dc7e1f3..7f9ab08a9e53 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/frame/web_frame_test.cc
-@@ -6439,7 +6439,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
+@@ -6456,7 +6456,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
}
#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
@@ -9,7 +9,7 @@
// TODO(crbug.com/1090246): Fix these tests on Fuchsia and re-enable.
// TODO(crbug.com/1317375): Build these tests on all platforms.
#define MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved \
-@@ -6847,7 +6847,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc
+@@ -6865,7 +6865,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc
TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) {
RunTest("composited_selection_bounds_large_selection_noscroll.html");
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
index 911e3e5bdf4d..f11b44ff51f0 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2022-05-19 14:06:27 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc
-@@ -45,7 +45,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
+@@ -48,7 +48,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
/* The value is based on user statistics on Nov 2017. */
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
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 400c6dcc4bf6..304806dd92eb 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/inspector/inspector_memory_agent.cc
-@@ -190,7 +190,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t
+@@ -189,7 +189,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t
Vector<String> InspectorMemoryAgent::Symbolize(
const WebVector<void*>& addresses) {
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_ng_layout__ng__view.cc
index bc56f72530fd..f850372415f1 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_ng_layout__ng__view.cc
@@ -1,17 +1,17 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/layout/layout_view.cc.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/blink/renderer/core/layout/layout_view.cc
-@@ -67,7 +67,7 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/core/layout/ng/layout_ng_view.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/core/layout/ng/layout_ng_view.cc
+@@ -15,7 +15,7 @@
+ #include "third_party/blink/renderer/core/svg/svg_document_extensions.h"
#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
-@@ -365,7 +365,7 @@ void LayoutView::UpdateLayout() {
- DCHECK(!layout_state_);
- LayoutState root_layout_state(*this);
+@@ -53,7 +53,7 @@ void LayoutNGView::UpdateLayout() {
+ fragmentation_context_.Clear();
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
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 c621e73fe9ec..fba7e07799ee 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/paint/paint_layer.cc
-@@ -114,7 +114,7 @@ namespace blink {
+@@ -118,7 +118,7 @@ namespace blink {
namespace {
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 9b232d22a2f2..66cc9a32e6e7 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,4 +1,4 @@
---- src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-10-24 13:33:33 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc
@@ -155,7 +155,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
// is true for at least GTK and QT apps).
@@ -9,7 +9,7 @@
return false;
#else
return true;
-@@ -329,7 +329,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr
+@@ -355,7 +355,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr
const WebMouseEvent& event) {
// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
// complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_canvas_canvas2d_canvas__style.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_canvas_canvas2d_canvas__style.cc
new file mode 100644
index 000000000000..faf4d28f3312
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_canvas_canvas2d_canvas__style.cc
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
+@@ -76,6 +76,9 @@ void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags,
+
+ void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags,
+ float global_alpha) const {
++#if defined(__clang__) && (__clang_major__ < 16)
++ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha};
++#endif
+ switch (type_) {
+ case kColor:
+ ApplyColorToFlags(flags, global_alpha);
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 96842118dc7d..0a7db99120cf 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,9 +1,9 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc
-@@ -722,7 +722,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten
+@@ -724,7 +724,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten
mixer->get_output_params_for_testing().sample_rate());
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
- BUILDFLAG(IS_FUCHSIA)
+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
// Use 10 ms buffer (441 frames per buffer).
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_features.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_features.gni
index f80bb2c5bc70..3486073555fc 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_features.gni
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_features.gni
@@ -1,9 +1,11 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/features.gni.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/features.gni.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/features.gni
-@@ -7,5 +7,5 @@ declare_args() {
+@@ -7,7 +7,7 @@ declare_args() {
# This enables building WebNN with XNNPACK. Currently only available for
- # Windows on x64 or x86.
+ # Windows and Linux on x64 or x86.
build_webnn_with_xnnpack =
-- is_win && (current_cpu == "x64" || current_cpu == "x86")
+- (is_linux || is_win) && (current_cpu == "x64" || current_cpu == "x86")
+ !is_bsd && (is_win && (current_cpu == "x64" || current_cpu == "x86"))
- }
+
+ # This build flag enables WebNN on ChromeOS platform to access hardware
+ # acceleration by using ModelLoader mojo interface.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
index 1bad3278c937..b232a528b725 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_ml_webnn_ml__graph__xnnpack.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/ml/webnn/ml_graph_xnnpack.cc
-@@ -177,7 +177,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount
+@@ -191,7 +191,7 @@ class SharedXnnpackContext : public ThreadSafeRefCount
~SharedXnnpackContext() {
base::AutoLock auto_lock(SharedXnnpackContextLock());
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 f786e2c56e04..07b7f12fde5d 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
-@@ -290,7 +290,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar
+@@ -297,7 +297,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar
SetupRenderer(kDefaultOutputDeviceId);
renderer_proxy_->Start();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \
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 0bb8db1053a4..668add41a422 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,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
-@@ -6231,7 +6231,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
+@@ -6321,7 +6321,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid
constexpr bool kAllowZeroCopyImages = true;
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
deleted file mode 100644
index 1f3d5b2d4492..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc
-@@ -102,7 +102,7 @@ bool WebGLWebCodecsVideoFrame::Supported(WebGLRenderin
- // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
- // complete.
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
-- BUILDFLAG(IS_FUCHSIA)
-+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
- // TODO(jie.a.chen@intel.com): Add Linux support.
- return false;
- #elif BUILDFLAG(IS_APPLE)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgpu_gpu__queue.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgpu_gpu__queue.cc
index 4a16beaf548c..2d061233f1b7 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgpu_gpu__queue.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_modules_webgpu_gpu__queue.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/modules/webgpu/gpu_queue.cc
-@@ -707,7 +707,7 @@ bool GPUQueue::CopyFromCanvasSourceImage(
- // platform requires interop supported. According to the bug, this change will
- // be a long time task. So disable using webgpu mailbox texture uploading path
+@@ -746,7 +746,7 @@ bool GPUQueue::CopyFromCanvasSourceImage(
// on linux platform.
+ // TODO(crbug.com/1424119): using a webgpu mailbox texture on the OpenGLES
+ // backend is failing for unknown reasons.
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- use_webgpu_mailbox_texture = false;
- unaccelerated_image = image->MakeUnaccelerated();
- image = unaccelerated_image.get();
+ bool forceReadback = true;
+ #elif BUILDFLAG(IS_WIN)
+ bool forceReadback =
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_BUILD.gn
index 9e67a519c9bb..ca33eca74907 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/BUILD.gn
-@@ -1976,7 +1976,7 @@ jumbo_static_library("test_support") {
+@@ -1975,7 +1975,7 @@ jumbo_static_library("test_support") {
]
# fuzzed_data_provider may not work with a custom toolchain.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.cc
index 62b9add21a53..0ebf2995f22c 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.cc
@@ -72,7 +72,7 @@ extern const char kNotoColorEmojiCompat[] = "Noto Colo
@@ -9,7 +9,7 @@
float FontCache::device_scale_factor_ = 1.0;
#endif
-@@ -119,7 +119,7 @@ FontPlatformData* FontCache::SystemFontPlatformData(
+@@ -118,7 +118,7 @@ FontPlatformData* FontCache::SystemFontPlatformData(
const FontDescription& font_description) {
const AtomicString& family = FontCache::SystemFontFamily();
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.h
index 14048654d8b4..b3e27e71c678 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__cache.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_cache.h
-@@ -57,7 +57,7 @@
+@@ -56,7 +56,7 @@
#include "third_party/skia/include/core/SkFontMgr.h"
#include "third_party/skia/include/core/SkRefCnt.h"
@@ -9,7 +9,7 @@
#include "ui/gfx/font_fallback_linux.h"
#endif
-@@ -180,7 +180,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -174,7 +174,7 @@ class PLATFORM_EXPORT FontCache final {
static void PrewarmFamily(const AtomicString& family_name) {}
#endif
@@ -18,7 +18,7 @@
// These are needed for calling QueryRenderStyleForStrike, since
// gfx::GetFontRenderParams makes distinctions based on DSF.
static float DeviceScaleFactor() { return device_scale_factor_; }
-@@ -264,7 +264,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -250,7 +250,7 @@ class PLATFORM_EXPORT FontCache final {
const char* locale_family_name);
#endif // BUILDFLAG(IS_ANDROID)
@@ -27,7 +27,7 @@
static bool GetFontForCharacter(UChar32,
const char* preferred_locale,
gfx::FallbackFontData*);
-@@ -344,7 +344,7 @@ class PLATFORM_EXPORT FontCache final {
+@@ -330,7 +330,7 @@ class PLATFORM_EXPORT FontCache final {
const FontFaceCreationParams&,
std::string& name);
@@ -36,8 +36,8 @@
static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
UChar32,
const FontDescription&,
-@@ -387,7 +387,7 @@ class PLATFORM_EXPORT FontCache final {
- std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
+@@ -368,7 +368,7 @@ class PLATFORM_EXPORT FontCache final {
+ bool is_test_font_mgr_ = false;
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__description.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__description.cc
index 6e59b05a818a..21a42c1fcb59 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__description.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__description.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_description.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_description.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_description.cc
@@ -39,7 +39,7 @@
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
@@ -9,7 +9,7 @@
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#endif
-@@ -275,7 +275,7 @@ FontCacheKey FontDescription::CacheKey(
+@@ -274,7 +274,7 @@ FontCacheKey FontDescription::CacheKey(
static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3
static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__palette.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__palette.h
new file mode 100644
index 000000000000..74578b876a36
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__palette.h
@@ -0,0 +1,28 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_palette.h.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_palette.h
+@@ -96,7 +96,11 @@ class PLATFORM_EXPORT FontPalette : public RefCounted<
+ Color::ColorSpace color_interpolation_space,
+ absl::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+ return base::AdoptRef(new FontPalette(
+- start, end, NonNormalizedPercentages{start_percentage, end_percentage},
++#if defined(__clang__) && (__clang_major__ >= 16)
++ start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++#else
++ start, end, NonNormalizedPercentages(NonNormalizedPercentages{start_percentage, end_percentage}),
++#endif
+ normalized_percentage, alpha_multiplier, color_interpolation_space,
+ hue_interpolation_method));
+ }
+@@ -170,7 +174,11 @@ class PLATFORM_EXPORT FontPalette : public RefCounted<
+ double normalized_percentage) {
+ double end_percentage = normalized_percentage * 100.0;
+ double start_percentage = 100.0 - end_percentage;
+- return NonNormalizedPercentages{start_percentage, end_percentage};
++#if defined(__clang__) && (__clang_major__ >= 16)
++ return NonNormalizedPercentages(start_percentage, end_percentage);
++#else
++ return NonNormalizedPercentages(NonNormalizedPercentages{start_percentage, end_percentage});
++#endif
+ }
+
+ double GetAlphaMultiplier() const {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__platform__data.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__platform__data.cc
index 65b7bf46d0b1..f4fe74bacd65 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__platform__data.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_font__platform__data.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_platform_data.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_platform_data.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/font_platform_data.cc
@@ -51,7 +51,7 @@ namespace {
namespace blink {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_palette__interpolation.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_palette__interpolation.cc
new file mode 100644
index 000000000000..65e93bb77bc0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_palette__interpolation.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+@@ -31,7 +31,12 @@ Vector<FontPalette::FontPaletteOverride> PaletteInterp
+ color_interpolation_space, hue_interpolation_method, start_color,
+ end_color, percentage, alpha_multiplier);
+
+- FontPalette::FontPaletteOverride result_color_record{(int)i, result_color};
++#if defined(__clang__) && (__clang_major__ >= 16)
++ FontPalette::FontPaletteOverride result_color_record(i, result_color);
++#else
++ FontPalette::FontPaletteOverride fpo = { static_cast<int>(i), result_color };
++ FontPalette::FontPaletteOverride result_color_record(fpo);
++#endif
+ result_color_records.push_back(result_color_record);
+ }
+ return result_color_records;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
index 041279edd07b..4041c0ad526e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
-@@ -60,7 +60,7 @@ AtomicString ToAtomicString(const SkString& str) {
+@@ -64,7 +64,7 @@ AtomicString ToAtomicString(const SkString& str) {
return AtomicString::FromUTF8(str.c_str(), str.size());
}
@@ -9,16 +9,7 @@
// This function is called on android or when we are emulating android fonts on
// linux and the embedder has overriden the default fontManager with
// WebFontRendering::setSkiaFontMgr.
-@@ -235,7 +235,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
- }
- #endif
-
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
- // On linux if the fontManager has been overridden then we should be calling
- // the embedder provided font Manager rather than calling
- // SkTypeface::CreateFromName which may redirect the call to the default font
-@@ -262,7 +262,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
+@@ -246,7 +246,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
std::string name;
sk_sp<SkTypeface> typeface;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_begin__frame__provider.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
index 495ee9e234ce..b05f28ed8769 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_begin__frame__provider.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/begin_frame_provider.cc
-@@ -77,8 +77,12 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe
+@@ -71,8 +71,12 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe
// Once we are using RAF, this thread is driving user interactive display
// updates. Update priority accordingly.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
index 53474e91ff22..dc308173b771 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
-@@ -358,7 +358,7 @@ void VideoFrameSubmitter::OnBeginFrame(
+@@ -356,7 +356,7 @@ void VideoFrameSubmitter::OnBeginFrame(
continue;
auto& feedback =
timing_details.find(frame_token)->value.presentation_feedback;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
index 1ae8befc0f50..cfc8e3fbf7eb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc
-@@ -197,12 +197,12 @@ SupportedFormats GetSupportedFormatsInternal(
+@@ -198,12 +198,12 @@ SupportedFormats GetSupportedFormatsInternal(
supported_formats.scalability_modes.push_back(profile.scalability_modes);
supported_formats.sdp_formats.push_back(std::move(*format));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
index 89970e0e44de..f729bbaa5d14 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_runtime__enabled__features.json5
@@ -1,15 +1,15 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -1531,7 +1531,7 @@
- depends_on: ["FileSystemAccessLocal"],
- status: {"Android": "test", "default": "stable"},
- origin_trial_feature_name: "FileHandling",
+@@ -2781,7 +2781,7 @@
+ name: "PaymentHandlerMinimalHeaderUX",
+ origin_trial_feature_name: "PaymentHandlerMinimalHeaderUX",
+ origin_trial_allows_third_party: true,
- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"],
+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"],
- base_feature: "FileHandlingAPI",
},
{
-@@ -3358,7 +3358,7 @@
+ name: "PaymentInstruments",
+@@ -3803,7 +3803,7 @@
name: "UnrestrictedSharedArrayBuffer",
base_feature: "none",
origin_trial_feature_name: "UnrestrictedSharedArrayBuffer",
@@ -18,16 +18,7 @@
},
{
name: "URLPatternCompareComponent",
-@@ -3379,7 +3379,7 @@
- origin_trial_feature_name: "UserAgentReduction",
- origin_trial_allows_third_party: true,
- // iOS not included as it should not send a reduced User-Agent string.
-- origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win"],
-+ origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win", "openbsd", "freebsd"],
- base_feature: "ReduceUserAgent",
- },
- {
-@@ -3553,12 +3553,12 @@
+@@ -4006,12 +4006,12 @@
status: "experimental",
base_feature: "none",
origin_trial_feature_name: "WebAppUrlHandling",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_scheduler_common_thread.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_scheduler_common_thread.cc
index cab2808e46a6..d8fc91ddadb8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_scheduler_common_thread.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_scheduler_common_thread.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2022-10-24 13:33:33 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/scheduler/common/thread.cc
-@@ -87,7 +87,7 @@ void Thread::CreateAndSetCompositorThread() {
+@@ -82,7 +82,7 @@ void Thread::CreateAndSetCompositorThread() {
std::make_unique<scheduler::CompositorThread>(params);
compositor_thread->Init();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_video__capture_video__capture__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_video__capture_video__capture__impl.cc
new file mode 100644
index 000000000000..ac8abe61fb37
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_video__capture_video__capture__impl.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/video_capture/video_capture_impl.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/video_capture/video_capture_impl.cc
+@@ -621,7 +621,7 @@ bool VideoCaptureImpl::VideoFrameBufferPreparer::BindV
+ }
+
+ const unsigned texture_target =
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Explicitly set GL_TEXTURE_EXTERNAL_OES as the
+ // `media::VideoFrame::RequiresExternalSampler()` requires it for NV12
+ // format, while the `ImageTextureTarget()` will return GL_TEXTURE_2D.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc
new file mode 100644
index 000000000000..a957cfd32446
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/widget/compositing/blink_categorized_worker_pool_delegate.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/third_party/blink/renderer/platform/widget/compositing/blink_categorized_worker_pool_delegate.cc
+@@ -27,7 +27,7 @@ BlinkCategorizedWorkerPoolDelegate& BlinkCategorizedWo
+
+ void BlinkCategorizedWorkerPoolDelegate::NotifyThreadWillRun(
+ base::PlatformThreadId tid) {
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ scoped_refptr<base::TaskRunner> task_runner =
+ Thread::MainThread()->GetTaskRunner(MainThreadTaskRunnerRestricted());
+ task_runner->PostTask(FROM_HERE, base::BindOnce(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc
deleted file mode 100644
index b80eab4f0b29..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc.orig 2023-03-09 06:31:50 UTC
-+++ src/3rdparty/chromium/third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc
-@@ -242,7 +242,7 @@ void CategorizedWorkerPoolImpl::Start(int max_concurre
- "CompositorTileWorkerBackground", thread_options, this,
- background_thread_prio_categories,
- &has_task_for_background_priority_thread_cv_);
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- thread->SetBackgroundingCallback(
- Thread::MainThread()->GetTaskRunner(MainThreadTaskRunnerRestricted()),
- base::BindOnce([](base::PlatformThreadId thread_id) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h
index 54822740990c..0c99b83324b4 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_wtf_math__extras.h
@@ -1,17 +1,6 @@
---- src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/math_extras.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/math_extras.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/math_extras.h
-@@ -128,6 +128,10 @@ constexpr float Grad2turn(float g) {
- return g * (1.0f / 400.0f);
- }
-
-+#if defined(OS_FREEBSD)
-+#pragma clang diagnostic push
-+#pragma clang diagnostic ignored "-Winvalid-constexpr"
-+#endif
- inline double RoundHalfTowardsPositiveInfinity(double value) {
- return std::floor(value + 0.5);
- }
-@@ -135,6 +139,9 @@ inline float RoundHalfTowardsPositiveInfinity(float va
+@@ -135,6 +135,9 @@ inline float RoundHalfTowardsPositiveInfinity(float va
inline float RoundHalfTowardsPositiveInfinity(float value) {
return std::floor(value + 0.5f);
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.generated.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.generated.gni
deleted file mode 100644
index f23df4066ad8..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.generated.gni
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/BUILD.generated.gni.orig 2023-09-07 16:02:00 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/BUILD.generated.gni
-@@ -87,6 +87,7 @@ crypto_sources = [
- "src/crypto/cpu_aarch64_freebsd.c",
- "src/crypto/cpu_aarch64_fuchsia.c",
- "src/crypto/cpu_aarch64_linux.c",
-+ "src/crypto/cpu_aarch64_openbsd.c",
- "src/crypto/cpu_aarch64_win.c",
- "src/crypto/cpu_arm.c",
- "src/crypto/cpu_arm_freebsd.c",
-@@ -193,6 +194,7 @@ crypto_sources = [
- "src/crypto/rand_extra/deterministic.c",
- "src/crypto/rand_extra/forkunsafe.c",
- "src/crypto/rand_extra/fuchsia.c",
-+ "src/crypto/rand_extra/arc4random.c",
- "src/crypto/rand_extra/passive.c",
- "src/crypto/rand_extra/rand_extra.c",
- "src/crypto/rand_extra/windows.c",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.gn
deleted file mode 100644
index 7bc990a32f49..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/BUILD.gn.orig 2022-03-25 21:59:56 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/BUILD.gn
-@@ -92,7 +92,7 @@ if (is_win && !is_msan && current_cpu != "arm64") {
- public_configs = [ ":no_asm_config" ]
- }
- } else if (current_cpu == "arm64") {
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_freebsd) {
- sources += crypto_sources_linux_aarch64
- } else if (is_apple) {
- sources += crypto_sources_apple_aarch64
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_chacha_asm_chacha-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_chacha_asm_chacha-x86__64.pl
deleted file mode 100644
index 0d7a6c505632..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_chacha_asm_chacha-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/chacha/asm/chacha-x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/chacha/asm/chacha-x86_64.pl
-@@ -78,6 +78,7 @@ $code.=<<___;
-
- .extern OPENSSL_ia32cap_P
-
-+.rodata
- .align 64
- .Lzero:
- .long 0,0,0,0
-@@ -107,6 +108,7 @@ $code.=<<___;
- .Lsixteen:
- .long 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
- .asciz "ChaCha20 for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
-+.previous
- ___
-
- sub AUTOLOAD() # thunk [simplified] 32-bit style perlasm
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_aes128gcmsiv-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_aes128gcmsiv-x86__64.pl
deleted file mode 100644
index 23fc58a63e69..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_aes128gcmsiv-x86__64.pl
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/cipher_extra/asm/aes128gcmsiv-x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/cipher_extra/asm/aes128gcmsiv-x86_64.pl
-@@ -32,7 +32,7 @@ open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
- *STDOUT=*OUT;
-
- $code.=<<___;
--.data
-+.rodata
-
- .align 16
- one:
-@@ -66,6 +66,7 @@ con3:
- .byte -1,-1,-1,-1,-1,-1,-1,-1,4,5,6,7,4,5,6,7
- and_mask:
- .long 0,0xffffffff, 0xffffffff, 0xffffffff
-+.previous
- ___
-
- $code.=<<___;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_chacha20__poly1305__x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_chacha20__poly1305__x86__64.pl
deleted file mode 100644
index a3bb3e648f9a..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cipher__extra_asm_chacha20__poly1305__x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl
-@@ -42,6 +42,7 @@ $code.=<<___;
-
- chacha20_poly1305_constants:
-
-+.rodata
- .align 64
- .Lchacha20_consts:
- .byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k'
-@@ -79,6 +80,7 @@ chacha20_poly1305_constants:
- .byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00
- .byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00
- .byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
-+.previous
- ___
-
- my ($oup,$inp,$inl,$adp,$keyp,$itr1,$itr2,$adl)=("%rdi","%rsi","%rbx","%rcx","%r9","%rcx","%r8","%r8");
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c
deleted file mode 100644
index 60fd01169810..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c
+++ /dev/null
@@ -1,60 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.c.orig 2022-03-25 21:59:56 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.c
-@@ -0,0 +1,57 @@
-+/* Copyright (c) 2022, Robert Nagy <robert@openbsd.org>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-+
-+#include <openssl/cpu.h>
-+
-+#if defined(OPENSSL_AARCH64) && defined(OPENSSL_OPENBSD) && \
-+ !defined(OPENSSL_STATIC_ARMCAP)
-+
-+#include <sys/sysctl.h>
-+#include <machine/cpu.h>
-+#include <machine/armreg.h>
-+#include <stdio.h>
-+
-+#include <openssl/arm_arch.h>
-+
-+#include "internal.h"
-+
-+extern uint32_t OPENSSL_armcap_P;
-+
-+void OPENSSL_cpuid_setup(void) {
-+ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 };
-+ size_t len = sizeof(uint64_t);
-+ uint64_t cpu_id = 0;
-+
-+ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0)
-+ return;
-+
-+ OPENSSL_armcap_P |= ARMV7_NEON;
-+
-+ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_BASE)
-+ OPENSSL_armcap_P |= ARMV8_AES;
-+
-+ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_PMULL)
-+ OPENSSL_armcap_P |= ARMV8_PMULL;
-+
-+ if (ID_AA64ISAR0_SHA1(cpu_id) >= ID_AA64ISAR0_SHA1_BASE)
-+ OPENSSL_armcap_P |= ARMV8_SHA1;
-+
-+ if (ID_AA64ISAR0_SHA2(cpu_id) >= ID_AA64ISAR0_SHA2_BASE)
-+ OPENSSL_armcap_P |= ARMV8_SHA256;
-+
-+ if (ID_AA64ISAR0_SHA2(cpu_id) >= ID_AA64ISAR0_SHA2_512)
-+ OPENSSL_armcap_P |= ARMV8_SHA512;
-+}
-+
-+#endif // OPENSSL_AARCH64 && OPENSSL_OPENBSD && !OPENSSL_STATIC_ARMCAP
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_aesni-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_aesni-x86__64.pl
deleted file mode 100644
index eec96103d4ec..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_aesni-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
-@@ -3778,6 +3778,7 @@ ___
- }
-
- $code.=<<___;
-+.rodata
- .align 64
- .Lbswap_mask:
- .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
-@@ -3800,6 +3801,7 @@ $code.=<<___;
-
- .asciz "AES for Intel AES-NI, CRYPTOGAMS by <appro\@openssl.org>"
- .align 64
-+.previous
- ___
-
- # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_vpaes-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_vpaes-x86__64.pl
deleted file mode 100644
index a12e445991f2..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_aes_asm_vpaes-x86__64.pl
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
-@@ -1288,6 +1288,7 @@ _vpaes_preheat:
- ## ##
- ########################################################
- .type _vpaes_consts,\@object
-+.rodata
- .align 64
- _vpaes_consts:
- .Lk_inv: # inv, inva
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_bn_asm_x86__64-mont5.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_bn_asm_x86__64-mont5.pl
deleted file mode 100644
index f7ef4e8e55ba..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_bn_asm_x86__64-mont5.pl
+++ /dev/null
@@ -1,16 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
-@@ -3576,11 +3576,13 @@ $code.=<<___;
- ___
- }
- $code.=<<___;
-+.rodata
- .align 64
- .Linc:
- .long 0,0, 1,1
- .long 2,2, 2,2
- .asciz "Montgomery Multiplication with scatter/gather for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
-+.previous
- ___
-
- # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_ec_asm_p256-x86__64-asm.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_ec_asm_p256-x86__64-asm.pl
deleted file mode 100644
index 383c6889b710..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_ec_asm_p256-x86__64-asm.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
-@@ -62,6 +62,7 @@ $code.=<<___;
- .extern OPENSSL_ia32cap_P
-
- # The polynomial
-+.rodata
- .align 64
- .Lpoly:
- .quad 0xffffffffffffffff, 0x00000000ffffffff, 0x0000000000000000, 0xffffffff00000001
-@@ -80,6 +81,7 @@ $code.=<<___;
- .quad 0xf3b9cac2fc632551, 0xbce6faada7179e84, 0xffffffffffffffff, 0xffffffff00000000
- .LordK:
- .quad 0xccd1c8aaee00bc4f
-+.previous
- ___
-
- {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl
deleted file mode 100644
index e28864dfceb4..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_aesni-gcm-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl
-@@ -1053,6 +1053,7 @@ $code.=<<___;
- ___
-
- $code.=<<___;
-+.rodata
- .align 64
- .Lbswap_mask:
- .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
-@@ -1066,6 +1067,7 @@ $code.=<<___;
- .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- .asciz "AES-NI GCM module for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
- .align 64
-+.previous
- ___
- }}} else {{{
- $code=<<___; # assembler is too old
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-ssse3-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-ssse3-x86__64.pl
deleted file mode 100644
index 2cea056c5b0c..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-ssse3-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghash-ssse3-x86_64.pl.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghash-ssse3-x86_64.pl
-@@ -331,6 +331,7 @@ $code .= <<____;
- .seh_endproc
- .size gcm_ghash_ssse3,.-gcm_ghash_ssse3
-
-+.rodata
- .align 16
- # .Lreverse_bytes is a permutation which, if applied with pshufb, reverses the
- # bytes in an XMM register.
-@@ -339,6 +340,7 @@ $code .= <<____;
- # .Llow4_mask is an XMM mask which selects the low four bits of each byte.
- .Llow4_mask:
- .quad 0x0f0f0f0f0f0f0f0f, 0x0f0f0f0f0f0f0f0f
-+.previous
- ____
-
- print $code;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-x86__64.pl
deleted file mode 100644
index 4124a866436a..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_modes_asm_ghash-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl
-@@ -1297,6 +1297,7 @@ ___
- }
-
- $code.=<<___;
-+.rodata
- .align 64
- .Lbswap_mask:
- .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
-@@ -1308,6 +1309,7 @@ $code.=<<___;
-
- .asciz "GHASH for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
- .align 64
-+.previous
- ___
-
- $code =~ s/\`([^\`]*)\`/eval($1)/gem;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_rand_internal.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_rand_internal.h
deleted file mode 100644
index 29b0a6683006..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_rand_internal.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h.orig 2022-09-24 10:57:32 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h
-@@ -27,7 +27,8 @@ extern "C" {
-
-
- #if !defined(OPENSSL_WINDOWS) && !defined(OPENSSL_FUCHSIA) && \
-- !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY)
-+ !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY) && \
-+ !defined(OPENSSL_ARC4RANDOM)
- #define OPENSSL_URANDOM
- #endif
-
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha1-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha1-x86__64.pl
deleted file mode 100644
index 387ba2cba7af..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha1-x86__64.pl
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
-@@ -1815,6 +1815,7 @@ ___
- }
- }
- $code.=<<___;
-+.rodata
- .align 64
- K_XX_XX:
- .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19
-@@ -1833,6 +1834,7 @@ ___
- $code.=<<___;
- .asciz "SHA1 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
- .align 64
-+.previous
- ___
-
- # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha512-x86__64.pl b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha512-x86__64.pl
deleted file mode 100644
index 49553e42ba57..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_fipsmodule_sha_asm_sha512-x86__64.pl
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl.orig 2023-02-08 09:03:45 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
-@@ -404,6 +404,7 @@ ___
-
- if ($SZ==4) {
- $code.=<<___;
-+.rodata
- .align 64
- .type $TABLE,\@object
- $TABLE:
-@@ -447,9 +448,11 @@ $TABLE:
- .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
- .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
- .asciz "SHA256 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
-+.previous
- ___
- } else {
- $code.=<<___;
-+.rodata
- .align 64
- .type $TABLE,\@object
- $TABLE:
-@@ -537,6 +540,7 @@ $TABLE:
- .quad 0x0001020304050607,0x08090a0b0c0d0e0f
- .quad 0x0001020304050607,0x08090a0b0c0d0e0f
- .asciz "SHA512 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>"
-+.previous
- ___
- }
-
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_rand__extra_arc4random.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_rand__extra_arc4random.c
deleted file mode 100644
index 0c920ae35733..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_rand__extra_arc4random.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/rand_extra/arc4random.c.orig 2022-02-07 13:39:41 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/rand_extra/arc4random.c
-@@ -0,0 +1,33 @@
-+/* Copyright (c) 2018, Robert Nagy <robert@openbsd.org>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-+ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-+
-+#define _BSD_SOURCE 1
-+
-+#include <openssl/rand.h>
-+
-+#if defined(OPENSSL_ARC4RANDOM) && !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
-+
-+#include <stdlib.h>
-+
-+#include "../fipsmodule/rand/internal.h"
-+
-+void CRYPTO_sysrand_for_seed(uint8_t *out, size_t requested) {
-+ CRYPTO_sysrand(out, requested);
-+}
-+
-+void CRYPTO_sysrand(uint8_t *out, size_t requested) {
-+ arc4random_buf(out, requested);
-+}
-+
-+#endif // OPENSSL_ARC4RANDOM && !BORINGSSL_UNSAFE_DETERMINISTIC_MODE
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_refcount__c11.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_refcount__c11.c
deleted file mode 100644
index 25cae0821ee0..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_crypto_refcount__c11.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/crypto/refcount_c11.c.orig 2022-09-24 10:57:32 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/crypto/refcount_c11.c
-@@ -22,6 +22,9 @@
- #include <stdatomic.h>
- #include <stdlib.h>
-
-+#if !defined(__cplusplus) && !defined(static_assert)
-+#define static_assert _Static_assert
-+#endif
-
- // See comment above the typedef of CRYPTO_refcount_t about these tests.
- static_assert(alignof(CRYPTO_refcount_t) == alignof(_Atomic CRYPTO_refcount_t),
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_base.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_base.h
deleted file mode 100644
index 209350e7f0a6..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_base.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/include/openssl/base.h.orig 2023-04-05 11:05:06 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/include/openssl/base.h
-@@ -151,6 +151,11 @@ extern "C" {
- #define OPENSSL_FUCHSIA
- #endif
-
-+#if defined(__OpenBSD__)
-+#define OPENSSL_OPENBSD
-+#define OPENSSL_ARC4RANDOM
-+#endif
-+
- #if defined(__TRUSTY__)
- #define OPENSSL_TRUSTY
- #define OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_thread.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_thread.h
deleted file mode 100644
index b62795e17f60..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_include_openssl_thread.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/3rdparty/chromium/third_party/boringssl/src/include/openssl/thread.h.orig 2022-05-19 14:06:27 UTC
-+++ src/3rdparty/chromium/third_party/boringssl/src/include/openssl/thread.h
-@@ -78,6 +78,7 @@ typedef union crypto_mutex_st {
- void *handle;
- } CRYPTO_MUTEX;
- #elif !defined(__GLIBC__)
-+#include <pthread.h>
- typedef pthread_rwlock_t CRYPTO_MUTEX;
- #else
- // On glibc, |pthread_rwlock_t| is hidden under feature flags, and we can't
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_util_generate__build__files.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_util_generate__build__files.py
index 3759a6f23805..3efd7510b554 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_util_generate__build__files.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_boringssl_src_util_generate__build__files.py
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/boringssl/src/util/generate_build_files.py.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/boringssl/src/util/generate_build_files.py.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/boringssl/src/util/generate_build_files.py
-@@ -785,10 +785,10 @@ def main(platforms):
+@@ -766,10 +766,10 @@ def main(platforms):
]
# Generate err_data.c
@@ -15,7 +15,7 @@
crypto_c_files.append('err_data.c')
crypto_c_files.sort()
-@@ -801,11 +801,11 @@ def main(platforms):
+@@ -780,11 +780,11 @@ def main(platforms):
crypto_test_files = []
if EMBED_TEST_DATA:
# Generate crypto_test_data.cc
@@ -29,6 +29,6 @@
+# ['go', 'run', 'util/embed_test_data.go'] + cmake['CRYPTO_TEST_DATA'],
+# cwd='src',
+# stdout=out)
- crypto_test_files += ['crypto_test_data.cc']
+ crypto_test_files.append('crypto_test_data.cc')
- crypto_test_files += FindCFiles(os.path.join('src', 'crypto'), OnlyTests)
+ crypto_test_files += PrefixWithSrc(cmake['CRYPTO_TEST_SOURCES'])
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_cpuinfo_cpuinfo.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_cpuinfo_cpuinfo.gni
new file mode 100644
index 000000000000..fb61d3ecf290
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_cpuinfo_cpuinfo.gni
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/cpuinfo/cpuinfo.gni.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/third_party/cpuinfo/cpuinfo.gni
+@@ -7,7 +7,7 @@ use_cpuinfo =
+ current_cpu != "ppc64" && current_cpu != "ppc64le" &&
+ current_cpu != "s390" && current_cpu != "s390x" &&
+ # cpuinfo is not supported on fuchsia.
+- !is_fuchsia &&
++ !is_fuchsia && !is_bsd &&
+ # There's a few arm architectures that are not supported by cpuinfo,
+ # especially amongst ChromeOS devices.
+ # See //third_party/cpuinfo/src/src/arm/linux/cp.h.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
new file mode 100644
index 000000000000..14c9411abecc
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/build/crashpad_buildconfig.gni
+@@ -61,7 +61,7 @@ if (crashpad_is_in_chromium) {
+ crashpad_is_ios = is_ios
+ crashpad_is_apple = is_apple
+ crashpad_is_win = is_win
+- crashpad_is_linux = is_linux || is_chromeos
++ crashpad_is_linux = (is_linux || is_chromeos) && !is_bsd
+ crashpad_is_android = is_android
+ crashpad_is_fuchsia = is_fuchsia
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_BUILD.gn
new file mode 100644
index 000000000000..8964a52ea7f7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_BUILD.gn
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/client/BUILD.gn.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/client/BUILD.gn
+@@ -137,6 +137,13 @@ static_library("common") {
+ if (crashpad_is_win) {
+ sources += [ "crash_report_database_win.cc" ]
+ }
++
++ if (crashpad_is_posix) {
++ sources += [
++ "crashpad_client_posix.cc",
++ ]
++ }
++
+ if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
+ sources += [
+ "crash_report_database_generic.cc",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_crashpad__client__posix.cc
new file mode 100644
index 000000000000..eaa3a41627ed
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_client_crashpad__client__posix.cc
@@ -0,0 +1,43 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/client/crashpad_client_posix.cc
+@@ -0,0 +1,40 @@
++// Copyright 2017 The Crashpad Authors. All rights reserved.
++//
++// Licensed under the Apache License, Version 2.0 (the "License");
++// you may not use this file except in compliance with the License.
++// You may obtain a copy of the License at
++//
++// http://www.apache.org/licenses/LICENSE-2.0
++//
++// Unless required by applicable law or agreed to in writing, software
++// distributed under the License is distributed on an "AS IS" BASIS,
++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++// See the License for the specific language governing permissions and
++// limitations under the License.
++
++#include "client/crashpad_client.h"
++
++#include "base/logging.h"
++#include "base/notreached.h"
++
++namespace crashpad {
++
++CrashpadClient::CrashpadClient() {}
++
++CrashpadClient::~CrashpadClient() {}
++
++bool CrashpadClient::StartHandler(
++ const base::FilePath& handler,
++ const base::FilePath& database,
++ const base::FilePath& metrics_dir,
++ const std::string& url,
++ const std::map<std::string, std::string>& annotations,
++ const std::vector<std::string>& arguments,
++ bool restartable,
++ bool asynchronous_start,
++ const std::vector<base::FilePath>& attachments) {
++ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196
++ return false;
++}
++
++} // namespace crashpad
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc
new file mode 100644
index 000000000000..f337430eb9d6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc.orig 2022-07-22 17:30:31 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+@@ -159,6 +159,10 @@ std::string MinidumpMiscInfoDebugBuildString() {
+ static constexpr char kOS[] = "win";
+ #elif BUILDFLAG(IS_FUCHSIA)
+ static constexpr char kOS[] = "fuchsia";
++#elif defined(OS_OPENBSD)
++ static constexpr char kOS[] = "openbsd";
++#elif defined(OS_FREEBSD)
++ static constexpr char kOS[] = "freebsd";
+ #else
+ #error define kOS for this operating system
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_address__types.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_address__types.h
new file mode 100644
index 000000000000..ada89edcb833
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_address__types.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/address_types.h.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/address_types.h
+@@ -25,7 +25,7 @@
+ #include <mach/mach_types.h>
+ #elif BUILDFLAG(IS_WIN)
+ #include "util/win/address_types.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #include "util/linux/address_types.h"
+ #elif BUILDFLAG(IS_FUCHSIA)
+ #include <zircon/types.h>
+@@ -55,7 +55,7 @@ using VMSize = mach_vm_size_t;
+ using VMAddress = WinVMAddress;
+ using VMSize = WinVMSize;
+
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+
+ using VMAddress = LinuxVMAddress;
+ using VMSize = LinuxVMSize;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_capture__context.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_capture__context.h
new file mode 100644
index 000000000000..fddd74c41f77
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_capture__context.h
@@ -0,0 +1,22 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h
+@@ -21,7 +21,8 @@
+ #include <mach/mach.h>
+ #elif BUILDFLAG(IS_WIN)
+ #include <windows.h>
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
++ BUILDFLAG(IS_FREEBSD)
+ #include <ucontext.h>
+ #endif // BUILDFLAG(IS_APPLE)
+
+@@ -35,7 +36,8 @@ using NativeCPUContext = arm_unified_thread_state;
+ #endif
+ #elif BUILDFLAG(IS_WIN)
+ using NativeCPUContext = CONTEXT;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
++ BUILDFLAG(IS_BSD)
+ using NativeCPUContext = ucontext_t;
+ #endif // BUILDFLAG(IS_APPLE)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_metrics.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_metrics.cc
new file mode 100644
index 000000000000..ae45aff49a98
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_metrics.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/metrics.cc
+@@ -25,7 +25,7 @@
+ #define METRICS_OS_NAME "Win"
+ #elif BUILDFLAG(IS_ANDROID)
+ #define METRICS_OS_NAME "Android"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ #define METRICS_OS_NAME "Linux"
+ #elif BUILDFLAG(IS_FUCHSIA)
+ #define METRICS_OS_NAME "Fuchsia"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_uuid.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_uuid.cc
new file mode 100644
index 000000000000..022e44d4763e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_misc_uuid.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/uuid.cc
+@@ -101,7 +101,7 @@ bool UUID::InitializeWithNew() {
+ InitializeFromBytes(uuid);
+ return true;
+ #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \
+- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)
+ // Linux, Android, and Fuchsia do not provide a UUID generator in a
+ // widely-available system library. On Linux and Android, uuid_generate()
+ // from libuuid is not available everywhere.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_close__multiple.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_close__multiple.cc
new file mode 100644
index 000000000000..051d9df2784d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_close__multiple.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/close_multiple.cc
+@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) {
+ // This is an advantage over looping over all possible file descriptors, because
+ // no attempt needs to be made to close file descriptors that are not open.
+ bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, int preserve_fd) {
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ static constexpr char kFDDir[] = "/dev/fd";
+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+ static constexpr char kFDDir[] = "/proc/self/fd";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_drop__privileges.cc
new file mode 100644
index 000000000000..07d2646d3883
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_drop__privileges.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/drop_privileges.cc.orig 2022-02-28 16:54:41 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/drop_privileges.cc
+@@ -25,7 +25,7 @@ void DropPrivileges() {
+ gid_t gid = getgid();
+ uid_t uid = getuid();
+
+-#if BUILDFLAG(IS_APPLE)
++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+ // Based on the POSIX.1-2008 2013 edition documentation for setreuid() and
+ // setregid(), setreuid() and setregid() alone should be sufficient to drop
+ // privileges. The standard specifies that the saved ID should be set to the
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_signals.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_signals.cc
new file mode 100644
index 000000000000..af3e3cb7d4d0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_signals.cc
@@ -0,0 +1,33 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-08-31 12:19:35 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals.cc
+@@ -51,7 +51,7 @@ constexpr int kCrashSignals[] = {
+ #if defined(SIGEMT)
+ SIGEMT,
+ #endif // defined(SIGEMT)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SIGXCPU,
+ SIGXFSZ,
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+@@ -91,7 +91,7 @@ constexpr int kTerminateSignals[] = {
+ SIGXCPU,
+ SIGXFSZ,
+ #endif // BUILDFLAG(IS_APPLE)
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ SIGIO,
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ };
+@@ -251,8 +251,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi
+ // remains. See 10.12.3 xnu-3789.41.3/bsd/kern/kern_sig.c
+ // psignal_internal().
+ (code > 0 &&
++#if defined(SI_ASYNCIO)
+ code != SI_ASYNCIO &&
++#endif
++#if defined(SI_MESGQ)
+ code != SI_MESGQ &&
++#endif
+ code != SI_QUEUE &&
+ code != SI_TIMER &&
+ code != SI_USER &&
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
new file mode 100644
index 000000000000..4de23be51e5a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2022-04-21 18:48:31 UTC
++++ src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
+@@ -67,7 +67,7 @@ constexpr const char* kSignalNames[] = {
+ "INFO",
+ "USR1",
+ "USR2",
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #if defined(ARCH_CPU_MIPS_FAMILY)
+ "HUP",
+ "INT",
+@@ -138,7 +138,7 @@ constexpr const char* kSignalNames[] = {
+ #endif // defined(ARCH_CPU_MIPS_FAMILY)
+ #endif
+ };
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // NSIG is 64 to account for real-time signals.
+ static_assert(std::size(kSignalNames) == 32, "kSignalNames length");
+ #else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn
index 43f6c7e72760..f6bf968b709f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_crc32c_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/crc32c/BUILD.gn.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/third_party/crc32c/BUILD.gn.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/crc32c/BUILD.gn
-@@ -47,7 +47,7 @@ config("crc32c_config") {
+@@ -46,7 +46,7 @@ config("crc32c_config") {
}
# Android added <sys/auxv.h> in API level 18.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h
index 790f62477c31..bb7e4435422f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_dawn_include_dawn_native_VulkanBackend.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/dawn/include/dawn/native/VulkanBackend.h
-@@ -82,7 +82,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport
+@@ -80,7 +80,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport
};
// Can't use DAWN_PLATFORM_IS(LINUX) since header included in both Dawn and Chrome
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_BUILD.gn
new file mode 100644
index 000000000000..4917ac78d8ac
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_BUILD.gn
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/BUILD.gn.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/BUILD.gn
+@@ -357,7 +357,6 @@ target(link_target_type, "ffmpeg_internal") {
+ libs += [
+ "m",
+ "z",
+- "rt",
+ ]
+ }
+ if (is_component_ffmpeg) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_build__ffmpeg.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_build__ffmpeg.py
new file mode 100644
index 000000000000..7399348201c9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_build__ffmpeg.py
@@ -0,0 +1,121 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/build_ffmpeg.py
+@@ -32,7 +32,7 @@ NDK_ROOT_DIR = os.path.abspath(
+ SUCCESS_TOKEN = 'THIS_BUILD_WORKED'
+
+ sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build'))
+-import gn_helpers
++#import gn_helpers
+
+ BRANDINGS = [
+ 'Chrome',
+@@ -45,6 +45,8 @@ ARCH_MAP = {
+ 'linux': [
+ 'ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'
+ ],
++ 'openbsd': ['x64', 'arm64', 'ia32'],
++ 'freebsd': ['x64', 'arm64', 'ia32'],
+ 'mac': ['x64', 'arm64'],
+ 'win': ['ia32', 'x64', 'arm64'],
+ }
+@@ -54,6 +56,8 @@ USAGE_END = """
+ Valid combinations are android [%(android)s]
+ linux [%(linux)s]
+ mac [%(mac)s]
++ openbsd [%(openbsd)s]
++ freebsd [%(freebsd)s]
+ win [%(win)s]
+
+ If no target architecture is specified all will be built.
+@@ -126,6 +130,10 @@ def PrintAndCheckCall(argv, *args, **kwargs):
+ def DetermineHostOsAndArch():
+ if platform.system() == 'Linux':
+ host_os = 'linux'
++ if platform.system() == 'OpenBSD':
++ host_os = 'openbsd'
++ elif platform.system() == 'FreeBSD':
++ host_os = 'freebsd'
+ elif platform.system() == 'Darwin':
+ host_os = 'mac'
+ elif platform.system() == 'Windows' or 'CYGWIN_NT' in platform.system():
+@@ -135,7 +143,7 @@ def DetermineHostOsAndArch():
+
+ if re.match(r'i.86', platform.machine()):
+ host_arch = 'ia32'
+- elif platform.machine() == 'x86_64' or platform.machine() == 'AMD64':
++ elif platform.machine() == 'x86_64' or platform.machine() == 'AMD64' or platform.machine() == 'amd64':
+ host_arch = 'x64'
+ elif platform.machine() == 'aarch64':
+ host_arch = 'arm64'
+@@ -152,7 +160,7 @@ def DetermineHostOsAndArch():
+
+
+ def GetDsoName(target_os, dso_name, dso_version):
+- if target_os in ('linux', 'linux-noasm', 'android'):
++ if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'):
+ return 'lib%s.so.%s' % (dso_name, dso_version)
+ elif target_os == 'mac':
+ return 'lib%s.%s.dylib' % (dso_name, dso_version)
+@@ -495,7 +503,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_
+ # removing <sys/sysctl.h> soon, so this is needed to silence a deprecation
+ # #warning which will be converted to an error via -Werror.
+ # There is also no prctl.h
+- if target_os in ['linux', 'linux-noasm']:
++ if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']:
+ pre_make_rewrites += [
+ (r'(#define HAVE_SYSCTL [01])',
+ r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'),
+@@ -622,7 +630,7 @@ def main(argv):
+ configure_args = args[2:]
+
+
+- if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', 'all'):
++ if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', 'all', 'openbsd', 'freebsd'):
+ parser.print_help()
+ return 1
+
+@@ -744,7 +752,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ '--enable-parser=vp3,vp8',
+ ])
+
+- if target_os in ('linux', 'linux-noasm', 'android'):
++ if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'):
+ if target_arch == 'x64':
+ if target_os == 'android':
+ configure_flags['Common'].extend([
+@@ -754,7 +762,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ configure_flags['Common'].extend([
+ '--enable-lto',
+ '--arch=x86_64',
+- '--target-os=linux',
++ '--target-os=' + target_os,
+ ])
+
+ if host_arch != 'x64':
+@@ -845,7 +853,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ '--extra-cflags=-mfpu=vfpv3-d16',
+ ])
+ elif target_arch == 'arm64':
+- if target_os != 'android':
++ if target_os != 'android' and target_os != 'openbsd' and target_os != 'freebsd':
+ if host_arch != 'arm64':
+ configure_flags['Common'].extend([
+ '--enable-cross-compile',
+@@ -910,7 +918,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ '--disable-mips64r2',
+ '--enable-msa',
+ ])
+- if target_os == 'linux':
++ if target_os == 'Linux':
+ configure_flags['Common'].extend([
+ '--enable-cross-compile',
+ '--target-os=linux',
+@@ -1061,7 +1069,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os,
+ 'Chrome', configure_flags['Common'] + configure_flags['ChromeAndroid'] +
+ configure_args)
+
+- if target_os in ['linux', 'linux-noasm']:
++ if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']:
+ # ChromeOS enables MPEG4 which requires error resilience :(
+ chrome_os_flags = (
+ configure_flags['Common'] + configure_flags['Chrome'] +
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_robo__lib_config.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_robo__lib_config.py
new file mode 100644
index 000000000000..c75d668bf1be
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_chromium_scripts_robo__lib_config.py
@@ -0,0 +1,53 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/robo_lib/config.py.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/robo_lib/config.py
+@@ -35,7 +35,7 @@ class RoboConfiguration:
+ self._patches_commit_title = "Chromium patches file"
+ # Title of the commit with README.chromium
+ self._readme_chromium_commit_title = "README.chromium file"
+- self.EnsureHostInfo()
++ #self.EnsureHostInfo()
+ self.EnsureChromeSrc()
+ self.EnsureScriptDirectory()
+
+@@ -47,18 +47,15 @@ class RoboConfiguration:
+ self._llvm_path = os.path.join(self.chrome_src(), "third_party",
+ "llvm-build", "Release+Asserts", "bin")
+
+- self.EnsurePathContainsLLVM()
+- self.EnsureNoMakeInfo()
++ #self.EnsurePathContainsLLVM()
++ #self.EnsureNoMakeInfo()
+ self.EnsureFFmpegHome()
+ self.EnsureASANConfig()
+- self.ComputeBranchName()
++ #self.ComputeBranchName()
+ if not quiet:
+ shell.log(f"Using chrome src: {self.chrome_src()}")
+ shell.log(f"Using script dir: {self._script_directory}")
+ shell.log(f"Using ffmpeg home:{self.ffmpeg_home()}")
+- shell.log(f"On branch: {self.branch_name()}")
+- if self.sushi_branch_name():
+- shell.log(f"On sushi branch: {self.sushi_branch_name()}")
+
+ # Filename that we'll ask generate_gn.py to write git commands to.
+ # TODO: Should this use script_directory, or stay with ffmpeg? As long as
+@@ -149,7 +146,7 @@ class RoboConfiguration:
+ """Ensure that the host architecture and platform are set."""
+ kernel, host, os, *rest = shell.output_or_error(["uname", "-a"]).split()
+ assert kernel in ("Linux", "linux")
+- assert "x86_64" in rest
++ assert ("x86_64", "amd64") in rest
+ self._host_operating_system = "linux"
+ self._host_architecture = "x64"
+
+@@ -165,8 +162,8 @@ class RoboConfiguration:
+ wd = os.getcwd()
+ # Walk up the tree until we find src/AUTHORS
+ while wd != "/":
+- if os.path.isfile(os.path.join(wd, "src", "AUTHORS")):
+- self._chrome_src = os.path.join(wd, "src")
++ if os.path.isfile(os.path.join(wd, "third_party", "DEPS")):
++ self._chrome_src = wd
+ return
+ wd = os.path.dirname(wd)
+ raise Exception("could not find src/AUTHORS in any parent of the wd")
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_configure b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_configure
new file mode 100644
index 000000000000..7978d8f99f43
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_configure
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/configure.orig 2023-10-12 11:37:12 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/configure
+@@ -5613,6 +5613,7 @@ case $target_os in
+ disable symver
+ ;;
+ freebsd)
++ enable section_data_rel_ro
+ ;;
+ bsd/os)
+ add_extralibs -lpoll -lgnugetopt
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_cabac.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_cabac.h
new file mode 100644
index 000000000000..67db6588d1e4
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_cabac.h
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/cabac.h.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/cabac.h
+@@ -31,7 +31,8 @@
+
+ #if (defined(__i386) && defined(__clang__) && (__clang_major__<2 || (__clang_major__==2 && __clang_minor__<10)))\
+ || ( !defined(__clang__) && defined(__llvm__) && __GNUC__==4 && __GNUC_MINOR__==2 && __GNUC_PATCHLEVEL__<=1)\
+- || (defined(__INTEL_COMPILER) && defined(_MSC_VER))
++ || (defined(__INTEL_COMPILER) && defined(_MSC_VER)) \
++ || ((defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386))
+ # define BROKEN_COMPILER 1
+ #else
+ # define BROKEN_COMPILER 0
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_fft.asm b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_fft.asm
new file mode 100644
index 000000000000..54e1caaeae4e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavcodec_x86_fft.asm
@@ -0,0 +1,108 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/fft.asm.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/fft.asm
+@@ -296,6 +296,7 @@ INIT_YMM avx
+ %if HAVE_AVX_EXTERNAL
+ align 16
+ fft8_avx:
++ _CET_ENDBR
+ mova m0, Z(0)
+ mova m1, Z(1)
+ T8_AVX m0, m1, m2, m3, m4
+@@ -306,6 +307,7 @@ fft8_avx:
+
+ align 16
+ fft16_avx:
++ _CET_ENDBR
+ mova m2, Z(2)
+ mova m3, Z(3)
+ T4_SSE m2, m3, m7
+@@ -343,6 +345,7 @@ fft16_avx:
+
+ align 16
+ fft32_avx:
++ _CET_ENDBR
+ call fft16_avx
+
+ mova m0, Z(4)
+@@ -367,6 +370,7 @@ fft32_avx:
+ ret
+
+ fft32_interleave_avx:
++ _CET_ENDBR
+ call fft32_avx
+ mov r2d, 32
+ .deint_loop:
+@@ -390,6 +394,7 @@ INIT_XMM sse
+ align 16
+ fft4_avx:
+ fft4_sse:
++ _CET_ENDBR
+ mova m0, Z(0)
+ mova m1, Z(1)
+ T4_SSE m0, m1, m2
+@@ -399,6 +404,7 @@ fft4_sse:
+
+ align 16
+ fft8_sse:
++ _CET_ENDBR
+ mova m0, Z(0)
+ mova m1, Z(1)
+ T4_SSE m0, m1, m2
+@@ -413,6 +419,7 @@ fft8_sse:
+
+ align 16
+ fft16_sse:
++ _CET_ENDBR
+ mova m0, Z(0)
+ mova m1, Z(1)
+ T4_SSE m0, m1, m2
+@@ -441,6 +448,7 @@ fft16_sse:
+ %macro DECL_PASS 2+ ; name, payload
+ align 16
+ %1:
++ _CET_ENDBR
+ DEFINE_ARGS zc, w, n, o1, o3
+ lea o3q, [nq*3]
+ lea o1q, [nq*8]
+@@ -457,10 +465,6 @@ DEFINE_ARGS zc, w, n, o1, o3
+ %macro FFT_DISPATCH 2; clobbers 5 GPRs, 8 XMMs
+ lea r2, [dispatch_tab%1]
+ mov r2, [r2 + (%2q-2)*gprsize]
+-%ifdef PIC
+- lea r3, [$$]
+- add r2, r3
+-%endif
+ call r2
+ %endmacro ; FFT_DISPATCH
+
+@@ -585,11 +589,7 @@ cglobal imdct_calc, 3,5,3
+ jl .loop
+ RET
+
+-%ifdef PIC
+-%define SECTION_REL - $$
+-%else
+ %define SECTION_REL
+-%endif
+
+ %macro DECL_FFT 1-2 ; nbits, suffix
+ %ifidn %0, 1
+@@ -613,6 +613,7 @@ cglobal imdct_calc, 3,5,3
+
+ align 16
+ fft %+ n %+ fullsuffix:
++ _CET_ENDBR
+ call fft %+ n2 %+ SUFFIX
+ add r0, n*4 - (n&(-2<<%1))
+ call fft %+ n4 %+ SUFFIX
+@@ -627,8 +628,10 @@ fft %+ n %+ fullsuffix:
+ %endrep
+ %undef n
+
++[SECTION .data.rel.ro write]
+ align 8
+ dispatch_tab %+ fullsuffix: pointer list_of_fft
++__?SECT?__
+ %endmacro ; DECL_FFT
+
+ %if HAVE_AVX_EXTERNAL
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_cpu.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_cpu.c
new file mode 100644
index 000000000000..bdf96b980918
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_cpu.c
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavutil/cpu.c.orig 2022-07-22 17:30:31 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavutil/cpu.c
+@@ -38,10 +38,7 @@
+ #if HAVE_GETPROCESSAFFINITYMASK || HAVE_WINRT
+ #include <windows.h>
+ #endif
+-#if HAVE_SYSCTL
+-#if HAVE_SYS_PARAM_H
+-#include <sys/param.h>
+-#endif
++#if HAVE_SYSCTL && !defined(__OpenBSD__)
+ #include <sys/types.h>
+ #include <sys/sysctl.h>
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c
new file mode 100644
index 000000000000..ee8d0e6f047f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_mem.c
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavutil/mem.c.orig 2022-05-19 14:06:27 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavutil/mem.c
+@@ -33,9 +33,6 @@
+ #include <stdlib.h>
+ #include <stdatomic.h>
+ #include <string.h>
+-#if HAVE_MALLOC_H
+-#include <malloc.h>
+-#endif
+
+ #include "attributes.h"
+ #include "avassert.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_random__seed.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_random__seed.c
new file mode 100644
index 000000000000..56f6d74cfa8e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_random__seed.c
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavutil/random_seed.c.orig 2023-09-13 13:13:30 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavutil/random_seed.c
+@@ -35,6 +35,11 @@
+ #elif CONFIG_OPENSSL
+ #include <openssl/rand.h>
+ #endif
++#if HAVE_ARC4RANDOM_BUF
++#undef __BSD_VISIBLE
++#define __BSD_VISIBLE 1
++#include <stdlib.h>
++#endif
+ #include <fcntl.h>
+ #include <math.h>
+ #include <time.h>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_x86_x86inc.asm b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_x86_x86inc.asm
new file mode 100644
index 000000000000..b7c6baa11d8b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ffmpeg_libavutil_x86_x86inc.asm
@@ -0,0 +1,23 @@
+--- src/3rdparty/chromium/third_party/ffmpeg/libavutil/x86/x86inc.asm.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/third_party/ffmpeg/libavutil/x86/x86inc.asm
+@@ -53,6 +53,12 @@
+ %endif
+ %endif
+
++%if ARCH_X86_64
++ %define _CET_ENDBR endbr64
++%else
++ %define _CET_ENDBR
++%endif
++
+ %define WIN64 0
+ %define UNIX64 0
+ %if ARCH_X86_64
+@@ -768,6 +774,7 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg,
+ %endif
+ align function_align
+ %2:
++ _CET_ENDBR
+ RESET_MM_PERMUTATION ; needed for x86-64, also makes disassembly somewhat nicer
+ %xdefine rstk rsp ; copy of the original stack pointer, used when greater alignment than the known stack alignment is required
+ %assign stack_offset 0 ; stack pointer offset relative to the return address
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_include_config.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_include_config.h
new file mode 100644
index 000000000000..5e821ba16c3d
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_include_config.h
@@ -0,0 +1,89 @@
+--- src/3rdparty/chromium/third_party/fontconfig/include/config.h.orig 2023-04-05 11:05:06 UTC
++++ src/3rdparty/chromium/third_party/fontconfig/include/config.h
+@@ -18,13 +18,13 @@
+ #define ENABLE_NLS 1
+
+ /* Additional font directories */
+-#define FC_ADD_FONTS "yes"
++#define FC_ADD_FONTS "/usr/local/share/fonts"
+
+ /* Architecture prefix to use for cache file names */
+ /* #undef FC_ARCHITECTURE */
+
+ /* System font directory */
+-#define FC_DEFAULT_FONTS "<dir>/usr/share/fonts</dir>"
++#define FC_DEFAULT_FONTS "<dir>/usr/X11R6/lib/X11/fonts</dir>"
+
+ /* The type of len parameter of the gperf hash/lookup function */
+ #define FC_GPERF_SIZE_T size_t
+@@ -99,7 +99,7 @@
+ #define HAVE_GETPAGESIZE 1
+
+ /* Define to 1 if you have the `getprogname' function. */
+-/* #undef HAVE_GETPROGNAME */
++#define HAVE_GETPROGNAME 1
+
+ /* Define if the GNU gettext() function is already present or preinstalled. */
+ #define HAVE_GETTEXT 1
+@@ -141,7 +141,7 @@
+ /* #undef HAVE_NDIR_H */
+
+ /* Define to 1 if you have the 'posix_fadvise' function. */
+-#define HAVE_POSIX_FADVISE 1
++#define HAVE_POSIX_FADVISE 0
+
+ /* Have POSIX threads */
+ #define HAVE_PTHREAD 1
+@@ -156,11 +156,14 @@
+ #define HAVE_RANDOM 1
+
+ /* Define to 1 if you have the `random_r' function. */
+-#define HAVE_RANDOM_R 1
++/* #undef HAVE_RANDOM_R */
+
+ /* Define to 1 if you have the `rand_r' function. */
+ #define HAVE_RAND_R 1
+
++/* Define to 1 if you have the `arc4_random' function. */
++#define HAVE_ARC4RANDOM 1
++
+ /* Define to 1 if you have the `readlink' function. */
+ #define HAVE_READLINK 1
+
+@@ -204,7 +207,7 @@
+ #define HAVE_STRUCT_STATFS_F_FLAGS 1
+
+ /* Define to 1 if `f_fstypename' is a member of `struct statfs'. */
+-/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */
++#define HAVE_STRUCT_STATFS_F_FSTYPENAME 1
+
+ /* Define to 1 if `f_basetype' is a member of `struct statvfs'. */
+ /* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */
+@@ -230,7 +233,7 @@
+ #define HAVE_SYS_PARAM_H 1
+
+ /* Define to 1 if you have the <sys/statfs.h> header file. */
+-#define HAVE_SYS_STATFS_H 1
++/* #undef HAVE_SYS_STATFS_H */
+
+ /* Define to 1 if you have the <sys/statvfs.h> header file. */
+ #define HAVE_SYS_STATVFS_H 1
+@@ -242,7 +245,7 @@
+ #define HAVE_SYS_TYPES_H 1
+
+ /* Define to 1 if you have the <sys/vfs.h> header file. */
+-#define HAVE_SYS_VFS_H 1
++/* #undef HAVE_SYS_VFS_H */
+
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #define HAVE_UNISTD_H 1
+@@ -265,7 +268,8 @@
+ /* Define to 1 if you have the `_mktemp_s' function. */
+ /* #undef HAVE__MKTEMP_S */
+
+-/* Define to the sub-directory where libtool stores uninstalled libraries. */
++/* Define to the sub-directory in which libtool stores uninstalled libraries.
++ */
+ #define LT_OBJDIR ".libs/"
+
+ /* Name of package */
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_src_src_fccompat.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_src_src_fccompat.c
new file mode 100644
index 000000000000..d61aaa4c78cc
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_fontconfig_src_src_fccompat.c
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/third_party/fontconfig/src/src/fccompat.c.orig 2023-04-05 11:05:06 UTC
++++ src/3rdparty/chromium/third_party/fontconfig/src/src/fccompat.c
+@@ -184,7 +184,9 @@ FcRandom(void)
+ {
+ int32_t result;
+
+-#if HAVE_RANDOM_R
++#if HAVE_ARC4RANDOM
++ result = arc4random() & 0x7fffffff;
++#elif HAVE_RANDOM_R
+ static struct random_data fcrandbuf;
+ static char statebuf[256];
+ static FcBool initialized = FcFalse;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc
index 07420a924166..37f7dfaef0fc 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_ipcz_src_reference__drivers_random.cc
@@ -1,16 +1,16 @@
---- src/3rdparty/chromium/third_party/ipcz/src/reference_drivers/random.cc.orig 2022-09-24 10:57:32 UTC
+--- src/3rdparty/chromium/third_party/ipcz/src/reference_drivers/random.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/ipcz/src/reference_drivers/random.cc
-@@ -15,7 +15,7 @@
- #include <limits>
+@@ -14,7 +14,7 @@
+ #include <windows.h>
#elif BUILDFLAG(IS_FUCHSIA)
#include <zircon/syscalls.h>
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
#include <asm/unistd.h>
- #include <errno.h>
#include <sys/syscall.h>
-@@ -78,7 +78,7 @@ void RandomBytes(absl::Span<uint8_t> destination) {
- ABSL_ASSERT(ok);
+ #include <unistd.h>
+@@ -86,7 +86,7 @@ void RandomBytes(absl::Span<uint8_t> destination) {
+ process_prng_fn(destination.data(), destination.size());
#elif BUILDFLAG(IS_FUCHSIA)
zx_cprng_draw(destination.data(), destination.size());
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc
index c42f7036b5ad..d3327af989cd 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_leveldatabase_env__chromium.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/leveldatabase/env_chromium.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/leveldatabase/env_chromium.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/leveldatabase/env_chromium.cc
-@@ -318,7 +318,8 @@ ChromiumWritableFile::ChromiumWritableFile(const std::
+@@ -320,7 +320,8 @@ ChromiumWritableFile::ChromiumWritableFile(const std::
Status ChromiumWritableFile::SyncParent() {
TRACE_EVENT0("leveldb", "SyncParent");
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..e9a5a5d7dccb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c
@@ -0,0 +1,39 @@
+--- src/3rdparty/chromium/third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c.orig 2023-09-17 18:22:45 UTC
++++ src/3rdparty/chromium/third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c
+@@ -85,13 +85,35 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(ANDROID_USE_CPU_FEATURES_LIB)
++#elif defined(ANDROID_USE_CPU_FEATURES_LIB) || defined(__FreeBSD__)
+
+ static int arm_get_cpu_caps(void) {
+ int flags = 0;
+ #if HAVE_NEON
+ flags |= HAS_NEON; // Neon is mandatory in Armv8.0-A.
+ #endif // HAVE_NEON
++ return flags;
++}
++
++#elif defined(__OpenBSD__)
++#include <sys/sysctl.h>
++#include <machine/cpu.h>
++#include <machine/armreg.h>
++
++static int arm_get_cpu_caps(void) {
++ int flags = 0;
++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 };
++ uint64_t cpu_id = 0;
++ size_t len = sizeof(cpu_id);
++
++ flags |= HAS_NEON; // Neon is mandatory in Armv8.0-A.
++
++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0)
++ return flags;
++
++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_CRC32_BASE)
++ flags |= HAS_ARM_CRC32;
++
+ return flags;
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libsync_src_sync.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libsync_src_sync.c
index 4506da637606..7ea69d700512 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libsync_src_sync.c
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libsync_src_sync.c
@@ -1,16 +1,16 @@
---- src/3rdparty/chromium/third_party/libsync/src/sync.c.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/third_party/libsync/src/sync.c.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/libsync/src/sync.c
-@@ -17,7 +17,9 @@
+@@ -17,8 +17,8 @@
*/
#include <fcntl.h>
-+#if !defined(__OpenBSD__)
- #include <malloc.h>
-+#endif
+-#include <malloc.h>
#include <stdint.h>
++#include <stdlib.h>
#include <string.h>
#include <errno.h>
-@@ -29,6 +31,12 @@
+ #include <poll.h>
+@@ -29,6 +29,12 @@
#include <sync/sync.h>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_BUILD.gn
new file mode 100644
index 000000000000..22b7c68e1787
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_BUILD.gn
@@ -0,0 +1,52 @@
+--- src/3rdparty/chromium/third_party/libusb/BUILD.gn.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/libusb/BUILD.gn
+@@ -3,7 +3,7 @@
+ # found in the LICENSE file.
+
+ # libusb is only used by //services/device/usb on macOS.
+-assert(is_mac)
++assert(is_mac || is_bsd)
+
+ import("//build/config/chromeos/ui_mode.gni")
+ import("//build/config/features.gni")
+@@ -103,7 +103,7 @@ static_library("libusb") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "src/libusb/os/linux_usbfs.c",
+ "src/libusb/os/linux_usbfs.h",
+@@ -114,11 +114,21 @@ static_library("libusb") {
+ ]
+ }
+
++ if (is_openbsd) {
++ sources += [
++ "src/libusb/os/openbsd_usb.c",
++ ]
++ defines += [
++ "OS_OPENBSD=1",
++ "_GNU_SOURCE=1",
++ ]
++ }
++
+ if (is_chromeos_ash) {
+ defines += [ "USBI_TIMERFD_AVAILABLE" ]
+ }
+
+- if (use_udev) {
++ if (use_udev && !is_bsd) {
+ sources += [ "src/libusb/os/linux_udev.cc" ]
+ defines += [
+ "HAVE_LIBUDEV=1",
+@@ -127,7 +137,7 @@ static_library("libusb") {
+ deps += [ "//build/linux/libudev" ]
+ }
+
+- if ((is_linux || is_chromeos) && !use_udev) {
++ if ((is_linux || is_chromeos) && !use_udev && !is_bsd) {
+ sources += [ "src/libusb/os/linux_netlink.c" ]
+ defines += [ "HAVE_LINUX_NETLINK_H" ]
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_core.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_core.c
new file mode 100644
index 000000000000..e26d42ffdd14
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_core.c
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/libusb/src/libusb/core.c.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/libusb/src/libusb/core.c
+@@ -448,7 +448,7 @@ libusb_free_device_list(list, 1);
+ * which grows when required. it can be freed once discovery has completed,
+ * eliminating the need for a list node in the libusb_device structure
+ * itself. */
+-#define DISCOVERED_DEVICES_SIZE_STEP 8
++#define DISCOVERED_DEVICES_SIZE_STEP 16
+
+ static struct discovered_devs *discovered_devs_alloc(void)
+ {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_os_threads__posix.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_os_threads__posix.c
new file mode 100644
index 000000000000..369d72508877
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libusb_src_libusb_os_threads__posix.c
@@ -0,0 +1,24 @@
+--- src/3rdparty/chromium/third_party/libusb/src/libusb/os/threads_posix.c.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/third_party/libusb/src/libusb/os/threads_posix.c
+@@ -19,9 +19,11 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+-#if defined(__linux__) || defined(__OpenBSD__)
++#if defined(__linux__)
+ # include <unistd.h>
+ # include <sys/syscall.h>
++#elif defined(__OpenBSD__)
++# include <unistd.h>
+ #elif defined(__APPLE__)
+ # include <mach/mach.h>
+ #elif defined(__CYGWIN__)
+@@ -65,7 +67,7 @@ int usbi_get_tid(void)
+ #elif defined(__OpenBSD__)
+ /* The following only works with OpenBSD > 5.1 as it requires
+ real thread support. For 5.1 and earlier, -1 is returned. */
+- ret = syscall(SYS_getthrid);
++ ret = getthrid();
+ #elif defined(__APPLE__)
+ ret = mach_thread_self();
+ mach_port_deallocate(mach_task_self(), ret);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_linux_config.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_linux_config.h
new file mode 100644
index 000000000000..34e828185f7b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_linux_config.h
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/libxml/linux/config.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/libxml/linux/config.h
+@@ -69,6 +69,9 @@
+ /* Define to 1 if you have the <pthread.h> header file. */
+ #define HAVE_PTHREAD_H /**/
+
++/* Define to 1 if you have the `arc4random' function. */
++#define HAVE_ARC4RANDOM 1
++
+ /* Define to 1 if you have the `rand_r' function. */
+
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_src_dict.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_src_dict.c
new file mode 100644
index 000000000000..ce42ad8fb0f6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_libxml_src_dict.c
@@ -0,0 +1,41 @@
+--- src/3rdparty/chromium/third_party/libxml/src/dict.c.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/third_party/libxml/src/dict.c
+@@ -133,7 +133,7 @@ struct _xmlDict {
+ static xmlMutex xmlDictMutex;
+
+ #ifdef DICT_RANDOMIZATION
+-#ifdef HAVE_RAND_R
++#if defined(HAVE_RAND_R) && !defined(HAVE_ARC4RANDOM)
+ /*
+ * Internal data for random function, protected by xmlDictMutex
+ */
+@@ -160,7 +160,7 @@ int xmlInitializeDict(void) {
+ int __xmlInitializeDict(void) {
+ xmlInitMutex(&xmlDictMutex);
+
+-#ifdef DICT_RANDOMIZATION
++#if defined(DICT_RANDOMIZATION) && !defined(HAVE_ARC4RANDOM)
+ #ifdef HAVE_RAND_R
+ rand_seed = time(NULL);
+ rand_r(& rand_seed);
+@@ -175,13 +175,17 @@ int __xmlInitializeDict(void) {
+ int __xmlRandom(void) {
+ int ret;
+
++#ifdef HAVE_ARC4RANDOM
++ ret = arc4random();
++#else
+ xmlMutexLock(&xmlDictMutex);
+-#ifdef HAVE_RAND_R
++# ifdef HAVE_RAND_R
+ ret = rand_r(& rand_seed);
+-#else
++# else
+ ret = rand();
+-#endif
++# endif
+ xmlMutexUnlock(&xmlDictMutex);
++#endif
+ return(ret);
+ }
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_lzma__sdk_C_CpuArch.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_lzma__sdk_C_CpuArch.c
new file mode 100644
index 000000000000..de897e5ab5f8
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_lzma__sdk_C_CpuArch.c
@@ -0,0 +1,44 @@
+--- src/3rdparty/chromium/third_party/lzma_sdk/C/CpuArch.c.orig 2022-09-04 11:56:14 UTC
++++ src/3rdparty/chromium/third_party/lzma_sdk/C/CpuArch.c
+@@ -412,12 +412,40 @@ BoolInt CPU_IsSupported_SHA1(void) { return APPLE_CRYP
+ BoolInt CPU_IsSupported_SHA2(void) { return APPLE_CRYPTO_SUPPORT_VAL; }
+ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYPTO_SUPPORT_VAL; }
+
++#elif defined(__OpenBSD__)
+
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#include <machine/cpu.h>
++#include <machine/armreg.h>
++
++BoolInt CPU_IsSupported_NEON() { return 1; }
++
++#define MY_HWCAP_CHECK_FUNC_2(name1, name2) \
++ BoolInt CPU_IsSupported_ ## name1() { \
++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; \
++ size_t len = sizeof(uint64_t); \
++ uint64_t cpu_id = 0; \
++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0) \
++ return 0; \
++ if (ID_AA64ISAR0_ ## name2(cpu_id) >= ID_AA64ISAR0_## name2 ##_BASE) \
++ return 1; \
++ return 0; \
++ }
++
++#define MY_HWCAP_CHECK_FUNC(name) \
++ MY_HWCAP_CHECK_FUNC_2(name, name)
++
++MY_HWCAP_CHECK_FUNC (CRC32)
++MY_HWCAP_CHECK_FUNC (SHA1)
++MY_HWCAP_CHECK_FUNC (SHA2)
++MY_HWCAP_CHECK_FUNC (AES)
++
+ #else // __APPLE__
+
+ #include <sys/auxv.h>
+
+-#if !defined(ARMV8_OS_FUCHSIA)
++#if !defined(ARMV8_OS_FUCHSIA) && !defined(__FreeBSD__)
+ #define USE_HWCAP
+ #endif // !defined(ARMV8_OS_FUCHSIA)
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_BUILD.gn
new file mode 100644
index 000000000000..22f2c7c85230
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_BUILD.gn
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/third_party/maldoca/BUILD.gn.orig 2023-04-05 11:05:06 UTC
++++ src/3rdparty/chromium/third_party/maldoca/BUILD.gn
+@@ -264,6 +264,10 @@ source_set("maldoca-public-headers") {
+ ":maldoca_chromium_config",
+ ":maldoca_flags",
+ ]
++
++ if (is_bsd) {
++ libs = [ "iconv" ]
++ }
+ }
+
+ static_library("maldoca") {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc
new file mode 100644
index 000000000000..012d63151999
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_base_get__runfiles__dir.cc
@@ -0,0 +1,32 @@
+--- src/3rdparty/chromium/third_party/maldoca/src/maldoca/base/get_runfiles_dir.cc.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/maldoca/src/maldoca/base/get_runfiles_dir.cc
+@@ -24,11 +24,6 @@
+ #error "__APPLE__ not supported."
+ #endif
+
+-#if defined(__FreeBSD__)
+-// TODO(#110) FreeBSD-specific headers.
+-#error "__FreeBSD__ not supported."
+-#endif
+-
+ #if defined(_WIN32)
+ #include <windows.h>
+ #define PATH_MAX MAX_PATH
+@@ -50,8 +45,6 @@ std::string GetExecutablePath() {
+ char exe_path[PATH_MAX] = {0};
+ #ifdef __APPLE__
+ #error "__APPLE__ not supported.";
+-#elif defined(__FreeBSD__)
+-#error "__FreeBSD__ not supported.";
+ #elif defined(_WIN32)
+ HMODULE hModule = GetModuleHandleW(NULL);
+ WCHAR wc_file_path[MAX_PATH] = {0};
+@@ -97,8 +90,6 @@ std::string GetExecutablePath() {
+ absl::Status IsDirectory(const std::string& name) {
+ #ifdef __APPLE__
+ #error "__APPLE__ not supported.";
+-#elif defined(__FreeBSD__)
+-#error "__FreeBSD__ not supported.";
+ #else
+ struct stat sbuf;
+ if (stat(name.c_str(), &sbuf) != 0) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc
new file mode 100644
index 000000000000..1124a33989b5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_maldoca_src_maldoca_service_common_process__doc__wrapper.cc
@@ -0,0 +1,29 @@
+--- src/3rdparty/chromium/third_party/maldoca/src/maldoca/service/common/process_doc_wrapper.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/maldoca/src/maldoca/service/common/process_doc_wrapper.cc
+@@ -7,7 +7,7 @@
+ #include "build/build_config.h"
+
+ #include "base/files/file_util.h"
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/strings/string_util.h"
+ #else
+ #include "base/strings/string_util_win.h"
+@@ -21,7 +21,7 @@ namespace third_party_maldoca {
+
+
+ bool ExtensionEqualInCaseSensitive(base::FilePath file_path, std::string extension){
+- #if defined(OS_LINUX)
++ #if defined(OS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string file_extension = file_path.FinalExtension();
+ return base::CompareCaseInsensitiveASCII(file_extension, extension) == 0;
+ #else
+@@ -74,7 +74,7 @@ void AnalyzeOfficeDocument(base::File office_file,
+ maldoca::DocProcessor doc_processor(processor_config);
+
+ maldoca::ProcessDocumentRequest process_doc_request;
+- #if defined(OS_LINUX)
++ #if defined(OS_LINUX) || BUILDFLAG(IS_BSD)
+ const std::string file_name = file_path.BaseName().value().c_str();
+ process_doc_request.set_file_name(file_name);
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_material__color__utilities_src_cpp_palettes_tones.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_material__color__utilities_src_cpp_palettes_tones.cc
new file mode 100644
index 000000000000..5756f922f7d5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_material__color__utilities_src_cpp_palettes_tones.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/material_color_utilities/src/cpp/palettes/tones.cc.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/material_color_utilities/src/cpp/palettes/tones.cc
+@@ -14,6 +14,8 @@
+ * limitations under the License.
+ */
+
++#include <cmath>
++
+ #include "cpp/palettes/tones.h"
+
+ #include <cmath>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_node_node.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_node_node.py
new file mode 100644
index 000000000000..8252cc43cf87
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_node_node.py
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/node/node.py.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/node/node.py
+@@ -35,6 +35,8 @@ def GetBinaryPath():
+ return os_path.join(os_path.dirname(__file__), *{
+ 'Darwin': ('mac', darwin_name, 'bin', 'node'),
+ 'Linux': ('linux', 'node-linux-x64', 'bin', 'node'),
++ 'OpenBSD': ('openbsd', 'node-openbsd', 'bin', 'node'),
++ 'FreeBSD': ('freebsd', 'node-freebsd', 'bin', 'node'),
+ 'Windows': ('win', 'node.exe'),
+ }[platform.system()])
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_cfx__fontmapper.cpp
index 841874419cc8..cefcd897251a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_cfx__fontmapper.cpp
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_cfx__fontmapper.cpp
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2022-09-24 10:57:32 UTC
+--- src/3rdparty/chromium/third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/pdfium/core/fxge/cfx_fontmapper.cpp
@@ -157,7 +157,7 @@ constexpr AltFontFamily kAltFontFamilies[] = {
{"ForteMT", "Forte"},
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_pdfium.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_pdfium.gni
index 5a5ccd520ed8..838db5141373 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_pdfium.gni
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_pdfium.gni
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/third_party/pdfium/pdfium.gni.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/third_party/pdfium/pdfium.gni.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/pdfium/pdfium.gni
-@@ -42,7 +42,7 @@ declare_args() {
- pdf_use_cxx20 = is_win && is_component_build
-
- # Build PDFium with PartitionAlloc as the memory allocator.
+@@ -46,7 +46,7 @@ declare_args() {
+ # PDFium will use PartitionAlloc partitions to separate strings, scalars,
+ # etc. from other allocations. However, the use of PartitionAlloc for new or
+ # malloc is controlled by args in build_overrides/partition_alloc.gni.
- pdf_use_partition_alloc = pdf_use_partition_alloc_override
+ pdf_use_partition_alloc = pdf_use_partition_alloc_override && use_partition_alloc_as_malloc
- # Build PDFium to use Skia (experimental) for all PDFium graphics.
- # If enabled, coexists in build with AGG graphics and the default
+ # Temporary config allowing chromium to switch its location of the
+ # partition_alloc library. https://crbug.com/1467773
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_compiler__specific.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_compiler__specific.h
new file mode 100644
index 000000000000..0479b60ec02a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_compiler__specific.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/pdfium/third_party/base/compiler_specific.h.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/third_party/pdfium/third_party/base/compiler_specific.h
+@@ -17,7 +17,7 @@
+ // Annotate a function indicating it should not be inlined.
+ // Use like:
+ // NOINLINE void DoStuff() { ... }
+-#if defined(__clang__) && HAS_ATTRIBUTE(noinline)
++#if defined(__clang__) && (__clang_major__ >= 15) && HAS_ATTRIBUTE(noinline)
+ #define NOINLINE [[clang::noinline]]
+ #elif defined(COMPILER_GCC) && HAS_ATTRIBUTE(noinline)
+ #define NOINLINE __attribute__((noinline))
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_track__event__legacy.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
index 26507d13fb91..01cf9543d4f4 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_track__event__legacy.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/track_event_legacy.h.orig 2023-04-05 11:59:13 UTC
-+++ src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/track_event_legacy.h
-@@ -267,7 +267,7 @@ class PERFETTO_EXPORT_COMPONENT LegacyTraceId {
+--- src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h.orig 2023-04-28 17:01:32 UTC
++++ src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h
+@@ -249,7 +249,7 @@ class PERFETTO_EXPORT_COMPONENT LegacyTraceId {
// are different. E.g. on Mac size_t is considered a different type from
// uint64_t even though it has the same size and signedness.
// Below we add overloads for those types that are known to cause ambiguity.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc
index 94ef36aa2b95..18afd297453e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc.orig 2022-10-24 13:33:33 UTC
+--- src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc
-@@ -42,7 +42,7 @@
+@@ -44,7 +44,7 @@
#include <unistd.h>
#endif
@@ -9,7 +9,7 @@
#include <sys/ucred.h>
#endif
-@@ -803,9 +803,13 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+@@ -917,9 +917,13 @@ void UnixSocket::ReadPeerCredentialsPosix() {
return;
PERFETTO_CHECK(peer_cred_mode_ != SockPeerCredMode::kIgnore);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc
new file mode 100644
index 000000000000..565f390bca05
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_trace__processor_db_storage_numeric__storage.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc.orig 2023-10-14 11:56:57 UTC
++++ src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/storage/numeric_storage.cc
+@@ -245,8 +245,13 @@ BitVector NumericStorage::LinearSearch(FilterOp op,
+ } else if (const auto* i32 = std::get_if<int32_t>(&*val)) {
+ auto* start = static_cast<const int32_t*>(data_) + range.start;
+ TypedLinearSearch(*i32, start, op, builder);
++#if (defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__i386__)
++ } else if (const auto* db = std::get_if<long double>(&*val)) {
++ auto* start = static_cast<const long double*>(data_) + range.start;
++#else
+ } else if (const auto* db = std::get_if<double>(&*val)) {
+ auto* start = static_cast<const double*>(data_) + range.start;
++#endif
+ TypedLinearSearch(*db, start, op, builder);
+ } else {
+ PERFETTO_DFATAL("Invalid");
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc
index a9d978192472..6efdf1fe26fe 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc
-@@ -3122,7 +3122,8 @@ bool TracingServiceImpl::SnapshotClocks(
+@@ -3213,7 +3213,8 @@ bool TracingServiceImpl::SnapshotClocks(
#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
!PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_ipc_memfd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_ipc_memfd.cc
new file mode 100644
index 000000000000..fb3732693530
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_ipc_memfd.cc
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2023-09-13 18:23:44 UTC
++++ src/3rdparty/chromium/third_party/perfetto/src/tracing/ipc/memfd.cc
+@@ -20,7 +20,8 @@
+
+ #define PERFETTO_MEMFD_ENABLED() \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD))
+
+ #if PERFETTO_MEMFD_ENABLED()
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_track.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_track.cc
new file mode 100644
index 000000000000..fdff02b8b3c7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_track.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/perfetto/src/tracing/track.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/third_party/perfetto/src/tracing/track.cc
+@@ -143,7 +143,7 @@ namespace internal {
+ namespace {
+
+ uint64_t GetProcessStartTime() {
+-#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ std::string stat;
+ if (!base::ReadFile("/proc/self/stat", &stat))
+ return 0u;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_core_SkCpu.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_core_SkCpu.cpp
deleted file mode 100644
index 85318d909ea7..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
---- src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp.orig 2023-11-20 16:08:07 UTC
-+++ src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp
-@@ -73,6 +73,42 @@
- return features;
- }
-
-+#elif defined(SK_CPU_ARM64) && defined(__OpenBSD__)
-+ #include <sys/sysctl.h>
-+ #include <machine/cpu.h>
-+ #include <machine/armreg.h>
-+
-+ static uint32_t read_cpu_features() {
-+ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 };
-+ size_t len = sizeof(uint64_t);
-+ uint64_t cpu_id = 0;
-+ uint32_t features = 0;
-+
-+ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) == 0) {
-+ if (ID_AA64ISAR0_CRC32(cpu_id) >= ID_AA64ISAR0_CRC32_BASE)
-+ features |= SkCpu::CRC32;
-+ }
-+
-+ return features;
-+ }
-+
-+#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
-+ #include <machine/armreg.h>
-+ #ifndef ID_AA64ISAR0_CRC32_VAL
-+ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
-+ #endif
-+
-+ static uint32_t read_cpu_features() {
-+ uint32_t features = 0;
-+ uint64_t id_aa64isar0;
-+
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
-+ features |= SkCpu::CRC32;
-+ }
-+ return features;
-+ }
-+
- #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
- #include <sys/auxv.h>
-
-@@ -110,6 +146,23 @@
- if (std::size(buf) != midr_el1.read(buf, std::size(buf))
- || 0 == memcmp(kMongoose3, buf, std::size(buf))) {
- features &= ~(SkCpu::ASIMDHP);
-+ }
-+ }
-+ return features;
-+ }
-+
-+#elif defined(SK_CPU_ARM32) && defined(__FreeBSD__)
-+ #include <sys/auxv.h>
-+
-+ static uint32_t read_cpu_features() {
-+ unsigned long hwcaps = 0;
-+ uint32_t features = 0;
-+
-+ elf_aux_info(AT_HWCAP, (void *)&hwcaps, sizeof hwcaps);
-+ if (hwcaps & HWCAP_NEON) {
-+ features |= SkCpu::NEON;
-+ if (hwcaps & HWCAP_VFPv4) {
-+ features |= SkCpu::NEON_FMA|SkCpu::VFP_FP16;
- }
- }
- return features;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_sqlite_src_amalgamation_sqlite3.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_sqlite_src_amalgamation_sqlite3.c
index a01061bd59ab..751b46f30d9d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_sqlite_src_amalgamation_sqlite3.c
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_sqlite_src_amalgamation_sqlite3.c
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/sqlite/src/amalgamation/sqlite3.c.orig 2023-04-20 13:16:39 UTC
+--- src/3rdparty/chromium/third_party/sqlite/src/amalgamation/sqlite3.c.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/third_party/sqlite/src/amalgamation/sqlite3.c
-@@ -43595,7 +43595,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -43843,7 +43843,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
memset(zBuf, 0, nBuf);
randomnessPid = osGetpid(0);
#if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS)
@@ -13,7 +13,7 @@
int fd, got;
fd = robust_open("/dev/urandom", O_RDONLY, 0);
if( fd<0 ){
-@@ -43610,6 +43615,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
+@@ -43858,6 +43863,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB
robust_close(0, fd, __LINE__);
}
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Reactor_Debug.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Reactor_Debug.cpp
new file mode 100644
index 000000000000..7a5739bd8b76
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Reactor_Debug.cpp
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/swiftshader/src/Reactor/Debug.cpp.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/swiftshader/src/Reactor/Debug.cpp
+@@ -46,7 +46,7 @@ namespace {
+
+ bool IsUnderDebugger()
+ {
+-#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__)
++#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) && !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ static bool checked = false;
+ static bool res = false;
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Configurator.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Configurator.cpp
new file mode 100644
index 000000000000..4f44dbe0672b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Configurator.cpp
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/third_party/swiftshader/src/System/Configurator.cpp.orig 2022-06-17 14:20:10 UTC
++++ src/3rdparty/chromium/third_party/swiftshader/src/System/Configurator.cpp
+@@ -38,6 +38,9 @@ namespace sw {
+
+ Configurator::Configurator(const std::string &filePath)
+ {
++#if defined(__OpenBSD__) || defined(__FreeBSD__)
++ return;
++#endif
+ std::fstream file(filePath, std::ios::in);
+ if(file.fail())
+ {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Linux_MemFd.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Linux_MemFd.cpp
new file mode 100644
index 000000000000..b29f4c1c736a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_System_Linux_MemFd.cpp
@@ -0,0 +1,37 @@
+--- src/3rdparty/chromium/third_party/swiftshader/src/System/Linux/MemFd.cpp.orig 2023-09-13 18:23:44 UTC
++++ src/3rdparty/chromium/third_party/swiftshader/src/System/Linux/MemFd.cpp
+@@ -25,6 +25,7 @@
+ # define MFD_CLOEXEC 0x0001U
+ #endif
+
++#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
+ #if __aarch64__
+ # define __NR_memfd_create 279
+ #elif __arm__
+@@ -36,6 +37,7 @@
+ #elif __x86_64__
+ # define __NR_memfd_create 319
+ #endif /* __NR_memfd_create__ */
++#endif
+
+ LinuxMemFd::~LinuxMemFd()
+ {
+@@ -63,13 +65,17 @@ bool LinuxMemFd::allocate(const char *name, size_t siz
+ {
+ close();
+
+-#ifndef __NR_memfd_create
++#if !defined(__NR_memfd_create) || defined(__OpenBSD__)
+ TRACE("memfd_create() not supported on this system!");
+ return false;
+ #else
+ // In the event of no system call this returns -1 with errno set
+ // as ENOSYS.
++#if defined(__FreeBSD__)
++ fd_ = memfd_create(name, MFD_CLOEXEC);
++#else
+ fd_ = syscall(__NR_memfd_create, name, MFD_CLOEXEC);
++#endif
+ if(fd_ < 0)
+ {
+ TRACE("memfd_create() returned %d: %s", errno, strerror(errno));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp
new file mode 100644
index 000000000000..9abee3a057df
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp.orig 2022-02-07 13:39:41 UTC
++++ src/3rdparty/chromium/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp
+@@ -49,13 +49,17 @@ class SharedSemaphore (public)
+ {
+ pthread_mutexattr_t mattr;
+ pthread_mutexattr_init(&mattr);
++#if 0
+ pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED);
++#endif
+ pthread_mutex_init(&mutex, &mattr);
+ pthread_mutexattr_destroy(&mattr);
+
+ pthread_condattr_t cattr;
+ pthread_condattr_init(&cattr);
++#if 0
+ pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED);
++#endif
+ pthread_cond_init(&cond, &cattr);
+ pthread_condattr_destroy(&cattr);
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_WSI_libXCB.cpp b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_WSI_libXCB.cpp
new file mode 100644
index 000000000000..befa5de154a5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_swiftshader_src_WSI_libXCB.cpp
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/third_party/swiftshader/src/WSI/libXCB.cpp.orig 2023-03-09 06:31:50 UTC
++++ src/3rdparty/chromium/third_party/swiftshader/src/WSI/libXCB.cpp
+@@ -57,7 +57,7 @@ LibXcbExports *LibXCB::loadExports()
+ }
+ else
+ {
+- libxcb = loadLibrary("libxcb.so.1");
++ libxcb = loadLibrary("libxcb.so");
+ }
+
+ if(getProcAddress(RTLD_DEFAULT, "xcb_shm_query_version")) // Search the global scope for pre-loaded XCB library.
+@@ -66,7 +66,7 @@ LibXcbExports *LibXCB::loadExports()
+ }
+ else
+ {
+- libshm = loadLibrary("libxcb-shm.so.0");
++ libshm = loadLibrary("libxcb-shm.so");
+ }
+
+ return LibXcbExports(libxcb, libshm);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_BUILD.gn
new file mode 100644
index 000000000000..0ec45d02194b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_BUILD.gn
@@ -0,0 +1,15 @@
+--- src/3rdparty/chromium/third_party/test_fonts/fontconfig/BUILD.gn.orig 2022-03-01 11:59:41 UTC
++++ src/3rdparty/chromium/third_party/test_fonts/fontconfig/BUILD.gn
+@@ -26,7 +26,11 @@ if (is_linux || is_chromeos) {
+
+ copy("fonts_conf") {
+ sources = [ "fonts.conf" ]
+- outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ]
++ if (is_freebsd) {
++ outputs = [ "$root_out_dir/usr/local/etc/fonts/{{source_file_part}}" ]
++ } else {
++ outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ]
++ }
+ }
+
+ if (current_toolchain == host_toolchain) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_fontconfig__util__linux.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
new file mode 100644
index 000000000000..2166d1d0e2eb
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_fontconfig__util__linux.cc
@@ -0,0 +1,27 @@
+--- src/3rdparty/chromium/third_party/test_fonts/fontconfig/fontconfig_util_linux.cc.orig 2022-03-25 21:59:56 UTC
++++ src/3rdparty/chromium/third_party/test_fonts/fontconfig/fontconfig_util_linux.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include "build/build_config.h"
++
+ #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h"
+
+ #include <fontconfig/fontconfig.h>
+@@ -15,11 +17,15 @@
+ namespace test_fonts {
+
+ std::string GetSysrootDir() {
++#if BUILDFLAG(IS_BSD)
++ return std::string(".");
++#else
+ char buf[PATH_MAX + 1];
+ auto count = readlink("/proc/self/exe", buf, PATH_MAX);
+ assert(count > 0);
+ buf[count] = '\0';
+ return dirname(buf);
++#endif
+ }
+
+ void SetUpFontconfig() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc
new file mode 100644
index 000000000000..ba43c4f788ae
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc.orig 2023-04-05 11:05:06 UTC
++++ src/3rdparty/chromium/third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc
+@@ -56,7 +56,7 @@ int main() {
+ FcFini();
+
+ // Check existence of intended fontconfig cache file.
+- auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-9";
++ auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-" + FC_CACHE_VERSION;
+ bool cache_exists = access(cache.c_str(), F_OK) == 0;
+ return !cache_exists;
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_BUILD.gn
index a10cd1178266..bf385233e1f8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_BUILD.gn
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/BUILD.gn.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/BUILD.gn.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/BUILD.gn
@@ -59,7 +59,7 @@ config("vulkan_internal_config") {
defines += [
@@ -8,4 +8,4 @@
+ "FALLBACK_DATA_DIRS=\"/usr/X11R6/share:/usr/local/share:/usr/share\"",
]
}
- }
+ if (!vulkan_loader_shared) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
index 615a939c5599..78722a23698c 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h
-@@ -294,7 +294,15 @@ static inline char *loader_platform_executable_path(ch
+@@ -304,7 +304,15 @@ static inline char *loader_platform_executable_path(ch
return buffer;
}
@@ -15,5 +15,5 @@
+}
+#elif defined(__Fuchsia__)
static inline char *loader_platform_executable_path(char *buffer, size_t size) { return NULL; }
- #elif defined(__QNXNTO__)
+ #elif defined(__QNX__)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h
index d759643467ec..262b38b443fc 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__mem__alloc.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan-deps_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h.orig 2023-03-09 06:31:50 UTC
-+++ src/3rdparty/chromium/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_mem_alloc.h
-@@ -2703,7 +2703,7 @@ static void* vma_aligned_alloc(size_t alignment, size_
+--- src/3rdparty/chromium/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h
+@@ -2740,7 +2740,7 @@ static void* vma_aligned_alloc(size_t alignment, size_
return memalign(alignment, size);
}
-#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC))
+#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) || defined(__OpenBSD__) || defined(__FreeBSD__)
- #define ALIGNED_ALLOC_WITH_POSIX_MEMALIGN
- #elif defined(__GNU_LIBRARY__)
- # if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 16)
+ #include <cstdlib>
+
+ #if defined(__APPLE__)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan__memory__allocator_include_vk__mem__alloc.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
index 51abae4160d2..79fb83e67a78 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_vulkan__memory__allocator_include_vk__mem__alloc.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
@@ -2507,7 +2507,7 @@ void *vma_aligned_alloc(size_t alignment, size_t size)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_wayland_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_wayland_BUILD.gn
new file mode 100644
index 000000000000..e7d1cf81aa50
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_wayland_BUILD.gn
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/third_party/wayland/BUILD.gn.orig 2023-02-08 15:40:14 UTC
++++ src/3rdparty/chromium/third_party/wayland/BUILD.gn
+@@ -22,6 +22,11 @@ config("wayland_config") {
+ "src/src",
+ ]
+
++ if (is_bsd) {
++ include_dirs += [ "/usr/local/include/libepoll-shim" ]
++ libs = [ "epoll-shim" ]
++ }
++
+ # Client/Server headers are automatically generated. Though, we still need
+ # to pass the path where these headers are located.
+ include_dirs += [ "$root_gen_dir/third_party/wayland/src/protocol" ]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_BUILD.gn
index 8b8bdc8af8aa..ab2fc3d5a55d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/webrtc/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/webrtc/BUILD.gn.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/webrtc/BUILD.gn
-@@ -211,6 +211,9 @@ config("common_inherited_config") {
+@@ -216,6 +216,9 @@ config("common_inherited_config") {
if (is_linux || is_chromeos) {
defines += [ "WEBRTC_LINUX" ]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_audio__device_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_audio__device_BUILD.gn
index 9b9fabb12f88..bbb9e9aecb9a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_audio__device_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_audio__device_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/webrtc/modules/audio_device/BUILD.gn.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/third_party/webrtc/modules/audio_device/BUILD.gn.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/third_party/webrtc/modules/audio_device/BUILD.gn
-@@ -300,7 +300,7 @@ rtc_library("audio_device_impl") {
+@@ -349,7 +349,7 @@ rtc_library("audio_device_impl") {
if (rtc_use_dummy_audio_file_devices) {
defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ]
} else {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc
new file mode 100644
index 000000000000..d68e7a9f0a52
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc
@@ -0,0 +1,18 @@
+--- src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc.orig 2023-08-23 11:41:11 UTC
++++ src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc
+@@ -10,11 +10,15 @@
+
+ #include "modules/desktop_capture/linux/wayland/egl_dmabuf.h"
+
++#if !defined(WEBRTC_BSD)
+ #include <asm/ioctl.h>
++#endif
+ #include <dlfcn.h>
+ #include <fcntl.h>
+ #include <libdrm/drm_fourcc.h>
++#if !defined(WEBRTC_BSD)
+ #include <linux/types.h>
++#endif
+ #include <spa/param/video/format-utils.h>
+ #include <unistd.h>
+ #include <xf86drm.h>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
index c3a3263e64d8..ced8e98eea09 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc
-@@ -212,6 +212,12 @@ bool XServerPixelBuffer::Init(XAtomCache* cache, Windo
+@@ -203,6 +203,12 @@ bool XServerPixelBuffer::Init(XAtomCache* cache, Windo
void XServerPixelBuffer::InitShm(const XWindowAttributes& attributes) {
Visual* default_visual = attributes.visual;
int default_depth = attributes.depth;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc
index 7c8461b8c921..d2078c74e315 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_pc_legacy__stats__collector.cc
@@ -14,9 +14,9 @@ Date: 2023-12-21T14:08:26+01:00
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41432}
---- src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc.orig 2023-11-20 16:08:07 UTC
+--- src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc.orig 2024-02-10 00:27:53 UTC
+++ src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
-@@ -189,9 +189,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& in
+@@ -188,9 +188,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& in
{StatsReport::kStatsValueNameAccelerateRate, info.accelerate_rate},
{StatsReport::kStatsValueNamePreemptiveExpandRate,
info.preemptive_expand_rate},
@@ -29,7 +29,7 @@ Date: 2023-12-21T14:08:26+01:00
const IntForAdd ints[] = {
{StatsReport::kStatsValueNameCurrentDelayMs, info.delay_estimate_ms},
-@@ -245,9 +246,10 @@ void ExtractStats(const cricket::VoiceSenderInfo& info
+@@ -244,9 +245,10 @@ void ExtractStats(const cricket::VoiceSenderInfo& info
SetAudioProcessingStats(report, info.apm_statistics);
const FloatForAdd floats[] = {
@@ -42,7 +42,7 @@ Date: 2023-12-21T14:08:26+01:00
RTC_DCHECK_GE(info.audio_level, 0);
const IntForAdd ints[] = {
-@@ -341,7 +343,8 @@ void ExtractStats(const cricket::VideoReceiverInfo& in
+@@ -340,7 +342,8 @@ void ExtractStats(const cricket::VideoReceiverInfo& in
{StatsReport::kStatsValueNamePlisSent, info.plis_sent},
{StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms},
{StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms},
@@ -52,21 +52,21 @@ Date: 2023-12-21T14:08:26+01:00
};
for (const auto& i : ints)
-@@ -385,15 +388,19 @@ void ExtractStats(const cricket::VideoSenderInfo& info
+@@ -384,15 +387,19 @@ void ExtractStats(const cricket::VideoSenderInfo& info
info.encode_usage_percent},
- {StatsReport::kStatsValueNameFirsReceived, info.firs_rcvd},
+ {StatsReport::kStatsValueNameFirsReceived, info.firs_received},
{StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height},
- {StatsReport::kStatsValueNameFrameRateInput, round(info.framerate_input)},
+ {StatsReport::kStatsValueNameFrameRateInput,
+ static_cast<int>(round(info.framerate_input))},
{StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent},
{StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width},
-- {StatsReport::kStatsValueNameNacksReceived, info.nacks_rcvd},
+- {StatsReport::kStatsValueNameNacksReceived, info.nacks_received},
+ {StatsReport::kStatsValueNameNacksReceived,
-+ static_cast<int>(info.nacks_rcvd)},
++ static_cast<int>(info.nacks_received)},
{StatsReport::kStatsValueNamePacketsLost, info.packets_lost},
{StatsReport::kStatsValueNamePacketsSent, info.packets_sent},
- {StatsReport::kStatsValueNamePlisReceived, info.plis_rcvd},
+ {StatsReport::kStatsValueNamePlisReceived, info.plis_received},
- {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded},
- {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent},
+ {StatsReport::kStatsValueNameFramesEncoded,
@@ -76,7 +76,7 @@ Date: 2023-12-21T14:08:26+01:00
};
for (const auto& i : ints)
-@@ -782,19 +789,25 @@ StatsReport* LegacyStatsCollector::AddConnectionInfoRe
+@@ -780,19 +787,25 @@ StatsReport* LegacyStatsCollector::AddConnectionInfoRe
AddCandidateReport(remote_candidate_stats, false)->id());
const Int64ForAdd int64s[] = {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_net__test__helpers.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_net__test__helpers.cc
new file mode 100644
index 000000000000..296ec5680e28
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_net__test__helpers.cc
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/third_party/webrtc/rtc_base/net_test_helpers.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/third_party/webrtc/rtc_base/net_test_helpers.cc
+@@ -21,6 +21,7 @@
+ #endif
+ #if defined(WEBRTC_POSIX) && !defined(__native_client__)
+ #include <arpa/inet.h>
++#include <sys/socket.h>
+ #if defined(WEBRTC_ANDROID)
+ #include "rtc_base/ifaddrs_android.h"
+ #else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc
index 27858ffdac55..38d531526387 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc
-@@ -288,7 +288,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n
+@@ -292,7 +292,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n
}
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc
index 240bdcbb2e31..b3621f020698 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
-@@ -54,7 +54,7 @@
+@@ -56,7 +56,7 @@
#include "rtc_base/time_utils.h"
#include "system_wrappers/include/field_trial.h"
@@ -9,7 +9,7 @@
#include <linux/sockios.h>
#endif
-@@ -73,7 +73,7 @@ typedef void* SockOptArg;
+@@ -75,7 +75,7 @@ typedef void* SockOptArg;
#endif // WEBRTC_POSIX
@@ -18,7 +18,7 @@
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
-@@ -308,7 +308,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+@@ -310,7 +310,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
return -1;
}
if (opt == OPT_DONTFRAGMENT) {
@@ -27,7 +27,7 @@
*value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
#endif
} else if (opt == OPT_DSCP) {
-@@ -326,7 +326,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -328,7 +328,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
if (TranslateOption(opt, &slevel, &sopt) == -1)
return -1;
if (opt == OPT_DONTFRAGMENT) {
@@ -36,7 +36,7 @@
value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
#endif
} else if (opt == OPT_DSCP) {
-@@ -354,7 +354,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -356,7 +356,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
int PhysicalSocket::Send(const void* pv, size_t cb) {
int sent = DoSend(
s_, reinterpret_cast<const char*>(pv), static_cast<int>(cb),
@@ -45,7 +45,7 @@
// Suppress SIGPIPE. Without this, attempting to send on a socket whose
// other end is closed will result in a SIGPIPE signal being raised to
// our process, which by default will terminate the process, which we
-@@ -383,7 +383,7 @@ int PhysicalSocket::SendTo(const void* buffer,
+@@ -385,7 +385,7 @@ int PhysicalSocket::SendTo(const void* buffer,
size_t len = addr.ToSockAddrStorage(&saddr);
int sent =
DoSendTo(s_, static_cast<const char*>(buffer), static_cast<int>(length),
@@ -54,7 +54,7 @@
// Suppress SIGPIPE. See above for explanation.
MSG_NOSIGNAL,
#else
-@@ -641,7 +641,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+@@ -643,7 +643,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
*slevel = IPPROTO_IP;
*sopt = IP_DONTFRAGMENT;
break;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.h
index d24fa878f15f..2ad61cfbad04 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.h
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.h.orig 2022-10-24 13:33:33 UTC
+--- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.h
-@@ -12,7 +12,7 @@
- #define RTC_BASE_PHYSICAL_SOCKET_SERVER_H_
-
+@@ -14,7 +14,7 @@
#include "api/units/time_delta.h"
--#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+
+ #if defined(WEBRTC_POSIX)
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ // On Linux, use epoll.
#include <sys/epoll.h>
#define WEBRTC_USE_EPOLL 1
- #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_widevine_cdm_widevine.gni b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_widevine_cdm_widevine.gni
new file mode 100644
index 000000000000..e47da639e240
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_widevine_cdm_widevine.gni
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/third_party/widevine/cdm/widevine.gni.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/third_party/widevine/cdm/widevine.gni
+@@ -27,6 +27,8 @@ library_widevine_cdm_available =
+ (is_chromeos &&
+ (target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) ||
+ (target_os == "linux" && target_cpu == "x64") ||
++ (target_os == "openbsd" && target_cpu == "x64") ||
++ (target_os == "freebsd" && target_cpu == "x64") ||
+ (target_os == "mac" && (target_cpu == "x64" || target_cpu == "arm64")) ||
+ (target_os == "win" &&
+ (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64"))
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn
index b99d7342d389..d64f15ad9b82 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_BUILD.gn
@@ -1,6 +1,26 @@
---- src/3rdparty/chromium/third_party/zlib/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/third_party/zlib/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/third_party/zlib/BUILD.gn
-@@ -455,7 +455,7 @@ static_library("bundled_minizip") {
+@@ -139,7 +139,7 @@ if (use_arm_neon_optimizations) {
+ defines = [ "CRC32_ARMV8_CRC32" ]
+ if (is_android) {
+ defines += [ "ARMV8_OS_ANDROID" ]
+- } else if (is_linux || is_chromeos) {
++ } else if ((is_linux || is_chromeos) && !is_bsd) {
+ defines += [ "ARMV8_OS_LINUX" ]
+ } else if (is_mac) {
+ defines += [ "ARMV8_OS_MACOS" ]
+@@ -149,6 +149,10 @@ if (use_arm_neon_optimizations) {
+ defines += [ "ARMV8_OS_FUCHSIA" ]
+ } else if (is_win) {
+ defines += [ "ARMV8_OS_WINDOWS" ]
++ } else if (is_openbsd) {
++ defines += [ "ARMV8_OS_OPENBSD" ]
++ } else if (is_freebsd) {
++ defines += [ "ARMV8_OS_FREEBSD" ]
+ } else {
+ assert(false, "Unsupported ARM OS")
+ }
+@@ -462,7 +466,7 @@ static_library("bundled_minizip") {
]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c
new file mode 100644
index 000000000000..38c136535f1c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c
@@ -0,0 +1,50 @@
+--- src/3rdparty/chromium/third_party/zlib/cpu_features.c.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/third_party/zlib/cpu_features.c
+@@ -35,7 +35,8 @@ int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0;
+
+ #ifndef CPU_NO_SIMD
+
+-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS)
++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS) || \
++ defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD)
+ #include <pthread.h>
+ #endif
+
+@@ -52,6 +53,10 @@ int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0;
+ #include <windows.h>
+ #elif defined(ARMV8_OS_IOS)
+ #include <sys/sysctl.h>
++#elif defined(ARMV8_OS_OPENBSD)
++#include <sys/sysctl.h>
++#include <machine/cpu.h>
++#include <machine/armreg.h>
+ #elif !defined(_MSC_VER)
+ #include <pthread.h>
+ #else
+@@ -62,7 +67,7 @@ static void _cpu_check_features(void);
+ static void _cpu_check_features(void);
+ #endif
+
+-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_IOS) || defined(__ARM_NEON__) || defined(__ARM_NEON)
++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_IOS) || defined(__ARM_NEON__) || defined(__ARM_NEON) || defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD)
+ #if !defined(ARMV8_OS_MACOS)
+ // _cpu_check_features() doesn't need to do anything on mac/arm since all
+ // features are known at build time, so don't call it.
+@@ -115,6 +120,17 @@ static void _cpu_check_features(void)
+ unsigned long features = getauxval(AT_HWCAP2);
+ arm_cpu_enable_crc32 = !!(features & HWCAP2_CRC32);
+ arm_cpu_enable_pmull = !!(features & HWCAP2_PMULL);
++#elif defined(ARMV8_OS_OPENBSD)
++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 };
++ uint64_t cpu_id = 0;
++ size_t len = sizeof(cpu_id);
++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0)
++ return;
++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_PMULL)
++ arm_cpu_enable_pmull = 1;
++
++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_CRC32_BASE)
++ arm_cpu_enable_crc32 = 1;
+ #elif defined(ARMV8_OS_FUCHSIA)
+ uint32_t features;
+ zx_status_t rc = zx_system_get_features(ZX_FEATURE_KIND_CPU, &features);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_json__schema__compiler_feature__compiler.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_json__schema__compiler_feature__compiler.py
index abbee2641c5b..7b114a5793ba 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_json__schema__compiler_feature__compiler.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_json__schema__compiler_feature__compiler.py
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/tools/json_schema_compiler/feature_compiler.py.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/tools/json_schema_compiler/feature_compiler.py.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/tools/json_schema_compiler/feature_compiler.py
-@@ -271,6 +271,8 @@ FEATURE_GRAMMAR = ({
+@@ -272,6 +272,8 @@ FEATURE_GRAMMAR = ({
'linux': 'Feature::LINUX_PLATFORM',
'mac': 'Feature::MACOSX_PLATFORM',
'win': 'Feature::WIN_PLATFORM',
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_licenses_licenses.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_licenses_licenses.py
index 0dfa9b3a4808..eece09516469 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_licenses_licenses.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_licenses_licenses.py
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/tools/licenses/licenses.py.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/tools/licenses/licenses.py.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/tools/licenses/licenses.py
-@@ -618,6 +618,8 @@ def _GnBinary():
+@@ -751,6 +751,8 @@ def _GnBinary():
exe = 'gn'
if sys.platform.startswith('linux'):
subdir = 'linux64'
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn
index c6354c6a16d6..a6355ce7ed8d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn
-@@ -45,7 +45,7 @@ group("telemetry_chrome_test") {
+@@ -47,7 +47,7 @@ group("telemetry_chrome_test") {
data_deps += [ "//chrome:reorder_imports" ]
}
@@ -9,7 +9,7 @@
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
# CrOS currently has issues with the locally compiled version of
-@@ -186,7 +186,7 @@ group("telemetry_chrome_test_without_chrome") {
+@@ -172,7 +172,7 @@ group("telemetry_chrome_test_without_chrome") {
]
# Cr-Fuchsia doesn't support breakpad.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_protoc__wrapper_protoc__wrapper.py b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_protoc__wrapper_protoc__wrapper.py
index 24c78f4641d1..30a967525268 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_protoc__wrapper_protoc__wrapper.py
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_tools_protoc__wrapper_protoc__wrapper.py
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/tools/protoc_wrapper/protoc_wrapper.py.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/tools/protoc_wrapper/protoc_wrapper.py.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/tools/protoc_wrapper/protoc_wrapper.py
-@@ -175,15 +175,19 @@ def main(argv):
+@@ -179,15 +179,19 @@ def main(argv):
if not options.exclude_imports:
protoc_cmd += ["--include_imports"]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_clipboard_clipboard__constants.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_clipboard_clipboard__constants.h
index 7924af9905e5..d028631ecb43 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_clipboard_clipboard__constants.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_clipboard_clipboard__constants.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/clipboard/clipboard_constants.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/clipboard/clipboard_constants.h.orig 2023-02-08 09:03:45 UTC
+++ src/3rdparty/chromium/ui/base/clipboard/clipboard_constants.h
@@ -47,7 +47,7 @@ extern const char kMimeTypeDataTransferEndpoint[];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.cc
index 79de80575550..3c8c2dc646ff 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.cc
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/ui/base/cursor/cursor_factory.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/base/cursor/cursor_factory.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/cursor/cursor_factory.cc
-@@ -89,7 +89,7 @@ void CursorFactory::ObserveThemeChanges() {
-
- void CursorFactory::SetDeviceScaleFactor(float scale) {}
+@@ -98,7 +98,7 @@ void CursorFactory::ObserveThemeChanges() {
+ NOTIMPLEMENTED();
+ }
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.h
index e07f7a7e8cea..a491a495b6dd 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_cursor_cursor__factory.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/cursor/cursor_factory.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/base/cursor/cursor_factory.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/cursor/cursor_factory.h
-@@ -88,7 +88,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
+@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
base::ObserverList<CursorFactoryObserver>::Unchecked observers_;
};
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__factory.cc
index 6b838ecccde6..5edfe0015072 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_dragdrop_os__exchange__data__provider__factory.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/base/dragdrop/os_exchange_data_provider_factory.cc
@@ -7,7 +7,7 @@
#include "base/notreached.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.cc
index 138eaeb23614..d46504db82ba 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/ime/fake_text_input_client.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/ime/fake_text_input_client.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/ime/fake_text_input_client.cc
-@@ -167,7 +167,7 @@ bool FakeTextInputClient::ShouldDoLearning() {
+@@ -171,7 +171,7 @@ bool FakeTextInputClient::ShouldDoLearning() {
return false;
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.h
index 7a662ed6b560..9d7f2c1f6dc4 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_fake__text__input__client.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/ime/fake_text_input_client.h.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/ime/fake_text_input_client.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/ime/fake_text_input_client.h
-@@ -73,7 +73,7 @@ class FakeTextInputClient : public TextInputClient {
+@@ -74,7 +74,7 @@ class FakeTextInputClient : public TextInputClient {
void SetTextEditCommandForNextKeyEvent(TextEditCommand command) override;
ukm::SourceId GetClientSourceForMetrics() const override;
bool ShouldDoLearning() override;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_text__input__client.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_text__input__client.h
index e9fc52934e5a..6c1bcf28e30b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_text__input__client.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ime_text__input__client.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/ime/text_input_client.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/ui/base/ime/text_input_client.h.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/ui/base/ime/text_input_client.h
-@@ -242,7 +242,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient
+@@ -265,7 +265,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient
// fields that are considered 'private' (e.g. in incognito tabs).
virtual bool ShouldDoLearning() = 0;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_resource__bundle.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_resource__bundle.cc
index 720099c22c09..06c7bc0d03bd 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_resource__bundle.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_resource__bundle.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/base/resource/resource_bundle.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/ui/base/resource/resource_bundle.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/resource/resource_bundle.cc
-@@ -885,7 +885,7 @@ void ResourceBundle::ReloadFonts() {
+@@ -926,7 +926,7 @@ void ResourceBundle::ReloadFonts() {
}
ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const {
@@ -8,4 +8,4 @@
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
return max_scale_factor_;
#else
- return GetSupportedResourceScaleFactors().back();
+ return GetMaxSupportedResourceScaleFactor();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
index 5b1a5e7a453c..fe398bc13563 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc
@@ -1,6 +1,15 @@
---- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/base/ui_base_features.cc
-@@ -210,7 +210,7 @@ CONSTINIT const base::Feature kExperimentalFlingAnimat
+@@ -135,7 +135,7 @@ bool AreF11AndF12ShortcutsEnabled() {
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kRedundantImeCompositionClearing,
+ "RedundantImeCompositionClearing",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -234,7 +234,7 @@ CONSTINIT const base::Feature kExperimentalFlingAnimat
"ExperimentalFlingAnimation",
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +18,7 @@
(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
!BUILDFLAG(IS_CHROMEOS_LACROS))
base::FEATURE_ENABLED_BY_DEFAULT
-@@ -315,7 +315,7 @@ CONSTINIT const base::Feature kEyeDropper(
+@@ -346,7 +346,7 @@ CONSTINIT const base::Feature kEyeDropper(
// milestones.
CONSTINIT const base::Feature kEyeDropper(
"EyeDropper",
@@ -18,3 +27,12 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
+@@ -565,7 +565,7 @@ ChromeRefresh2023Level GetChromeRefresh2023Level() {
+ return level;
+ }
+
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ BASE_FEATURE(kWebUiSystemFont,
+ "WebUiSystemFont",
+ base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h
new file mode 100644
index 000000000000..b987c796364c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/ui/base/ui_base_features.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/ui/base/ui_base_features.h
+@@ -138,7 +138,7 @@ BASE_DECLARE_FEATURE(kSupportF11AndF12KeyShortcuts);
+ COMPONENT_EXPORT(UI_BASE_FEATURES) bool AreF11AndF12ShortcutsEnabled();
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(UI_BASE_FEATURES)
+ BASE_DECLARE_FEATURE(kRedundantImeCompositionClearing);
+ #endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX)
+@@ -273,7 +273,7 @@ enum class ChromeRefresh2023Level {
+ COMPONENT_EXPORT(UI_BASE_FEATURES)
+ ChromeRefresh2023Level GetChromeRefresh2023Level();
+
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kWebUiSystemFont);
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.cc
new file mode 100644
index 000000000000..77cebb838ff9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.cc
@@ -0,0 +1,18 @@
+--- src/3rdparty/chromium/ui/base/ui_base_switches.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/ui/base/ui_base_switches.cc
+@@ -31,13 +31,13 @@ const char kShowMacOverlayBorders[] = "show-mac-overla
+ const char kEnableResourcesFileSharing[] = "enable-resources-file-sharing";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ // Specifies system font family name. Improves determenism when rendering
+ // pages in headless mode.
+ const char kSystemFontFamily[] = "system-font-family";
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Specify the toolkit used to construct the Linux GUI.
+ const char kUiToolkitFlag[] = "ui-toolkit";
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.h
new file mode 100644
index 000000000000..4c9288b0f702
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__switches.h
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/ui/base/ui_base_switches.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/ui/base/ui_base_switches.h
+@@ -27,11 +27,11 @@ COMPONENT_EXPORT(UI_BASE) extern const char kShowMacOv
+ COMPONENT_EXPORT(UI_BASE) extern const char kEnableResourcesFileSharing[];
+ #endif
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(UI_BASE) extern const char kSystemFontFamily[];
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ COMPONENT_EXPORT(UI_BASE) extern const char kUiToolkitFlag[];
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_webui_web__ui__util.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_webui_web__ui__util.cc
index 12b5a81f1fd8..b5511aa3402b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_webui_web__ui__util.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_webui_web__ui__util.cc
@@ -1,6 +1,15 @@
---- src/3rdparty/chromium/ui/base/webui/web_ui_util.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/base/webui/web_ui_util.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/base/webui/web_ui_util.cc
-@@ -214,7 +214,7 @@ std::string GetFontFamily() {
+@@ -41,7 +41,7 @@ std::string GetFontFamilyMd() {
+ constexpr float kMaxScaleFactor = 1000.0f;
+
+ std::string GetFontFamilyMd() {
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ if (base::FeatureList::IsEnabled(features::kWebUiSystemFont)) {
+ return GetFontFamily();
+ }
+@@ -221,7 +221,7 @@ std::string GetFontFamily() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.cc
index 05cf581b5e9e..0553168d37d7 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/x/x11_cursor_factory.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/base/x/x11_cursor_factory.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/ui/base/x/x11_cursor_factory.cc
@@ -13,7 +13,7 @@
#include "ui/gfx/geometry/point.h"
@@ -9,7 +9,7 @@
#include "ui/linux/linux_ui.h"
#endif
-@@ -60,7 +60,7 @@ scoped_refptr<PlatformCursor> X11CursorFactory::Create
+@@ -62,7 +62,7 @@ scoped_refptr<PlatformCursor> X11CursorFactory::Create
}
void X11CursorFactory::ObserveThemeChanges() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.h
index f9b74e96aca2..650ac821a0cb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__factory.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/x/x11_cursor_factory.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/base/x/x11_cursor_factory.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/ui/base/x/x11_cursor_factory.h
@@ -20,7 +20,7 @@ namespace ui {
class X11Cursor;
@@ -9,7 +9,7 @@
class LinuxUi;
#endif
-@@ -59,7 +59,7 @@ class COMPONENT_EXPORT(UI_BASE_X) X11CursorFactory
+@@ -60,7 +60,7 @@ class COMPONENT_EXPORT(UI_BASE_X) X11CursorFactory
std::map<mojom::CursorType, scoped_refptr<X11Cursor>> default_cursors_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__loader.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__loader.cc
index e016355a3077..d525415d88bc 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__loader.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__cursor__loader.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/base/x/x11_cursor_loader.cc.orig 2022-10-24 13:33:33 UTC
+--- src/3rdparty/chromium/ui/base/x/x11_cursor_loader.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/base/x/x11_cursor_loader.cc
@@ -32,7 +32,7 @@
#include "ui/gfx/x/xproto.h"
@@ -13,7 +13,7 @@
void operator()(void* ptr) const { dlclose(ptr); }
};
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ std::unique_ptr<void, DlCloser> lib(dlopen("libXcursor.so", RTLD_LAZY));
+#else
std::unique_ptr<void, DlCloser> lib(dlopen("libXcursor.so.1", RTLD_LAZY));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_color_color__id.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_color_color__id.h
index 647b25e49a43..6abcc24d15b8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_color_color__id.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_color_color__id.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/color/color_id.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/color/color_id.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/color/color_id.h
-@@ -435,7 +435,7 @@
+@@ -567,7 +567,7 @@
E_CPONLY(kColorNativeColor6) \
E_CPONLY(kColorNativeBaseColor) \
E_CPONLY(kColorNativeSecondaryColor)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.cc
index 6f1bdae0e629..f5f4dcb524d1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/compositor/compositor.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/compositor/compositor.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/compositor/compositor.cc
-@@ -886,7 +886,7 @@ void Compositor::OnResume() {
+@@ -896,7 +896,7 @@ void Compositor::OnResume() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.h
index 268a48a59e0d..73b1e1444a7c 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_compositor_compositor.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/compositor/compositor.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/compositor/compositor.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/ui/compositor/compositor.h
-@@ -453,7 +453,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
+@@ -458,7 +458,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_devices_x11_device__data__manager__x11.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_devices_x11_device__data__manager__x11.cc
index 6d82a0c801b0..a3c44d8dc29d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_devices_x11_device__data__manager__x11.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_devices_x11_device__data__manager__x11.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/ui/events/devices/x11/device_data_manager_x11.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/events/devices/x11/device_data_manager_x11.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/ui/events/devices/x11/device_data_manager_x11.cc
-@@ -875,6 +875,7 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
+@@ -876,6 +876,7 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
}
void DeviceDataManagerX11::DisableDevice(x11::Input::DeviceId deviceid) {
+ NOTIMPLEMENTED();
blocked_devices_.set(static_cast<uint32_t>(deviceid), true);
// TODO(rsadam@): Support blocking touchscreen devices.
- std::vector<InputDevice> keyboards = GetKeyboardDevices();
+ std::vector<KeyboardDevice> keyboards = GetKeyboardDevices();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_event.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_event.cc
index eb84a2adffd6..a25d4a145c88 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_event.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_event.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/events/event.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/events/event.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/events/event.cc
-@@ -419,7 +419,7 @@ std::string LocatedEvent::ToString() const {
+@@ -427,7 +427,7 @@ std::string LocatedEvent::ToString() const {
MouseEvent::MouseEvent(const PlatformEvent& native_event)
: LocatedEvent(native_event),
changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)),
@@ -9,7 +9,7 @@
movement_(GetMouseMovementFromNative(native_event)),
#endif
pointer_details_(GetMousePointerDetailsFromNative(native_event)) {
-@@ -674,7 +674,7 @@ std::unique_ptr<Event> MouseWheelEvent::Clone() const
+@@ -676,7 +676,7 @@ std::unique_ptr<Event> MouseWheelEvent::Clone() const
return std::make_unique<MouseWheelEvent>(*this);
}
@@ -18,7 +18,7 @@
// This value matches Windows, Fuchsia WHEEL_DELTA, and (roughly) Firefox on
// Linux.
// static
-@@ -923,7 +923,7 @@ void KeyEvent::InitializeNative() {
+@@ -936,7 +936,7 @@ void KeyEvent::InitializeNative() {
if (synthesize_key_repeat_enabled_ && IsRepeated(GetLastKeyEvent()))
set_flags(flags() | EF_IS_REPEAT);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_gesture__detection_motion__event__generic.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_gesture__detection_motion__event__generic.h
new file mode 100644
index 000000000000..a67968ebae51
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_events_gesture__detection_motion__event__generic.h
@@ -0,0 +1,10 @@
+--- src/3rdparty/chromium/ui/events/gesture_detection/motion_event_generic.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/events/gesture_detection/motion_event_generic.h
+@@ -7,6 +7,7 @@
+
+ #include <stddef.h>
+ #include <stdint.h>
++#include <vector>
+
+ #include "base/time/time.h"
+ #include "third_party/abseil-cpp/absl/container/inlined_vector.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_BUILD.gn
index e508661c0172..5dfb92dcf6f8 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gfx/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gfx/BUILD.gn
-@@ -611,7 +611,7 @@ jumbo_source_set("memory_buffer_sources") {
+@@ -646,7 +646,7 @@ jumbo_source_set("memory_buffer_sources") {
deps += [ "//build/config/linux/libdrm" ]
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc
index 58dab0f666d0..e8d0097a48fd 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_canvas__skia.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/canvas_skia.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/ui/gfx/canvas_skia.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/gfx/canvas_skia.cc
-@@ -200,7 +200,7 @@ void Canvas::DrawStringRectWithFlags(const std::u16str
+@@ -212,7 +212,7 @@ void Canvas::DrawStringRectWithFlags(const std::u16str
Range range = StripAcceleratorChars(flags, &adjusted_text);
bool elide_text = ((flags & NO_ELLIPSIS) == 0);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_png__codec.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_png__codec.cc
index 49c8a36f170a..9a21e49de835 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_png__codec.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_png__codec.cc
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/ui/gfx/codec/png_codec.cc.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/ui/gfx/codec/png_codec.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/gfx/codec/png_codec.cc
-@@ -10,7 +10,7 @@
- #include "base/memory/raw_ptr.h"
+@@ -12,7 +12,7 @@
+ #include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "base/strings/string_util.h"
-#include "third_party/libpng/png.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_font__list.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_font__list.cc
deleted file mode 100644
index ed0c71d87717..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_font__list.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/3rdparty/chromium/ui/gfx/font_list.cc.orig 2022-02-28 16:54:41 UTC
-+++ src/3rdparty/chromium/ui/gfx/font_list.cc
-@@ -27,7 +27,7 @@ base::LazyInstance<scoped_refptr<gfx::FontListImpl>>::
- bool g_default_impl_initialized = false;
-
- bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) {
--#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- return !!fontManager->legacyMakeTypeface(family.c_str(), SkFontStyle());
- #else
- sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str()));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_client__native__pixmap__dmabuf.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_client__native__pixmap__dmabuf.cc
deleted file mode 100644
index d398efd7f79c..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_client__native__pixmap__dmabuf.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- src/3rdparty/chromium/ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2022-02-07 13:39:41 UTC
-+++ src/3rdparty/chromium/ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -5,7 +5,9 @@
- #include "ui/gfx/linux/client_native_pixmap_dmabuf.h"
-
- #include <fcntl.h>
-+#if !defined(__OpenBSD__) && !defined(__FreeBSD__)
- #include <linux/version.h>
-+#endif
- #include <stddef.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
-@@ -27,11 +29,7 @@
- #include "ui/gfx/buffer_format_util.h"
- #include "ui/gfx/switches.h"
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
--#include <linux/dma-buf.h>
--#else
--#include <linux/types.h>
--
-+#if defined(__OpenBSD__) || defined(__FreeBSD__)
- struct dma_buf_sync {
- __u64 flags;
- };
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_dmabuf__uapi.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_dmabuf__uapi.h
new file mode 100644
index 000000000000..2746d1e87073
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_linux_dmabuf__uapi.h
@@ -0,0 +1,36 @@
+--- src/3rdparty/chromium/ui/gfx/linux/dmabuf_uapi.h.orig 2023-12-12 22:08:45 UTC
++++ src/3rdparty/chromium/ui/gfx/linux/dmabuf_uapi.h
+@@ -5,12 +5,11 @@
+ #ifndef UI_GFX_LINUX_DMABUF_UAPI_H_
+ #define UI_GFX_LINUX_DMABUF_UAPI_H_
+
+-#include <linux/version.h>
++#include <sys/types.h>
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+-#include <linux/dma-buf.h>
+-#else
+-#include <linux/types.h>
++typedef int32_t __s32;
++typedef uint32_t __u32;
++typedef uint64_t __u64;
+
+ struct dma_buf_sync {
+ __u64 flags;
+@@ -26,9 +25,7 @@ constexpr unsigned long DMA_BUF_IOCTL_SYNC =
+ constexpr char DMA_BUF_BASE = 'b';
+ constexpr unsigned long DMA_BUF_IOCTL_SYNC =
+ _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync);
+-#endif
+
+-#ifndef DMA_BUF_IOCTL_EXPORT_SYNC_FILE
+ struct dma_buf_export_sync_file {
+ __u32 flags;
+ __s32 fd;
+@@ -43,6 +40,5 @@ constexpr unsigned long DMA_BUF_IOCTL_IMPORT_SYNC_FILE
+ _IOWR(DMA_BUF_BASE, 2, struct dma_buf_export_sync_file);
+ constexpr unsigned long DMA_BUF_IOCTL_IMPORT_SYNC_FILE =
+ _IOW(DMA_BUF_BASE, 3, struct dma_buf_import_sync_file);
+-#endif
+
+ #endif // UI_GFX_LINUX_DMABUF_UAPI_H_
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__pixmap__handle.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__pixmap__handle.cc
index 650932b68276..d244dfdc7cfe 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__pixmap__handle.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__pixmap__handle.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/gfx/native_pixmap_handle.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gfx/native_pixmap_handle.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gfx/native_pixmap_handle.cc
@@ -11,7 +11,7 @@
#include "ui/gfx/buffer_format_util.h"
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__widget__types.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__widget__types.h
index 401c8ea1d46b..de4ba874bf44 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__widget__types.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_native__widget__types.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/native_widget_types.h.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/ui/gfx/native_widget_types.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/gfx/native_widget_types.h
-@@ -106,7 +106,7 @@ class SkBitmap;
+@@ -103,7 +103,7 @@ class SkBitmap;
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -8,13 +8,13 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
extern "C" {
struct _AtkObject;
- typedef struct _AtkObject AtkObject;
-@@ -209,7 +209,7 @@ typedef NSFont* NativeFont;
- typedef id NativeViewAccessible;
+ using AtkObject = struct _AtkObject;
+@@ -221,7 +221,7 @@ using NativeViewAccessible = struct objc_object*;
+ #endif
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
// Linux doesn't have a native font type.
- typedef AtkObject* NativeViewAccessible;
+ using NativeViewAccessible = AtkObject*;
#else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.cc
index 7b19c6ccc833..7e79bf0f77bb 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/switches.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/gfx/switches.cc.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/ui/gfx/switches.cc
-@@ -33,7 +33,7 @@ const char kForcePrefersReducedMotion[] = "force-prefe
+@@ -28,7 +28,7 @@ const char kForcePrefersReducedMotion[] = "force-prefe
// Run in headless mode, i.e., without a UI or display server dependencies.
const char kHeadless[] = "headless";
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.h
index cb08def77887..3f2994715608 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_switches.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gfx/switches.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/gfx/switches.h.orig 2023-07-16 15:47:57 UTC
+++ src/3rdparty/chromium/ui/gfx/switches.h
-@@ -19,7 +19,7 @@ GFX_SWITCHES_EXPORT extern const char kEnableNativeGpu
+@@ -18,7 +18,7 @@ GFX_SWITCHES_EXPORT extern const char kEnableNativeGpu
GFX_SWITCHES_EXPORT extern const char kForcePrefersReducedMotion[];
GFX_SWITCHES_EXPORT extern const char kHeadless[];
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_x_xlib__support.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_x_xlib__support.cc
index 934f12ccb635..25f1781933fa 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_x_xlib__support.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gfx_x_xlib__support.cc
@@ -1,17 +1,17 @@
---- src/3rdparty/chromium/ui/gfx/x/xlib_support.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gfx/x/xlib_support.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gfx/x/xlib_support.cc
@@ -42,10 +42,18 @@ void InitXlib() {
if (xlib_loader->loaded())
return;
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ CHECK(xlib_loader->Load("libX11.so"));
+#else
CHECK(xlib_loader->Load("libX11.so.6"));
+#endif
auto* xlib_xcb_loader = GetXlibXcbLoader();
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ CHECK(xlib_xcb_loader->Load("libX11-xcb.so"));
+#else
CHECK(xlib_xcb_loader->Load("libX11-xcb.so.1"));
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_BUILD.gn
index b75fb8ce4836..4173ed9ea7cf 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gl/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gl/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gl/BUILD.gn
-@@ -172,8 +172,6 @@ jumbo_component("gl") {
+@@ -165,8 +165,6 @@ jumbo_component("gl") {
defines += [ "GPU_ENABLE_SERVICE_LOGGING" ]
}
@@ -9,7 +9,7 @@
all_dependent_configs = [ ":gl_config" ]
public_configs = [ "//third_party/khronos:khronos_headers" ]
-@@ -190,7 +188,6 @@ jumbo_component("gl") {
+@@ -183,7 +181,6 @@ jumbo_component("gl") {
]
public_deps = [
"//base",
@@ -17,7 +17,7 @@
"//ui/events/platform",
"//ui/gfx",
"//ui/gfx/geometry",
-@@ -455,7 +452,6 @@ jumbo_component("gl") {
+@@ -433,7 +430,6 @@ jumbo_component("gl") {
data_deps += [
"//third_party/angle:libEGL",
"//third_party/angle:libGLESv2",
@@ -25,7 +25,7 @@
]
if (enable_swiftshader) {
data_deps += [
-@@ -709,7 +705,6 @@ test("gl_unittests") {
+@@ -648,7 +644,6 @@ test("gl_unittests") {
data_deps = [
"//testing/buildbot/filters:gl_unittests_filters",
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__context.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__context.cc
index 41a4c19bebb3..100b11319b17 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__context.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__context.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gl/gl_context.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/gl/gl_context.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gl/gl_context.cc
-@@ -416,7 +416,7 @@ bool GLContext::MakeVirtuallyCurrent(
+@@ -445,7 +445,7 @@ bool GLContext::MakeVirtuallyCurrent(
DCHECK(virtual_context->IsCurrent(surface));
if (switched_real_contexts || virtual_context != current_virtual_context_) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__fence.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__fence.cc
new file mode 100644
index 000000000000..6f776755ee17
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__fence.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/ui/gl/gl_fence.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/gl/gl_fence.cc
+@@ -20,7 +20,7 @@
+ #endif
+
+ #if defined(USE_EGL)
+-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #define USE_GL_FENCE_ANDROID_NATIVE_FENCE_SYNC
+ #include "ui/gl/gl_fence_android_native_fence_sync.h"
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__implementation.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__implementation.cc
index 4a3afa687cde..bae39201ddc7 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__implementation.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__implementation.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gl/gl_implementation.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gl/gl_implementation.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gl/gl_implementation.cc
-@@ -288,7 +288,7 @@ GetRequestedGLImplementationFromCommandLine(
+@@ -291,7 +291,7 @@ GetRequestedGLImplementationFromCommandLine(
*fallback_to_software_gl = false;
bool overrideUseSoftwareGL =
command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__switches.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__switches.cc
index c918d5c71f4a..71aa3de0060b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__switches.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gl_gl__switches.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/gl/gl_switches.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/ui/gl/gl_switches.cc.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/ui/gl/gl_switches.cc
@@ -12,7 +12,7 @@
#include "base/android/build_info.h"
@@ -9,7 +9,7 @@
#include <vulkan/vulkan_core.h>
#include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck
#endif
-@@ -298,7 +298,7 @@ bool IsDefaultANGLEVulkan() {
+@@ -297,7 +297,7 @@ bool IsDefaultANGLEVulkan() {
base::android::SDK_VERSION_Q)
return false;
#endif // BUILDFLAG(IS_ANDROID)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc
index 5e60d9bccb3f..fdd51d2768de 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__compat.cc
@@ -1,10 +1,10 @@
---- src/3rdparty/chromium/ui/gtk/gtk_compat.cc.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/ui/gtk/gtk_compat.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/gtk/gtk_compat.cc
@@ -62,27 +62,47 @@ auto DlCast(void* symbol) {
}
void* GetLibGio() {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ static void* libgio = DlOpen("libgio-2.0.so");
+#else
static void* libgio = DlOpen("libgio-2.0.so.0");
@@ -13,7 +13,7 @@
}
void* GetLibGdkPixbuf() {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so");
+#else
static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so.0");
@@ -22,7 +22,7 @@
}
void* GetLibGdk3() {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ static void* libgdk3 = DlOpen("libgdk-3.so");
+#else
static void* libgdk3 = DlOpen("libgdk-3.so.0");
@@ -31,7 +31,7 @@
}
void* GetLibGtk3(bool check = true) {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ static void* libgtk3 = DlOpen("libgtk-3.so", check);
+#else
static void* libgtk3 = DlOpen("libgtk-3.so.0", check);
@@ -40,7 +40,7 @@
}
void* GetLibGtk4(bool check = true) {
-+#if defined(OS_BSD)
++#if BUILDFLAG(IS_BSD)
+ static void* libgtk4 = DlOpen("libgtk-4.so", check);
+#else
static void* libgtk4 = DlOpen("libgtk-4.so.1", check);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__ui.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__ui.cc
new file mode 100644
index 000000000000..777ee2dbd431
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_gtk__ui.cc
@@ -0,0 +1,22 @@
+--- src/3rdparty/chromium/ui/gtk/gtk_ui.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/gtk/gtk_ui.cc
+@@ -955,11 +955,19 @@ ui::DisplayConfig GtkUi::GetDisplayConfig() const {
+ GdkRectangle geometry;
+ gdk_monitor_get_geometry(monitor, &geometry);
+ int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
++#if defined(__clang__) && (__clang_major__ >= 16)
+ config.display_geometries.emplace_back(
+ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+ monitor_scale * geometry.width,
+ monitor_scale * geometry.height),
+ monitor_scale * font_scale);
++#else
++ config.display_geometries.emplace_back() = {
++ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
++ monitor_scale * geometry.width,
++ monitor_scale * geometry.height),
++ static_cast<float>(monitor_scale * font_scale)};
++#endif
+ }
+ return config;
+ }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_printing_print__dialog__gtk.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_printing_print__dialog__gtk.cc
index b6194b735755..2d08cd914c58 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_printing_print__dialog__gtk.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_gtk_printing_print__dialog__gtk.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/gtk/printing/print_dialog_gtk.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/gtk/printing/print_dialog_gtk.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/gtk/printing/print_dialog_gtk.cc
-@@ -403,7 +403,7 @@ void PrintDialogGtk::ShowDialog(
+@@ -440,7 +440,7 @@ void PrintDialogGtk::ShowDialog(
GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
GTK_PRINT_CAPABILITY_COPIES | GTK_PRINT_CAPABILITY_COLLATE |
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme.h
index dac2cd783482..3fa0142466ac 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/native_theme/native_theme.h.orig 2022-03-25 21:59:56 UTC
+--- src/3rdparty/chromium/ui/native_theme/native_theme.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/native_theme/native_theme.h
-@@ -59,7 +59,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
+@@ -62,7 +62,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
kCheckbox,
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme__base.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme__base.cc
index 9f5cbc157524..07bb9392d23e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme__base.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_native__theme_native__theme__base.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/ui/native_theme/native_theme_base.cc.orig 2023-02-08 09:03:45 UTC
+--- src/3rdparty/chromium/ui/native_theme/native_theme_base.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/native_theme/native_theme_base.cc
-@@ -273,7 +273,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
+@@ -275,7 +275,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
break;
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
case kFrameTopArea:
- PaintFrameTopArea(canvas, state, rect, extra.frame_top_area,
- color_scheme);
+ PaintFrameTopArea(canvas, state, rect,
+ absl::get<FrameTopAreaExtraParams>(extra),
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_common_features.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_common_features.cc
new file mode 100644
index 000000000000..9d319f36638e
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_common_features.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/ui/ozone/common/features.cc.orig 2023-05-31 08:12:17 UTC
++++ src/3rdparty/chromium/ui/ozone/common/features.cc
+@@ -30,7 +30,7 @@ BASE_FEATURE(kWaylandSurfaceSubmissionInPixelCoordinat
+ // enabled.
+ BASE_FEATURE(kWaylandFractionalScaleV1,
+ "WaylandFractionalScaleV1",
+-#if BUILDFLAG(IS_LINUX)
++#if 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_ui_ozone_platform_headless_vulkan__implementation__headless.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_headless_vulkan__implementation__headless.cc
index 33e247782197..91765f7c1d9e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_headless_vulkan__implementation__headless.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_headless_vulkan__implementation__headless.cc
@@ -1,6 +1,24 @@
---- src/3rdparty/chromium/ui/ozone/platform/headless/vulkan_implementation_headless.cc.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/headless/vulkan_implementation_headless.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/headless/vulkan_implementation_headless.cc
-@@ -155,7 +155,7 @@ VulkanImplementationHeadless::CreateImageFromGpuMemory
+@@ -117,7 +117,7 @@ VulkanImplementationHeadless::ExportVkFenceToGpuFence(
+
+ VkExternalSemaphoreHandleTypeFlagBits
+ VulkanImplementationHeadless::GetExternalSemaphoreHandleType() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
+ #else
+ return VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT;
+@@ -127,7 +127,7 @@ VulkanImplementationHeadless::GetExternalSemaphoreHand
+ bool VulkanImplementationHeadless::CanImportGpuMemoryBuffer(
+ gpu::VulkanDeviceQueue* device_queue,
+ gfx::GpuMemoryBufferType memory_buffer_type) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ const auto& enabled_extensions = device_queue->enabled_extensions();
+ return gfx::HasExtension(enabled_extensions,
+ VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME) &&
+@@ -150,7 +150,7 @@ VulkanImplementationHeadless::CreateImageFromGpuMemory
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT |
VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
auto tiling = VK_IMAGE_TILING_OPTIMAL;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.cc
index 8ee267a44110..028006979cbc 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc
-@@ -448,7 +448,7 @@ void WaylandToplevelWindow::HandleAuraToplevelConfigur
+@@ -539,7 +539,7 @@ void WaylandToplevelWindow::HandleAuraToplevelConfigur
const bool did_active_change = is_active_ != window_states.is_activated;
is_active_ = window_states.is_activated;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.h
index 8ae031564f3a..f3e424c41695 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__toplevel__window.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_toplevel_window.h
-@@ -250,7 +250,7 @@ class WaylandToplevelWindow : public WaylandWindow,
+@@ -244,7 +244,7 @@ class WaylandToplevelWindow : public WaylandWindow,
// Contains the previous state of the window.
PlatformWindowState previous_state_ = PlatformWindowState::kUnknown;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.cc
new file mode 100644
index 000000000000..c53ee9f8d1ce
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.cc
@@ -0,0 +1,44 @@
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_window.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_window.cc
+@@ -233,7 +233,7 @@ void WaylandWindow::OnPointerFocusChanged(bool focused
+ // Whenever the window gets the pointer focus back, the cursor shape must be
+ // updated. Otherwise, it is invalidated upon wl_pointer::leave and is not
+ // restored by the Wayland compositor.
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (focused && async_cursor_) {
+ async_cursor_->AddCursorLoadedCallback(
+ base::BindOnce(&WaylandWindow::OnCursorLoaded,
+@@ -490,7 +490,7 @@ bool WaylandWindow::ShouldUseNativeFrame() const {
+ void WaylandWindow::SetCursor(scoped_refptr<PlatformCursor> platform_cursor) {
+ DCHECK(platform_cursor);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto async_cursor = WaylandAsyncCursor::FromPlatformCursor(platform_cursor);
+
+ if (async_cursor_ == async_cursor) {
+@@ -661,7 +661,7 @@ std::string WaylandWindow::WindowStates::ToString() co
+ } else {
+ base::TrimString(states, " ", &states);
+ }
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ states += "; tiled_edges: ";
+ std::string tiled = "";
+ if (tiled_edges.left) {
+@@ -1111,12 +1111,12 @@ void WaylandWindow::UpdateCursorShape(scoped_refptr<Bi
+ cursor->bitmaps(), hotspot_in_dips,
+ std::ceil(cursor->cursor_image_scale_factor()));
+ }
+-#if !BUILDFLAG(IS_LINUX)
++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD)
+ cursor_ = cursor;
+ #endif
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void WaylandWindow::OnCursorLoaded(scoped_refptr<WaylandAsyncCursor> cursor,
+ scoped_refptr<BitmapCursor> bitmap_cursor) {
+ if (HasPointerFocus() && async_cursor_ == cursor && bitmap_cursor) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.h
index 4dd51dee4908..eb31e1e1535d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_wayland__window.h
@@ -1,6 +1,15 @@
---- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_window.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_window.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/wayland_window.h
-@@ -231,7 +231,7 @@ class WaylandWindow : public PlatformWindow,
+@@ -39,7 +39,7 @@
+ #include "ui/platform_window/platform_window_init_properties.h"
+ #include "ui/platform_window/wm/wm_drag_handler.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/ozone/platform/wayland/host/wayland_async_cursor.h"
+ #endif
+
+@@ -241,7 +241,7 @@ class WaylandWindow : public PlatformWindow,
bool is_snapped_primary = false;
bool is_snapped_secondary = false;
bool is_floated = false;
@@ -8,4 +17,22 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
WindowTiledEdges tiled_edges;
#endif
- };
+
+@@ -492,7 +492,7 @@ class WaylandWindow : public PlatformWindow,
+
+ void UpdateCursorShape(scoped_refptr<BitmapCursor> cursor);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void OnCursorLoaded(scoped_refptr<WaylandAsyncCursor> cursor,
+ scoped_refptr<BitmapCursor> bitmap_cursor);
+ #endif
+@@ -551,7 +551,7 @@ class WaylandWindow : public PlatformWindow,
+
+ wl::Object<zaura_surface> aura_surface_;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // The current asynchronously loaded cursor (Linux specific).
+ scoped_refptr<WaylandAsyncCursor> async_cursor_;
+ #else
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc
index d46e1bcac45c..3c2a96a74fe6 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc
@@ -1,11 +1,11 @@
---- src/3rdparty/chromium/ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc
-@@ -272,7 +272,7 @@ void XDGToplevelWrapperImpl::ConfigureTopLevel(
+@@ -308,7 +308,7 @@ void XDGToplevelWrapperImpl::OnToplevelConfigure(void*
CheckIfWlArrayHasValue(states, XDG_TOPLEVEL_STATE_ACTIVATED),
};
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
- if (xdg_toplevel_get_version(xdg_toplevel) >=
+ if (xdg_toplevel_get_version(toplevel) >=
XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION) {
// All four tiled states have the same since version, so it is enough to
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc
new file mode 100644
index 000000000000..5f5cdc1f1626
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc
+@@ -226,6 +226,10 @@ void ZWPTextInputWrapperV1::SetSurroundingText(
+ // so if it exceeds 16 bits, it may be broken.
+ static constexpr size_t kSizeLimit = 60000;
+ if (HasAdvancedSurroundingTextSupport() && text.length() > kSizeLimit) {
++#if defined(__FreeBSD_version) && __FreeBSD_version < 1300048
++ PLOG(ERROR) << "memfd is not supported";
++ return;
++#else
+ base::ScopedFD memfd(memfd_create("surrounding_text", MFD_CLOEXEC));
+ if (!memfd.get()) {
+ PLOG(ERROR) << "Failed to create memfd";
+@@ -238,6 +242,7 @@ void ZWPTextInputWrapperV1::SetSurroundingText(
+ zcr_extended_text_input_v1_set_large_surrounding_text(
+ extended_obj_.get(), memfd.get(), text.length(),
+ selection_range.start(), selection_range.end());
++#endif
+ } else {
+ zwp_text_input_v1_set_surrounding_text(obj_.get(), text.c_str(),
+ selection_range.start(),
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_ozone__platform__wayland.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_ozone__platform__wayland.cc
index 223bac5db10c..07714b9614c1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_ozone__platform__wayland.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_wayland_ozone__platform__wayland.cc
@@ -1,7 +1,14 @@
---- src/3rdparty/chromium/ui/ozone/platform/wayland/ozone_platform_wayland.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/wayland/ozone_platform_wayland.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/wayland/ozone_platform_wayland.cc
-@@ -71,7 +71,7 @@
+@@ -66,13 +66,13 @@
+ #include "ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h"
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "ui/ozone/platform/wayland/host/wayland_cursor_factory.h"
+ #else
+ #include "ui/ozone/common/bitmap_cursor_factory.h"
#endif
-#if BUILDFLAG(IS_LINUX)
@@ -9,7 +16,16 @@
#include "ui/ozone/platform/wayland/host/linux_ui_delegate_wayland.h"
#endif
-@@ -246,7 +246,7 @@ class OzonePlatformWayland : public OzonePlatform,
+@@ -262,7 +262,7 @@ class OzonePlatformWayland : public OzonePlatform,
+
+ buffer_manager_connector_ = std::make_unique<WaylandBufferManagerConnector>(
+ connection_->buffer_manager_host());
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ cursor_factory_ = std::make_unique<WaylandCursorFactory>(connection_.get());
+ #else
+ cursor_factory_ = std::make_unique<BitmapCursorFactory>();
+@@ -272,7 +272,7 @@ class OzonePlatformWayland : public OzonePlatform,
supported_buffer_formats_ =
connection_->buffer_manager_host()->GetSupportedBufferFormats();
@@ -18,7 +34,7 @@
linux_ui_delegate_ =
std::make_unique<LinuxUiDelegateWayland>(connection_.get());
#endif
-@@ -470,7 +470,7 @@ class OzonePlatformWayland : public OzonePlatform,
+@@ -510,7 +510,7 @@ class OzonePlatformWayland : public OzonePlatform,
DrmRenderNodePathFinder path_finder_;
#endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_ozone__platform__x11.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_ozone__platform__x11.cc
index 77f27f258b14..69946fcd81ce 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_ozone__platform__x11.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_ozone__platform__x11.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/ozone/platform/x11/ozone_platform_x11.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/ozone/platform/x11/ozone_platform_x11.cc
@@ -196,7 +196,7 @@ class OzonePlatformX11 : public OzonePlatform,
properties->supports_global_application_menus = true;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.cc
new file mode 100644
index 000000000000..b28474d43445
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/ui/ozone/platform/x11/x11_screen_ozone.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/ozone/platform/x11/x11_screen_ozone.cc
+@@ -235,7 +235,7 @@ base::Value::List X11ScreenOzone::GetGpuExtraInfo(
+ return result;
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void X11ScreenOzone::SetDisplayConfig(const DisplayConfig& display_config) {
+ display_config_ = &display_config;
+ // See DesktopScreenLinux, which sets the |device_scale_factor| before |this|
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.h
new file mode 100644
index 000000000000..052a328150d7
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_platform_x11_x11__screen__ozone.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/ui/ozone/platform/x11/x11_screen_ozone.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/ozone/platform/x11/x11_screen_ozone.h
+@@ -61,7 +61,7 @@ class X11ScreenOzone : public PlatformScreen,
+ std::string GetCurrentWorkspace() override;
+ base::Value::List GetGpuExtraInfo(
+ const gfx::GpuExtraInfo& gpu_extra_info) override;
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void SetDisplayConfig(const DisplayConfig& display_config) override;
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_ozone__platform.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_ozone__platform.h
index 69ac9d2ee115..a51739fee085 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_ozone__platform.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_ozone__platform.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/ozone/public/ozone_platform.h.orig 2022-11-30 08:12:58 UTC
+--- src/3rdparty/chromium/ui/ozone/public/ozone_platform.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/ui/ozone/public/ozone_platform.h
-@@ -144,7 +144,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
+@@ -143,7 +143,7 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
// back via gpu extra info.
bool fetch_buffer_formats_for_gmb_on_gpu = false;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.cc
new file mode 100644
index 000000000000..a81db05108b1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/ui/ozone/public/platform_screen.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/ozone/public/platform_screen.cc
+@@ -61,7 +61,7 @@ display::TabletState PlatformScreen::GetTabletState()
+ }
+ #endif
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void PlatformScreen::SetDisplayConfig(const DisplayConfig& display_config) {}
+ #endif
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.h
new file mode 100644
index 000000000000..0527962d31c0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_ozone_public_platform__screen.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/ui/ozone/public/platform_screen.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/ui/ozone/public/platform_screen.h
+@@ -15,7 +15,7 @@
+ #include "ui/gfx/gpu_extra_info.h"
+ #include "ui/gfx/native_widget_types.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "ui/linux/linux_ui.h"
+ #endif
+
+@@ -136,7 +136,7 @@ class COMPONENT_EXPORT(OZONE_BASE) PlatformScreen {
+ virtual base::Value::List GetGpuExtraInfo(
+ const gfx::GpuExtraInfo& gpu_extra_info);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Sets device scale factor received from external sources such as toolkits.
+ virtual void SetDisplayConfig(const DisplayConfig& display_config);
+ #endif
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.cc
index 3e295b22fc60..a234f6b09567 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/platform_window/platform_window_delegate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/platform_window/platform_window_delegate.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/ui/platform_window/platform_window_delegate.cc
-@@ -29,7 +29,7 @@ PlatformWindowDelegate::PlatformWindowDelegate() = def
+@@ -36,7 +36,7 @@ PlatformWindowDelegate::PlatformWindowDelegate() = def
PlatformWindowDelegate::~PlatformWindowDelegate() = default;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.h
index 6c4c24b12e2f..8078b0e1a956 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_platform__window_platform__window__delegate.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/platform_window/platform_window_delegate.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/platform_window/platform_window_delegate.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/ui/platform_window/platform_window_delegate.h
-@@ -130,7 +130,7 @@ class COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindow
+@@ -134,7 +134,7 @@ class COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindow
virtual void OnWindowStateChanged(PlatformWindowState old_state,
PlatformWindowState new_state) = 0;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc
index aab08dfe6cb7..b7f5e5968daf 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc
-@@ -74,7 +74,7 @@
+@@ -79,7 +79,7 @@
#include "base/win/win_util.h"
#endif
@@ -9,7 +9,7 @@
#include "ui/base/ime/linux/text_edit_command_auralinux.h"
#include "ui/linux/linux_ui.h"
#endif
-@@ -168,7 +168,7 @@ bool IsControlKeyModifier(int flags) {
+@@ -173,7 +173,7 @@ bool IsControlKeyModifier(int flags) {
// Control-modified key combination, but we cannot extend it to other platforms
// as Control has different meanings and behaviors.
// https://crrev.com/2580483002/#msg46
@@ -18,7 +18,7 @@
return flags & ui::EF_CONTROL_DOWN;
#else
return false;
-@@ -706,7 +706,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
+@@ -742,7 +742,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
if (!textfield)
return handled;
@@ -27,7 +27,7 @@
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
if (!handled && linux_ui &&
-@@ -878,7 +878,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
+@@ -924,7 +924,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
}
bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
@@ -36,7 +36,7 @@
// Skip any accelerator handling that conflicts with custom keybindings.
auto* linux_ui = ui::LinuxUi::instance();
std::vector<ui::TextEditCommandAuraLinux> commands;
-@@ -1831,7 +1831,7 @@ bool Textfield::ShouldDoLearning() {
+@@ -1929,7 +1929,7 @@ bool Textfield::ShouldDoLearning() {
return false;
}
@@ -45,7 +45,7 @@
// TODO(https://crbug.com/952355): Implement this method to support Korean IME
// reconversion feature on native text fields (e.g. find bar).
bool Textfield::SetCompositionFromExistingText(
-@@ -2344,14 +2344,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
+@@ -2442,14 +2442,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent(
#endif
return ui::TextEditCommand::DELETE_BACKWARD;
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.h
index a18da2326123..f57e7d05b71f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/controls/textfield/textfield.h.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/views/controls/textfield/textfield.h.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/controls/textfield/textfield.h
-@@ -42,7 +42,7 @@
+@@ -44,7 +44,7 @@
#include "ui/views/view.h"
#include "ui/views/word_lookup_client.h"
@@ -9,7 +9,7 @@
#include <vector>
#endif
-@@ -450,7 +450,7 @@ class VIEWS_EXPORT Textfield : public View,
+@@ -452,7 +452,7 @@ class VIEWS_EXPORT Textfield : public View,
// Set whether the text should be used to improve typing suggestions.
void SetShouldDoLearning(bool value) { should_do_learning_ = value; }
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_corewm_tooltip__aura.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_corewm_tooltip__aura.cc
index 658dfa312d5e..20dd34306bb6 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_corewm_tooltip__aura.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_corewm_tooltip__aura.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/corewm/tooltip_aura.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/views/corewm/tooltip_aura.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/ui/views/corewm/tooltip_aura.cc
-@@ -51,7 +51,7 @@ constexpr int kVerticalPaddingBottom = 5;
+@@ -38,7 +38,7 @@ namespace {
bool CanUseTranslucentTooltipWidget() {
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_focus_focus__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_focus_focus__manager.cc
index 01f65e8da5fa..56647f4fc04d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_focus_focus__manager.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_focus_focus__manager.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/focus/focus_manager.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/views/focus/focus_manager.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/ui/views/focus/focus_manager.cc
-@@ -625,7 +625,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+@@ -577,7 +577,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -9,7 +9,7 @@
// Processing an accelerator can delete things. Because we
// need these objects afterwards on Linux, save widget_ as weak pointer and
// save the close_on_deactivate property value of widget_delegate in a
-@@ -642,7 +642,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+@@ -594,7 +594,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
index c60c14fcaaa5..07d81668aa10 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc
@@ -194,7 +194,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd
return drag_operation_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
index 27dde6a0455b..bf67f7ad257b 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
-@@ -43,7 +43,7 @@
+@@ -44,7 +44,7 @@
#include "ui/wm/core/window_util.h"
#include "ui/wm/public/window_move_client.h"
@@ -9,7 +9,7 @@
#include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h"
#endif
-@@ -257,7 +257,7 @@ void DesktopWindowTreeHostPlatform::Init(const Widget:
+@@ -265,7 +265,7 @@ void DesktopWindowTreeHostPlatform::Init(const Widget:
if (params.type == Widget::InitParams::TYPE_WINDOW)
GetContentWindow()->SetProperty(aura::client::kAnimationsDisabledKey, true);
@@ -18,7 +18,7 @@
const bool requires_accelerated_widget = params.requires_accelerated_widget;
#else
const bool requires_accelerated_widget = false;
-@@ -329,7 +329,7 @@ std::unique_ptr<aura::client::DragDropClient>
+@@ -346,7 +346,7 @@ std::unique_ptr<aura::client::DragDropClient>
DesktopWindowTreeHostPlatform::CreateDragDropClient() {
ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window()));
std::unique_ptr<DesktopDragDropClientOzone> drag_drop_client =
@@ -27,7 +27,7 @@
std::make_unique<DesktopDragDropClientOzoneLinux>(window(), drag_handler);
#else
std::make_unique<DesktopDragDropClientOzone>(window(), drag_handler);
-@@ -1039,7 +1039,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis
+@@ -1081,7 +1081,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg
// DesktopWindowTreeHost:
// Linux subclasses this host and adds some Linux specific bits.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.cc
index 90f4d3025dd4..819ebb710d6d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/widget/widget.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/ui/views/widget/widget.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/widget/widget.cc
-@@ -52,7 +52,7 @@
+@@ -54,7 +54,7 @@
#include "ui/views/window/custom_frame_view.h"
#include "ui/views/window/dialog_delegate.h"
@@ -9,7 +9,7 @@
#include "ui/linux/linux_ui.h"
#endif
-@@ -1989,7 +1989,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
+@@ -2041,7 +2041,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const
if (parent_)
return parent_->GetNativeTheme();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.h
index 84a4e98c1e40..53a8abcb720d 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_widget_widget.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/widget/widget.h.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/ui/views/widget/widget.h.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/ui/views/widget/widget.h
-@@ -408,7 +408,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid
+@@ -410,7 +410,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWid
// If set, the widget was created in headless mode.
bool headless_mode = false;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_dialog__delegate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_dialog__delegate.cc
index 5afcd6af4470..f4d7dfbe9cb1 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_dialog__delegate.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_dialog__delegate.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/ui/views/window/dialog_delegate.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/ui/views/window/dialog_delegate.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/window/dialog_delegate.cc
-@@ -73,7 +73,7 @@ Widget* DialogDelegate::CreateDialogWidget(
+@@ -78,7 +78,7 @@ Widget* DialogDelegate::CreateDialogWidget(
// static
bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_frame__background.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_frame__background.cc
index 4f644ce8b9bc..b34d95a6105f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_frame__background.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_ui_views_window_frame__background.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/ui/views/window/frame_background.cc.orig 2022-02-28 16:54:41 UTC
+--- src/3rdparty/chromium/ui/views/window/frame_background.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/ui/views/window/frame_background.cc
@@ -110,7 +110,7 @@ void FrameBackground::PaintMaximized(gfx::Canvas* canv
int width) const {
@@ -7,5 +7,5 @@
-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \
+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \
BUILDFLAG(ENABLE_DESKTOP_AURA)
- ui::NativeTheme::ExtraParams params;
- params.frame_top_area.use_custom_frame = use_custom_frame_;
+ ui::NativeTheme::FrameTopAreaExtraParams frame_top_area;
+ frame_top_area.use_custom_frame = use_custom_frame_;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_BUILD.gn b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_BUILD.gn
index 14c7a8d8a55c..13e4649ae0be 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_BUILD.gn
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_BUILD.gn
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/BUILD.gn.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/v8/BUILD.gn.orig 2023-12-12 22:08:45 UTC
+++ src/3rdparty/chromium/v8/BUILD.gn
-@@ -1305,6 +1305,14 @@ config("toolchain") {
+@@ -1418,6 +1418,14 @@ config("toolchain") {
} else if (target_os == "chromeos") {
defines += [ "V8_HAVE_TARGET_OS" ]
defines += [ "V8_TARGET_OS_CHROMEOS" ]
@@ -15,7 +15,20 @@
}
# TODO(infra): Support v8_enable_prof on Windows.
-@@ -5777,7 +5785,7 @@ v8_component("v8_libbase") {
+@@ -2381,6 +2389,12 @@ template("run_mksnapshot") {
+ if (!v8_enable_builtins_profiling && v8_enable_builtins_reordering) {
+ args += [ "--reorder-builtins" ]
+ }
++
++ if (v8_current_cpu == "x86") {
++ args -= [
++ "--abort-on-bad-builtin-profile-data",
++ ]
++ }
+ }
+
+ # This is needed to distinguish between generating code for the simulator
+@@ -6173,7 +6187,7 @@ v8_component("v8_libbase") {
}
}
@@ -24,7 +37,7 @@
sources += [
"src/base/debug/stack_trace_posix.cc",
"src/base/platform/platform-linux.cc",
-@@ -5788,6 +5796,18 @@ v8_component("v8_libbase") {
+@@ -6184,6 +6198,18 @@ v8_component("v8_libbase") {
"dl",
"rt",
]
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_include_v8-internal.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_include_v8-internal.h
index 3e0eecb4313f..0c56f6f4652e 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_include_v8-internal.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_include_v8-internal.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/include/v8-internal.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/v8/include/v8-internal.h.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/v8/include/v8-internal.h
-@@ -176,7 +176,7 @@ using SandboxedPointer_t = Address;
+@@ -172,7 +172,7 @@ using SandboxedPointer_t = Address;
#ifdef V8_ENABLE_SANDBOX
// Size of the sandbox, excluding the guard regions surrounding it.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_api_api.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_api_api.cc
index 3254a55f7306..9f96f37381e7 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_api_api.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_api_api.cc
@@ -1,15 +1,15 @@
---- src/3rdparty/chromium/v8/src/api/api.cc.orig 2023-08-16 19:50:41 UTC
+--- src/3rdparty/chromium/v8/src/api/api.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/v8/src/api/api.cc
-@@ -142,7 +142,7 @@
+@@ -141,7 +141,7 @@
#include "src/wasm/wasm-serialization.h"
#endif // V8_ENABLE_WEBASSEMBLY
-#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD
+#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD
#include <signal.h>
+ #include <unistd.h>
- #if V8_ENABLE_WEBASSEMBLY
-@@ -6354,7 +6354,7 @@ bool v8::V8::Initialize(const int build_config) {
+@@ -6352,7 +6352,7 @@ bool v8::V8::Initialize(const int build_config) {
return true;
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_atomicops.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_atomicops.h
index 446117838b0a..51d11ee69264 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_atomicops.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_atomicops.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/v8/src/base/atomicops.h.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/v8/src/base/atomicops.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/v8/src/base/atomicops.h
@@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64;
using Atomic8 = char;
@@ -13,7 +13,7 @@
using Atomic64 = int64_t;
#else
using Atomic64 = intptr_t;
-@@ -258,7 +258,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p
+@@ -266,7 +266,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p
std::memory_order_seq_cst);
}
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-openbsd.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-openbsd.cc
index 3e8509780585..bf245be77f38 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-openbsd.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-openbsd.cc
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/v8/src/base/platform/platform-openbsd.cc.orig 2022-02-07 13:39:41 UTC
+--- src/3rdparty/chromium/v8/src/base/platform/platform-openbsd.cc.orig 2023-04-28 17:01:32 UTC
+++ src/3rdparty/chromium/v8/src/base/platform/platform-openbsd.cc
@@ -6,6 +6,7 @@
// POSIX-compatible parts, the implementation is in platform-posix.cc.
@@ -14,7 +14,7 @@
void OS::AdjustSchedulingParams() {}
+
+// static
-+Stack::StackSlot Stack::GetStackStart() {
++Stack::StackSlot Stack::ObtainCurrentThreadStackStart() {
+ stack_t ss;
+ void *base;
+ if (pthread_stackseg_np(pthread_self(), &ss) != 0)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-posix.cc
index a6ab51a09133..b08c34559dd2 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-posix.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-posix.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc.orig 2023-03-09 06:31:50 UTC
+--- src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc
-@@ -53,7 +53,7 @@
+@@ -55,7 +55,7 @@
#if V8_OS_DARWIN
#include <mach/mach.h>
#include <malloc/malloc.h>
@@ -9,7 +9,7 @@
#include <malloc.h>
#endif
-@@ -71,7 +71,7 @@
+@@ -73,7 +73,7 @@
#include <sys/syscall.h>
#endif
@@ -18,7 +18,7 @@
#define MAP_ANONYMOUS MAP_ANON
#endif
-@@ -297,8 +297,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
+@@ -305,8 +305,15 @@ void OS::SetRandomMmapSeed(int64_t seed) {
}
}
@@ -34,7 +34,7 @@
uintptr_t raw_addr;
{
MutexGuard guard(rng_mutex.Pointer());
-@@ -393,6 +400,7 @@ void* OS::GetRandomMmapAddr() {
+@@ -401,6 +408,7 @@ void* OS::GetRandomMmapAddr() {
#endif
return reinterpret_cast<void*>(raw_addr);
}
@@ -42,7 +42,7 @@
// TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files.
#if !V8_OS_CYGWIN && !V8_OS_FUCHSIA
-@@ -661,7 +669,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
+@@ -674,7 +682,7 @@ void OS::DestroySharedMemoryHandle(PlatformSharedMemor
// static
bool OS::HasLazyCommits() {
@@ -51,12 +51,12 @@
return true;
#else
// TODO(bbudge) Return true for all POSIX platforms.
-@@ -1238,7 +1246,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
+@@ -1281,7 +1289,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void*
// keep this version in POSIX as most Linux-compatible derivatives will
// support it. MacOS and FreeBSD are different here.
#if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \
- !defined(V8_OS_SOLARIS)
+ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD)
- // static
- Stack::StackSlot Stack::GetStackStart() {
+ namespace {
+ #if DEBUG
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_baseline_x64_baseline-assembler-x64-inl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_baseline_x64_baseline-assembler-x64-inl.h
new file mode 100644
index 000000000000..a21a55072cd9
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_baseline_x64_baseline-assembler-x64-inl.h
@@ -0,0 +1,13 @@
+--- src/3rdparty/chromium/v8/src/baseline/x64/baseline-assembler-x64-inl.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/baseline/x64/baseline-assembler-x64-inl.h
+@@ -73,9 +73,7 @@ MemOperand BaselineAssembler::FeedbackVectorOperand()
+
+ void BaselineAssembler::Bind(Label* label) { __ bind(label); }
+
+-void BaselineAssembler::JumpTarget() {
+- // NOP on x64.
+-}
++void BaselineAssembler::JumpTarget() { __ endbr64(); }
+
+ void BaselineAssembler::Jump(Label* target, Label::Distance distance) {
+ __ jmp(target, distance);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_builtins_x64_builtins-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_builtins_x64_builtins-x64.cc
new file mode 100644
index 000000000000..8aa573e775b6
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_builtins_x64_builtins-x64.cc
@@ -0,0 +1,46 @@
+--- src/3rdparty/chromium/v8/src/builtins/x64/builtins-x64.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/v8/src/builtins/x64/builtins-x64.cc
+@@ -44,6 +44,8 @@ namespace internal {
+ #define __ ACCESS_MASM(masm)
+
+ void Builtins::Generate_Adaptor(MacroAssembler* masm, Address address) {
++ __ CodeEntry();
++
+ __ LoadAddress(kJavaScriptCallExtraArg1Register,
+ ExternalReference::Create(address));
+ __ Jump(BUILTIN_CODE(masm->isolate(), AdaptorWithBuiltinExitFrame),
+@@ -430,7 +432,7 @@ void Generate_JSEntryVariant(MacroAssembler* masm, Sta
+ // Jump to a faked try block that does the invoke, with a faked catch
+ // block that sets the pending exception.
+ __ jmp(&invoke);
+- __ bind(&handler_entry);
++ __ BindExceptionHandler(&handler_entry);
+
+ // Store the current pc as the handler offset. It's used later to create the
+ // handler table.
+@@ -3327,6 +3329,9 @@ void SwitchBackAndReturnPromise(MacroAssembler* masm,
+ void GenerateExceptionHandlingLandingPad(MacroAssembler* masm,
+ Label* return_promise) {
+ int catch_handler = __ pc_offset();
++
++ __ endbr64();
++
+ // Restore rsp to free the reserved stack slots for the sections.
+ __ leaq(rsp, MemOperand(rbp, StackSwitchFrameConstants::kLastSpillOffset));
+
+@@ -3658,6 +3663,7 @@ void Builtins::Generate_WasmSuspend(MacroAssembler* ma
+ LoadJumpBuffer(masm, jmpbuf, true);
+ __ Trap();
+ __ bind(&resume);
++ __ endbr64();
+ __ LeaveFrame(StackFrame::STACK_SWITCH);
+ __ ret(0);
+ }
+@@ -3790,6 +3796,7 @@ void Generate_WasmResumeHelper(MacroAssembler* masm, w
+ }
+ __ Trap();
+ __ bind(&suspend);
++ __ endbr64();
+ __ LeaveFrame(StackFrame::STACK_SWITCH);
+ // Pop receiver + parameter.
+ __ ret(2 * kSystemPointerSize);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.cc
new file mode 100644
index 000000000000..294357791729
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.cc
@@ -0,0 +1,42 @@
+--- src/3rdparty/chromium/v8/src/codegen/x64/assembler-x64.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/codegen/x64/assembler-x64.cc
+@@ -1316,6 +1316,14 @@ void Assembler::hlt() {
+ emit(0xF4);
+ }
+
++void Assembler::endbr64() {
++ EnsureSpace ensure_space(this);
++ emit(0xF3);
++ emit(0x0f);
++ emit(0x1e);
++ emit(0xfa);
++}
++
+ void Assembler::emit_idiv(Register src, int size) {
+ EnsureSpace ensure_space(this);
+ emit_rex(src, size);
+@@ -1583,16 +1591,22 @@ void Assembler::jmp(Handle<Code> target, RelocInfo::Mo
+ emitl(code_target_index);
+ }
+
+-void Assembler::jmp(Register target) {
++void Assembler::jmp(Register target, bool notrack) {
+ EnsureSpace ensure_space(this);
++ if (notrack) {
++ emit(0x3e);
++ }
+ // Opcode FF/4 r64.
+ emit_optional_rex_32(target);
+ emit(0xFF);
+ emit_modrm(0x4, target);
+ }
+
+-void Assembler::jmp(Operand src) {
++void Assembler::jmp(Operand src, bool notrack) {
+ EnsureSpace ensure_space(this);
++ if (notrack) {
++ emit(0x3e);
++ }
+ // Opcode FF/4 m64.
+ emit_optional_rex_32(src);
+ emit(0xFF);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.h
new file mode 100644
index 000000000000..f455280dc92b
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_assembler-x64.h
@@ -0,0 +1,21 @@
+--- src/3rdparty/chromium/v8/src/codegen/x64/assembler-x64.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/codegen/x64/assembler-x64.h
+@@ -860,6 +860,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
+ void ret(int imm16);
+ void ud2();
+ void setcc(Condition cc, Register reg);
++ void endbr64();
+
+ void pblendw(XMMRegister dst, Operand src, uint8_t mask);
+ void pblendw(XMMRegister dst, XMMRegister src, uint8_t mask);
+@@ -917,8 +918,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBa
+ void jmp(Handle<Code> target, RelocInfo::Mode rmode);
+
+ // Jump near absolute indirect (r64)
+- void jmp(Register adr);
+- void jmp(Operand src);
++ void jmp(Register adr, bool notrack = false);
++ void jmp(Operand src, bool notrack = false);
+
+ // Unconditional jump relative to the current address. Low-level routine,
+ // use with caution!
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.cc
new file mode 100644
index 000000000000..26cc3ba91684
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/v8/src/codegen/x64/macro-assembler-x64.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/codegen/x64/macro-assembler-x64.cc
+@@ -51,6 +51,8 @@ Operand StackArgumentsAccessor::GetArgumentOperand(int
+ return Operand(rsp, kPCOnStackSize + index * kSystemPointerSize);
+ }
+
++void MacroAssembler::CodeEntry() { endbr64(); }
++
+ void MacroAssembler::Load(Register destination, ExternalReference source) {
+ if (root_array_available_ && options().enable_root_relative_access) {
+ intptr_t delta = RootRegisterOffsetForExternalReference(isolate(), source);
+@@ -2046,7 +2048,7 @@ void MacroAssembler::Switch(Register scratch, Register
+ cmpq(reg, Immediate(num_labels));
+ j(above_equal, &fallthrough);
+ leaq(table, MemOperand(&jump_table));
+- jmp(MemOperand(table, reg, times_8, 0));
++ jmp(MemOperand(table, reg, times_8, 0), /*notrack=*/true);
+ // Emit the jump table inline, under the assumption that it's not too big.
+ Align(kSystemPointerSize);
+ bind(&jump_table);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.h
new file mode 100644
index 000000000000..e230f6225052
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_codegen_x64_macro-assembler-x64.h
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/v8/src/codegen/x64/macro-assembler-x64.h.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/v8/src/codegen/x64/macro-assembler-x64.h
+@@ -646,11 +646,14 @@ class V8_EXPORT_PRIVATE MacroAssembler
+
+ // Define a function entrypoint. This doesn't emit any code for this
+ // architecture, as control-flow integrity is not supported for it.
+- void CodeEntry() {}
++ void CodeEntry();
+ // Define an exception handler.
+- void ExceptionHandler() {}
++ void ExceptionHandler() { CodeEntry(); }
+ // Define an exception handler and bind a label.
+- void BindExceptionHandler(Label* label) { bind(label); }
++ void BindExceptionHandler(Label* label) {
++ bind(label);
++ CodeEntry();
++ }
+
+ // ---------------------------------------------------------------------------
+ // Pointer compression support
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_ia32_instruction-selector-ia32.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_ia32_instruction-selector-ia32.cc
deleted file mode 100644
index 080323f60714..000000000000
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_ia32_instruction-selector-ia32.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/3rdparty/chromium/v8/src/compiler/backend/ia32/instruction-selector-ia32.cc.orig 2022-11-30 08:12:58 UTC
-+++ src/3rdparty/chromium/v8/src/compiler/backend/ia32/instruction-selector-ia32.cc
-@@ -3034,6 +3034,7 @@ void InstructionSelector::VisitI8x16Shuffle(Node* node
- Emit(opcode, 1, &dst, input_count, inputs, temp_count, temps);
- }
-
-+#if V8_ENABLE_WEBASSEMBLY
- void InstructionSelector::VisitI8x16Swizzle(Node* node) {
- InstructionCode op = kIA32I8x16Swizzle;
-
-@@ -3087,6 +3088,9 @@ void VisitMinOrMax(InstructionSelector* selector, Node
- void InstructionSelector::VisitF32x4Pmin(Node* node) {
- VisitMinOrMax(this, node, kIA32Minps, true);
- }
-+#else
-+void InstructionSelector::VisitI8x16Swizzle(Node* node) { UNREACHABLE(); }
-+#endif // V8_ENABLE_WEBASSEMBLY
-
- void InstructionSelector::VisitF32x4Pmax(Node* node) {
- VisitMinOrMax(this, node, kIA32Maxps, true);
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_x64_code-generator-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_x64_code-generator-x64.cc
new file mode 100644
index 000000000000..92ad4b47ce7f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_compiler_backend_x64_code-generator-x64.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/v8/src/compiler/backend/x64/code-generator-x64.cc.orig 2023-10-11 18:22:24 UTC
++++ src/3rdparty/chromium/v8/src/compiler/backend/x64/code-generator-x64.cc
+@@ -6828,11 +6828,11 @@ void CodeGenerator::AssembleArchTableSwitch(Instructio
+ // target = table + (target - table)
+ __ addq(input, kScratchRegister);
+ // Jump to the target.
+- __ jmp(input);
++ __ jmp(input, /*notrack=*/true);
+ } else {
+ // For non builtins, the value in the table is 'target_address' (8 bytes)
+ // jmp [table + index*8]
+- __ jmp(Operand(kScratchRegister, input, times_8, 0));
++ __ jmp(Operand(kScratchRegister, input, times_8, 0), /*notrack=*/true);
+ }
+ }
+
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_deoptimizer_x64_deoptimizer-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_deoptimizer_x64_deoptimizer-x64.cc
new file mode 100644
index 000000000000..0fcb108f05d5
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_deoptimizer_x64_deoptimizer-x64.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/v8/src/deoptimizer/x64/deoptimizer-x64.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/deoptimizer/x64/deoptimizer-x64.cc
+@@ -21,7 +21,7 @@ ASSERT_OFFSET(Builtin::kDeoptimizationEntry_Lazy);
+ #undef ASSERT_OFFSET
+
+ const int Deoptimizer::kEagerDeoptExitSize = 4;
+-const int Deoptimizer::kLazyDeoptExitSize = 4;
++const int Deoptimizer::kLazyDeoptExitSize = 8;
+
+ Float32 RegisterValues::GetFloatRegister(unsigned n) const {
+ return Float32::FromBits(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_diagnostics_perf-jit.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_diagnostics_perf-jit.cc
index 6b2abb31d0dd..fbe7e994da93 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_diagnostics_perf-jit.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_diagnostics_perf-jit.cc
@@ -1,7 +1,7 @@
---- src/3rdparty/chromium/v8/src/diagnostics/perf-jit.cc.orig 2022-06-17 14:20:10 UTC
+--- src/3rdparty/chromium/v8/src/diagnostics/perf-jit.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/v8/src/diagnostics/perf-jit.cc
-@@ -30,7 +30,7 @@
- #include "src/common/assert-scope.h"
+@@ -31,7 +31,7 @@
+ #include "src/flags/flags.h"
// Only compile the {LinuxPerfJitLogger} on Linux.
-#if V8_OS_LINUX
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_execution_isolate.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_execution_isolate.cc
index 25ea084c2370..b10e18c34b65 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_execution_isolate.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_execution_isolate.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/src/execution/isolate.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/v8/src/execution/isolate.cc.orig 2023-10-11 18:22:24 UTC
+++ src/3rdparty/chromium/v8/src/execution/isolate.cc
-@@ -146,6 +146,10 @@
+@@ -147,6 +147,10 @@
#include "src/execution/simulator-base.h"
#endif
@@ -11,7 +11,7 @@
extern "C" const uint8_t v8_Default_embedded_blob_code_[];
extern "C" uint32_t v8_Default_embedded_blob_code_size_;
extern "C" const uint8_t v8_Default_embedded_blob_data_[];
-@@ -3849,6 +3853,11 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
+@@ -4034,6 +4038,11 @@ void Isolate::InitializeDefaultEmbeddedBlob() {
uint32_t code_size = DefaultEmbeddedBlobCodeSize();
const uint8_t* data = DefaultEmbeddedBlobData();
uint32_t data_size = DefaultEmbeddedBlobDataSize();
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_flags_flags.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_flags_flags.cc
new file mode 100644
index 000000000000..a704bb280780
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_flags_flags.cc
@@ -0,0 +1,36 @@
+--- src/3rdparty/chromium/v8/src/flags/flags.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/flags/flags.cc
+@@ -12,6 +12,10 @@
+ #include <iomanip>
+ #include <sstream>
+
++#if V8_OS_OPENBSD
++#include <sys/mman.h>
++#endif
++
+ #include "src/base/functional.h"
+ #include "src/base/logging.h"
+ #include "src/base/platform/platform.h"
+@@ -31,7 +35,11 @@
+ namespace v8::internal {
+
+ // Define {v8_flags}, declared in flags.h.
++#if V8_OS_OPENBSD
++FlagValues v8_flags __attribute__((section(".openbsd.mutable")));
++#else
+ FlagValues v8_flags;
++#endif
+
+ // {v8_flags} needs to be aligned to a memory page, and the size needs to be a
+ // multiple of a page size. This is required for memory-protection of the memory
+@@ -824,6 +832,10 @@ void FlagList::FreezeFlags() {
+ // Note that for string flags we only protect the pointer itself, but not the
+ // string storage. TODO(12887): Fix this.
+ base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags));
++#if V8_OS_OPENBSD
++ if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1)
++ FATAL("unable to set immutability of v8_flags");
++#endif
+ }
+
+ // static
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64-inl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64-inl.h
new file mode 100644
index 000000000000..a38884e12313
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64-inl.h
@@ -0,0 +1,14 @@
+--- src/3rdparty/chromium/v8/src/maglev/x64/maglev-assembler-x64-inl.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/maglev/x64/maglev-assembler-x64-inl.h
+@@ -229,7 +229,10 @@ void MaglevAssembler::PushReverse(T... vals) {
+ detail::PushAllHelper<T...>::PushReverse(this, vals...);
+ }
+
+-inline void MaglevAssembler::BindJumpTarget(Label* label) { bind(label); }
++inline void MaglevAssembler::BindJumpTarget(Label* label) {
++ bind(label);
++ endbr64();
++}
+
+ inline void MaglevAssembler::BindBlock(BasicBlock* block) {
+ bind(block->label());
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64.cc
new file mode 100644
index 000000000000..20252707ee65
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_maglev_x64_maglev-assembler-x64.cc
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/v8/src/maglev/x64/maglev-assembler-x64.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/v8/src/maglev/x64/maglev-assembler-x64.cc
+@@ -433,10 +433,12 @@ void MaglevAssembler::OSRPrologue(Graph* graph) {
+ void MaglevAssembler::Prologue(Graph* graph) {
+ DCHECK(!graph->is_osr());
+
++ CodeEntry();
++
+ BailoutIfDeoptimized(rbx);
+
+ if (graph->has_recursive_calls()) {
+- bind(code_gen_state()->entry_label());
++ BindJumpTarget(code_gen_state()->entry_label());
+ }
+
+ // Tiering support.
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.cc
new file mode 100644
index 000000000000..8c27106d5ad1
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.cc
@@ -0,0 +1,22 @@
+--- src/3rdparty/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.cc
+@@ -110,6 +110,7 @@ RegExpMacroAssemblerX64::RegExpMacroAssemblerX64(Isola
+ backtrack_label_(),
+ exit_label_() {
+ DCHECK_EQ(0, registers_to_save % 2);
++ __ CodeEntry();
+ __ jmp(&entry_label_); // We'll write the entry code when we know more.
+ __ bind(&start_label_); // And then continue from here.
+ }
+@@ -714,6 +715,11 @@ bool RegExpMacroAssemblerX64::CheckSpecialClassRanges(
+ // Match any character.
+ return true;
+ }
++}
++
++void RegExpMacroAssemblerX64::BindJumpTarget(Label* label) {
++ Bind(label);
++ __ CodeEntry();
+ }
+
+ void RegExpMacroAssemblerX64::Fail() {
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.h
new file mode 100644
index 000000000000..43fbe6a20691
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_regexp_x64_regexp-macro-assembler-x64.h
@@ -0,0 +1,12 @@
+--- src/3rdparty/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/regexp/x64/regexp-macro-assembler-x64.h
+@@ -59,6 +59,9 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerX64
+ void CheckPosition(int cp_offset, Label* on_outside_input) override;
+ bool CheckSpecialClassRanges(StandardCharacterSet type,
+ Label* on_no_match) override;
++
++ void BindJumpTarget(Label* label) override;
++
+ void Fail() override;
+ Handle<HeapObject> GetCode(Handle<String> source) override;
+ void GoTo(Label* label) override;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc
index 956817daf095..8f34904e9bbe 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc
@@ -1,8 +1,8 @@
---- src/3rdparty/chromium/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2023-08-17 07:33:31 UTC
+++ src/3rdparty/chromium/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
@@ -9,6 +9,10 @@
- #include "src/objects/code.h"
+ #include "src/objects/instruction-stream.h"
+#if V8_OS_OPENBSD
+#include <sys/param.h>
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_handler-inside-posix.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_handler-inside-posix.cc
index dc0542162ea5..7ec4e44c855f 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_handler-inside-posix.cc
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_handler-inside-posix.cc
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/src/trap-handler/handler-inside-posix.cc.orig 2023-01-11 09:17:16 UTC
+--- src/3rdparty/chromium/v8/src/trap-handler/handler-inside-posix.cc.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/v8/src/trap-handler/handler-inside-posix.cc
-@@ -55,6 +55,8 @@ namespace trap_handler {
+@@ -59,6 +59,8 @@ namespace trap_handler {
#define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg
#elif V8_OS_FREEBSD
#define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg
@@ -9,7 +9,7 @@
#else
#error "Unsupported platform."
#endif
-@@ -64,8 +66,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
+@@ -68,8 +70,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
// si_code at its default of 0 for signals that don’t originate in hardware.
// The other conditions are only relevant for Linux.
return info->si_code > 0 && info->si_code != SI_USER &&
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h
index d9d610892469..b22dfb97260a 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_trap-handler_trap-handler.h
@@ -1,4 +1,4 @@
---- src/3rdparty/chromium/v8/src/trap-handler/trap-handler.h.orig 2022-04-21 18:48:31 UTC
+--- src/3rdparty/chromium/v8/src/trap-handler/trap-handler.h.orig 2023-05-31 08:12:17 UTC
+++ src/3rdparty/chromium/v8/src/trap-handler/trap-handler.h
@@ -20,7 +20,7 @@ namespace trap_handler {
// X64 on Linux, Windows, MacOS, FreeBSD.
@@ -7,5 +7,5 @@
- V8_OS_FREEBSD)
+ V8_OS_FREEBSD || V8_OS_OPENBSD)
#define V8_TRAP_HANDLER_SUPPORTED true
- // Arm64 (non-simulator) on Mac.
- #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_DARWIN
+ // Arm64 (non-simulator) on Mac and Linux.
+ #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && \
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
index 174870543e59..3dc87904205c 100644
--- a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h
@@ -1,6 +1,6 @@
---- src/3rdparty/chromium/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig 2023-04-05 11:05:06 UTC
+--- src/3rdparty/chromium/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig 2023-09-13 12:11:42 UTC
+++ src/3rdparty/chromium/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
-@@ -424,7 +424,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
+@@ -491,7 +491,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst
}
void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr,
@@ -9,7 +9,7 @@
LoadType type, uint32_t* protected_load_pc,
bool /* is_load_mem */, bool /* i64_offset */,
bool needs_shift) {
-@@ -504,7 +504,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
+@@ -571,7 +571,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis
}
void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
@@ -18,7 +18,7 @@
StoreType type, LiftoffRegList pinned,
uint32_t* protected_store_pc,
bool /* is_store_mem */, bool /* i64_offset */) {
-@@ -573,7 +573,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
+@@ -651,7 +651,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist
}
void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr,
@@ -27,7 +27,7 @@
LoadType type, LiftoffRegList /* pinned */,
bool /* i64_offset */) {
if (type.value() != LoadType::kI64Load) {
-@@ -593,7 +593,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
+@@ -671,7 +671,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst,
}
void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
@@ -36,7 +36,7 @@
StoreType type, LiftoffRegList pinned,
bool /* i64_offset */) {
DCHECK_NE(offset_reg, no_reg);
-@@ -663,7 +663,7 @@ enum Binop { kAdd, kSub, kAnd, kOr, kXor, kExchange };
+@@ -741,7 +741,7 @@ enum Binop { kAdd, kSub, kAnd, kOr, kXor, kExchange };
inline void AtomicAddOrSubOrExchange32(LiftoffAssembler* lasm, Binop binop,
Register dst_addr, Register offset_reg,
@@ -45,7 +45,7 @@
LiftoffRegister value,
LiftoffRegister result, StoreType type) {
DCHECK_EQ(value, result);
-@@ -730,7 +730,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble
+@@ -808,7 +808,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble
}
inline void AtomicBinop32(LiftoffAssembler* lasm, Binop op, Register dst_addr,
@@ -54,7 +54,7 @@
LiftoffRegister value, LiftoffRegister result,
StoreType type) {
DCHECK_EQ(value, result);
-@@ -842,7 +842,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino
+@@ -920,7 +920,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino
}
inline void AtomicBinop64(LiftoffAssembler* lasm, Binop op, Register dst_addr,
@@ -63,7 +63,7 @@
LiftoffRegister value, LiftoffRegister result) {
// We need {ebx} here, which is the root register. As the root register it
// needs special treatment. As we use {ebx} directly in the code below, we
-@@ -934,7 +934,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
+@@ -1012,7 +1012,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino
} // namespace liftoff
void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg,
@@ -72,7 +72,7 @@
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
if (type.value() == StoreType::kI64Store) {
-@@ -948,7 +948,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
+@@ -1026,7 +1026,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re
}
void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg,
@@ -81,7 +81,7 @@
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
if (type.value() == StoreType::kI64Store) {
-@@ -961,7 +961,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
+@@ -1039,7 +1039,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re
}
void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg,
@@ -90,7 +90,7 @@
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
if (type.value() == StoreType::kI64Store) {
-@@ -975,7 +975,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
+@@ -1053,7 +1053,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re
}
void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg,
@@ -99,7 +99,7 @@
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
if (type.value() == StoreType::kI64Store) {
-@@ -989,7 +989,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
+@@ -1067,7 +1067,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg
}
void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg,
@@ -108,7 +108,7 @@
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
if (type.value() == StoreType::kI64Store) {
-@@ -1003,7 +1003,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
+@@ -1081,7 +1081,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re
}
void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg,
@@ -117,7 +117,7 @@
LiftoffRegister value,
LiftoffRegister result, StoreType type,
bool /* i64_offset */) {
-@@ -1018,7 +1018,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
+@@ -1096,7 +1096,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add
}
void LiftoffAssembler::AtomicCompareExchange(
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.cc
new file mode 100644
index 000000000000..57c26827fc25
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.cc
@@ -0,0 +1,51 @@
+--- src/3rdparty/chromium/v8/src/wasm/jump-table-assembler.cc.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/wasm/jump-table-assembler.cc
+@@ -52,15 +52,21 @@ void JumpTableAssembler::InitializeJumpsToLazyCompileT
+ #if V8_TARGET_ARCH_X64
+ void JumpTableAssembler::EmitLazyCompileJumpSlot(uint32_t func_index,
+ Address lazy_compile_target) {
++ intptr_t displacement =
++ static_cast<intptr_t>(reinterpret_cast<uint8_t*>(lazy_compile_target) -
++ (pc_ + 9) - kNearJmpInstrSize);
++ if (!is_int32(displacement)) return;
++ CodeEntry(); // 4 bytes
+ // Use a push, because mov to an extended register takes 6 bytes.
+- pushq_imm32(func_index); // 5 bytes
+- EmitJumpSlot(lazy_compile_target); // 5 bytes
++ pushq_imm32(func_index); // 5 bytes
++ near_jmp(displacement, RelocInfo::NO_INFO); // 5 bytes
+ }
+
+ bool JumpTableAssembler::EmitJumpSlot(Address target) {
+ intptr_t displacement = static_cast<intptr_t>(
+- reinterpret_cast<uint8_t*>(target) - pc_ - kNearJmpInstrSize);
++ reinterpret_cast<uint8_t*>(target) - (pc_ + 4) - kNearJmpInstrSize);
+ if (!is_int32(displacement)) return false;
++ CodeEntry(); // 4 bytes
+ near_jmp(displacement, RelocInfo::NO_INFO); // 5 bytes
+ return true;
+ }
+@@ -68,11 +74,12 @@ bool JumpTableAssembler::EmitJumpSlot(Address target)
+ void JumpTableAssembler::EmitFarJumpSlot(Address target) {
+ Label data;
+ int start_offset = pc_offset();
++ CodeEntry(); // 4 bytes
+ jmp(Operand(&data)); // 6 bytes
+- Nop(2); // 2 bytes
++ Nop(6); // 6 bytes
+ // The data must be properly aligned, so it can be patched atomically (see
+ // {PatchFarJumpSlot}).
+- DCHECK_EQ(start_offset + kSystemPointerSize, pc_offset());
++ DCHECK_EQ(start_offset + kFarJumpTableSlotOffset, pc_offset());
+ USE(start_offset);
+ bind(&data);
+ dq(target); // 8 bytes
+@@ -83,7 +90,7 @@ void JumpTableAssembler::PatchFarJumpSlot(Address slot
+ // The slot needs to be pointer-size aligned so we can atomically update it.
+ DCHECK(IsAligned(slot, kSystemPointerSize));
+ // Offset of the target is at 8 bytes, see {EmitFarJumpSlot}.
+- reinterpret_cast<std::atomic<Address>*>(slot + kSystemPointerSize)
++ reinterpret_cast<std::atomic<Address>*>(slot + kFarJumpTableSlotOffset)
+ ->store(target, std::memory_order_relaxed);
+ // The update is atomic because the address is properly aligned.
+ // Because of cache coherence, the data update will eventually be seen by all
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.h
new file mode 100644
index 000000000000..b1f3d1d5539f
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_v8_src_wasm_jump-table-assembler.h
@@ -0,0 +1,16 @@
+--- src/3rdparty/chromium/v8/src/wasm/jump-table-assembler.h.orig 2023-07-16 15:47:57 UTC
++++ src/3rdparty/chromium/v8/src/wasm/jump-table-assembler.h
+@@ -185,9 +185,10 @@ class V8_EXPORT_PRIVATE JumpTableAssembler : public Ma
+ // boundaries. The jump table line size has been chosen to satisfy this.
+ #if V8_TARGET_ARCH_X64
+ static constexpr int kJumpTableLineSize = 64;
+- static constexpr int kJumpTableSlotSize = 5;
+- static constexpr int kFarJumpTableSlotSize = 16;
+- static constexpr int kLazyCompileTableSlotSize = 10;
++ static constexpr int kJumpTableSlotSize = 5 + 4;
++ static constexpr int kFarJumpTableSlotOffset = 2 * kSystemPointerSize;
++ static constexpr int kFarJumpTableSlotSize = 16 + 8;
++ static constexpr int kLazyCompileTableSlotSize = 10 + 4;
+ #elif V8_TARGET_ARCH_IA32
+ static constexpr int kJumpTableLineSize = 64;
+ static constexpr int kJumpTableSlotSize = 5;
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_browser__main__parts__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_browser__main__parts__impl.cc
new file mode 100644
index 000000000000..bc76caba35f0
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_browser__main__parts__impl.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/weblayer/browser/browser_main_parts_impl.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/weblayer/browser/browser_main_parts_impl.cc
+@@ -82,7 +82,7 @@
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+ #include "ui/base/ime/init/input_method_initializer.h"
+ #endif
+
+@@ -201,7 +201,7 @@ int BrowserMainPartsImpl::PreEarlyInitialization() {
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD))
+ ui::InitializeInputMethodForTesting();
+ #endif
+ #if BUILDFLAG(IS_ANDROID)
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.cc
new file mode 100644
index 000000000000..e30491b9f28a
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/weblayer/browser/content_browser_client_impl.cc.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/weblayer/browser/content_browser_client_impl.cc
+@@ -154,7 +154,7 @@
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ #include "content/public/common/content_descriptors.h"
+ #endif
+
+@@ -1025,7 +1025,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.h
new file mode 100644
index 000000000000..bcf8fe116242
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_content__browser__client__impl.h
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/weblayer/browser/content_browser_client_impl.h.orig 2023-09-13 12:11:42 UTC
++++ src/3rdparty/chromium/weblayer/browser/content_browser_client_impl.h
+@@ -184,7 +184,7 @@ class ContentBrowserClientImpl : public content::Conte
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- BUILDFLAG(IS_ANDROID)
++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ void GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_system__network__context__manager.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_system__network__context__manager.cc
new file mode 100644
index 000000000000..9b1ea960f8ef
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_browser_system__network__context__manager.cc
@@ -0,0 +1,11 @@
+--- src/3rdparty/chromium/weblayer/browser/system_network_context_manager.cc.orig 2022-03-25 21:59:56 UTC
++++ src/3rdparty/chromium/weblayer/browser/system_network_context_manager.cc
+@@ -69,7 +69,7 @@ void SystemNetworkContextManager::ConfigureDefaultNetw
+ network_context_params->user_agent = user_agent;
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
+ // We're not configuring the cookie encryption on these platforms yet.
+ network_context_params->enable_encrypted_cookies = false;
+ #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ||
diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_common_weblayer__paths.cc b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_common_weblayer__paths.cc
new file mode 100644
index 000000000000..80c3836c307c
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_weblayer_common_weblayer__paths.cc
@@ -0,0 +1,20 @@
+--- src/3rdparty/chromium/weblayer/common/weblayer_paths.cc.orig 2022-03-25 21:59:56 UTC
++++ src/3rdparty/chromium/weblayer/common/weblayer_paths.cc
+@@ -18,7 +18,7 @@
+
+ #if BUILDFLAG(IS_WIN)
+ #include "base/base_paths_win.h"
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ #include "base/nix/xdg_util.h"
+ #endif
+
+@@ -36,7 +36,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
+ return false;
+ *result = result->AppendASCII("weblayer");
+ return true;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ base::FilePath config_dir(base::nix::GetXDGDirectory(
+ env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir));
diff --git a/www/qt6-webengine/files/patch-src_core_CMakeLists.txt b/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
index 2c1eeafc4734..ce8adebaa3df 100644
--- a/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
+++ b/www/qt6-webengine/files/patch-src_core_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/core/CMakeLists.txt.orig 2023-08-16 19:50:41 UTC
+--- src/core/CMakeLists.txt.orig 2023-12-12 22:08:45 UTC
+++ src/core/CMakeLists.txt
-@@ -20,7 +20,7 @@ add_subdirectory(tools)
+@@ -20,7 +20,7 @@ add_subdirectory(tools/qwebengine_convert_dict)
# TOOLCHAIN SETUP
##
@@ -9,7 +9,7 @@
setup_toolchains()
endif()
-@@ -405,7 +405,7 @@ foreach(arch ${archs})
+@@ -409,7 +409,7 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_embedded_build
)
@@ -18,7 +18,7 @@
list(APPEND gnArgArg
use_gtk=false # GTK toolkit bindings
use_qt=false # Qt5 toolkit bindings
-@@ -415,7 +415,7 @@ foreach(arch ${archs})
+@@ -418,7 +418,7 @@ foreach(arch ${archs})
use_bundled_fontconfig=false
use_glib=false
use_bluez=false
@@ -27,7 +27,7 @@
is_cfi=false
use_ozone=true
ozone_auto_platforms=false
-@@ -474,6 +474,10 @@ foreach(arch ${archs})
+@@ -477,6 +477,10 @@ foreach(arch ${archs})
extend_gn_list(gnArgArg
ARGS use_pulseaudio
CONDITION QT_FEATURE_webengine_system_pulseaudio
@@ -37,4 +37,4 @@
+ CONDITION QT_FEATURE_webengine_system_sndio
)
extend_gn_list(gnArgArg
- ARGS use_vaapi
+ ARGS use_system_minigbm
diff --git a/www/qt6-webengine/files/patch-src_core_api_configure.cmake b/www/qt6-webengine/files/patch-src_core_api_configure.cmake
index 37bf6d26192b..ddeccc69e5bb 100644
--- a/www/qt6-webengine/files/patch-src_core_api_configure.cmake
+++ b/www/qt6-webengine/files/patch-src_core_api_configure.cmake
@@ -1,14 +1,14 @@
---- src/core/api/configure.cmake.orig 2023-11-20 16:08:07 UTC
+--- src/core/api/configure.cmake.orig 2023-12-12 22:08:45 UTC
+++ src/core/api/configure.cmake
@@ -10,6 +10,7 @@ if(NOT QT_CONFIGURE_RUNNING)
- if(PkgConfig_FOUND)
+ if(PkgConfig_FOUND AND QT_FEATURE_pkg_config)
pkg_check_modules(ALSA alsa IMPORTED_TARGET)
pkg_check_modules(PULSEAUDIO libpulse>=0.9.10 libpulse-mainloop-glib)
+ pkg_check_modules(SNDIO libsndio)
pkg_check_modules(XDAMAGE xdamage)
pkg_check_modules(POPPLER_CPP poppler-cpp IMPORTED_TARGET)
pkg_check_modules(GBM gbm)
-@@ -84,6 +85,11 @@ qt_feature("webengine-printing-and-pdf" PRIVATE
+@@ -90,6 +91,11 @@ qt_feature("webengine-printing-and-pdf" PRIVATE
CONDITION TARGET Qt::PrintSupport AND QT_FEATURE_printer AND
(CUPS_FOUND OR WIN32)
)
@@ -20,7 +20,7 @@
qt_feature("webengine-pepper-plugins" PRIVATE
LABEL "Pepper Plugins"
PURPOSE "Enables use of Pepper plugins."
-@@ -164,7 +170,7 @@ qt_feature("webengine-vaapi" PRIVATE
+@@ -170,7 +176,7 @@ qt_feature("webengine-vaapi" PRIVATE
PURPOSE "Enables support for VA-API hardware acceleration"
AUTODETECT GBM_FOUND AND LIBVA_FOUND AND QT_FEATURE_vulkan
# hardware accelerated encoding requires bundled libvpx
@@ -29,7 +29,7 @@
)
# internal testing feature
qt_feature("webengine-system-poppler" PRIVATE
-@@ -199,15 +205,19 @@ qt_configure_add_summary_entry(
+@@ -205,15 +211,19 @@ qt_configure_add_summary_entry(
)
qt_configure_add_summary_entry(
ARGS "webengine-vaapi"
diff --git a/www/qt6-webengine/files/patch-src_pdf_CMakeLists.txt b/www/qt6-webengine/files/patch-src_pdf_CMakeLists.txt
index 02f80b1dfddd..c5fd9473264d 100644
--- a/www/qt6-webengine/files/patch-src_pdf_CMakeLists.txt
+++ b/www/qt6-webengine/files/patch-src_pdf_CMakeLists.txt
@@ -1,16 +1,16 @@
---- src/pdf/CMakeLists.txt.orig 2023-10-03 19:49:54 UTC
+--- src/pdf/CMakeLists.txt.orig 2023-12-12 22:08:45 UTC
+++ src/pdf/CMakeLists.txt
@@ -71,7 +71,7 @@ add_dependencies(docs generate_pdf_attributions)
# TOOLCHAIN SETUP
##
--if(LINUX OR MINGW)
-+if(LINUX OR MINGW OR FREEBSD)
+-if(LINUX OR MINGW OR ANDROID)
++if(LINUX OR MINGW OR ANDROID OR FREEBSD)
setup_toolchains()
endif()
-@@ -134,7 +134,7 @@ foreach(arch ${archs})
- strip_absolute_paths_from_debug_symbols=false
+@@ -138,7 +138,7 @@ foreach(arch ${archs})
+ v8_enable_webassembly=false
)
- if(LINUX OR ANDROID)
diff --git a/www/qt6-webengine/pkg-plist b/www/qt6-webengine/pkg-plist
index 3a88087a9a7c..218e4c51ff94 100644
--- a/www/qt6-webengine/pkg-plist
+++ b/www/qt6-webengine/pkg-plist
@@ -2,6 +2,7 @@
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qtwebenginecoreglobal_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginecontextmenurequest_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginecookiestore_p.h
+%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginedesktopmediarequest_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginedownloadrequest_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebengineglobalsettings_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginehistory_p.h
@@ -11,11 +12,13 @@
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebengineprofile_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginescriptcollection_p.h
%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebengineurlrequestinfo_p.h
+%%QT_INCDIR%%/QtWebEngineCore/%%FULLVER%%/QtWebEngineCore/private/qwebenginewebauthuxrequest_p.h
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineCertificateError
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineClientCertificateSelection
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineClientCertificateStore
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineContextMenuRequest
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineCookieStore
+%%QT_INCDIR%%/QtWebEngineCore/QWebEngineDesktopMediaRequest
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineDownloadRequest
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineFileSystemAccessRequest
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineFindTextResult
@@ -41,6 +44,8 @@
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlRequestJob
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlScheme
%%QT_INCDIR%%/QtWebEngineCore/QWebEngineUrlSchemeHandler
+%%QT_INCDIR%%/QtWebEngineCore/QWebEngineWebAuthPinRequest
+%%QT_INCDIR%%/QtWebEngineCore/QWebEngineWebAuthUxRequest
%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCore
%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCoreDepends
%%QT_INCDIR%%/QtWebEngineCore/QtWebEngineCoreVersion
@@ -52,6 +57,7 @@
%%QT_INCDIR%%/QtWebEngineCore/qwebengineclientcertificatestore.h
%%QT_INCDIR%%/QtWebEngineCore/qwebenginecontextmenurequest.h
%%QT_INCDIR%%/QtWebEngineCore/qwebenginecookiestore.h
+%%QT_INCDIR%%/QtWebEngineCore/qwebenginedesktopmediarequest.h
%%QT_INCDIR%%/QtWebEngineCore/qwebenginedownloadrequest.h
%%QT_INCDIR%%/QtWebEngineCore/qwebenginefilesystemaccessrequest.h
%%QT_INCDIR%%/QtWebEngineCore/qwebenginefindtextresult.h
@@ -75,6 +81,7 @@
%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlrequestjob.h
%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlscheme.h
%%QT_INCDIR%%/QtWebEngineCore/qwebengineurlschemehandler.h
+%%QT_INCDIR%%/QtWebEngineCore/qwebenginewebauthuxrequest.h
%%QT_INCDIR%%/QtWebEngineQuick/%%FULLVER%%/QtWebEngineQuick/private/qquickwebengineaction_p.h
%%QT_INCDIR%%/QtWebEngineQuick/%%FULLVER%%/QtWebEngineQuick/private/qquickwebengineaction_p_p.h
%%QT_INCDIR%%/QtWebEngineQuick/%%FULLVER%%/QtWebEngineQuick/private/qquickwebengineclientcertificateselection_p.h
@@ -243,11 +250,13 @@ libdata/pkgconfig/Qt6WebEngineQuickDelegatesQml.pc
libdata/pkgconfig/Qt6WebEngineWidgets.pc
%%QT_TOOLDIR%%/QtWebEngineProcess
%%QT_TOOLDIR%%/qwebengine_convert_dict
+%%DRIVER%%%%QT_TOOLDIR%%/webenginedriver
%%QT_DATADIR%%/modules/WebEngineCore.json
%%QT_DATADIR%%/modules/WebEngineQuick.json
%%QT_DATADIR%%/modules/WebEngineQuickDelegatesQml.json
%%QT_DATADIR%%/modules/WebEngineWidgets.json
%%QT_DATADIR%%/resources/icudtl.dat
+@dir %%QT_DATADIR%%/resources/locales
%%QT_DATADIR%%/resources/qtwebengine_devtools_resources.pak
%%QT_DATADIR%%/resources/qtwebengine_resources.pak
%%QT_DATADIR%%/resources/qtwebengine_resources_100p.pak
diff --git a/www/qt6-websockets/distinfo b/www/qt6-websockets/distinfo
index 9cfc02d380e7..4f6c0c4014f0 100644
--- a/www/qt6-websockets/distinfo
+++ b/www/qt6-websockets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664653
-SHA256 (KDE/Qt/6.6.3/qtwebsockets-everywhere-src-6.6.3.tar.xz) = 16f481765794dd66e4538a1074fbc9a68e2091eda5f99868cc27d9b1a931a036
-SIZE (KDE/Qt/6.6.3/qtwebsockets-everywhere-src-6.6.3.tar.xz) = 455068
+TIMESTAMP = 1712115502
+SHA256 (KDE/Qt/6.7.0/qtwebsockets-everywhere-src-6.7.0.tar.xz) = 5ffc77da6b36cdf18e04c975a0fbf243968806a93a6291bcd2e9cd0b26139736
+SIZE (KDE/Qt/6.7.0/qtwebsockets-everywhere-src-6.7.0.tar.xz) = 454868
diff --git a/www/qt6-webview/distinfo b/www/qt6-webview/distinfo
index 96032685854f..bc7daf5619a4 100644
--- a/www/qt6-webview/distinfo
+++ b/www/qt6-webview/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664655
-SHA256 (KDE/Qt/6.6.3/qtwebview-everywhere-src-6.6.3.tar.xz) = 206463df560746b9ddfee3d5aae4a50831b5660510f862998e7b319ee2ef4c02
-SIZE (KDE/Qt/6.6.3/qtwebview-everywhere-src-6.6.3.tar.xz) = 138776
+TIMESTAMP = 1712115504
+SHA256 (KDE/Qt/6.7.0/qtwebview-everywhere-src-6.7.0.tar.xz) = 3619e07138cc1fe2fa091e25ba6548f5f11f26f1ebf68a56f193aed336ea5cf9
+SIZE (KDE/Qt/6.7.0/qtwebview-everywhere-src-6.7.0.tar.xz) = 138160
diff --git a/x11-toolkits/py-qt6-chart/Makefile b/x11-toolkits/py-qt6-chart/Makefile
index 28359c0b8d68..f38512934c34 100644
--- a/x11-toolkits/py-qt6-chart/Makefile
+++ b/x11-toolkits/py-qt6-chart/Makefile
@@ -13,14 +13,11 @@ WWW= https://riverbankcomputing.com/software/pyqtchart
LICENSE= ${PYQT6_LICENSE}
-LIB_DEPENDS= libqscintilla2_qt6.so:devel/qscintilla2-qt6
-
USES= gl pyqt:6 python qt:6
-USE_GL= gl
-USE_LOCALE= C.UTF-8
+USE_GL= opengl
USE_PYQT= sip:build pyqt6 qtbuilder
USE_PYTHON= concurrent flavors
-USE_QT= base charts declarative
+USE_QT= base charts
PLIST_SUB= PYQTCHART_VERSION=${DISTVERSION}
diff --git a/x11-toolkits/py-qt6-chart/distinfo b/x11-toolkits/py-qt6-chart/distinfo
index 2a7e119613f9..7b736cb07cd8 100644
--- a/x11-toolkits/py-qt6-chart/distinfo
+++ b/x11-toolkits/py-qt6-chart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698899792
-SHA256 (PyQt6_Charts-6.6.0.tar.gz) = 14cc6e5d19cae80129524a42fa6332d0d5dada4282a9423425e6b9ae1b6bc56d
-SIZE (PyQt6_Charts-6.6.0.tar.gz) = 41221
+TIMESTAMP = 1714272017
+SHA256 (PyQt6_Charts-6.7.0.tar.gz) = c4f7cf369928f7bf032e4e33f718d3b8fe66da176d4959fe30735a970d86f35c
+SIZE (PyQt6_Charts-6.7.0.tar.gz) = 41390
diff --git a/x11-toolkits/py-qt6-datavis3d/Makefile b/x11-toolkits/py-qt6-datavis3d/Makefile
index a2f0b35294a2..5bbd80b56c2b 100644
--- a/x11-toolkits/py-qt6-datavis3d/Makefile
+++ b/x11-toolkits/py-qt6-datavis3d/Makefile
@@ -12,8 +12,7 @@ COMMENT= Python bindings for the Qt6 data visualization library
WWW= https://riverbankcomputing.com/software/pyqtdatavisualization/
USES= gl pyqt:6 python qt:6
-USE_GL= gl
-USE_LOCALE= C.UTF-8
+USE_GL= opengl
USE_PYQT= sip:build pyqt6 qtbuilder:build
USE_PYTHON= concurrent flavors
USE_QT= base datavis3d
diff --git a/x11-toolkits/py-qt6-datavis3d/distinfo b/x11-toolkits/py-qt6-datavis3d/distinfo
index 798540481cbe..deff4dcceb00 100644
--- a/x11-toolkits/py-qt6-datavis3d/distinfo
+++ b/x11-toolkits/py-qt6-datavis3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1698900083
-SHA256 (PyQt6_DataVisualization-6.6.0.tar.gz) = 5ad62a0f9815eca3acdff1078cfc2c10f6542c1d5cfe53626c0015e854441479
-SIZE (PyQt6_DataVisualization-6.6.0.tar.gz) = 209892
+TIMESTAMP = 1714272032
+SHA256 (PyQt6_DataVisualization-6.7.0.tar.gz) = 8cbdd50326a2cda533bc5744c85a331c84047af121bdbd64f9c00dbc06588884
+SIZE (PyQt6_DataVisualization-6.7.0.tar.gz) = 210038
diff --git a/x11-toolkits/qt6-charts/distinfo b/x11-toolkits/qt6-charts/distinfo
index e8605b5c2c34..7faac41b1c9c 100644
--- a/x11-toolkits/qt6-charts/distinfo
+++ b/x11-toolkits/qt6-charts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664677
-SHA256 (KDE/Qt/6.6.3/qtcharts-everywhere-src-6.6.3.tar.xz) = 50968886148fd2564ba52c702cfbf260e35956327a6bcd8001ae658eaa157fe5
-SIZE (KDE/Qt/6.6.3/qtcharts-everywhere-src-6.6.3.tar.xz) = 4660256
+TIMESTAMP = 1712115516
+SHA256 (KDE/Qt/6.7.0/qtcharts-everywhere-src-6.7.0.tar.xz) = 899d5498c91bfb01fde2ff2438c82adf4d4d9b3cf646e7ad7b0036dbf32b7ca4
+SIZE (KDE/Qt/6.7.0/qtcharts-everywhere-src-6.7.0.tar.xz) = 4660736
diff --git a/x11-toolkits/qt6-datavis3d/distinfo b/x11-toolkits/qt6-datavis3d/distinfo
index cd8ad5d638ed..1593b92d2681 100644
--- a/x11-toolkits/qt6-datavis3d/distinfo
+++ b/x11-toolkits/qt6-datavis3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664689
-SHA256 (KDE/Qt/6.6.3/qtdatavis3d-everywhere-src-6.6.3.tar.xz) = 9b1781e464901996b56f31a5cef3e50aac051906e0e535b21b36ca3ae140dfbf
-SIZE (KDE/Qt/6.6.3/qtdatavis3d-everywhere-src-6.6.3.tar.xz) = 3947424
+TIMESTAMP = 1712115524
+SHA256 (KDE/Qt/6.7.0/qtdatavis3d-everywhere-src-6.7.0.tar.xz) = 5a93248d1893790c5630fcbf7ba8394b7eb62411e4a80aa54d7ba8bd40091ba9
+SIZE (KDE/Qt/6.7.0/qtdatavis3d-everywhere-src-6.7.0.tar.xz) = 3947500
diff --git a/x11-toolkits/qt6-declarative/distinfo b/x11-toolkits/qt6-declarative/distinfo
index c11ecb6623de..4f305ee3f833 100644
--- a/x11-toolkits/qt6-declarative/distinfo
+++ b/x11-toolkits/qt6-declarative/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664769
-SHA256 (KDE/Qt/6.6.3/qtdeclarative-everywhere-src-6.6.3.tar.xz) = 05207b2cfcf2ca74321165e81fc382ca289340d52de74ca2bad4c2b124a792f3
-SIZE (KDE/Qt/6.6.3/qtdeclarative-everywhere-src-6.6.3.tar.xz) = 34374500
+TIMESTAMP = 1712115587
+SHA256 (KDE/Qt/6.7.0/qtdeclarative-everywhere-src-6.7.0.tar.xz) = 5a0c39579a74d7cca581162c866ed0887287d4f8d5abff7ab9492d4a58fa9e2c
+SIZE (KDE/Qt/6.7.0/qtdeclarative-everywhere-src-6.7.0.tar.xz) = 35360444
diff --git a/x11-toolkits/qt6-declarative/files/patch-src_qml_configure.cmake b/x11-toolkits/qt6-declarative/files/patch-src_qml_configure.cmake
index c2f2bd6291a7..17e786354692 100644
--- a/x11-toolkits/qt6-declarative/files/patch-src_qml_configure.cmake
+++ b/x11-toolkits/qt6-declarative/files/patch-src_qml_configure.cmake
@@ -1,11 +1,13 @@
---- src/qml/configure.cmake.orig 2023-07-26 19:30:31 UTC
+--- src/qml/configure.cmake.orig 2023-12-12 03:17:50 UTC
+++ src/qml/configure.cmake
-@@ -117,7 +117,7 @@ qt_feature("qml-jit" PRIVATE
- LABEL "QML just-in-time compiler"
- PURPOSE "Provides a JIT for QML and JavaScript"
+@@ -96,8 +96,8 @@ qt_feature("qml-jit" PRIVATE
AUTODETECT NOT IOS AND NOT TVOS
-- CONDITION ( ( ( TEST_architecture_arch STREQUAL i386 ) AND TEST_pointer_32bit AND QT_FEATURE_sse2 ) OR ( ( TEST_architecture_arch STREQUAL x86_64 ) AND TEST_pointer_64bit AND QT_FEATURE_sse2 ) OR ( ( TEST_architecture_arch STREQUAL arm ) AND TEST_pointer_32bit AND TEST_arm_fp AND TEST_arm_thumb AND ( ANDROID OR LINUX OR IOS OR TVOS OR QNX ) ) OR ( ( TEST_architecture_arch STREQUAL arm64 ) AND TEST_pointer_64bit AND TEST_arm_fp AND ( ANDROID OR LINUX OR IOS OR TVOS OR QNX OR INTEGRITY ) ) )
-+ CONDITION ( ( ( TEST_architecture_arch STREQUAL i386 ) AND TEST_pointer_32bit AND QT_FEATURE_sse2 ) OR ( ( TEST_architecture_arch STREQUAL x86_64 ) AND TEST_pointer_64bit AND QT_FEATURE_sse2 ) OR ( ( TEST_architecture_arch STREQUAL arm ) AND TEST_pointer_32bit AND TEST_arm_fp AND TEST_arm_thumb AND ( FREEBSD OR ANDROID OR LINUX OR IOS OR TVOS OR QNX ) ) OR ( ( TEST_architecture_arch STREQUAL arm64 ) AND TEST_pointer_64bit AND TEST_arm_fp AND ( FREEBSD OR ANDROID OR LINUX OR IOS OR TVOS OR QNX OR INTEGRITY ) ) )
+ CONDITION ( ( TEST_architecture_arch STREQUAL i386 AND QT_FEATURE_sse2 ) OR
+ ( TEST_architecture_arch STREQUAL x86_64 AND QT_FEATURE_sse2 ) OR
+- ( TEST_architecture_arch STREQUAL arm AND TEST_arm_fp AND TEST_arm_thumb AND ( ANDROID OR LINUX OR IOS OR TVOS OR QNX ) ) OR
+- ( TEST_architecture_arch STREQUAL arm64 AND TEST_arm_fp AND ( ANDROID OR LINUX OR IOS OR TVOS OR QNX OR INTEGRITY ) ) )
++ ( TEST_architecture_arch STREQUAL arm AND TEST_arm_fp AND TEST_arm_thumb AND ( FREEBSD OR ANDROID OR LINUX OR IOS OR TVOS OR QNX ) ) OR
++ ( TEST_architecture_arch STREQUAL arm64 AND TEST_arm_fp AND ( FREEBSD OR ANDROID OR LINUX OR IOS OR TVOS OR QNX OR INTEGRITY ) ) )
)
# special case begin
# When doing macOS universal builds, JIT needs to be disabled for the ARM slice.
diff --git a/x11-toolkits/qt6-declarative/pkg-plist b/x11-toolkits/qt6-declarative/pkg-plist
index 7f60c3c7e7f2..bab598017b2f 100644
--- a/x11-toolkits/qt6-declarative/pkg-plist
+++ b/x11-toolkits/qt6-declarative/pkg-plist
@@ -179,6 +179,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlscriptblob_p.h
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlscriptdata_p.h
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlscriptstring_p.h
+%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlsignalnames_p.h
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlsourcecoordinate_p.h
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmlstringconverters_p.h
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qqmltcobjectcreationhelper_p.h
@@ -315,6 +316,8 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQml/%%FULLVER%%/QtQml/private/qv4writebarrier_p.h
%%QT_INCDIR%%/QtQml/QJSEngine
%%QT_INCDIR%%/QtQml/QJSList
+%%QT_INCDIR%%/QtQml/QJSListForInIterator
+%%QT_INCDIR%%/QtQml/QJSListForOfIterator
%%QT_INCDIR%%/QtQml/QJSListIndexClamp
%%QT_INCDIR%%/QtQml/QJSManagedValue
%%QT_INCDIR%%/QtQml/QJSNumberCoercion
@@ -394,6 +397,13 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQml/qtqmlexports.h
%%QT_INCDIR%%/QtQml/qtqmlglobal.h
%%QT_INCDIR%%/QtQml/qtqmlversion.h
+%%QT_INCDIR%%/QtQmlBuiltins/%%FULLVER%%/QtQmlBuiltins/private/qqmlbuiltins_p.h
+%%QT_INCDIR%%/QtQmlBuiltins/%%FULLVER%%/QtQmlBuiltins/private/qtqmlbuiltins-config_p.h
+%%QT_INCDIR%%/QtQmlBuiltins/QtQmlBuiltins
+%%QT_INCDIR%%/QtQmlBuiltins/QtQmlBuiltinsDepends
+%%QT_INCDIR%%/QtQmlBuiltins/QtQmlBuiltinsVersion
+%%QT_INCDIR%%/QtQmlBuiltins/qtqmlbuiltins-config.h
+%%QT_INCDIR%%/QtQmlBuiltins/qtqmlbuiltinsversion.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qcoloroutput_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qdeferredpointer_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljsannotation_p.h
@@ -401,6 +411,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljscodegenerator_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljscompilepass_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljscompiler_p.h
+%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljscontextualtypes_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljsfunctioninitializer_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljsimporter_p.h
%%QT_INCDIR%%/QtQmlCompiler/%%FULLVER%%/QtQmlCompiler/private/qqmljsimportvisitor_p.h
@@ -515,6 +526,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qlspcustomtypes_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlbasemodule_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlcodemodel_p.h
+%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlcompletioncontextstrings_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlcompletionsupport_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlfindusagessupport_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlformatting_p.h
@@ -523,6 +535,8 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmllanguageserver_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmllintsuggestions_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmllsutils_p.h
+%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlrangeformatting_p.h
+%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qqmlrenamesymbolsupport_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qtextblock_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qtextcursor_p.h
%%QT_INCDIR%%/QtQmlLS/%%FULLVER%%/QtQmlLS/private/qtextdocument_p.h
@@ -572,14 +586,28 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQmlModels/qtqmlmodelsexports.h
%%QT_INCDIR%%/QtQmlModels/qtqmlmodelsglobal.h
%%QT_INCDIR%%/QtQmlModels/qtqmlmodelsversion.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qqmlnetworkinformation_p.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qqmlsslconfiguration_p.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qqmlsslkey_p.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qqmlsslnamespace_p.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qqmlsslsocketnamespace_p.h
+%%QT_INCDIR%%/QtQmlNetwork/%%FULLVER%%/QtQmlNetwork/private/qtqmlnetworkexports_p.h
+%%QT_INCDIR%%/QtQmlNetwork/QtQmlNetwork
+%%QT_INCDIR%%/QtQmlNetwork/QtQmlNetworkDepends
+%%QT_INCDIR%%/QtQmlNetwork/QtQmlNetworkVersion
+%%QT_INCDIR%%/QtQmlNetwork/qtqmlnetworkexports.h
+%%QT_INCDIR%%/QtQmlNetwork/qtqmlnetworkversion.h
%%QT_INCDIR%%/QtQmlToolingSettings/%%FULLVER%%/QtQmlToolingSettings/private/qqmltoolingsettings_p.h
%%QT_INCDIR%%/QtQmlToolingSettings/QtQmlToolingSettings
%%QT_INCDIR%%/QtQmlToolingSettings/QtQmlToolingSettingsDepends
%%QT_INCDIR%%/QtQmlToolingSettings/QtQmlToolingSettingsVersion
%%QT_INCDIR%%/QtQmlToolingSettings/qtqmltoolingsettingsversion.h
+%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qanystringviewutils_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qmetatypesjsonprocessor_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmljsstreamwriter_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmltyperegistrar_p.h
+%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmltyperegistrarconstants_p.h
+%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmltyperegistrarutils_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmltypesclassdescription_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/%%FULLVER%%/QtQmlTypeRegistrar/private/qqmltypescreator_p.h
%%QT_INCDIR%%/QtQmlTypeRegistrar/QtQmlTypeRegistrar
@@ -608,6 +636,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qaccessiblequickview_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qminimalflatset_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qqmldesignermetaobject_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquadpath_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickabstractpaletteprovider_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickaccessibleattached_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickaccessiblefactory_p.h
@@ -704,6 +733,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpincharea_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpincharea_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpinchhandler_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpixmap_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpixmapcache_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpointerdevicehandler_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickpointerdevicehandler_p_p.h
@@ -720,6 +750,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickrendertarget_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickrepeater_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickrepeater_p_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickrhiitem_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickscalegrid_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickscreen_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickselectable_p.h
@@ -759,8 +790,8 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextinput_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextinterface_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextmetrics_p.h
-%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextnodeengine_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextselection_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktextutil_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktimeline_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquicktransition_p.h
@@ -775,6 +806,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwheelhandler_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwindow_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwindowattached_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwindowcontainer_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwindowmodule_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qquickwindowmodule_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgabstractrenderer_p.h
@@ -790,6 +822,14 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcompressedtexture_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcontext_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcontextplugin_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurveabstractnode_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurvefillnode_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurvefillnode_p_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurveglyphatlas_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurveglyphnode_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurveprocessor_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurvestrokenode_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgcurvestrokenode_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgdefaultcontext_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgdefaultglyphnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgdefaultglyphnode_p_p.h
@@ -804,6 +844,8 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgdistancefieldglyphnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgdistancefieldglyphnode_p_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsggeometry_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsggradientcache_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsginternaltextnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgmaterialshader_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgnodeupdater_p.h
@@ -813,6 +855,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrendernode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhiatlastexture_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhidistancefieldglyphcache_p.h
+%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhiinternaltextnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhilayer_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhishadereffectnode_p.h
%%QT_INCDIR%%/QtQuick/%%FULLVER%%/QtQuick/private/qsgrhisupport_p.h
@@ -854,6 +897,8 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/QQuickPaintedItem
%%QT_INCDIR%%/QtQuick/QQuickRenderControl
%%QT_INCDIR%%/QtQuick/QQuickRenderTarget
+%%QT_INCDIR%%/QtQuick/QQuickRhiItem
+%%QT_INCDIR%%/QtQuick/QQuickRhiItemRenderer
%%QT_INCDIR%%/QtQuick/QQuickTextDocument
%%QT_INCDIR%%/QtQuick/QQuickTextureFactory
%%QT_INCDIR%%/QtQuick/QQuickTransform
@@ -879,6 +924,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/QSGRootNode
%%QT_INCDIR%%/QtQuick/QSGSimpleRectNode
%%QT_INCDIR%%/QtQuick/QSGSimpleTextureNode
+%%QT_INCDIR%%/QtQuick/QSGTextNode
%%QT_INCDIR%%/QtQuick/QSGTexture
%%QT_INCDIR%%/QtQuick/QSGTextureMaterial
%%QT_INCDIR%%/QtQuick/QSGTextureProvider
@@ -897,6 +943,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/qquickpainteditem.h
%%QT_INCDIR%%/QtQuick/qquickrendercontrol.h
%%QT_INCDIR%%/QtQuick/qquickrendertarget.h
+%%QT_INCDIR%%/QtQuick/qquickrhiitem.h
%%QT_INCDIR%%/QtQuick/qquicktextdocument.h
%%QT_INCDIR%%/QtQuick/qquickview.h
%%QT_INCDIR%%/QtQuick/qquickwindow.h
@@ -913,6 +960,7 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuick/qsgrendernode.h
%%QT_INCDIR%%/QtQuick/qsgsimplerectnode.h
%%QT_INCDIR%%/QtQuick/qsgsimpletexturenode.h
+%%QT_INCDIR%%/QtQuick/qsgtextnode.h
%%QT_INCDIR%%/QtQuick/qsgtexture.h
%%QT_INCDIR%%/QtQuick/qsgtexture_platform.h
%%QT_INCDIR%%/QtQuick/qsgtexturematerial.h
@@ -1147,19 +1195,13 @@ bin/qmlscene6
%%QT_INCDIR%%/QtQuickParticles/QtQuickParticlesVersion
%%QT_INCDIR%%/QtQuickParticles/qtquickparticlesexports.h
%%QT_INCDIR%%/QtQuickParticles/qtquickparticlesversion.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquadpath_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshape_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshape_p_p.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapeabstractcurvenode_p.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapecurvenode_p.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapecurvenode_p_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapecurverenderer_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapecurverenderer_p_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapegenericrenderer_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapesglobal_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapesoftwarerenderer_p.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapestrokenode_p.h
-%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qquickshapestrokenode_p_p.h
%%QT_INCDIR%%/QtQuickShapes/%%FULLVER%%/QtQuickShapes/private/qtquickshapesexports_p.h
%%QT_INCDIR%%/QtQuickShapes/QtQuickShapes
%%QT_INCDIR%%/QtQuickShapes/QtQuickShapesDepends
@@ -1384,6 +1426,12 @@ lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlMetaConfigVersion.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlMetaConfigVersionImpl.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlMetaTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlMetaTargets.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginAdditionalTargetInfo.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginConfigVersion.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginConfigVersionImpl.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6QmlNetworkpluginTargets.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QuickControlsTestUtilsPrivatepluginAdditionalTargetInfo.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QuickControlsTestUtilsPrivatepluginConfig.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6QuickControlsTestUtilsPrivatepluginConfigVersion.cmake
@@ -1696,6 +1744,13 @@ lib/cmake/Qt6Qml/Qt6QmlTargets.cmake
lib/cmake/Qt6Qml/Qt6QmlVersionlessTargets.cmake
lib/cmake/Qt6Qml/Qt6QmltcFileMappingTemplate.qrc.in
lib/cmake/Qt6Qml/Qt6qmldirTemplate.cmake.in
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsAdditionalTargetInfo.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsConfig.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsConfigVersion.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsConfigVersionImpl.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsTargets.cmake
+lib/cmake/Qt6QmlBuiltins/Qt6QmlBuiltinsVersionlessTargets.cmake
lib/cmake/Qt6QmlCompiler/Qt6QmlCompilerAdditionalTargetInfo.cmake
lib/cmake/Qt6QmlCompiler/Qt6QmlCompilerConfig.cmake
lib/cmake/Qt6QmlCompiler/Qt6QmlCompilerConfigVersion.cmake
@@ -1769,6 +1824,14 @@ lib/cmake/Qt6QmlModels/Qt6QmlModelsDependencies.cmake
lib/cmake/Qt6QmlModels/Qt6QmlModelsTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qt6QmlModels/Qt6QmlModelsTargets.cmake
lib/cmake/Qt6QmlModels/Qt6QmlModelsVersionlessTargets.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkAdditionalTargetInfo.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkConfig.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkConfigVersion.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkConfigVersionImpl.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkDependencies.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkTargets.cmake
+lib/cmake/Qt6QmlNetwork/Qt6QmlNetworkVersionlessTargets.cmake
lib/cmake/Qt6QmlToolingSettingsPrivate/Qt6QmlToolingSettingsPrivateAdditionalTargetInfo.cmake
lib/cmake/Qt6QmlToolingSettingsPrivate/Qt6QmlToolingSettingsPrivateConfig.cmake
lib/cmake/Qt6QmlToolingSettingsPrivate/Qt6QmlToolingSettingsPrivateConfigVersion.cmake
@@ -2053,6 +2116,8 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_LIBDIR%%/libQt6Qml.so
%%QT_LIBDIR%%/libQt6Qml.so.6
%%QT_LIBDIR%%/libQt6Qml.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6QmlBuiltins.a
+%%QT_LIBDIR%%/libQt6QmlBuiltins.prl
%%QT_LIBDIR%%/libQt6QmlCompiler.prl
%%QT_LIBDIR%%/libQt6QmlCompiler.so
%%QT_LIBDIR%%/libQt6QmlCompiler.so.6
@@ -2075,6 +2140,10 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_LIBDIR%%/libQt6QmlModels.so
%%QT_LIBDIR%%/libQt6QmlModels.so.6
%%QT_LIBDIR%%/libQt6QmlModels.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6QmlNetwork.prl
+%%QT_LIBDIR%%/libQt6QmlNetwork.so
+%%QT_LIBDIR%%/libQt6QmlNetwork.so.6
+%%QT_LIBDIR%%/libQt6QmlNetwork.so.%%FULLVER%%
%%QT_LIBDIR%%/libQt6QmlToolingSettings.a
%%QT_LIBDIR%%/libQt6QmlToolingSettings.prl
%%QT_LIBDIR%%/libQt6QmlTypeRegistrar.a
@@ -2191,6 +2260,7 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_LIBDIR%%/metatypes/qt6labswavefrontmesh_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6packetprotocolprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qml_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6qmlbuiltins_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmlcompiler_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmlcore_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmldebugprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
@@ -2198,6 +2268,7 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_LIBDIR%%/metatypes/qt6qmllocalstorage_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmllsprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmlmodels_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6qmlnetwork_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmltoolingsettingsprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmltyperegistrarprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_LIBDIR%%/metatypes/qt6qmlworkerscript_%%CMAKE_BUILD_TYPE%%_metatypes.json
@@ -2245,6 +2316,8 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_MKSPECDIR%%/modules/qt_lib_packetprotocol_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qml.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qml_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qmlbuiltins.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qmlbuiltins_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmlcompiler.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmlcompiler_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmlcore.pri
@@ -2258,6 +2331,8 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_MKSPECDIR%%/modules/qt_lib_qmlls_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmlmodels.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmlmodels_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qmlnetwork.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_qmlnetwork_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmltest.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmltest_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_qmltoolingsettings_private.pri
@@ -2309,6 +2384,8 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_MKSPECDIR%%/modules/qt_lib_quicktestutilsprivate_private.pri
%%QT_MKSPECDIR%%/modules/qt_lib_quickwidgets.pri
%%QT_MKSPECDIR%%/modules/qt_lib_quickwidgets_private.pri
+%%DEBUG%%%%QT_LIBDIR%%/objects-Debug/QmlTypeRegistrarPrivate_resources_1/.rcc/qrc_jsRootMetaTypes_init.cpp.o
+%%NO_DEBUG%%%%QT_LIBDIR%%/objects-Release/QmlTypeRegistrarPrivate_resources_1/.rcc/qrc_jsRootMetaTypes_init.cpp.o
%%QT_PLUGINDIR%%/qmllint/libquicklintplugin.so
%%QT_PLUGINDIR%%/qmltooling/libqmldbg_debugger.so
%%QT_PLUGINDIR%%/qmltooling/libqmldbg_inspector.so
@@ -2346,12 +2423,15 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_QMLDIR%%/Qt/labs/wavefrontmesh/qmldir
%%QT_QMLDIR%%/Qt/test/controls/QuickControlsTestUtilsPrivate.qmltypes
%%QT_QMLDIR%%/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so
-%%DEBUG%%%%QT_QMLDIR%%/Qt/test/controls/objects-Debug/QuickControlsTestUtilsPrivate_resources_1/.rcc/qrc_qmake_Qt_test_controls.cpp.o
-%%NO_DEBUG%%%%QT_QMLDIR%%/Qt/test/controls/objects-Release/QuickControlsTestUtilsPrivate_resources_1/.rcc/qrc_qmake_Qt_test_controls.cpp.o
+%%DEBUG%%%%QT_QMLDIR%%/Qt/test/controls/objects-Debug/QuickControlsTestUtilsPrivate_resources_1/.rcc/qrc_qmake_Qt_test_controls_init.cpp.o
+%%NO_DEBUG%%%%QT_QMLDIR%%/Qt/test/controls/objects-Release/QuickControlsTestUtilsPrivate_resources_1/.rcc/qrc_qmake_Qt_test_controls_init.cpp.o
%%QT_QMLDIR%%/Qt/test/controls/qmldir
%%QT_QMLDIR%%/QtCore/libqtqmlcoreplugin.so
%%QT_QMLDIR%%/QtCore/plugins.qmltypes
%%QT_QMLDIR%%/QtCore/qmldir
+%%QT_QMLDIR%%/QtNetwork/libqmlnetworkplugin.so
+%%QT_QMLDIR%%/QtNetwork/plugins.qmltypes
+%%QT_QMLDIR%%/QtNetwork/qmldir
%%QT_QMLDIR%%/QtQml/Base/libqmlplugin.so
%%QT_QMLDIR%%/QtQml/Base/plugins.qmltypes
%%QT_QMLDIR%%/QtQml/Base/qmldir
@@ -2894,8 +2974,11 @@ lib/cmake/Qt6QuickWidgets/Qt6QuickWidgetsVersionlessTargets.cmake
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultDial.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultFrame.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultGroupBox.qml
+%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultItemDelegate.qml
+%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultItemDelegateIconLabel.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultProgressBar.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultRadioButton.qml
+%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultRadioDelegate.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultScrollBar.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultSlider.qml
%%QT_QMLDIR%%/QtQuick/NativeStyle/controls/DefaultSpinBox.qml
@@ -2947,11 +3030,13 @@ libdata/pkgconfig/Qt6LabsSettings.pc
libdata/pkgconfig/Qt6LabsSharedImage.pc
libdata/pkgconfig/Qt6LabsWavefrontMesh.pc
libdata/pkgconfig/Qt6Qml.pc
+libdata/pkgconfig/Qt6QmlBuiltins.pc
libdata/pkgconfig/Qt6QmlCompiler.pc
libdata/pkgconfig/Qt6QmlCore.pc
libdata/pkgconfig/Qt6QmlIntegration.pc
libdata/pkgconfig/Qt6QmlLocalStorage.pc
libdata/pkgconfig/Qt6QmlModels.pc
+libdata/pkgconfig/Qt6QmlNetwork.pc
libdata/pkgconfig/Qt6QmlWorkerScript.pc
libdata/pkgconfig/Qt6QmlXmlListModel.pc
libdata/pkgconfig/Qt6Quick.pc
@@ -2976,6 +3061,7 @@ libdata/pkgconfig/Qt6QuickTest.pc
libdata/pkgconfig/Qt6QuickWidgets.pc
%%QT_TOOLDIR%%/qmlcachegen
%%QT_TOOLDIR%%/qmlimportscanner
+%%QT_TOOLDIR%%/qmljsrootgen
%%QT_TOOLDIR%%/qmltyperegistrar
%%QT_DATADIR%%/modules/LabsAnimation.json
%%QT_DATADIR%%/modules/LabsFolderListModel.json
@@ -2985,6 +3071,7 @@ libdata/pkgconfig/Qt6QuickWidgets.pc
%%QT_DATADIR%%/modules/LabsWavefrontMesh.json
%%QT_DATADIR%%/modules/PacketProtocolPrivate.json
%%QT_DATADIR%%/modules/Qml.json
+%%QT_DATADIR%%/modules/QmlBuiltins.json
%%QT_DATADIR%%/modules/QmlCompiler.json
%%QT_DATADIR%%/modules/QmlCore.json
%%QT_DATADIR%%/modules/QmlDebugPrivate.json
@@ -2993,6 +3080,7 @@ libdata/pkgconfig/Qt6QuickWidgets.pc
%%QT_DATADIR%%/modules/QmlLSPrivate.json
%%QT_DATADIR%%/modules/QmlLocalStorage.json
%%QT_DATADIR%%/modules/QmlModels.json
+%%QT_DATADIR%%/modules/QmlNetwork.json
%%QT_DATADIR%%/modules/QmlToolingSettingsPrivate.json
%%QT_DATADIR%%/modules/QmlTypeRegistrarPrivate.json
%%QT_DATADIR%%/modules/QmlWorkerScript.json
diff --git a/x11-toolkits/qt6-graphs/distinfo b/x11-toolkits/qt6-graphs/distinfo
index 6c618ffe76ec..c9f12258650f 100644
--- a/x11-toolkits/qt6-graphs/distinfo
+++ b/x11-toolkits/qt6-graphs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711664777
-SHA256 (KDE/Qt/6.6.3/qtgraphs-everywhere-src-6.6.3.tar.xz) = 22c25c34a75a57398d65a449fe8492d8cfe000edc7378e78325f08ba8c56edde
-SIZE (KDE/Qt/6.6.3/qtgraphs-everywhere-src-6.6.3.tar.xz) = 3819012
+TIMESTAMP = 1712115596
+SHA256 (KDE/Qt/6.7.0/qtgraphs-everywhere-src-6.7.0.tar.xz) = 4b35d1967e62af0f9d224c173921f22256e29fbbf62ed9de828466c5878b9495
+SIZE (KDE/Qt/6.7.0/qtgraphs-everywhere-src-6.7.0.tar.xz) = 4393072
diff --git a/x11-toolkits/qt6-graphs/pkg-plist b/x11-toolkits/qt6-graphs/pkg-plist
index fd3c068354c9..62081b60f5fb 100644
--- a/x11-toolkits/qt6-graphs/pkg-plist
+++ b/x11-toolkits/qt6-graphs/pkg-plist
@@ -1,66 +1,72 @@
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/abstract3dcontroller_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/abstractitemmodelhandler_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/axishelper_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/axisgrid_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/axisline_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/axisrenderer_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/axisticker_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/barinstancing_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/baritemmodelhandler_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/bars3dcontroller_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/colorgradient_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/declarativecolor_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/declarativescene_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/declarativeseries_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/declarativetheme_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/barsrenderer_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/charthelpers_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/foreigntypes_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/foreigntypesbars_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/foreigntypesscatter_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/foreigntypessurface_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/graphsglobal_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dcamera_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/pointrenderer_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dinputhandler_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dlight_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dobject_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dscene_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/q3dtheme_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstract3daxis_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstract3dinputhandler_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstract3dseries_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstractaxis_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstractbarseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstractdataproxy_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qabstractseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbar3dseries_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbardataitem_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbarcategoryaxis_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbardataproxy_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbarseries_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qbarset_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qcategory3daxis_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qcustom3ditem_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qcustom3dlabel_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qcustom3dvolume_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qgraphsview_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qheightmapsurfacedataproxy_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qitemmodelbardataproxy_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qitemmodelscatterdataproxy_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qitemmodelsurfacedataproxy_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qlineseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qlogvalue3daxisformatter_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphsbars_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphsbarsseries_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphscolor_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphsitem_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphsscatter_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphsscatterseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphssurface_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphssurfaceseries_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qquickgraphstexturedata_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qscatter3dseries_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qscatterdataitem_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qscatterdataproxy_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qscatterseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qsurface3dseries_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qsurfacedataitem_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qsurfacedataproxy_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qtgraphs-config_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qtouch3dinputhandler_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/quickgraphstexturedata_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qvalue3daxis_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qvalue3daxisformatter_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/scatter3dcontroller_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qvalueaxis_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qxypoint_p.h
+%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/qxyseries_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/scatterinstancing_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/scatteritemmodelhandler_p.h
-%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/surface3dcontroller_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/surfaceitemmodelhandler_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/surfaceselectioninstancing_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/thememanager_p.h
%%QT_INCDIR%%/QtGraphs/%%FULLVER%%/QtGraphs/private/utils_p.h
%%QT_INCDIR%%/QtGraphs/Q3DBars
-%%QT_INCDIR%%/QtGraphs/Q3DCamera
%%QT_INCDIR%%/QtGraphs/Q3DInputHandler
-%%QT_INCDIR%%/QtGraphs/Q3DLight
-%%QT_INCDIR%%/QtGraphs/Q3DObject
%%QT_INCDIR%%/QtGraphs/Q3DScatter
%%QT_INCDIR%%/QtGraphs/Q3DScene
%%QT_INCDIR%%/QtGraphs/Q3DSurface
@@ -69,36 +75,45 @@
%%QT_INCDIR%%/QtGraphs/QAbstract3DGraph
%%QT_INCDIR%%/QtGraphs/QAbstract3DInputHandler
%%QT_INCDIR%%/QtGraphs/QAbstract3DSeries
+%%QT_INCDIR%%/QtGraphs/QAbstractAxis
+%%QT_INCDIR%%/QtGraphs/QAbstractBarSeries
%%QT_INCDIR%%/QtGraphs/QAbstractDataProxy
+%%QT_INCDIR%%/QtGraphs/QAbstractSeries
%%QT_INCDIR%%/QtGraphs/QBar3DSeries
+%%QT_INCDIR%%/QtGraphs/QBarCategoryAxis
%%QT_INCDIR%%/QtGraphs/QBarDataItem
%%QT_INCDIR%%/QtGraphs/QBarDataProxy
+%%QT_INCDIR%%/QtGraphs/QBarSeries
+%%QT_INCDIR%%/QtGraphs/QBarSet
%%QT_INCDIR%%/QtGraphs/QCategory3DAxis
%%QT_INCDIR%%/QtGraphs/QCustom3DItem
%%QT_INCDIR%%/QtGraphs/QCustom3DLabel
%%QT_INCDIR%%/QtGraphs/QCustom3DVolume
+%%QT_INCDIR%%/QtGraphs/QGraphTheme
%%QT_INCDIR%%/QtGraphs/QHeightMapSurfaceDataProxy
%%QT_INCDIR%%/QtGraphs/QItemModelBarDataProxy
%%QT_INCDIR%%/QtGraphs/QItemModelScatterDataProxy
%%QT_INCDIR%%/QtGraphs/QItemModelSurfaceDataProxy
+%%QT_INCDIR%%/QtGraphs/QLineSeries
%%QT_INCDIR%%/QtGraphs/QLogValue3DAxisFormatter
%%QT_INCDIR%%/QtGraphs/QScatter3DSeries
%%QT_INCDIR%%/QtGraphs/QScatterDataItem
%%QT_INCDIR%%/QtGraphs/QScatterDataProxy
+%%QT_INCDIR%%/QtGraphs/QScatterSeries
+%%QT_INCDIR%%/QtGraphs/QSeriesTheme
%%QT_INCDIR%%/QtGraphs/QSurface3DSeries
%%QT_INCDIR%%/QtGraphs/QSurfaceDataItem
%%QT_INCDIR%%/QtGraphs/QSurfaceDataProxy
%%QT_INCDIR%%/QtGraphs/QTouch3DInputHandler
%%QT_INCDIR%%/QtGraphs/QValue3DAxis
%%QT_INCDIR%%/QtGraphs/QValue3DAxisFormatter
+%%QT_INCDIR%%/QtGraphs/QValueAxis
+%%QT_INCDIR%%/QtGraphs/QXYSeries
%%QT_INCDIR%%/QtGraphs/QtGraphs
%%QT_INCDIR%%/QtGraphs/QtGraphsDepends
%%QT_INCDIR%%/QtGraphs/QtGraphsVersion
%%QT_INCDIR%%/QtGraphs/q3dbars.h
-%%QT_INCDIR%%/QtGraphs/q3dcamera.h
%%QT_INCDIR%%/QtGraphs/q3dinputhandler.h
-%%QT_INCDIR%%/QtGraphs/q3dlight.h
-%%QT_INCDIR%%/QtGraphs/q3dobject.h
%%QT_INCDIR%%/QtGraphs/q3dscatter.h
%%QT_INCDIR%%/QtGraphs/q3dscene.h
%%QT_INCDIR%%/QtGraphs/q3dsurface.h
@@ -107,33 +122,44 @@
%%QT_INCDIR%%/QtGraphs/qabstract3dgraph.h
%%QT_INCDIR%%/QtGraphs/qabstract3dinputhandler.h
%%QT_INCDIR%%/QtGraphs/qabstract3dseries.h
+%%QT_INCDIR%%/QtGraphs/qabstractaxis.h
+%%QT_INCDIR%%/QtGraphs/qabstractbarseries.h
%%QT_INCDIR%%/QtGraphs/qabstractdataproxy.h
+%%QT_INCDIR%%/QtGraphs/qabstractseries.h
%%QT_INCDIR%%/QtGraphs/qbar3dseries.h
+%%QT_INCDIR%%/QtGraphs/qbarcategoryaxis.h
%%QT_INCDIR%%/QtGraphs/qbardataitem.h
%%QT_INCDIR%%/QtGraphs/qbardataproxy.h
+%%QT_INCDIR%%/QtGraphs/qbarseries.h
+%%QT_INCDIR%%/QtGraphs/qbarset.h
%%QT_INCDIR%%/QtGraphs/qcategory3daxis.h
%%QT_INCDIR%%/QtGraphs/qcustom3ditem.h
%%QT_INCDIR%%/QtGraphs/qcustom3dlabel.h
%%QT_INCDIR%%/QtGraphs/qcustom3dvolume.h
%%QT_INCDIR%%/QtGraphs/qgraphsglobal.h
+%%QT_INCDIR%%/QtGraphs/qgraphtheme.h
%%QT_INCDIR%%/QtGraphs/qheightmapsurfacedataproxy.h
%%QT_INCDIR%%/QtGraphs/qitemmodelbardataproxy.h
%%QT_INCDIR%%/QtGraphs/qitemmodelscatterdataproxy.h
%%QT_INCDIR%%/QtGraphs/qitemmodelsurfacedataproxy.h
+%%QT_INCDIR%%/QtGraphs/qlineseries.h
%%QT_INCDIR%%/QtGraphs/qlogvalue3daxisformatter.h
%%QT_INCDIR%%/QtGraphs/qscatter3dseries.h
%%QT_INCDIR%%/QtGraphs/qscatterdataitem.h
%%QT_INCDIR%%/QtGraphs/qscatterdataproxy.h
+%%QT_INCDIR%%/QtGraphs/qscatterseries.h
+%%QT_INCDIR%%/QtGraphs/qseriestheme.h
%%QT_INCDIR%%/QtGraphs/qsurface3dseries.h
%%QT_INCDIR%%/QtGraphs/qsurfacedataitem.h
%%QT_INCDIR%%/QtGraphs/qsurfacedataproxy.h
-%%QT_INCDIR%%/QtGraphs/qtgraphs-config.h
%%QT_INCDIR%%/QtGraphs/qtgraphsexports.h
%%QT_INCDIR%%/QtGraphs/qtgraphsversion.h
%%QT_INCDIR%%/QtGraphs/qtouch3dinputhandler.h
%%QT_INCDIR%%/QtGraphs/qutils.h
%%QT_INCDIR%%/QtGraphs/qvalue3daxis.h
%%QT_INCDIR%%/QtGraphs/qvalue3daxisformatter.h
+%%QT_INCDIR%%/QtGraphs/qvalueaxis.h
+%%QT_INCDIR%%/QtGraphs/qxyseries.h
lib/cmake/Qt6BuildInternals/StandaloneTests/QtGraphsTestsConfig.cmake
lib/cmake/Qt6Graphs/Qt6GraphsAdditionalTargetInfo.cmake
lib/cmake/Qt6Graphs/Qt6GraphsConfig.cmake
@@ -156,16 +182,20 @@ lib/cmake/Qt6Qml/QmlPlugins/Qt6GraphspluginTargets.cmake
%%QT_LIBDIR%%/metatypes/qt6graphs_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_MKSPECDIR%%/modules/qt_lib_graphs.pri
%%QT_MKSPECDIR%%/modules/qt_lib_graphs_private.pri
+%%QT_QMLDIR%%/QtGraphs/Graphs.qmltypes
+%%QT_QMLDIR%%/QtGraphs/graphs2d/qml/designer/GraphsViewSpecifics.qml
+%%QT_QMLDIR%%/QtGraphs/graphs2d/qml/designer/default/BarSeries.qml
+%%QT_QMLDIR%%/QtGraphs/graphs2d/qml/designer/default/LineSeries.qml
+%%QT_QMLDIR%%/QtGraphs/graphs2d/qml/designer/default/ScatterSeries.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/Bars3DSpecifics.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/GraphsCameraSection.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/GraphsSection.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/Scatter3DSpecifics.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/Surface3DSpecifics.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/default/Bars3D.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/default/Scatter3D.qml
+%%QT_QMLDIR%%/QtGraphs/graphs3d/qml/designer/default/Surface3D.qml
%%QT_QMLDIR%%/QtGraphs/libgraphsplugin.so
-%%QT_QMLDIR%%/QtGraphs/plugins.qmltypes
-%%QT_QMLDIR%%/QtGraphs/qml/designer/Bars3DSpecifics.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/GraphsCameraSection.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/GraphsSection.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/Scatter3DSpecifics.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/Surface3DSpecifics.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/default/Bars3D.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/default/Scatter3D.qml
-%%QT_QMLDIR%%/QtGraphs/qml/designer/default/Surface3D.qml
%%QT_QMLDIR%%/QtGraphs/qmldir
libdata/pkgconfig/Qt6Graphs.pc
%%QT_DATADIR%%/modules/Graphs.json
diff --git a/x11-toolkits/qt6-quick3d/distinfo b/x11-toolkits/qt6-quick3d/distinfo
index 4df93890ca8d..c1dd417afdbc 100644
--- a/x11-toolkits/qt6-quick3d/distinfo
+++ b/x11-toolkits/qt6-quick3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711665077
-SHA256 (KDE/Qt/6.6.3/qtquick3d-everywhere-src-6.6.3.tar.xz) = 997626f0b7fbaa168a7d227414bfe4068289aa8e767ffcc60bf754d83c2b9ae2
-SIZE (KDE/Qt/6.6.3/qtquick3d-everywhere-src-6.6.3.tar.xz) = 65597184
+TIMESTAMP = 1712115683
+SHA256 (KDE/Qt/6.7.0/qtquick3d-everywhere-src-6.7.0.tar.xz) = 8bb943bf3f65a933b74fcd93d927e22b8621484030586c15586728e2f67ed910
+SIZE (KDE/Qt/6.7.0/qtquick3d-everywhere-src-6.7.0.tar.xz) = 66175916
diff --git a/x11-toolkits/qt6-quick3d/pkg-plist b/x11-toolkits/qt6-quick3d/pkg-plist
index abe94e38ae42..269fcfbf50be 100644
--- a/x11-toolkits/qt6-quick3d/pkg-plist
+++ b/x11-toolkits/qt6-quick3d/pkg-plist
@@ -8,7 +8,6 @@
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3ddefaultmaterial_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3ddirectionallight_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3deffect_p.h
-%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dextensionhelpers_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dfog_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dfrustumcamera_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dgeometry_p.h
@@ -33,7 +32,6 @@
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dquaternionanimation_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dquaternionutils_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dreflectionprobe_p.h
-%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3drenderextensions_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3drenderstats_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3drepeater_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dresourceloader_p.h
@@ -52,10 +50,12 @@
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qquick3dviewport_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qtquick3dexports_p.h
%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/private/qtquick3dglobal_p.h
+%%QT_INCDIR%%/QtQuick3D/%%FULLVER%%/QtQuick3D/ssg/qquick3dextensionhelpers.h
%%QT_INCDIR%%/QtQuick3D/QQuick3D
%%QT_INCDIR%%/QtQuick3D/QQuick3DGeometry
%%QT_INCDIR%%/QtQuick3D/QQuick3DInstancing
%%QT_INCDIR%%/QtQuick3D/QQuick3DObject
+%%QT_INCDIR%%/QtQuick3D/QQuick3DRenderExtension
%%QT_INCDIR%%/QtQuick3D/QQuick3DTextureData
%%QT_INCDIR%%/QtQuick3D/QtQuick3D
%%QT_INCDIR%%/QtQuick3D/QtQuick3DDepends
@@ -64,6 +64,7 @@
%%QT_INCDIR%%/QtQuick3D/qquick3dgeometry.h
%%QT_INCDIR%%/QtQuick3D/qquick3dinstancing.h
%%QT_INCDIR%%/QtQuick3D/qquick3dobject.h
+%%QT_INCDIR%%/QtQuick3D/qquick3drenderextensions.h
%%QT_INCDIR%%/QtQuick3D/qquick3dtexturedata.h
%%QT_INCDIR%%/QtQuick3D/qtquick3dexports.h
%%QT_INCDIR%%/QtQuick3D/qtquick3dglobal.h
@@ -192,14 +193,13 @@
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendercamera_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderclippingfrustum_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendercommands_p.h
-%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendercontextcore_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendercustommaterial_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderdefaultmaterial_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderdefaultmaterialshadergenerator_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendereffect_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderer_p.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendererimplshaders_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendererutil_p.h
-%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderextensions_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendergeometry_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgrenderhelpers_p.h
@@ -244,13 +244,22 @@
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qssgvertexpipelineimpl_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qtquick3druntimerenderexports_p.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/private/qtquick3druntimerenderglobal_p.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssglightmapper.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrendercontextcore.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrenderextensions.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrendergraphobject.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrenderhelpers.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrenderpickresult.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/%%FULLVER%%/QtQuick3DRuntimeRender/ssg/qssgrhicontext.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/QtQuick3DRuntimeRender
%%QT_INCDIR%%/QtQuick3DRuntimeRender/QtQuick3DRuntimeRenderDepends
%%QT_INCDIR%%/QtQuick3DRuntimeRender/QtQuick3DRuntimeRenderVersion
%%QT_INCDIR%%/QtQuick3DRuntimeRender/qtquick3druntimerenderexports.h
+%%QT_INCDIR%%/QtQuick3DRuntimeRender/qtquick3druntimerenderglobal.h
%%QT_INCDIR%%/QtQuick3DRuntimeRender/qtquick3druntimerenderversion.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qqsbcollection_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qquick3dprofiler_p.h
+%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qssgaosettings_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qssgassert_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qssgbounds3_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qssgdataref_p.h
@@ -264,6 +273,7 @@
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qssgutils_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qtquick3dutilsexports_p.h
%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/private/qtquick3dutilsglobal_p.h
+%%QT_INCDIR%%/QtQuick3DUtils/%%FULLVER%%/QtQuick3DUtils/ssg/qssgrenderbasetypes.h
%%QT_INCDIR%%/QtQuick3DUtils/QtQuick3DUtils
%%QT_INCDIR%%/QtQuick3DUtils/QtQuick3DUtilsDepends
%%QT_INCDIR%%/QtQuick3DUtils/QtQuick3DUtilsVersion
@@ -858,6 +868,7 @@ lib/cmake/Qt6Quick3DUtils/Qt6Quick3DUtilsVersionlessTargets.cmake
%%QT_QMLDIR%%/QtQuick3D/Particles3D/libqtquick3dparticles3dplugin.so
%%QT_QMLDIR%%/QtQuick3D/Particles3D/plugins.qmltypes
%%QT_QMLDIR%%/QtQuick3D/Particles3D/qmldir
+%%QT_QMLDIR%%/QtQuick3D/Quick3D.qmltypes
%%QT_QMLDIR%%/QtQuick3D/designer/AbstractLightSection.qml
%%QT_QMLDIR%%/QtQuick3D/designer/BufferInputSection.qml
%%QT_QMLDIR%%/QtQuick3D/designer/BufferInputSpecifics.qml
@@ -1046,7 +1057,6 @@ lib/cmake/Qt6Quick3DUtils/Qt6Quick3DUtilsVersionlessTargets.cmake
%%QT_QMLDIR%%/QtQuick3D/designer/source/effect_template.qml
%%QT_QMLDIR%%/QtQuick3D/designer/source/view3D_template.qml
%%QT_QMLDIR%%/QtQuick3D/libqquick3dplugin.so
-%%QT_QMLDIR%%/QtQuick3D/plugins.qmltypes
%%QT_QMLDIR%%/QtQuick3D/qmldir
libdata/pkgconfig/Qt6Quick3D.pc
libdata/pkgconfig/Qt6Quick3DAssetImport.pc
diff --git a/x11-toolkits/qt6-quicktimeline/distinfo b/x11-toolkits/qt6-quicktimeline/distinfo
index 3335087a1331..71c1b1e4ffe5 100644
--- a/x11-toolkits/qt6-quicktimeline/distinfo
+++ b/x11-toolkits/qt6-quicktimeline/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711665079
-SHA256 (KDE/Qt/6.6.3/qtquicktimeline-everywhere-src-6.6.3.tar.xz) = d3b3dd6f81265f576eadcc59e37e240d14b5e834a07013ee5a0e24aa0e37462c
-SIZE (KDE/Qt/6.6.3/qtquicktimeline-everywhere-src-6.6.3.tar.xz) = 104788
+TIMESTAMP = 1712115685
+SHA256 (KDE/Qt/6.7.0/qtquicktimeline-everywhere-src-6.7.0.tar.xz) = eb45657c6c6b5d57775473d4d69e7d964a17778695ffb2ff50a75aa1b63489bd
+SIZE (KDE/Qt/6.7.0/qtquicktimeline-everywhere-src-6.7.0.tar.xz) = 109548
diff --git a/x11-toolkits/qt6-quicktimeline/pkg-plist b/x11-toolkits/qt6-quicktimeline/pkg-plist
index a54587c60eea..c60c66f9aeb2 100644
--- a/x11-toolkits/qt6-quicktimeline/pkg-plist
+++ b/x11-toolkits/qt6-quicktimeline/pkg-plist
@@ -10,7 +10,24 @@
%%QT_INCDIR%%/QtQuickTimeline/qtquicktimelineexports.h
%%QT_INCDIR%%/QtQuickTimeline/qtquicktimelineglobal.h
%%QT_INCDIR%%/QtQuickTimeline/qtquicktimelineversion.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/%%FULLVER%%/QtQuickTimelineBlendTrees/private/qblendanimationnode_p.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/%%FULLVER%%/QtQuickTimelineBlendTrees/private/qblendtreenode_p.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/%%FULLVER%%/QtQuickTimelineBlendTrees/private/qtimelineanimationnode_p.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/%%FULLVER%%/QtQuickTimelineBlendTrees/private/qtquicktimelineblendtreesexports_p.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/%%FULLVER%%/QtQuickTimelineBlendTrees/private/qtquicktimelineblendtreesglobal_p.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/QtQuickTimelineBlendTrees
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/QtQuickTimelineBlendTreesDepends
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/QtQuickTimelineBlendTreesVersion
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/qtquicktimelineblendtreesexports.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/qtquicktimelineblendtreesglobal.h
+%%QT_INCDIR%%/QtQuickTimelineBlendTrees/qtquicktimelineblendtreesversion.h
lib/cmake/Qt6BuildInternals/StandaloneTests/QtQuickTimelineTestsConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginAdditionalTargetInfo.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginConfigVersion.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginConfigVersionImpl.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelineblendtreespluginTargets.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelinepluginAdditionalTargetInfo.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelinepluginConfig.cmake
lib/cmake/Qt6Qml/QmlPlugins/Qt6qtquicktimelinepluginConfigVersion.cmake
@@ -25,15 +42,35 @@ lib/cmake/Qt6QuickTimeline/Qt6QuickTimelineDependencies.cmake
lib/cmake/Qt6QuickTimeline/Qt6QuickTimelineTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Qt6QuickTimeline/Qt6QuickTimelineTargets.cmake
lib/cmake/Qt6QuickTimeline/Qt6QuickTimelineVersionlessTargets.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesAdditionalTargetInfo.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesConfig.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesConfigVersion.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesConfigVersionImpl.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesDependencies.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesTargets.cmake
+lib/cmake/Qt6QuickTimelineBlendTrees/Qt6QuickTimelineBlendTreesVersionlessTargets.cmake
%%QT_LIBDIR%%/libQt6QuickTimeline.prl
%%QT_LIBDIR%%/libQt6QuickTimeline.so
%%QT_LIBDIR%%/libQt6QuickTimeline.so.6
%%QT_LIBDIR%%/libQt6QuickTimeline.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6QuickTimelineBlendTrees.prl
+%%QT_LIBDIR%%/libQt6QuickTimelineBlendTrees.so
+%%QT_LIBDIR%%/libQt6QuickTimelineBlendTrees.so.6
+%%QT_LIBDIR%%/libQt6QuickTimelineBlendTrees.so.%%FULLVER%%
%%QT_LIBDIR%%/metatypes/qt6quicktimeline_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6quicktimelineblendtrees_%%CMAKE_BUILD_TYPE%%_metatypes.json
%%QT_MKSPECDIR%%/modules/qt_lib_quicktimeline.pri
%%QT_MKSPECDIR%%/modules/qt_lib_quicktimeline_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_quicktimelineblendtrees.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_quicktimelineblendtrees_private.pri
+%%QT_QMLDIR%%/QtQuick/Timeline/BlendTrees/libqtquicktimelineblendtreesplugin.so
+%%QT_QMLDIR%%/QtQuick/Timeline/BlendTrees/plugins.qmltypes
+%%QT_QMLDIR%%/QtQuick/Timeline/BlendTrees/qmldir
%%QT_QMLDIR%%/QtQuick/Timeline/libqtquicktimelineplugin.so
%%QT_QMLDIR%%/QtQuick/Timeline/plugins.qmltypes
%%QT_QMLDIR%%/QtQuick/Timeline/qmldir
libdata/pkgconfig/Qt6QuickTimeline.pc
+libdata/pkgconfig/Qt6QuickTimelineBlendTrees.pc
%%QT_DATADIR%%/modules/QuickTimeline.json
+%%QT_DATADIR%%/modules/QuickTimelineBlendTrees.json
diff --git a/x11-toolkits/qt6-shadertools/distinfo b/x11-toolkits/qt6-shadertools/distinfo
index 5e853fbca9c3..39a06805f2e3 100644
--- a/x11-toolkits/qt6-shadertools/distinfo
+++ b/x11-toolkits/qt6-shadertools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711665083
-SHA256 (KDE/Qt/6.6.3/qtshadertools-everywhere-src-6.6.3.tar.xz) = 8c0909d63bb33cb863c0de5a823cd4ad3489858023ab81a7fe84080c3d3ca1e6
-SIZE (KDE/Qt/6.6.3/qtshadertools-everywhere-src-6.6.3.tar.xz) = 1054688
+TIMESTAMP = 1712115689
+SHA256 (KDE/Qt/6.7.0/qtshadertools-everywhere-src-6.7.0.tar.xz) = 3e13f967c62f0815c901e754cbc472a2e19170da0c7a505230d559615f7998af
+SIZE (KDE/Qt/6.7.0/qtshadertools-everywhere-src-6.7.0.tar.xz) = 1110704
diff --git a/x11-toolkits/qt6-virtualkeyboard/distinfo b/x11-toolkits/qt6-virtualkeyboard/distinfo
index af1bfca271b2..0d909de78e6d 100644
--- a/x11-toolkits/qt6-virtualkeyboard/distinfo
+++ b/x11-toolkits/qt6-virtualkeyboard/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1711665095
-SHA256 (KDE/Qt/6.6.3/qtvirtualkeyboard-everywhere-src-6.6.3.tar.xz) = 989f82a1fbf49af3264a18191430726588fa3664f0eab13a7234c7054c3fa134
-SIZE (KDE/Qt/6.6.3/qtvirtualkeyboard-everywhere-src-6.6.3.tar.xz) = 3719852
+TIMESTAMP = 1712115695
+SHA256 (KDE/Qt/6.7.0/qtvirtualkeyboard-everywhere-src-6.7.0.tar.xz) = d61bb2a18b1b06f64c956b2bde740c90a4bb46c47a99b31462e6e8d278a0cb6a
+SIZE (KDE/Qt/6.7.0/qtvirtualkeyboard-everywhere-src-6.7.0.tar.xz) = 3720012