git: 2d302d850bd5 - main - www/ungoogled-chromium: update to 148.0.7778.96

From: Robert Nagy <rnagy_at_FreeBSD.org>
Date: Mon, 11 May 2026 13:58:10 UTC
The branch main has been updated by rnagy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2d302d850bd5f54db8862322de003cc896f0316f

commit 2d302d850bd5f54db8862322de003cc896f0316f
Author:     Robert Nagy <rnagy@FreeBSD.org>
AuthorDate: 2026-05-11 13:57:33 +0000
Commit:     Robert Nagy <rnagy@FreeBSD.org>
CommitDate: 2026-05-11 13:57:55 +0000

    www/ungoogled-chromium: update to 148.0.7778.96
    
    Security:       https://vuxml.freebsd.org/freebsd/da4d7162-4aa3-11f1-b189-a8a1599412c6.html
---
 www/ungoogled-chromium/Makefile                    |  18 +-
 www/ungoogled-chromium/distinfo                    |  14 +-
 www/ungoogled-chromium/files/patch-base_BUILD.gn   |  22 +--
 ...cator_partition__allocator_partition__alloc.gni |   6 +-
 ...tition__allocator_src_partition__alloc_BUILD.gn |   4 +-
 ...rtition__alloc__base_debug_proc__maps__linux.cc |   4 +-
 ..._partition__alloc_partition__alloc__constants.h |   6 +-
 .../files/patch-base_debug_stack__trace__posix.cc  |   8 +-
 .../files/patch-base_files_file__path__watcher.h   |   4 +-
 .../files/patch-base_files_file__util__unittest.cc |   8 +-
 ...mory_platform__shared__memory__region__posix.cc |   6 +-
 .../files/patch-base_rand__util__posix.cc          |  14 +-
 .../files/patch-base_system_sys__info.h            |   6 +-
 .../files/patch-base_threading_hang__watcher.cc    |  11 ++
 ...patch-base_threading_platform__thread__posix.cc |  30 +++-
 .../files/patch-build_config_compiler_BUILD.gn     |  31 ++--
 .../files/patch-build_config_linux_pkg-config.py   |  10 +-
 .../files/patch-build_rust_std_BUILD.gn            |   4 +-
 .../files/patch-build_toolchain_gcc__toolchain.gni |   4 +-
 .../files/patch-cc_base_features.cc                |   4 +-
 .../files/patch-chrome_app_settings__strings.grdp  |  16 --
 .../files/patch-chrome_browser_BUILD.gn            |   4 +-
 .../files/patch-chrome_browser_about__flags.cc     | 194 +++++++++------------
 ...kground_extensions_background__mode__manager.cc |   4 +-
 ...e_browser_background_glic_glic__status__icon.cc |  10 +-
 .../patch-chrome_browser_browser__features.cc      |   8 +-
 .../patch-chrome_browser_browser__process__impl.cc |  14 +-
 .../patch-chrome_browser_browser__process__impl.h  |   4 +-
 ..._browser_chrome__browser__interface__binders.cc |   4 +-
 ...r_chrome__browser__interface__binders__webui.cc |   8 +-
 ...r__interface__binders__webui__parts__desktop.cc |  14 +-
 .../patch-chrome_browser_chrome__browser__main.cc  |  38 ++--
 ...ome_browser_chrome__content__browser__client.cc |  42 ++---
 ...rome_browser_chrome__content__browser__client.h |   4 +-
 ...tent__browser__client__navigation__throttles.cc |  10 +-
 ...ssaging_messaging__backend__service__factory.cc |   4 +-
 ...rome_browser_component__updater_registration.cc |   8 +-
 ...download_chrome__download__manager__delegate.cc |   8 +-
 ...hrome_browser_download_download__item__model.cc |  10 +-
 ...ser__management_browser__management__service.cc |  10 +-
 ...-chrome_browser_enterprise_connectors_common.cc |   4 +-
 ...onnectors_reporting_crash__reporting__context.h |  29 +++
 .../files/patch-chrome_browser_extensions_BUILD.gn |   6 +-
 ..._browser__context__keyed__service__factories.cc |  20 +++
 ..._private_enterprise__reporting__private__api.cc |  12 +-
 ...__private_passwords__private__delegate__impl.cc |   4 +-
 ...extensions_api_settings__private_prefs__util.cc |   8 +-
 ...chrome_browser_extensions_api_tabs_tabs__api.cc |   4 +-
 ...cation__proxy_web__authentication__proxy__api.h |  11 ++
 ...api_webstore__private_webstore__private__api.cc |   4 +-
 ...ser_extensions_sync_extension__sync__service.cc |   4 +-
 ...chrome_browser_feedback_show__feedback__page.cc |  11 ++
 ...e__file__system__access__permission__context.cc |  14 +-
 .../patch-chrome_browser_flag__descriptions.h      |   8 +-
 ...chrome_browser_glic_host_glic__page__handler.cc |   4 +-
 .../patch-chrome_browser_glic_public_features.cc   |  11 ++
 ...atch-chrome_browser_glic_widget_glic__widget.cc |  33 +++-
 .../files/patch-chrome_browser_global__features.cc |   6 +-
 .../files/patch-chrome_browser_memory__details.cc  |   4 +-
 ...chrome__browser__main__extra__parts__metrics.cc |   6 +-
 ...ser_metrics_chrome__metrics__service__client.cc |  26 +--
 ...owser_net_profile__network__context__service.cc |   8 +-
 ...rowser_net_system__network__context__manager.cc |  26 +--
 ...cations_notification__display__service__impl.cc |  19 +-
 ..._tiles_chrome__most__visited__sites__factory.cc |   6 +-
 ...oad__metrics_page__load__metrics__initialize.cc |   6 +-
 ...d__manager_chrome__password__manager__client.cc |  10 +-
 .../patch-chrome_browser_platform__util__linux.cc  |   4 +-
 ...onfiguration__policy__handler__list__factory.cc |  58 +++---
 .../patch-chrome_browser_prefs_browser__prefs.cc   |  16 +-
 ...hrome__browser__main__extra__parts__profiles.cc |  58 +++---
 .../patch-chrome_browser_profiles_profile__impl.cc |  26 ++-
 ...r__context__menu_render__view__context__menu.cc |   6 +-
 ...owsing_safe__browsing__pref__change__handler.cc |   8 +-
 ...rowsing_safe__browsing__pref__change__handler.h |   4 +-
 ...owser_safe__browsing_safe__browsing__service.cc |   6 +-
 ...creen__ai_screen__ai__service__handler__base.cc |   6 +-
 ...tch-chrome_browser_sessions_session__restore.cc |   6 +-
 ...chrome_browser_signin_chrome__signin__client.cc |   4 +-
 ...tch-chrome_browser_signin_signin__hats__util.cc |   8 +-
 ...est_integration_sync__service__impl__harness.cc |   4 +-
 .../patch-chrome_browser_themes_theme__service.cc  |   6 +-
 .../patch-chrome_browser_ui_accelerator__table.cc  |   4 +-
 .../files/patch-chrome_browser_ui_browser.h        |   4 +-
 ...rome_browser_ui_browser__command__controller.cc |  18 +-
 .../patch-chrome_browser_ui_browser__commands.cc   |   8 +-
 .../patch-chrome_browser_ui_browser__ui__prefs.cc  |   4 +-
 ...r__window_internal_browser__window__features.cc |   6 +-
 ...wser__window_public_browser__window__features.h |   8 +-
 .../files/patch-chrome_browser_ui_chrome__pages.cc |  16 +-
 .../files/patch-chrome_browser_ui_chrome__pages.h  |  12 +-
 .../patch-chrome_browser_ui_hats_survey__config.cc |   4 +-
 ..._passwords_manage__passwords__ui__controller.cc |   6 +-
 .../files/patch-chrome_browser_ui_sad__tab.cc      |   4 +-
 ...e_browser_ui_signin_signin__view__controller.cc |   4 +-
 ...chrome_browser_ui_startup_bad__flags__prompt.cc |   4 +-
 ...tch-chrome_browser_ui_startup_infobar__utils.cc |   6 +-
 ...r_ui_startup_startup__browser__creator__impl.cc |  14 +-
 ...me_browser_ui_startup_startup__tab__provider.cc |   4 +-
 .../files/patch-chrome_browser_ui_tab__helpers.cc  |   6 +-
 ...h-chrome_browser_ui_tabs_public_tab__features.h |   6 +-
 .../patch-chrome_browser_ui_tabs_tab__features.cc  |  10 +-
 ...tch-chrome_browser_ui_tabs_tab__strip__prefs.cc |   4 +-
 .../files/patch-chrome_browser_ui_ui__features.cc  |  21 +--
 .../files/patch-chrome_browser_ui_ui__features.h   |  15 +-
 .../files/patch-chrome_browser_ui_url__identity.cc |  29 ---
 ...collaboration__controller__delegate__desktop.cc |  22 +--
 ...-chrome_browser_ui_views_frame_browser__view.cc |   8 +-
 ..._ui_views_frame_system__menu__model__builder.cc |   8 +-
 ...ui_views_frame_system__menu__model__delegate.cc |   8 +-
 ...r_ui_views_location__bar_location__bar__view.cc |   4 +-
 ...ui_views_new__tab__footer_footer__controller.cc |   4 +-
 ...er_ui_views_profiles_avatar__toolbar__button.cc |   4 +-
 ..._views_profiles_first__run__flow__controller.cc |   6 +-
 ...wser_ui_views_profiles_profile__picker__view.cc |   6 +-
 ...ui_views_tabs_dragging_tab__drag__controller.cc |  12 +-
 ...bs_hovercard_tab__hover__card__bubble__view.cc} |   6 +-
 ...projects_projects__panel__thread__item__view.cc |   4 +-
 ...ome_browser_ui_views_tabs_shared_drop__arrow.cc |  11 ++
 .../patch-chrome_browser_ui_views_tabs_tab.cc      |   4 +-
 ...rome_browser_ui_views_tabs_tab__style__views.cc |   4 +-
 ..._vertical_vertical__tab__group__header__view.cc |   4 +-
 ...hrome_browser_ui_views_toolbar_toolbar__view.cc |   4 +-
 ..._education_browser__user__education__service.cc |   6 +-
 ...eb__apps_web__app__integration__test__driver.cc |   8 +-
 ...eb__applications_web__app__ui__manager__impl.cc |   6 +-
 ...web__applications_web__app__ui__manager__impl.h |   4 +-
 ...ser_ui_webui__browser_webui__browser__window.cc |   4 +-
 ...atch-chrome_browser_ui_webui_about_about__ui.cc |   8 +-
 ...me_browser_ui_webui_chrome__web__ui__configs.cc |  17 +-
 ...ternals_connectors__internals__page__handler.cc |  15 +-
 ..._cr__components_searchbox_searchbox__handler.cc |   8 +-
 ...ui_history_history__identity__state__watcher.cc |   4 +-
 ...e_browser_ui_webui_management_management__ui.cc |   4 +-
 ...i_webui_management_management__ui__constants.cc |  11 +-
 ...ui_webui_management_management__ui__constants.h |  12 +-
 ..._ui_webui_management_management__ui__handler.cc |  10 +-
 ...ui_sanitized__image_sanitized__image__source.cc |  11 ++
 ...bui_sanitized__image_sanitized__image__source.h |  11 ++
 ...h__engine__choice_search__engine__choice__ui.cc |  11 ++
 ...rowser_ui_webui_settings_appearance__handler.cc |   4 +-
 ...tings_settings__localized__strings__provider.cc |  18 +-
 ...er_ui_webui_settings_site__settings__handler.cc |   8 +-
 ...ize__chrome_customize__chrome__page__handler.cc |   4 +-
 ...owser_ui_webui_signin_sync__confirmation__ui.cc |  11 ++
 ...r__education__internals__page__handler__impl.cc |   4 +-
 ...lications_commands_launch__web__app__command.cc |   4 +-
 ...ons_os__integration_os__integration__manager.cc |   4 +-
 ...s_test_os__integration__test__override__impl.cc |  30 ++--
 ...ns_test_os__integration__test__override__impl.h |  10 +-
 ...ch-chrome_browser_web__applications_web__app.cc |   4 +-
 ..._browser_web__applications_web__app__helpers.cc |  11 --
 ...thn_chrome__authenticator__request__delegate.cc |   4 +-
 ...bauthn_chrome__web__authentication__delegate.cc |  20 +++
 ...tch-chrome_browser_webauthn_enclave__manager.cc |   6 +-
 .../files/patch-chrome_common_chrome__features.cc  |  12 +-
 .../files/patch-chrome_common_chrome__features.h   |  12 +-
 .../files/patch-chrome_common_chrome__switches.cc  |   8 +-
 .../files/patch-chrome_common_chrome__switches.h   |   8 +-
 .../files/patch-chrome_common_pref__names.h        |  24 +--
 .../files/patch-chrome_common_url__constants.h     |   4 +-
 .../patch-chrome_common_webui__url__constants.cc   |   6 +-
 .../patch-chrome_common_webui__url__constants.h    |   8 +-
 ...e_renderer_chrome__content__renderer__client.cc |  12 +-
 .../files/patch-chrome_updater_configurator.cc     |   4 +-
 .../files/patch-chrome_updater_util_posix__util.cc |   4 +-
 .../files/patch-components_BUILD.gn                |   8 +-
 ...browser_payments_amount__extraction__manager.cc |   8 +-
 ...autofill_core_browser_payments_bnpl__manager.cc |   4 +-
 ...payments_credit__card__suggestion__generator.cc |  11 ++
 ...ill_core_common_autofill__payments__features.cc |  31 ++--
 ...on_public_collaboration__controller__delegate.h |   8 +-
 ...h-components_dbus_xdg_file__transfer__portal.cc |   4 +-
 ...evice__signals_core_common_signals__features.cc |   4 +-
 ...device__signals_core_common_signals__features.h |   4 +-
 ...service_discardable__shared__memory__manager.cc |   4 +-
 ..._enterprise_data__controls_core_browser_rule.cc |   6 +-
 ...mponents_error__page_common_localized__error.cc |   4 +-
 ...e__engagement_public_feature__configurations.cc |   4 +-
 ...eature__engagement_public_feature__constants.cc |   4 +-
 ...feature__engagement_public_feature__constants.h |   6 +-
 ...nts_feature__engagement_public_feature__list.cc |  24 +--
 ...ents_feature__engagement_public_feature__list.h |  34 ++--
 ...s_feed_core_v2_feed__network__impl__unittest.cc |   4 +-
 ...nts_gwp__asan_crash__handler_crash__analyzer.cc |   6 +-
 ...omponents_media__router_common_media__source.cc |   4 +-
 ...-components_metrics_drive__metrics__provider.cc |  14 +-
 ...nts_named__mojo__ipc__server_connection__info.h |  12 +-
 ...core_feature__registry_feature__registration.cc |   4 +-
 ...on__guide_core_optimization__guide__features.cc |   4 +-
 ...zation__guide_core_optimization__guide__util.cc |   4 +-
 ...aint__preview_browser_paint__preview__client.cc |   4 +-
 ..._preview_player_player__compositor__delegate.cc |   4 +-
 ...ger_core_browser_features_password__features.cc |   8 +-
 ...ager_core_browser_features_password__features.h |   8 +-
 ...ger_core_browser_password__autofill__manager.cc |   6 +-
 ...ager_core_browser_password__autofill__manager.h |   4 +-
 ...manager_core_browser_password__form__manager.cc |   4 +-
 ...anager_core_browser_password__manager__client.h |   4 +-
 ...ore_browser_password__manual__fallback__flow.cc |   8 +-
 ...core_browser_password__manual__fallback__flow.h |   6 +-
 ...core_browser_stub__password__manager__client.cc |   4 +-
 ..._core_browser_stub__password__manager__client.h |   4 +-
 ..._browser_realtime_url__lookup__service__base.cc |   4 +-
 ...nents_search__engines_template__url__service.cc |   4 +-
 ...identity__manager_account__capabilities__list.h |  11 ++
 ...mponents_signin_public_base_signin__switches.cc |  31 ++--
 ...omponents_signin_public_base_signin__switches.h |  29 +--
 ...blic_identity__manager_account__capabilities.cc |  11 ++
 ...ublic_identity__manager_account__capabilities.h |  11 ++
 .../files/patch-components_soda_soda__util.cc      |   4 +-
 ...sync__device__info_local__device__info__util.cc |  10 +-
 ...nts_sync_service_device__statistics__tracker.cc |  11 ++
 .../patch-components_sync_service_sync__prefs.cc   |   4 +-
 ...nts_user__education_views_help__bubble__view.cc |   6 +-
 ...ents_user__education_views_help__bubble__view.h |   4 +-
 ...nents_variations_service_variations__service.cc |   4 +-
 ...ch-components_viz_host_host__display__client.cc |   4 +-
 ...isplay__embedder_skia__output__surface__impl.cc |   4 +-
 ...components_viz_service_gl_gpu__service__impl.cc |   4 +-
 ...-components_viz_service_gl_gpu__service__impl.h |   4 +-
 ..._wallet_core_browser_network_wallet__request.cc |  11 ++
 ...onents_webapps_browser_web__app__url__config.cc |  11 ++
 .../patch-components_webui_flags_flags__state.cc   |   4 +-
 .../files/patch-content_browser_BUILD.gn           |   6 +-
 ...owser__accessibility__state__impl__auralinux.cc |   8 +-
 .../patch-content_browser_browser__main__loop.cc   |   8 +-
 ..._compositor_viz__process__transport__factory.cc |   4 +-
 ...wser_devtools_devtools__frontend__host__impl.cc |   8 +-
 ...ccess_file__path__watcher_file__path__watcher.h |   4 +-
 ...rowser_renderer__host_delegated__frame__host.cc |   4 +-
 ...r_renderer__host_render__process__host__impl.cc |   8 +-
 ...wser_renderer__host_render__view__host__impl.cc |   4 +-
 ...derer__host_render__widget__host__view__aura.cc |   8 +-
 ...scheduler_responsiveness_jank__monitor__impl.cc |   4 +-
 ...duler_responsiveness_native__event__observer.cc |   8 +-
 ...eduler_responsiveness_native__event__observer.h |  38 ++--
 ...browser_service__host_utility__process__host.cc |   6 +-
 ...wser_web__contents_web__contents__view__aura.cc |  10 +-
 .../files/patch-content_common_BUILD.gn            |   4 +-
 .../files/patch-content_common_features.cc         |   8 +-
 .../files/patch-content_common_features.h          |  14 +-
 .../files/patch-content_gpu_gpu__main.cc           |  12 +-
 ...tent_public_browser_content__browser__client.cc |   4 +-
 ...atch-content_public_common_content__features.cc |  15 +-
 ...atch-content_public_common_content__switches.cc |   4 +-
 ...patch-content_public_common_content__switches.h |   4 +-
 .../patch-content_renderer_render__thread__impl.cc |  12 +-
 ...ent_renderer_renderer__blink__platform__impl.cc |  14 +-
 ...tent_renderer_renderer__blink__platform__impl.h |   4 +-
 .../files/patch-content_renderer_renderer__main.cc |   4 +-
 .../files/patch-content_shell_BUILD.gn             |   4 +-
 ...ell_browser_shell__platform__delegate__views.cc |   4 +-
 ...ll_renderer_shell__content__renderer__client.cc |   4 +-
 .../files/patch-content_utility_services.cc        |  10 +-
 .../files/patch-device_fido_public_features.cc     |   4 +-
 ...-device_gamepad_public_cpp_gamepad__features.cc |   4 +-
 ...h-device_gamepad_public_cpp_gamepad__features.h |   4 +-
 ...sions_browser_api_management_management__api.cc |  11 --
 ...mand__buffer_service_dawn__context__provider.cc |   4 +-
 ..._command__buffer_service_gles2__cmd__decoder.cc |   4 +-
 ...ommand__buffer_service_shared__context__state.h |   6 +-
 ...ed__image_dawn__ozone__image__representation.cc |  23 +++
 ...e_shared__image_external__vk__image__backing.cc |   6 +-
 ..._image_external__vk__image__backing__factory.cc |   4 +-
 ...service_shared__image_shared__image__factory.cc |  12 +-
 ...service_shared__image_shared__image__manager.cc |   4 +-
 ...ommand__buffer_service_webgpu__decoder__impl.cc |   6 +-
 .../files/patch-gpu_config_gpu__finch__features.cc |  15 +-
 .../files/patch-gpu_ipc_service_gpu__init.cc       |  22 +--
 .../files/patch-headless_BUILD.gn                  |   6 +-
 ...b_browser_headless__content__browser__client.cc |   4 +-
 ...adless_lib_headless__content__main__delegate.cc |   6 +-
 .../files/patch-media_base_media__switches.cc      |  18 +-
 .../files/patch-media_base_media__switches.h       |  10 +-
 .../files/patch-media_base_video__frame.cc         |   8 +-
 .../files/patch-media_base_video__frame.h          |   8 +-
 ...ideo_create__video__capture__device__factory.cc |   8 +-
 ..._video_fake__video__capture__device__factory.cc |   4 +-
 ..._capture_video_linux_v4l2__capture__delegate.cc |  30 ++--
 ..._linux_video__capture__device__factory__v4l2.cc |  14 +-
 ...o_linux_video__capture__device__factory__v4l2.h |   4 +-
 .../patch-media_ffmpeg_scripts_build__ffmpeg.py    |   6 +-
 .../files/patch-media_gpu_v4l2_v4l2__utils.cc      |  10 +-
 .../patch-media_gpu_vaapi_vaapi__video__decoder.cc |   4 +-
 .../files/patch-media_gpu_vaapi_vaapi__wrapper.cc  |   4 +-
 .../files/patch-media_media__options.gni           |   4 +-
 ..._mappable__shared__image__video__frame__pool.cc |  14 +-
 ..._mappable__shared__image__video__frame__pool.cc |   4 +-
 ...ia_video_video__encode__accelerator__adapter.cc |   4 +-
 .../files/patch-media_webrtc_audio__processor.cc   |   4 +-
 .../files/patch-media_webrtc_helpers.cc            |   4 +-
 .../patch-mojo_public_tools_bindings_mojom.gni     |   4 +-
 www/ungoogled-chromium/files/patch-net_BUILD.gn    |  16 +-
 .../files/patch-net_base_features.cc               |   8 +-
 .../files/patch-net_dns_BUILD.gn                   |  18 +-
 .../files/patch-net_dns_dns__util.cc               |   4 +-
 .../files/patch-net_dns_public_BUILD.gn            |   4 +-
 .../files/patch-net_socket_tcp__socket__posix.cc   |   4 +-
 .../patch-net_url__request_url__request__context.h |   4 +-
 ..._url__request_url__request__context__builder.cc |   4 +-
 ...ets_websocket__basic__stream__adapters__test.cc |   4 +-
 ...oting_base_crash_crashpad__database__manager.cc |  47 +++++
 .../files/patch-remoting_base_remoting__export.h   |  11 ++
 ...ch-remoting_base_security__key__socket__name.cc |  11 ++
 .../files/patch-remoting_host_base_switches.cc     |   7 +-
 .../files/patch-remoting_host_base_switches.h      |   7 +-
 .../files/patch-remoting_host_chromoting__host.cc  |   4 +-
 .../files/patch-remoting_host_chromoting__host.h   |   8 +-
 ...ting_host_chromoting__host__services__client.cc |  13 +-
 ...ting_host_chromoting__host__services__server.cc |  29 +++
 .../patch-remoting_host_desktop__process__main.cc  |  24 ++-
 .../patch-remoting_host_desktop__session__proxy.cc |  20 +++
 .../patch-remoting_host_desktop__session__proxy.h  |  11 ++
 .../files/patch-remoting_host_host__attributes.cc  |  20 +++
 .../files/patch-remoting_host_host__main.cc        |  45 +++--
 .../files/patch-remoting_host_ipc__constants.cc    |  41 +++--
 .../files/patch-remoting_host_ipc__constants.h     |  13 +-
 ...atch-remoting_host_ipc__desktop__environment.cc |  11 ++
 ...patch-remoting_host_ipc__desktop__environment.h |  13 +-
 ...emoting_host_mojo__caller__security__checker.cc |  10 +-
 .../patch-remoting_host_remoting__me2me__host.cc   |  42 ++---
 .../patch-remoting_host_setup_start__host__main.cc |   8 +-
 ...bauthn_remote__webauthn__extension__notifier.cc |  15 +-
 .../files/patch-sandbox_policy_features.cc         |  16 +-
 ...atch-sandbox_policy_openbsd_sandbox__openbsd.cc |  52 +++++-
 .../files/patch-sandbox_policy_sandbox__type.cc    |  32 ++--
 ...me__zone__monitor_time__zone__monitor__linux.cc |   4 +-
 .../files/patch-services_network_BUILD.gn          |   4 +-
 .../patch-services_network_network__context.cc     |   6 +-
 .../patch-services_network_network__context.h      |   4 +-
 ...rvices_network_network__sandbox__hook__linux.cc |   8 +-
 .../patch-services_network_network__service.cc     |   6 +-
 .../patch-services_network_public_cpp_BUILD.gn     |   4 +-
 .../patch-services_network_public_mojom_BUILD.gn   |   8 +-
 ..._ai_sandbox_screen__ai__sandbox__hook__linux.cc |   6 +-
 ...e__detection_shape__detection__sandbox__hook.cc |   4 +-
 ..._tracing_public_cpp_system__metrics__sampler.cc |   4 +-
 .../files/patch-services_viz_public_mojom_BUILD.gn |   4 +-
 .../files/patch-services_webnn_features.gni        |   6 +-
 www/ungoogled-chromium/files/patch-sql_database.cc |   4 +-
 .../files/patch-third__party_angle_BUILD.gn        |   8 +-
 ...e_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp |   4 +-
 .../patch-third__party_blink_common_features.cc    |   6 +-
 ...h-third__party_blink_public_platform_platform.h |   4 +-
 ...rer_controller_memory__usage__monitor__posix.cc |   4 +-
 ...blink_renderer_core_exported_web__view__impl.cc |   8 +-
 ...y_blink_renderer_core_frame_web__frame__test.cc |   6 +-
 ...r_core_origin__trials_origin__trial__context.cc |  11 --
 ...renderer_core_page_context__menu__controller.cc |   4 +-
 ...odules_webaudio_audio__worklet__thread__test.cc |  10 +-
 ...odules_webgl_webgl__rendering__context__base.cc |   4 +-
 ...renderer_modules_webgpu_gpu__canvas__context.cc |   6 +-
 ...rty_blink_renderer_modules_webgpu_gpu__queue.cc |   4 +-
 ...h-third__party_blink_renderer_platform_BUILD.gn |   4 +-
 ...platform_graphics_canvas__resource__provider.cc |   4 +-
 ...er_platform_graphics_video__frame__submitter.cc |   4 +-
 ...derer_platform_runtime__enabled__features.json5 |  71 ++++----
 .../files/patch-third__party_cpuinfo_BUILD.gn      |  47 +++++
 .../files/patch-third__party_ffmpeg_configure      |   4 +-
 ...tch-third__party_libsync_src_include_ndk_sync.h |  19 ++
 .../files/patch-third__party_libsync_src_sync.c    | 181 +++++++++++++++++++
 ...ch-third__party_libunwind_src_src_Registers.hpp |  11 --
 .../patch-third__party_libvpx_libvpx__srcs.gni     |  18 ++
 ...bvpx_source_config_linux_arm64_vpx__dsp__rtcd.h |  98 +++++++++++
 .../files/patch-third__party_litert_features.gni   |   9 +
 ...ird__party_pdfium_core_fxge_cfx__fontmapper.cpp |   4 +-
 ...-third__party_perfetto_src_base_unix__socket.cc |   4 +-
 ...__party_speech-dispatcher_libspeechd__version.h |   4 +-
 ...d__party_sqlite_src_amalgamation__dev_sqlite3.c |   4 +-
 ...-third__party_sqlite_src_amalgamation_sqlite3.c |   4 +-
 ...rd__party_webrtc_modules_audio__device_BUILD.gn |   4 +-
 .../files/patch-tools_gn_build_gen.py              |   6 +-
 ...tch-ui_accessibility_accessibility__features.cc |   6 +-
 ...atch-ui_accessibility_accessibility__features.h |   6 +-
 .../files/patch-ui_accessibility_ax__node.cc       |   6 +-
 .../files/patch-ui_accessibility_ax__node.h        |   4 +-
 .../files/patch-ui_accessibility_ax__tree.cc       |   6 +-
 .../files/patch-ui_base_clipboard_clipboard.cc     |   4 +-
 .../files/patch-ui_base_ui__base__features.cc      |   6 +-
 .../files/patch-ui_base_x_selection__owner.cc      |  38 ++++
 .../files/patch-ui_base_x_selection__owner.h       |  29 +++
 .../files/patch-ui_base_x_selection__utils.cc      |  20 ---
 .../files/patch-ui_base_x_x11__drag__context.cc    |  11 +-
 .../files/patch-ui_base_x_x11__drag__context.h     |  29 +++
 ...-ui_base_x_x11__os__exchange__data__provider.cc |  20 ---
 .../files/patch-ui_compositor_compositor.h         |   4 +-
 .../files/patch-ui_events_event.cc                 |   8 +-
 .../files/patch-ui_gfx_gpu__fence.cc               |  36 ----
 .../files/patch-ui_gfx_native__ui__types.h         |   6 +-
 ...atch-ui_gtk_select__file__dialog__linux__gtk.cc |   4 +-
 ...one_platform_wayland_host_wayland__clipboard.cc |  40 +++--
 ...wayland_host_wayland__data__drag__controller.cc |  37 ++--
 ...yland_host_wayland__exchange__data__provider.cc |  17 +-
 ...latform_wayland_host_wayland__frame__manager.cc |  12 +-
 ...-ui_ozone_platform_x11_x11__clipboard__ozone.cc |  34 +++-
 ...h-ui_ozone_platform_x11_x11__clipboard__ozone.h |  29 +++
 .../files/patch-ui_views_BUILD.gn                  |   4 +-
 .../patch-ui_views_controls_textfield_textfield.cc |  16 +-
 .../patch-ui_views_controls_textfield_textfield.h  |   6 +-
 .../files/patch-ui_views_widget_root__view.cc      |  11 --
 .../files/patch-ui_views_widget_widget.cc          |   6 +-
 .../files/patch-ui_views_widget_widget.h           |   6 +-
 .../patch-ui_views_window_dialog__delegate.cc      |   4 +-
 .../patch-ui_webui_resources_tools_minify__js.py   |  11 ++
 www/ungoogled-chromium/files/patch-v8_BUILD.gn     |  23 ++-
 .../files/patch-v8_src_api_api.cc                  |   6 +-
 .../files/patch-v8_src_base_macros.h               |  11 ++
 .../files/patch-v8_src_execution_isolate.cc        |   4 +-
 .../files/patch-v8_src_flags_flags.cc              |   4 +-
 410 files changed, 2851 insertions(+), 1812 deletions(-)

diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile
index 0837c7dc52ef..9fdcc9f4c7f6 100644
--- a/www/ungoogled-chromium/Makefile
+++ b/www/ungoogled-chromium/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	ungoogled-chromium
-PORTVERSION=	147.0.7727.101
-PORTREVISION=	1
+PORTVERSION=	148.0.7778.96
 PULSEMV=	16
 PULSEV=		${PULSEMV}.1
 UGVERSION=	${DISTVERSION}-1
@@ -133,8 +132,7 @@ GN_ARGS+=	enable_widevine=true \
 		ffmpeg_branding="${FFMPEG_BRAND}"
 
 # sync with flags.gni
-GN_ARGS+=	build_with_tflite_lib=false \
-		chrome_pgo_phase=0 \
+GN_ARGS+=	chrome_pgo_phase=0 \
 		clang_use_chrome_plugins=false \
 		disable_fieldtrial_testing_config=true \
 		enable_backup_ref_ptr_support=false \
@@ -247,7 +245,7 @@ TEST_ALL_TARGET=	${TEST_TARGETS}
 IGNORE=		you have selected HEIMDAL_BASE but do not have Heimdal installed in base
 .endif
 
-LLVM_DEFAULT=		21
+LLVM_DEFAULT=		22
 BUILD_DEPENDS+=		clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
 BINARY_ALIAS+=		cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \
 			cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \
@@ -313,7 +311,7 @@ pre-configure:
 	#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
 	cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
 		./build/linux/unbundle/replace_gn_files.py --system-libraries \
-		dav1d flac fontconfig harfbuzz-ng libdrm libpng \
+		dav1d flac fontconfig harfbuzz libdrm libpng \
 		libusb libwebp libxml libxslt openh264 opus || ${FALSE}
 	# Chromium uses an unreleased version of FFmpeg, so configure it
 	cd ${WRKSRC}/media/ffmpeg && \
@@ -342,6 +340,14 @@ do-configure:
 	@${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin
 	${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node
 
+	# Setup rustc dependency
+	@${MKDIR} ${WRKSRC}/third_party/rust-toolchain/bin
+	${LN} -sf ${LOCALBASE}/bin/rustc ${WRKSRC}/third_party/rust-toolchain/bin/rustc
+
+	# Setup gperf dependency
+	@${MKDIR} ${WRKSRC}/third_party/gperf/cipd/bin
+	${LN} -sf ${LOCALBASE}/bin/gperf ${WRKSRC}/third_party/gperf/cipd/bin/gperf
+
 	# Setup buildtools/freebsd
 	@${MKDIR} ${WRKSRC}/buildtools/freebsd
 	${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd
diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo
index f4b69a30a250..78e8fd054b6b 100644
--- a/www/ungoogled-chromium/distinfo
+++ b/www/ungoogled-chromium/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1776404478
-SHA256 (chromium-147.0.7727.101-lite.tar.xz) = 87b499c215e895c518bc25b8a0648a2e23a6a3e865cd43a1243c21ae974140f6
-SIZE (chromium-147.0.7727.101-lite.tar.xz) = 1474134964
+TIMESTAMP = 1778255853
+SHA256 (chromium-148.0.7778.96-lite.tar.xz) = 694d4e0269e11056c6dff748da7e8354bfbf90da7ce8f7467a0acfe2994a8688
+SIZE (chromium-148.0.7778.96-lite.tar.xz) = 1593085264
 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
 SIZE (pulseaudio-16.1.tar.gz) = 2763111
-SHA256 (chromium-147.0.7727.101-testdata.tar.xz) = b976a9537e698543853167304e7e4f12a4096df00a7e9c7f974c21f44ec97fce
-SIZE (chromium-147.0.7727.101-testdata.tar.xz) = 1318304744
-SHA256 (ungoogled-software-ungoogled-chromium-147.0.7727.101-147.0.7727.101-1_GH0.tar.gz) = a2f7388030a9ad6cd69d33a453d347ceebea122eb85d0924f7ffc8b1cc861790
-SIZE (ungoogled-software-ungoogled-chromium-147.0.7727.101-147.0.7727.101-1_GH0.tar.gz) = 662776
+SHA256 (chromium-148.0.7778.96-testdata.tar.xz) = 27c4b9556f03e670227c404d58eb6aa09db5e971adde84e68be9824db5842624
+SIZE (chromium-148.0.7778.96-testdata.tar.xz) = 1305648176
+SHA256 (ungoogled-software-ungoogled-chromium-148.0.7778.96-148.0.7778.96-1_GH0.tar.gz) = 13199ffa3bfafcdfa907116432f13f34bfc7767dafb09369ba7814adc570183d
+SIZE (ungoogled-software-ungoogled-chromium-148.0.7778.96-148.0.7778.96-1_GH0.tar.gz) = 660740
diff --git a/www/ungoogled-chromium/files/patch-base_BUILD.gn b/www/ungoogled-chromium/files/patch-base_BUILD.gn
index 388860485e38..1513c5980520 100644
--- a/www/ungoogled-chromium/files/patch-base_BUILD.gn
+++ b/www/ungoogled-chromium/files/patch-base_BUILD.gn
@@ -1,6 +1,6 @@
---- base/BUILD.gn.orig	2026-04-15 11:25:12 UTC
+--- base/BUILD.gn.orig	2026-05-09 18:09:27 UTC
 +++ base/BUILD.gn
-@@ -1163,11 +1163,26 @@ component("base") {
+@@ -1168,11 +1168,26 @@ 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.
@@ -28,7 +28,7 @@
    if (use_allocator_shim) {
      if (is_apple) {
        sources += [ "allocator/early_zone_registration_apple.h" ]
-@@ -1187,7 +1202,7 @@ component("base") {
+@@ -1192,7 +1207,7 @@ component("base") {
  
    # Allow more direct string conversions on platforms with native utf8
    # strings
@@ -37,7 +37,7 @@
      defines += [ "SYSTEM_NATIVE_UTF8" ]
    }
  
-@@ -2193,6 +2208,22 @@ component("base") {
+@@ -2204,6 +2219,22 @@ component("base") {
      ]
    }
  
@@ -60,7 +60,7 @@
    # iOS
    if (is_ios) {
      sources += [
-@@ -2367,6 +2398,33 @@ component("base") {
+@@ -2378,6 +2409,33 @@ component("base") {
      }
    }
  
@@ -94,7 +94,7 @@
    if (use_blink) {
      sources += [
        "files/file_path_watcher.cc",
-@@ -2797,7 +2855,7 @@ buildflag_header("protected_memory_buildflags") {
+@@ -2869,7 +2927,7 @@ buildflag_header("protected_memory_buildflags") {
    header = "protected_memory_buildflags.h"
    header_dir = "base/memory"
  
@@ -103,7 +103,7 @@
                               (is_win || is_linux || is_android || is_mac)
  
    flags = [ "PROTECTED_MEMORY_ENABLED=$protected_memory_enabled" ]
-@@ -3310,7 +3368,7 @@ if (is_apple) {
+@@ -3382,7 +3440,7 @@ if (is_apple) {
    }
  }
  
@@ -112,7 +112,7 @@
    # This test must compile with -fstack-protector-all
    source_set("stack_canary_linux_unittests") {
      testonly = true
-@@ -4053,7 +4111,7 @@ test("base_unittests") {
+@@ -4127,7 +4185,7 @@ test("base_unittests") {
      configs += [ ":delayload_esent_dll" ]
    }
  
@@ -121,7 +121,7 @@
      sources += [
        "debug/proc_maps_linux_unittest.cc",
        "files/scoped_file_linux_unittest.cc",
-@@ -4078,7 +4136,7 @@ test("base_unittests") {
+@@ -4152,7 +4210,7 @@ test("base_unittests") {
        "posix/file_descriptor_shuffle_unittest.cc",
        "posix/unix_domain_socket_unittest.cc",
      ]
@@ -130,7 +130,7 @@
        sources += [
          "profiler/stack_base_address_posix_unittest.cc",
          "profiler/stack_copier_signal_unittest.cc",
-@@ -4089,7 +4147,7 @@ test("base_unittests") {
+@@ -4163,7 +4221,7 @@ test("base_unittests") {
  
    # Allow more direct string conversions on platforms with native utf8
    # strings
@@ -139,7 +139,7 @@
      defines += [ "SYSTEM_NATIVE_UTF8" ]
    }
  
-@@ -4276,7 +4334,7 @@ test("base_unittests") {
+@@ -4346,7 +4404,7 @@ test("base_unittests") {
      deps += [ ":base_profiler_test_support_library" ]
    }
  
diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
index 60480ba8e445..921aec93640b 100644
--- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
+++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni
@@ -1,6 +1,6 @@
---- base/allocator/partition_allocator/partition_alloc.gni.orig	2026-04-15 11:25:12 UTC
+--- base/allocator/partition_allocator/partition_alloc.gni.orig	2026-05-09 18:09:27 UTC
 +++ base/allocator/partition_allocator/partition_alloc.gni
-@@ -92,7 +92,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || 
+@@ -99,7 +99,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || 
  # TODO(crbug.com/329199197): Clean this up when experiments are complete.
  use_large_empty_slot_span_ring = true
  
@@ -9,7 +9,7 @@
                       !is_hwasan && (is_linux || is_android)
  
  declare_args() {
-@@ -496,7 +496,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl
+@@ -512,7 +512,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl
  # dependencies that use partition_allocator are compiled in AOSP against a
  # version of glibc that does not include pkeys syscall numbers.
  is_pkeys_available =
diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn
index c687be30559e..24698d8ee08c 100644
--- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn
+++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn
@@ -1,6 +1,6 @@
---- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig	2026-04-15 11:25:12 UTC
+--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig	2026-05-09 18:09:27 UTC
 +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
-@@ -908,7 +908,7 @@ if (is_clang_or_gcc) {
+@@ -914,7 +914,7 @@ if (is_clang_or_gcc) {
          configs -= [ partition_alloc_enable_arc_config ]
        }
      }
diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc
index 11e84f5898b5..ea6657f0c7ad 100644
--- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc
+++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc
@@ -1,6 +1,6 @@
---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig	2024-08-26 14:40:28 UTC
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc
-@@ -19,7 +19,7 @@
+@@ -15,7 +15,7 @@
  #include "partition_alloc/partition_alloc_check.h"
  
  #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || \
diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h
index 084eb4e8112f..36244d3b7cbb 100644
--- a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h
+++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h
@@ -1,6 +1,6 @@
---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig	2026-02-15 10:01:45 UTC
+--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig	2026-05-09 18:09:27 UTC
 +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
-@@ -310,7 +310,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask);
+@@ -316,7 +316,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask);
  // 8GB for each of the glued pools).
  #if PA_BUILDFLAG(HAS_64_BIT_POINTERS)
  #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \
@@ -9,7 +9,7 @@
  constexpr size_t kPoolMaxSize = 8 * kGiB;
  #else
  constexpr size_t kPoolMaxSize = 16 * kGiB;
-@@ -394,7 +394,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() {
+@@ -400,7 +400,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() {
  // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation
  // where a normal slot span will be large enough to contain multiple items,
  // but the address will go over the final partition page after being aligned.
diff --git a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc
index 1b8aa7552753..02ab6a6c1c26 100644
--- a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc
+++ b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc
@@ -1,4 +1,4 @@
---- base/debug/stack_trace_posix.cc.orig	2026-02-15 10:01:45 UTC
+--- base/debug/stack_trace_posix.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/debug/stack_trace_posix.cc
 @@ -47,7 +47,7 @@
  // execinfo.h and backtrace(3) are really only present in glibc and in macOS
@@ -67,7 +67,7 @@
  #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ||
          // BUILDFLAG(IS_CHROMEOS)
  
-@@ -775,6 +783,7 @@ class SandboxSymbolizeHelper {
+@@ -777,6 +785,7 @@ class SandboxSymbolizeHelper {
      return -1;
    }
  
@@ -75,7 +75,7 @@
    // This class is copied from
    // third_party/crashpad/crashpad/util/linux/scoped_pr_set_dumpable.h.
    // It aims at ensuring the process is dumpable before opening /proc/self/mem.
-@@ -867,11 +876,15 @@ class SandboxSymbolizeHelper {
+@@ -869,11 +878,15 @@ class SandboxSymbolizeHelper {
        r.base = cur_base;
      }
    }
@@ -91,7 +91,7 @@
      // Reads /proc/self/maps.
      std::string contents;
      if (!ReadProcMaps(&contents)) {
-@@ -889,6 +902,7 @@ class SandboxSymbolizeHelper {
+@@ -891,6 +904,7 @@ class SandboxSymbolizeHelper {
  
      is_initialized_ = true;
      return true;
diff --git a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher.h b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher.h
index b280ba971e02..28e1a43a2c3f 100644
--- a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher.h
+++ b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher.h
@@ -1,6 +1,6 @@
---- base/files/file_path_watcher.h.orig	2024-02-03 15:42:55 UTC
+--- base/files/file_path_watcher.h.orig	2026-05-09 18:09:27 UTC
 +++ base/files/file_path_watcher.h
-@@ -105,7 +105,7 @@ class BASE_EXPORT FilePathWatcher {
+@@ -104,7 +104,7 @@ class BASE_EXPORT FilePathWatcher {
      Type type = Type::kNonRecursive;
  
  #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc
index d5a306859aab..7b67c8070b1c 100644
--- a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc
+++ b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc
@@ -1,6 +1,6 @@
---- base/files/file_util_unittest.cc.orig	2026-04-15 11:25:12 UTC
+--- base/files/file_util_unittest.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/files/file_util_unittest.cc
-@@ -4158,7 +4158,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
+@@ -4279,7 +4279,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
  }
  #endif  // BUILDFLAG(IS_WIN)
  
@@ -9,7 +9,7 @@
  TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
    FilePath file_path("/proc/cpuinfo");
    std::string data = "temp";
-@@ -4741,6 +4741,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu
+@@ -4862,6 +4862,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu
  
  #endif  // BUILDFLAG(IS_ANDROID)
  
@@ -29,7 +29,7 @@
  #if BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING) && \
      defined(ARCH_CPU_32_BITS)
  // TODO(crbug.com/327582285): Re-enable these tests. They may be failing due to
-@@ -4907,7 +4920,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
+@@ -5028,7 +5041,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles
                  NULL);
  #else
      size_t bytes_written =
diff --git a/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
index cbe3ccbc12f5..fb15f0e5346d 100644
--- a/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
+++ b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc
@@ -1,6 +1,6 @@
---- base/memory/platform_shared_memory_region_posix.cc.orig	2025-10-21 16:57:35 UTC
+--- base/memory/platform_shared_memory_region_posix.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/memory/platform_shared_memory_region_posix.cc
-@@ -172,7 +172,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+@@ -171,7 +171,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
  // static
  PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
                                                                size_t size
@@ -9,7 +9,7 @@
                                                                ,
                                                                bool executable
  #endif
-@@ -197,7 +197,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+@@ -196,7 +196,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
    // flag.
    FilePath directory;
    if (!GetShmemTempDir(
diff --git a/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc
index 8e6b77593850..214879298555 100644
--- a/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc
+++ b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc
@@ -1,6 +1,6 @@
---- base/rand_util_posix.cc.orig	2026-02-15 10:01:45 UTC
+--- base/rand_util_posix.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/rand_util_posix.cc
-@@ -25,7 +25,7 @@
+@@ -24,7 +24,7 @@
  #include "build/build_config.h"
  #include "third_party/boringssl/src/include/openssl/rand.h"
  
@@ -9,7 +9,7 @@
  #include "third_party/lss/linux_syscall_support.h"
  #elif BUILDFLAG(IS_MAC)
  // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK.
-@@ -37,6 +37,7 @@ namespace base {
+@@ -36,6 +36,7 @@ namespace base {
  
  namespace {
  
@@ -17,7 +17,7 @@
  #if BUILDFLAG(IS_AIX)
  // AIX has no 64-bit support for O_CLOEXEC.
  static constexpr int kOpenFlags = O_RDONLY;
-@@ -61,8 +62,9 @@ class URandomFd {
+@@ -60,8 +61,9 @@ class URandomFd {
   private:
    const int fd_;
  };
@@ -28,7 +28,7 @@
  
  bool KernelSupportsGetRandom() {
    return base::SysInfo::KernelVersionNumber::Current() >=
-@@ -115,6 +117,7 @@ bool UseBoringSSLForRandBytes() {
+@@ -114,6 +116,7 @@ bool UseBoringSSLForRandBytes() {
  namespace {
  
  void RandBytesInternal(span<uint8_t> output, bool avoid_allocation) {
@@ -36,7 +36,7 @@
    // The BoringSSL experiment takes priority over everything else.
    if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) {
      // BoringSSL's RAND_bytes always returns 1. Any error aborts the program.
-@@ -145,6 +148,9 @@ void RandBytesInternal(span<uint8_t> output, bool avoi
+@@ -144,6 +147,9 @@ void RandBytesInternal(span<uint8_t> output, bool avoi
    const int urandom_fd = GetUrandomFD();
    const bool success = ReadFromFD(urandom_fd, as_writable_chars(output));
    CHECK(success);
@@ -46,7 +46,7 @@
  }
  
  }  // namespace
-@@ -164,9 +170,11 @@ void RandBytes(span<uint8_t> output) {
+@@ -163,9 +169,11 @@ void RandBytes(span<uint8_t> output) {
    RandBytesInternal(output, /*avoid_allocation=*/false);
  }
  
diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info.h b/www/ungoogled-chromium/files/patch-base_system_sys__info.h
index 938e4050a624..43236fc1e1a5 100644
--- a/www/ungoogled-chromium/files/patch-base_system_sys__info.h
+++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.h
@@ -1,6 +1,6 @@
---- base/system/sys_info.h.orig	2026-02-15 10:01:45 UTC
+--- base/system/sys_info.h.orig	2026-05-09 18:09:27 UTC
 +++ base/system/sys_info.h
-@@ -381,6 +381,8 @@ class BASE_EXPORT SysInfo {
+@@ -384,6 +384,8 @@ class BASE_EXPORT SysInfo {
    static void ResetCpuSecurityMitigationsEnabledForTesting();
  #endif
  
@@ -9,7 +9,7 @@
   private:
    friend class test::ScopedAmountOfPhysicalMemoryOverride;
    FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory);
-@@ -393,7 +395,7 @@ class BASE_EXPORT SysInfo {
+@@ -396,7 +398,7 @@ class BASE_EXPORT SysInfo {
    static HardwareInfo GetHardwareInfoSync();
  
  #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \
diff --git a/www/ungoogled-chromium/files/patch-base_threading_hang__watcher.cc b/www/ungoogled-chromium/files/patch-base_threading_hang__watcher.cc
new file mode 100644
index 000000000000..c024ef9f00c7
--- /dev/null
+++ b/www/ungoogled-chromium/files/patch-base_threading_hang__watcher.cc
@@ -0,0 +1,11 @@
+--- base/threading/hang_watcher.cc.orig	2026-05-09 18:09:27 UTC
++++ base/threading/hang_watcher.cc
+@@ -236,7 +236,7 @@ bool ThreadTypeLoggingLevelGreaterOrEqual(HangWatcher:
+ 
+ constexpr base::FeatureState HangWatcherFeatureDefault() {
+ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || \
+-    BUILDFLAG(IS_LINUX)
++    BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+   return FEATURE_ENABLED_BY_DEFAULT;
+ #else
+   return FEATURE_DISABLED_BY_DEFAULT;
diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc
index 2c7fc47b1818..cfdcdc5e2a66 100644
--- a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc
+++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc
@@ -1,6 +1,16 @@
---- base/threading/platform_thread_posix.cc.orig	2026-01-16 13:40:34 UTC
+--- base/threading/platform_thread_posix.cc.orig	2026-05-09 18:09:27 UTC
 +++ base/threading/platform_thread_posix.cc
-@@ -80,6 +80,7 @@ void* ThreadFunc(void* params) {
+@@ -6,6 +6,9 @@
+ 
+ #include <errno.h>
+ #include <pthread.h>
++#if BUILDFLAG(IS_BSD)
++#include <pthread_np.h>
++#endif
+ #include <sched.h>
+ #include <stddef.h>
+ #include <stdint.h>
+@@ -80,6 +83,7 @@ void* ThreadFunc(void* params) {
        base::DisallowSingleton();
      }
  
@@ -8,7 +18,7 @@
  #if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
      partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated();
  #endif
-@@ -93,6 +94,7 @@ void* ThreadFunc(void* params) {
+@@ -93,6 +97,7 @@ void* ThreadFunc(void* params) {
      // where they were created. This explicitly sets the priority of all new
      // threads.
      PlatformThread::SetCurrentThreadType(thread_params->thread_type);
@@ -16,16 +26,18 @@
    }
  
    ThreadIdNameManager::GetInstance()->RegisterThread(
-@@ -270,6 +272,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() {
+@@ -270,6 +275,10 @@ PlatformThreadId PlatformThreadBase::CurrentId() {
  
  #elif BUILDFLAG(IS_POSIX) && BUILDFLAG(IS_AIX)
    return PlatformThreadId(pthread_self());
-+#elif BUILDFLAG(IS_BSD)
-+  return PlatformThreadId(reinterpret_cast<uint64_t>(pthread_self()));
++#elif BUILDFLAG(IS_OPENBSD)
++  return PlatformThreadId(static_cast<uint64_t>(getthrid()));
++#elif BUILDFLAG(IS_FREEBSD)
++  return PlatformThreadId(static_cast<uint64_t>(pthread_getthreadid_np()));
  #elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_AIX)
    return PlatformThreadId(reinterpret_cast<int64_t>(pthread_self()));
  #endif
-@@ -363,6 +367,9 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t
+@@ -363,6 +372,9 @@ void PlatformThreadBase::Detach(PlatformThreadHandle t
  
  // static
  bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) {
@@ -35,7 +47,7 @@
    if (from >= to) {
      // Decreasing thread priority on POSIX is always allowed.
      return true;
-@@ -372,10 +379,15 @@ bool PlatformThreadBase::CanChangeThreadType(ThreadTyp
+@@ -372,10 +384,15 @@ bool PlatformThreadBase::CanChangeThreadType(ThreadTyp
    }
  
    return internal::CanLowerNiceTo(internal::ThreadTypeToNiceValue(to));
@@ -51,7 +63,7 @@
    // Mirrors SetCurrentThreadPriority()'s implementation.
    auto platform_specific_priority =
        internal::GetCurrentEffectiveThreadTypeForPlatformForTest();  // IN-TEST
-@@ -386,6 +398,7 @@ ThreadType PlatformThreadBase::GetCurrentEffectiveThre
+@@ -386,6 +403,7 @@ ThreadType PlatformThreadBase::GetCurrentEffectiveThre
    int nice_value = internal::GetCurrentThreadNiceValue();
  
    return internal::NiceValueToThreadTypeForTest(nice_value);  // IN-TEST
diff --git a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn
index 53751ea0dd73..97d18f75e5de 100644
--- a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn
+++ b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn
@@ -1,4 +1,4 @@
---- build/config/compiler/BUILD.gn.orig	2026-04-15 11:25:12 UTC
+--- build/config/compiler/BUILD.gn.orig	2026-05-09 18:09:27 UTC
 +++ build/config/compiler/BUILD.gn
 @@ -202,7 +202,7 @@ declare_args() {
    # This greatly reduces the size of debug builds, at the cost of
@@ -36,7 +36,7 @@
  }
  
  # compiler ---------------------------------------------------------------------
-@@ -548,6 +551,10 @@ config("compiler") {
+@@ -560,6 +563,10 @@ config("compiler") {
      }
    }
  
@@ -47,7 +47,7 @@
    # Linux-specific compiler flags setup.
    # ------------------------------------
    if (is_linux || is_chromeos) {
-@@ -604,7 +611,7 @@ config("compiler") {
+@@ -616,7 +623,7 @@ config("compiler") {
      }
    }
  
@@ -56,7 +56,7 @@
      cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
      if (save_reproducers_on_lld_crash && use_lld) {
        ldflags += [
-@@ -1313,7 +1320,7 @@ config("compiler_cpu_abi") {
+@@ -1338,7 +1345,7 @@ config("compiler_cpu_abi") {
      # CPU architecture. We may or may not be doing a cross compile now, so for
      # simplicity we always explicitly set the architecture.
      if (current_cpu == "x64") {
@@ -65,7 +65,7 @@
          cflags += [ "--target=x86_64-unknown-linux-gnu" ]
          ldflags += [ "--target=x86_64-unknown-linux-gnu" ]
        } else {
-@@ -1327,7 +1334,7 @@ config("compiler_cpu_abi") {
+@@ -1352,7 +1359,7 @@ config("compiler_cpu_abi") {
          ldflags += [ "-march=$cros_target_cpu_arch" ]
        }
      } else if (current_cpu == "x86") {
@@ -74,7 +74,7 @@
          cflags += [ "--target=i386-unknown-linux-gnu" ]
*** 12406 LINES SKIPPED ***